@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@800;900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=DotGothic16&display=swap);

::-moz-selection {
    color: #fff;
    background: #2875ff
}

::selection {
    color: #fff;
    background: #2875ff
}

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

:focus {
    outline: 0
}

body,
html {
    font-size: 62.5%;
    height: 100%;
    color: #000;
    background-color: #fff;
    font-family: "Noto Sans JP", sans-serif
}

body {
    width: 100%
}

a {
    color: #000;
    text-decoration: none
}

h1,
h2,
h3 {
    line-height: 1
}

li,
ul {
    list-style: none
}

td,
th,
tr {
    font-weight: 400;
    text-align: left
}

img,
picture {
    -webkit-backface-visibility: hidden;
    width: 100%;
    max-width: 100%;
    pointer-events: none;
    vertical-align: bottom
}

.common-wrap {
    position: relative
}

.common-inner {
    padding: 0 5.33333vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .common-inner {
        padding: 0;
        margin: 0 auto;
        width: 700px
    }
}

.common-title__h1 {
    z-index: 2;
    margin: 0 auto;
    position: relative;
    top: 0
}

.common-button {
    height: 13.33333vw;
    width: 13.33333vw
}

@media only screen and (min-width:768px) {
    .common-button {
        height: 70px;
        width: 70px
    }
}

.common-button__more {
    display: block;
    cursor: pointer;
    pointer-events: all;
    border-radius: 100%;
    position: relative;
    z-index: 7;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    -webkit-align-content: center;
    align-content: center;
    transition: all .5s
}

.common-button__more--btn {
    display: block;
    background-image: url(../data/webp/common/icon_arrow_wh.png.webp);
    background-repeat: no-repeat;
    background-size: contain;
    height: 8.4vw;
    width: 4vw;
    margin: 0 4.26667vw 0 auto
}

@media only screen and (min-width:768px) {
    .common-button__more--btn {
        height: 46px;
        width: 22px;
        margin: 0 20px 0 auto
    }
}

.common-button__open {
    height: 18.4vw;
    width: 18.4vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .common-button__open {
        height: 96px;
        width: 96px
    }
}

.common-button__open--item {
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    bottom: 2vw;
    right: 2vw;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .common-button__open--item {
        height: 51px;
        width: 51px;
        bottom: 14px;
        right: 14px
    }
}

.common-button__open--item.btn-movie:before {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.46667vw 0 3.46667vw 6.93333vw;
    border-color: transparent transparent transparent #2875ff;
    position: absolute;
    top: 50%;
    left: 3.73333vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .common-button__open--item.btn-movie:before {
        border-width: 13px 0 13px 26px;
        left: 15px;
        transition: all .5s
    }
}

.common-button__open--item.btn-photo:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .common-button__open--item.btn-photo:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.common-button__open--item.btn-photo:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .common-button__open--item.btn-photo:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.common-button__cat {
    margin: 0 auto;
    width: 89.33333vw
}

@media only screen and (min-width:768px) {
    .common-button__cat {
        width: 446px
    }
}

.common-button__cat--text {
    font-size: 2.93333vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .common-button__cat--text {
        font-size: 15px
    }
}

.common-button__cat--more {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #000;
    color: #fff;
    height: 8vw;
    width: 100%;
    position: relative
}

@media only screen and (min-width:768px) {
    .common-button__cat--more {
        height: 40px
    }
}

.common-button__cat--more:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: contain;
    height: 4.13333vw;
    width: 2.13333vw;
    position: absolute;
    top: 50%;
    right: 2.93333vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .common-button__cat--more:after {
        height: 21px;
        width: 12px;
        right: 14px;
        transition: all .5s
    }
}

.common-button__cat--more:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-button__cat--more:hover:after {
        right: 9px
    }
}

.common-pg {
    margin: 0 auto;
    width: 100%;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:768px) {
    .common-pg {
        width: 700px
    }
}

.common-pg__arrow {
    position: relative
}

.common-pg__arrow:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_blue.png.webp) no-repeat;
    background-size: contain;
    height: 5.46667vw;
    width: 2.8vw
}

@media only screen and (min-width:768px) {
    .common-pg__arrow:after {
        height: 41px;
        width: 21px;
        transition: all .5s
    }
}

.common-pg__rf:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_pagination.png.webp) no-repeat;
    background-size: contain;
    height: 5.33333vw;
    width: 3.73333vw
}

@media only screen and (min-width:768px) {
    .common-pg__rf:after {
        height: 40px;
        width: 28px;
        transition: all .5s
    }
}

.common-pg__num {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: solid .53333vw #000;
    border-radius: 100%;
    color: #000;
    font-family: Montserrat, sans-serif;
    font-size: 4vw;
    font-weight: 900;
    height: 8vw;
    width: 8vw
}

@media only screen and (min-width:768px) {
    .common-pg__num {
        border: solid 4px #000;
        font-size: 30px;
        height: 60px;
        width: 60px;
        transition: all .5s
    }
}

.common-pg__num:not(:first-of-type) {
    margin-left: 2.66667vw
}

@media only screen and (min-width:768px) {
    .common-pg__num:not(:first-of-type) {
        margin-left: 20px
    }
}

@media only screen and (min-width:768px) {
    .common-pg__num:hover {
        background-color: #000;
        color: #fff
    }
}

.common-pg__num.on {
    background-color: #000;
    color: #fff
}

.common-pg__back {
    background-color: #000;
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 2.93333vw;
    font-weight: 900;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 4.53333vw;
    width: 29.33333vw;
    position: relative;
    padding-left: 2.66667vw
}

@media only screen and (min-width:768px) {
    .common-pg__back {
        font-size: 22px;
        height: 34px;
        width: 222px;
        padding-left: 22px
    }
}

.common-pg__back:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: contain;
    height: 2.4vw;
    width: 1.2vw;
    position: absolute;
    right: 1.6vw
}

@media only screen and (min-width:768px) {
    .common-pg__back:after {
        height: 18px;
        width: 9px;
        right: 12px;
        transition: all .5s
    }
}

.common-pg__back:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-pg__back:hover:after {
        right: 8px
    }
}

.common-pg__text {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 900;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

@media only screen and (min-width:768px) {
    .common-pg__text {
        font-size: 26px
    }
}

.common-pg__text:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_blue.png.webp) no-repeat;
    background-size: contain;
    height: 5.46667vw;
    width: 2.8vw;
    position: absolute;
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .common-pg__text:after {
        height: 41px;
        width: 21px
    }
}

.common-pg__text.prev:after {
    display: block;
    content: "";
    left: -5.33333vw;
    -webkit-transform: translate3d(0, -50%, 0) rotate(180deg);
    transform: translate3d(0, -50%, 0) rotate(180deg)
}

@media only screen and (min-width:768px) {
    .common-pg__text.prev:after {
        left: -40px;
        transition: all .5s
    }
}

.common-pg__text.prev:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-pg__text.prev:hover:after {
        left: -45px
    }
}

.common-pg__text.next:after {
    display: block;
    content: "";
    right: -5.33333vw
}

@media only screen and (min-width:768px) {
    .common-pg__text.next:after {
        right: -40px;
        transition: all .5s
    }
}

.common-pg__text.next:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-pg__text.next:hover:after {
        right: -45px
    }
}

.common-pg__news:not(:first-of-type) {
    margin-left: 14.66667vw
}

@media only screen and (min-width:768px) {
    .common-pg__news:not(:first-of-type) {
        margin-left: 125px
    }
}

.common-pg__left {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.common-pg__left .arrow-prev {
    margin-left: 6.4vw
}

@media only screen and (min-width:768px) {
    .common-pg__left .arrow-prev {
        margin-left: 53px
    }
}

.common-pg__left .arrow-prev:after {
    display: block;
    content: "";
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .common-pg__left .arrow-prev:hover:after {
        display: block;
        content: "";
        -webkit-transform: scale(-1, 1) translate3d(5px, 0, 0);
        transform: scale(-1, 1) translate3d(5px, 0, 0)
    }
}

.common-pg__left .common-pg__rf:after {
    display: block;
    content: "";
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

@media only screen and (min-width:768px) {
    .common-pg__left .common-pg__rf:hover:after {
        display: block;
        content: "";
        -webkit-transform: scale(-1, 1) translate3d(5px, 0, 0);
        transform: scale(-1, 1) translate3d(5px, 0, 0)
    }
}

.common-pg__center {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: 6.13333vw
}

@media only screen and (min-width:768px) {
    .common-pg__center {
        margin-left: 58px
    }
}

.common-pg__right {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: 6.13333vw
}

@media only screen and (min-width:768px) {
    .common-pg__right {
        margin-left: 53px
    }
}

@media only screen and (min-width:768px) {
    .common-pg__right .arrow-next:hover:after {
        display: block;
        content: "";
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }
}

.common-pg__right .common-pg__rf {
    margin-left: 6.4vw
}

@media only screen and (min-width:768px) {
    .common-pg__right .common-pg__rf {
        margin-left: 56px
    }
}

@media only screen and (min-width:768px) {
    .common-pg__right .common-pg__rf:hover:after {
        display: block;
        content: "";
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }
}

.common-link__text {
    color: #2875ff;
    font-size: 3.73333vw;
    font-weight: 400;
    line-height: 1.6;
    width: auto
}

@media only screen and (min-width:768px) {
    .common-link__text {
        font-size: 14px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .common-link__text:hover {
        color: #000
    }
}

.common-tag {
    display: block
}

.common-tag__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}

.common-tag__item {
    position: relative;
    margin-right: 4vw
}

@media only screen and (min-width:768px) {
    .common-tag__item {
        margin-right: 22px
    }
}

.common-tag__item--btn {
    display: block
}

@media only screen and (min-width:768px) {
    .common-tag__item--btn:hover .common-tag__text {
        background-color: #2875ff
    }
}

.common-tag__item--btn:hover .common-tag__text:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-tag__item--btn:hover .common-tag__text:after {
        border-left: 13px solid #2875ff
    }
}

.common-tag__text {
    background-color: #6f6f6f;
    color: #fff;
    font-size: 2.66667vw;
    font-weight: 900;
    padding: .53333vw 2.13333vw .8vw 3.2vw;
    height: 4.53333vw;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:768px) {
    .common-tag__text {
        font-size: 16px;
        height: 26px;
        padding: 0 12px 2px 22px;
        transition: all .5s
    }
}

.common-tag__text:after {
    display: block;
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 2.26667vw solid #6f6f6f;
    border-top: 2.26667vw solid transparent;
    border-bottom: 2.26667vw solid transparent;
    position: absolute;
    top: 0;
    right: -2.13333vw
}

@media only screen and (min-width:768px) {
    .common-tag__text:after {
        border-left: 13px solid #6f6f6f;
        border-top: 13px solid transparent;
        border-bottom: 13px solid transparent;
        right: -13px;
        transition: all .5s
    }
}

.common-bg {
    height: 100%;
    width: 100%
}

@media only screen and (min-width:768px) {
    .common-bg {
        width: 1480px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

@media only screen and (min-width:1481px) {
    .common-bg {
        width: 100vw
    }
}

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

    .common-bg__item01,
    .common-bg__item04 {
        background: transparent url(../data/webp/common/bg_partial01.png.webp) no-repeat;
        background-size: contain;
        height: 954px;
        width: 160px;
        display: block;
        position: absolute
    }
}

@media only screen and (min-width:1481px) {

    .common-bg__item01,
    .common-bg__item04 {
        height: 64.45946vw;
        width: 10.81081vw
    }
}

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

    .common-bg__item02,
    .common-bg__item05 {
        background: transparent url(../data/webp/common/bg_partial02.png.webp) no-repeat;
        background-size: contain;
        height: 527px;
        width: 252px;
        display: block;
        position: absolute
    }
}

@media only screen and (min-width:1481px) {

    .common-bg__item02,
    .common-bg__item05 {
        height: 35.60811vw;
        width: 17.02703vw
    }
}

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

    .common-bg__item03,
    .common-bg__item06 {
        background: transparent url(../data/webp/common/bg_partial03.png.webp) no-repeat;
        background-size: contain;
        height: 703px;
        width: 198px;
        display: block;
        position: absolute
    }
}

@media only screen and (min-width:1481px) {

    .common-bg__item03,
    .common-bg__item06 {
        height: 47.5vw;
        width: 13.37838vw
    }
}

@media only screen and (min-width:768px) {
    .common-bg__item01 {
        top: 440px;
        left: 0
    }
}

@media only screen and (min-width:1481px) {
    .common-bg__item01 {
        top: 29.72973vw
    }
}

@media only screen and (min-width:768px) {
    .common-bg__item02 {
        top: 180px;
        right: 0
    }
}

@media only screen and (min-width:1481px) {
    .common-bg__item02 {
        top: 12.16216vw
    }
}

@media only screen and (min-width:768px) {
    .common-bg__item03 {
        top: 984px;
        right: 0
    }
}

@media only screen and (min-width:1481px) {
    .common-bg__item03 {
        top: 66.48649vw
    }
}

@media only screen and (min-width:768px) {
    .common-bg__item04 {
        top: 2254px;
        left: 0
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .common-bg__item04 {
        top: 172.56757vw
    }
}

@media only screen and (min-width:768px) {
    .common-bg__item05 {
        top: 1923px;
        right: 0
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .common-bg__item05 {
        top: 129.93243vw
    }
}

@media only screen and (min-width:768px) {
    .common-bg__item06 {
        top: 2775px;
        right: 0
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .common-bg__item06 {
        top: 187.5vw
    }
}

.common-cover {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%
}

.common-cover:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-cover:hover:after {
        border-color: transparent transparent #2875ff transparent
    }
}

@media only screen and (min-width:768px) {
    .common-cover:hover .btn-movie {
        background-color: rgba(0, 0, 0, .8)
    }
}

.common-cover:hover .btn-movie:before {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-cover:hover .btn-movie:before {
        border-color: transparent transparent transparent #fff
    }
}

@media only screen and (min-width:768px) {
    .common-cover:hover .btn-photo {
        background-color: rgba(0, 0, 0, .8)
    }
}

.common-cover:hover .btn-photo:before {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-cover:hover .btn-photo:before {
        background-color: #fff
    }
}

.common-cover:hover .btn-photo:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .common-cover:hover .btn-photo:after {
        background-color: #fff
    }
}

.common-share__ttl {
    font-family: Montserrat, sans-serif;
    font-size: 4.26667vw;
    font-weight: 900;
    text-align: center;
    margin-top: 5.06667vw
}

@media only screen and (min-width:768px) {
    .common-share__ttl {
        font-size: 22px;
        margin-top: 35px
    }
}

.common-share__btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 2.26667vw
}

@media only screen and (min-width:768px) {
    .common-share__btn {
        margin-top: 8px
    }
}

.common-share__btn--item {
    display: block;
    height: 9.33333vw;
    width: 9.33333vw
}

@media only screen and (min-width:768px) {
    .common-share__btn--item {
        height: 40px;
        width: 40px;
        transition: all .5s
    }
}

.common-share__btn--item:not(:first-of-type) {
    margin-left: 2.66667vw
}

@media only screen and (min-width:768px) {
    .common-share__btn--item:not(:first-of-type) {
        margin-left: 10px
    }
}

@media only screen and (min-width:768px) {
    .common-share__btn--item:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.bg-blue {
    background-color: #2875ff
}

.cl-b {
    background-color: #2875ff
}

.cl-r {
    background-color: red
}

.text-white {
    color: #fff
}

.link-emp {
    display: inline-block;
    text-decoration: underline;
    font-size: 3.73333vw;
    margin-top: 1.33333vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .link-emp {
        font-size: 16px;
        margin-top: 16px
    }
}

.text-vertical {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.clearfix:after {
    content: "";
    display: block;
    clear: both
}

.mfp-content,
.mfp-inline-holder .mfp-content {
    width: 100%
}

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

    .mfp-content,
    .mfp-inline-holder .mfp-content {
        margin: 0 auto;
        width: 800px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {

    .mfp-content,
    .mfp-inline-holder .mfp-content {
        width: 97.44214vw
    }
}

.mfp-wrap.mfp-block2 .mfp-content {
    width: 100%
}

@media only screen and (min-width:768px) {
    .mfp-wrap.mfp-block2 .mfp-content {
        margin: 0 auto;
        width: 91.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .mfp-wrap.mfp-block2 .mfp-content {
        width: 1360px
    }
}

.header {
    background-color: #2875ff;
    position: relative;
    z-index: 99
}

.header-logo {
    display: block;
    position: relative;
    z-index: 9
}

.header-logo__img {
    margin: 0 auto;
    width: 45.33333vw;
    position: absolute;
    top: 6.66667vw;
    left: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .header-logo__img {
        margin: 0;
        width: 14.32432vw;
        top: 2.02703vw;
        left: 2.02703vw
    }
}

@media only screen and (min-width:1480px) {
    .header-logo__img {
        width: 212px;
        top: 30px;
        left: 30px
    }
}

.header .hamburger {
    position: fixed;
    z-index: 9;
    right: 0;
    bottom: -.26667vw
}

.header .hamburger-wrap {
    position: relative;
    height: 31.6vw;
    width: 31.6vw
}

.header .hamburger-wrap:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/bg_hamburger.png.webp) no-repeat;
    background-size: contain;
    height: 31.6vw;
    width: 31.6vw
}

.header .hamburger-wrap.menu-active:before {
    display: block;
    content: "";
    display: none
}

.header .hamburger-wrap.menu-active:after {
    display: block;
    content: "";
    display: none
}

.header .hamburger-wrap.menu-active .hamburger-inner__text:after {
    display: block;
    content: "";
    content: "CLOSE"
}

.header .hamburger-inner {
    height: 6.66667vw;
    width: 9.33333vw;
    margin: 0 auto;
    position: absolute;
    top: 68%;
    left: 57%;
    -webkit-transform: translateY(-68%);
    transform: translateY(-68%)
}

.header .hamburger-inner__text {
    font-family: Montserrat, sans-serif;
    font-weight: 900;
    font-size: 2.4vw;
    text-align: center
}

.header .hamburger-inner__text:after {
    display: block;
    content: "";
    content: "MENU"
}

.header .hamburger-line {
    margin-top: 1.06667vw
}

.header .hamburger-line span {
    display: block;
    background-color: #000;
    margin: 0 auto;
    height: .4vw;
    width: 3.33333vw;
    transition: all .3s
}

.header .hamburger-line span.btm {
    margin-top: .8vw
}

.header .hamburger-line.active {
    position: relative
}

.header .hamburger-line.active .top {
    -webkit-transform: rotateZ(45deg);
    transform: rotateZ(45deg);
    position: absolute;
    top: .8vw;
    left: 2.93333vw
}

.header .hamburger-line.active .btm {
    -webkit-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg);
    margin: 0;
    position: absolute;
    top: .8vw;
    left: 2.93333vw
}

@media only screen and (min-width:768px) {
    .header .hamburger.pc-none {
        display: none
    }
}

.header .menu {
    display: none;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    background-color: #fff;
    padding: 6.66667vw 10.13333vw 10.13333vw;
    z-index: 9
}

@media only screen and (min-width:768px) {
    .header .menu {
        left: auto;
        right: 0;
        height: 4.05405vw;
        width: 67.56757vw;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 0 1.55405vw 0 3.51351vw;
        border-bottom-left-radius: 2.02703vw;
        z-index: 10
    }
}

@media only screen and (min-width:1480px) {
    .header .menu {
        left: auto;
        right: 0;
        height: 60px;
        width: 1000px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 0 23px 0 52px;
        border-bottom-left-radius: 30px;
        z-index: 10
    }
}

.header .menu-logo {
    margin: 0 auto 5.33333vw;
    width: 45.33333vw;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

@media only screen and (min-width:768px) {
    .header .menu-logo.pc-none {
        display: none
    }
}

.header .menu-wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:768px) {
    .header .menu-wrap {
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%
    }
}

.header .menu-sns {
    margin-top: 3.46667vw;
    width: 100vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

@media only screen and (min-width:768px) {
    .header .menu-sns {
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        margin-top: 0;
        margin-left: 1.75676vw;
        width: auto
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-sns {
        margin-left: 26px
    }
}

.header .menu-sns__items:not(:first-of-type) {
    margin-left: 4vw
}

@media only screen and (min-width:768px) {
    .header .menu-sns__items:not(:first-of-type) {
        margin-left: .67568vw
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-sns__items:not(:first-of-type) {
        margin-left: 10px
    }
}

.header .menu-sns__btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    transition: all .5s
}

.header .menu-sns__btn--icon {
    border-radius: 100%;
    height: 10.66667vw;
    width: 10.66667vw
}

@media only screen and (min-width:768px) {
    .header .menu-sns__btn--icon {
        height: 1.95946vw;
        width: 1.95946vw
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-sns__btn--icon {
        height: 29px;
        width: 29px
    }
}

.header .menu-sns__btn--text {
    margin-left: 1.6vw;
    font-size: 2.93333vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .header .menu-sns__btn--text {
        margin-left: .47297vw;
        width: 4.32432vw;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-sns__btn--text {
        margin-left: 7px;
        width: 64px
    }
}

.header .menu-sns__btn--text picture {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (min-width:768px) {
    .header .menu-sns__btn.pc-none {
        display: none
    }
}

@media only screen and (max-width:767px) {
    .header .menu-sns__btn.sp-none {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .header .menu-sns__btn:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

@media only screen and (min-width:768px) {
    .header .menu-sns__twitter .menu-sns__btn--text {
        width: 1.75676vw
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-sns__twitter .menu-sns__btn--text {
        width: 26px
    }
}

.header .menu-sns__twitter span {
    position: relative;
    background-color: #000;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.header .menu-sns__twitter span:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_x.svg) no-repeat;
    background-size: contain;
    height: 4.93333vw;
    width: 4.93333vw
}

@media only screen and (min-width:768px) {
    .header .menu-sns__twitter span:after {
        height: .81081vw;
        width: .81081vw
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-sns__twitter span:after {
        height: 12px;
        width: 12px
    }
}

.header .menu-sns__youtube span {
    position: relative;
    background-color: red;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.header .menu-sns__youtube span:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_youtube.svg) no-repeat;
    background-size: contain;
    height: 3.46667vw;
    width: 4.93333vw
}

@media only screen and (min-width:768px) {
    .header .menu-sns__youtube span:after {
        height: .67568vw;
        width: 1.01351vw
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-sns__youtube span:after {
        height: 10px;
        width: 15px
    }
}

.header .menu-list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 6.4vw
}

@media only screen and (min-width:768px) {
    .header .menu-list {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1;
        margin-top: 0
    }
}

.header .menu-list__items {
    font-family: Montserrat, sans-serif;
    font-size: 6.66667vw;
    font-weight: 900;
    text-align: center;
    width: 100%;
    position: relative
}

@media only screen and (min-width:768px) {
    .header .menu-list__items {
        font-size: 1.35135vw;
        width: auto
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-list__items {
        font-size: 20px
    }
}

@media only screen and (min-width:768px) {
    .header .menu-list__items:not(:first-of-type) {
        padding: 0 1.08108vw
    }
}

@media only screen and (min-width:860px) {
    .header .menu-list__items:not(:first-of-type) {
        padding: 0 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-list__items:not(:first-of-type) {
        padding: 0 20px
    }
}

.header .menu-list__items:not(:first-of-type):before {
    display: block;
    content: "";
    border-top: solid 1px #2875ff;
    width: 1.6vw;
    margin: 3.33333vw auto 2.93333vw
}

@media only screen and (min-width:768px) {
    .header .menu-list__items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #2875ff;
        height: .81081vw;
        width: 1px;
        margin: 0;
        position: absolute;
        top: .67568vw;
        left: 0
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-list__items:not(:first-of-type):before {
        height: 12px;
        width: 1px;
        top: 10px
    }
}

@media only screen and (min-width:768px) {
    .header .menu-list__items:first-of-type {
        padding-right: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-list__items:first-of-type {
        padding-right: 20px
    }
}

@media only screen and (min-width:768px) {
    .header .menu-list__items:last-of-type {
        padding-right: 0
    }
}

.header .menu-list__items--btn {
    display: inline-block;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .header .menu-list__items--btn:hover {
        color: #2875ff
    }
}

.header .menu-jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 2.93333vw;
    margin-top: .53333vw
}

@media only screen and (min-width:768px) {
    .header .menu-jp {
        font-size: .67568vw;
        margin-top: 0;
        text-align: center
    }
}

@media only screen and (min-width:1480px) {
    .header .menu-jp {
        font-size: 10px
    }
}

.header .menu.open {
    display: block
}

@media only screen and (min-width:768px) {
    .header-dmm {
        display: none
    }
}

#dmm_ntgnavi,
.header-dmm,
.ntg-top {
    background-color: #fff;
    position: relative;
    z-index: 9
}

@media only screen and (max-width:767px) {
    #dmm_ntgnavi {
        display: none
    }
}

.footer {
    overflow: hidden;
    position: relative;
    z-index: 9;
    margin-top: 0;
    padding-top: 5.86667vw
}

@media only screen and (min-width:768px) {
    .footer {
        margin-top: -8.10811vw;
        padding-top: 8.10811vw
    }
}

@media only screen and (min-width:1481px) {
    .footer {
        margin-top: -120px;
        padding-top: 120px
    }
}

.footer-top {
    padding: 2.13333vw 0 13.33333vw;
    background-color: #f1f6f9;
    position: relative;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .footer-top {
        padding: 0 0 90px
    }
}

.footer-top:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .footer-top:before {
        background-image: url(../data/webp/common/img_wave_ltb_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -44px
    }
}

.footer-top__inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .footer-top__inner {
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding-top: 24px
    }
}

@media only screen and (min-width:768px) {
    .footer-top__box:not(:first-of-type) {
        margin-left: 58px
    }
}

.footer-top__logo {
    display: block;
    margin: 6.66667vw auto;
    width: 42.8vw
}

@media only screen and (min-width:768px) {
    .footer-top__logo {
        margin: 18px auto 24px;
        width: 162px
    }
}

@media only screen and (min-width:768px) {
    .footer-top__logo:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.footer-top__sns {
    margin-top: 6.66667vw;
    width: 100vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:768px) {
    .footer-top__sns {
        margin-top: 10px;
        width: auto
    }
}

.footer-top__sns--items {
    width: auto
}

.footer-top__sns--items:not(:first-of-type) {
    margin-left: 9.2vw
}

@media only screen and (min-width:768px) {
    .footer-top__sns--items:not(:first-of-type) {
        margin-left: 19px
    }
}

.footer-top__sns--btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .footer-top__sns--btn:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.footer-top__sns--icon {
    border-radius: 100%;
    height: 6.66667vw;
    width: 6.66667vw
}

@media only screen and (min-width:768px) {
    .footer-top__sns--icon {
        height: 30px;
        width: 30px
    }
}

.footer-top__sns--text {
    margin-left: .8vw;
    font-size: 2.4vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .footer-top__sns--text {
        font-size: 10px;
        margin-left: 5px
    }
}

.footer-top__sns--twitter .footer-top__sns--icon {
    position: relative;
    background-color: #000;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.footer-top__sns--twitter .footer-top__sns--icon:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_x.svg) no-repeat;
    background-size: contain;
    height: 3.2vw;
    width: 3.2vw
}

@media only screen and (min-width:768px) {
    .footer-top__sns--twitter .footer-top__sns--icon:after {
        height: 14px;
        width: 14px
    }
}

.footer-top__sns--youtube span {
    position: relative;
    background-color: red;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.footer-top__sns--youtube span:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_youtube.svg) no-repeat;
    background-size: contain;
    height: 2.66667vw;
    width: 3.73333vw
}

@media only screen and (min-width:768px) {
    .footer-top__sns--youtube span:after {
        height: 10px;
        width: 15px
    }
}

.footer-top__menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 77.33333vw;
    margin-left: 20vw;
    margin-right: auto
}

@media only screen and (min-width:768px) {
    .footer-top__menu {
        padding: 0;
        width: 227px;
        margin-left: 0
    }
}

.footer-top__menu--items {
    width: 40%
}

.footer-top__menu--items:nth-of-type(2n+0) {
    margin-left: 0
}

@media only screen and (min-width:768px) {
    .footer-top__menu--items:nth-of-type(2n+0) {
        margin-left: 45px
    }
}

.footer-top__menu--items:nth-of-type(n+3) {
    margin-top: 4vw
}

@media only screen and (min-width:768px) {
    .footer-top__menu--items:nth-of-type(n+3) {
        margin-top: 10px
    }
}

.footer-top__menu--btn {
    font-family: Montserrat, sans-serif;
    font-size: 3.73333vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .footer-top__menu--btn {
        font-size: 18px;
        transition: all .5s
    }
}

.footer-top__menu--btn .menu-jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 2.4vw
}

@media only screen and (min-width:768px) {
    .footer-top__menu--btn .menu-jp {
        font-size: 10px
    }
}

@media only screen and (min-width:768px) {
    .footer-top__menu--btn:hover {
        color: #2875ff
    }
}

.footer-top__other {
    font-size: 2.66667vw;
    font-weight: 400;
    margin-top: 4.26667vw
}

@media only screen and (min-width:768px) {
    .footer-top__other {
        font-size: 12px;
        margin-top: 0
    }
}

.footer-top__other--items:not(:first-of-type) {
    margin-top: 2.66667vw
}

@media only screen and (min-width:768px) {
    .footer-top__other--items:not(:first-of-type) {
        margin-top: 20px
    }
}

.footer-top__other--btn {
    display: block;
    text-align: center;
    width: auto;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .footer-top__other--btn:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.footer-center {
    padding: 0 0 11.33333vw;
    background-color: #2875ff;
    position: relative;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .footer-center {
        padding-bottom: 0
    }
}

.footer-center:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .footer-center:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -46px
    }
}

@media only screen and (min-width:1481px) {
    .footer-center:before {
        background-size: 20.27027vw auto;
        height: 5.13514vw;
        top: -3.10811vw
    }
}

.footer-center__wrap {
    height: 85.86667vw;
    position: relative;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .footer-center__wrap {
        height: 730px
    }
}

.footer-center__chara {
    height: 133.33333vw;
    width: 144.26667vw;
    position: absolute;
    top: -8vw;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0)
}

@media only screen and (min-width:768px) {
    .footer-center__chara {
        height: 1000px;
        width: 1082px;
        top: -62px
    }
}

.footer-bottom {
    padding: 6.66667vw 0 12vw;
    background-color: #000;
    color: #fff;
    position: relative;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .footer-bottom {
        padding: 0 0 56px
    }
}

.footer-bottom:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blk.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .footer-bottom:before {
        background-image: url(../data/webp/common/img_wave_blk_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -70px
    }
}

@media only screen and (min-width:1481px) {
    .footer-bottom:before {
        background-size: 20.27027vw auto;
        height: 5.13514vw;
        top: -4.72973vw
    }
}

.footer-bottom__totop {
    display: block;
    width: 21.33333vw;
    position: absolute;
    top: -21.33333vw;
    right: 3.73333vw;
    z-index: 9
}

@media only screen and (min-width:768px) {
    .footer-bottom__totop {
        cursor: pointer;
        width: 10.81081vw;
        top: -11.48649vw;
        right: 11.48649vw;
        transition: all .5s
    }
}

@media only screen and (min-width:1480px) {
    .footer-bottom__totop {
        cursor: pointer;
        width: 160px;
        top: -170px;
        right: 170px
    }
}

.footer-bottom__totop--txt {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 2.8vw;
    font-weight: 900;
    margin-top: 1.33333vw;
    margin-left: 1.06667vw
}

@media only screen and (min-width:768px) {
    .footer-bottom__totop--txt {
        font-size: 1.41892vw;
        margin-top: .13514vw;
        margin-left: .60811vw
    }
}

@media only screen and (min-width:1480px) {
    .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: 2px;
        margin-left: 9px
    }
}

.footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 3.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -1.2vw auto 0 6.93333vw
}

@media only screen and (min-width:768px) {
    .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: 1.95946vw;
        margin: -.60811vw auto 0 3.51351vw
    }
}

@media only screen and (min-width:1480px) {
    .footer-bottom__totop--arrow {
        height: 58px;
        width: 29px;
        margin: -9px auto 0 52px
    }
}

.footer-bottom__totop--chara {
    position: relative;
    transition: all .5s;
    top: 0
}

@media only screen and (min-width:768px) {
    .footer-bottom__totop:hover .footer-bottom__totop--chara {
        top: -.54054vw
    }
}

@media only screen and (min-width:1480px) {
    .footer-bottom__totop:hover .footer-bottom__totop--chara {
        top: -8px
    }
}

.footer-bottom__official {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    position: relative;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .footer-bottom__official {
        width: 300px;
        margin: 0 auto
    }
}

.footer-bottom__official--marv {
    width: 21.06667vw
}

@media only screen and (min-width:768px) {
    .footer-bottom__official--marv {
        width: 125px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .footer-bottom__official--marv:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.footer-bottom__official--hpg {
    width: 21.06667vw;
    margin-left: 4.26667vw
}

@media only screen and (min-width:768px) {
    .footer-bottom__official--hpg {
        width: 116px;
        margin-left: 26px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .footer-bottom__official--hpg:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.footer-bottom__copyright {
    font-size: 2.66667vw;
    font-weight: 400;
    text-align: center;
    margin-top: 3.33333vw
}

@media only screen and (min-width:768px) {
    .footer-bottom__copyright {
        font-size: 12px;
        margin-top: 15px
    }
}

.no-webp .header .hamburger-wrap:after {
    background-image: url(../img/common/bg_hamburger.png)
}

.no-webp .common-button__more {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .common-button__cat--more:after {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .common-pg__arrow:after {
    background-image: url(../img/common/icon_arrow_blue.png)
}

.no-webp .common-pg__rf:after {
    background-image: url(../img/common/icon_pagination.png)
}

.no-webp .common-pg__back:after {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .common-pg__text:after {
    background-image: url(../img/common/icon_arrow_blue.png)
}

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

    .no-webp .common-bg__item01,
    .no-webp .common-bg__item04 {
        background-image: url(../img/common/bg_partial01.png)
    }
}

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

    .no-webp .common-bg__item02,
    .no-webp .common-bg__item05 {
        background-image: url(../img/common/bg_partial02.png)
    }
}

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

    .no-webp .common-bg__item03,
    .no-webp .common-bg__item06 {
        background-image: url(../img/common/bg_partial03.png)
    }
}

.no-webp .footer-top:before {
    background-image: url(../img/common/img_wave_ltb.png)
}

@media only screen and (min-width:768px) {
    .no-webp .footer-top:before {
        background-image: url(../img/common/img_wave_ltb_pc.png)
    }
}

.no-webp .footer-center:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .footer-center:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .footer-bottom:before {
    background-image: url(../img/common/img_wave_blk.png)
}

@media only screen and (min-width:768px) {
    .no-webp .footer-bottom:before {
        background-image: url(../img/common/img_wave_blk_pc.png)
    }
}

.no-webp .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .kv-bg {
    background-image: url(../img/top/bg_kv.png)
}

@media only screen and (min-width:768px) {
    .no-webp .kv-bg {
        background-image: url(../img/top/bg_kv_pc.png)
    }
}

.no-webp .movie-inner:before {
    background-image: url(../img/top/bg_dot.png)
}

.no-webp .news-top:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .news-top:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .news-top__bg--top {
    background-image: url(../img/top/bg_news_dw.png)
}

@media only screen and (min-width:768px) {
    .no-webp .news-top__bg--left {
        background-image: url(../img/top/img_news_pattern01.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .news-top__bg--right {
        background-image: url(../img/top/img_news_pattern02.png)
    }
}

.no-webp .news-top__more--btn:after {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .news-container:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .news-container:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .news-bg__item01 {
        background-image: url(../img/common/bg_partial01.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .news-bg__item02 {
        background-image: url(../img/common/bg_partial02.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .news-bg__item03 {
        background-image: url(../img/common/bg_partial03.png)
    }
}

.no-webp .chara-top:before {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-top:before {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-top__bg {
    background-image: url(../img/top/bg_chara.png)
}

.no-webp .chara-top__more--btn {
    background-image: url(../img/common/icon_arrow_blk.png)
}

.no-webp .chara-container:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-container:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__kirishima:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__kirishima:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__kirishima .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_kirishima.png)
}

.no-webp .chara-corp__kazami:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__kazami:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__kazami:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__kazami:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__kazami .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_kazami.png)
}

.no-webp .chara-corp__himuka:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__himuka:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__himuka:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__himuka:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__himuka .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_himuka.png)
}

.no-webp .chara-corp__nereides:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__nereides:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__nereides:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__nereides:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__nereides .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_nereides.png)
}

.no-webp .chara-corp__urami:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__urami:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__urami:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__urami:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__urami .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_urami.png)
}

.no-webp .chara-corp__fmw:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__fmw:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__fmw:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__fmw:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__fmw .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_fmw.png)
}

.no-webp .chara-corp__isrw:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__isrw:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__isrw:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__isrw:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__isrw .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_isrw.png)
}

.no-webp .chara-corp__grimo:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__grimo:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__grimo:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__grimo:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .chara-corp__grimo .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_grimo.png)
}

.no-webp .chara-corp__other:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-corp__other:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-corp__other .chara-corp__bg--item {
    background-image: url(../img/chara/top/bg_other.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i01 {
        background-image: url(../img/chara/top/btn_iruka_sakimiya_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i02 {
        background-image: url(../img/chara/top/btn_michiru_tojo_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i03 {
        background-image: url(../img/chara/top/btn_anri_harunami_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i04 {
        background-image: url(../img/chara/top/btn_utae_ayato_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i05 {
        background-image: url(../img/chara/top/btn_kohari_sakimiya_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i06 {
        background-image: url(../img/chara/top/btn_hayate_souma_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i07 {
        background-image: url(../img/chara/top/btn_ellen_kazami_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i08 {
        background-image: url(../img/chara/top/btn_hiori_nayuki_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i09 {
        background-image: url(../img/chara/top/btn_schnee_weissberg_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i10 {
        background-image: url(../img/chara/top/btn_mei_nagato_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i11 {
        background-image: url(../img/chara/top/btn_minami_kurose_on.png);
        height: 353px;
        width: 182px
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i12 {
        background-image: url(../img/chara/top/btn_kiri_izumi_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i13 {
        background-image: url(../img/chara/top/btn_otsuki_hagane_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i14 {
        background-image: url(../img/chara/top/btn_yuri_kurenashi_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i15 {
        background-image: url(../img/chara/top/btn_shion_suminoe_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i16 {
        background-image: url(../img/chara/top/btn_helly_lewis_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i17 {
        background-image: url(../img/chara/top/btn_veena_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i18 {
        background-image: url(../img/chara/top/btn_selena_lewis_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i19 {
        background-image: url(../img/chara/top/btn_yume_yamaba_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i20 {
        background-image: url(../img/chara/top/btn_kana_urami_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i21 {
        background-image: url(../img/chara/top/btn_mashio_murahaya_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i22 {
        background-image: url(../img/chara/top/btn_tomo_kukuri_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i23 {
        background-image: url(../img/chara/top/btn_eines_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i24 {
        background-image: url(../img/chara/top/btn_nacht_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i25 {
        background-image: url(../img/chara/top/btn_sarah_anthony_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i26 {
        background-image: url(../img/chara/top/btn_amadea_wolfa_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i27 {
        background-image: url(../img/chara/top/btn_tsugumi_kamie_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i28 {
        background-image: url(../img/chara/top/btn_haru_hanihara_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i29 {
        background-image: url(../img/chara/top/btn_yuno_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i30 {
        background-image: url(../img/chara/top/btn_muru_kurokuchi_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-list__member--item.i31 {
        background-image: url(../img/chara/top/btn_phenix_phenio_on.png)
    }
}

.no-webp .chara-pg__prev:after {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .chara-pg__next:after {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .chara-details:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .chara-details__view--btn.locked:before {
    background-image: url(../img/common/icon_key.png)
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.krsm01 {
        background-image: url(../img/chara/kirishima/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.krsm02 {
        background-image: url(../img/chara/kirishima/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.krsm03 {
        background-image: url(../img/chara/kirishima/btn_team_03_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.krsm04 {
        background-image: url(../img/chara/kirishima/btn_team_04_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.kzm01 {
        background-image: url(../img/chara/kazami/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.kzm02 {
        background-image: url(../img/chara/kazami/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.kzm03 {
        background-image: url(../img/chara/kazami/btn_team_03_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.kzm04 {
        background-image: url(../img/chara/kazami/btn_team_04_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.hmk01 {
        background-image: url(../img/chara/himuka/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.hmk02 {
        background-image: url(../img/chara/himuka/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.hmk03 {
        background-image: url(../img/chara/himuka/btn_team_03_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.hmk04 {
        background-image: url(../img/chara/himuka/btn_team_04_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.nrd01 {
        background-image: url(../img/chara/nereides/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.nrd02 {
        background-image: url(../img/chara/nereides/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.nrd03 {
        background-image: url(../img/chara/nereides/btn_team_03_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.nrd04 {
        background-image: url(../img/chara/nereides/btn_team_04_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.urm01 {
        background-image: url(../img/chara/urami/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.urm02 {
        background-image: url(../img/chara/urami/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.fmw01 {
        background-image: url(../img/chara/fm-wadatsumi/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.fmw02 {
        background-image: url(../img/chara/fm-wadatsumi/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.isrw01 {
        background-image: url(../img/chara/isrw/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.isrw02 {
        background-image: url(../img/chara/isrw/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.isrw03 {
        background-image: url(../img/chara/isrw/btn_team_03_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.isrw04 {
        background-image: url(../img/chara/isrw/btn_team_04_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.grimo01 {
        background-image: url(../img/chara/grimo-goetia/btn_team_01_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.grimo02 {
        background-image: url(../img/chara/grimo-goetia/btn_team_02_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.grimo03 {
        background-image: url(../img/chara/grimo-goetia/btn_team_03_on.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .chara-details__team--member.grimo04 {
        background-image: url(../img/chara/grimo-goetia/btn_team_04_on.png)
    }
}

.no-webp .chara-movie.locked:before {
    background-image: url(../img/common/icon_key.png)
}

.no-webp .gallery-top:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .gallery-top:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .gallery-container:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .gallery-container:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .gallery-navi__item:after {
    background-image: url(../img/common/icon_arrow_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .gallery-navi__item:hover:after {
        background-image: url(../img/common/icon_arrow_wh.png)
    }
}

.no-webp .story:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .story:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .story-wrapper:after {
    background-image: url(../img/top/bg_story.png)
}

.no-webp .story-bg__left {
    background-image: url(../img/top/img_story_pattern01.png)
}

.no-webp .story-bg__right {
    background-image: url(../img/top/img_story_pattern02.png)
}

.no-webp .system-top:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .system-top:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-top__bg--left.i01 {
        background-image: url(../img/top/img_system_pattern01.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-top__bg--left.i02 {
        background-image: url(../img/top/img_system_pattern02.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-top__bg--right.i01 {
        background-image: url(../img/top/img_system_pattern03.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-top__bg--right.i02 {
        background-image: url(../img/top/img_system_pattern04.png)
    }
}

.no-webp .system-top__chara {
    background-image: url(../img/top/bg_system.png)
}

.no-webp .system-top__store:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .system-top__store:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .system-container:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .system-container:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents__bg .b01-left {
        background-image: url(../img/common/bg_partial04.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents__bg .b01-right {
        background-image: url(../img/common/bg_partial05.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents__bg .b02-left {
        background-image: url(../img/common/bg_partial06.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents__bg .b02-right {
        background-image: url(../img/common/bg_partial07.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents__bg .b03-left {
        background-image: url(../img/common/bg_partial08.png)
    }
}

.no-webp .system-contents.block-02:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents.block-02:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .system-contents.block-03:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents.block-03:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .system-contents.block-04:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .system-contents.block-04:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .lp-mv__bg {
    background-image: url(../img/lp/bg_mv.png)
}

.no-webp .lp-game:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .lp-game:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .lp-game__bg--i1>span {
    background-image: url(../img/lp/bg_dolphinwave.png)
}

.no-webp .lp-game__bg--i2>span {
    background-image: url(../img/lp/bg_alphabet.png)
}

.no-webp .halfanniv-kv__item:nth-child(1) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary/img_kv_bg01.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-kv__item:nth-child(1) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary/img_kv_bg01_pc.png)
    }
}

@media only screen and (min-width:767px) {
    .no-webp .halfanniv-kv__item:nth-child(2) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary/img_kv_bg02_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-kv__item:nth-child(3) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary/img_kv_bg03_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-kv__item:nth-child(4) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary/img_kv_bg04_pc.png)
    }
}

.no-webp .halfanniv-kv__sparkle .glitter {
    background-image: url(../img/half-anniversary/sparkle01.png)
}

.no-webp .halfanniv-kv__sparkle .glitterX {
    background-image: url(../img/half-anniversary/sparkle02.png)
}

.no-webp .halfanniv-menu__share:after {
    background-image: url(../img/common/icon_twitter_ce.png)
}

.no-webp .halfanniv-animation__hexflare01 {
    background-image: url(../img/half-anniversary/hexflare01.png)
}

.no-webp .halfanniv-animation__hexflare02 {
    background-image: url(../img/half-anniversary/hexflare02.png)
}

.no-webp .halfanniv-animation__hexflare03 {
    background-image: url(../img/half-anniversary/hexflare03.png)
}

.no-webp .halfanniv-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .halfanniv-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .halfanniv-banner__bg--left {
    background-image: url(../img/half-anniversary/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-banner__bg--left {
        background-image: url(../img/half-anniversary/bg_banner_pc.png)
    }
}

.no-webp .halfanniv-banner__bg--right {
    background-image: url(../img/half-anniversary/bg_banner_pc.png)
}

.no-webp .halfanniv-message:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-message:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .halfanniv-message__bg--leftmisc {
    background-image: url(../img/half-anniversary/message_bg.png)
}

.no-webp .halfanniv-message__bg--leftchara {
    background-image: url(../img/half-anniversary/message_bgchara01.png)
}

.no-webp .halfanniv-message__bg--rightmisc {
    background-image: url(../img/half-anniversary/message_bg.png)
}

.no-webp .halfanniv-message__bg--rightchara {
    background-image: url(../img/half-anniversary/message_bgchara02.png)
}

.no-webp .halfanniv-update:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-update:before {
        background-image: url(../img/common/img_wave_ltb2_pc.png)
    }
}

.no-webp .halfanniv-update:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-update:after {
        background-image: url(../img/common/img_wave_ltb_btm_pc.png)
    }
}

.no-webp .halfanniv-update__bg {
    background-image: url(../img/half-anniversary/bg_update.png)
}

.no-webp .halfanniv-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .halfanniv-download__store:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv-download__store:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .halfanniv .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .dolwav-kv__item--bgv {
    background-image: url(../img/dolwav-day-2023/bg_kv_01_vdo.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-kv__item--bgv {
        background-image: url(../img/dolwav-day-2023/bg_kv_01.png)
    }
}

.no-webp .dolwav-kv__item:nth-child(1) .dolwav-kv__item--bg {
    background-image: url(../img/dolwav-day-2023/img_kv_sp.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-kv__item:nth-child(1) .dolwav-kv__item--bg {
        background-image: url(../img/dolwav-day-2023/img_kv_pc.png)
    }
}

@media only screen and (min-width:767px) {
    .no-webp .dolwav-kv__item:nth-child(2) .dolwav-kv__item--bg {
        background-image: url(../img/dolwav-day-2023/bg_kv_01.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-kv__item:nth-child(3) .dolwav-kv__item--bg {
        background-image: url(../img/dolwav-day-2023/bg_kv_02.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-kv__item:nth-child(4) .dolwav-kv__item--bg {
        background-image: url(../img/dolwav-day-2023/bg_kv_03.png)
    }
}

.no-webp .dolwav-kv__sparkle .glitter {
    background-image: url(../img/dolwav-day-2023/sparkle01.png)
}

.no-webp .dolwav-kv__sparkle .glitterX {
    position: absolute;
    background-image: url(../img/dolwav-day-2023/sparkle02.png)
}

.no-webp .dolwav-menu__list:after {
    background-image: url(../img/dolwav-day-2023/bg_nav.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-menu__list:after {
        background-image: url(../img/dolwav-day-2023/bg_nav_pc.png)
    }
}

.no-webp .dolwav-menu__share:after {
    background-image: url(../img/dolwav-day-2023/icon_x.png)
}

.no-webp .dolwav-animation__hexflare01 {
    background-image: url(../img/dolwav-day-2023/hexflare01.png)
}

.no-webp .dolwav-animation__hexflare02 {
    background-image: url(../img/dolwav-day-2023/hexflare02.png)
}

.no-webp .dolwav-animation__hexflare03 {
    background-image: url(../img/dolwav-day-2023/hexflare03.png)
}

.no-webp .dolwav-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .dolwav-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .dolwav-banner__bg--left {
    background-image: url(../img/dolwav-day-2023/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-banner__bg--left {
        background-image: url(../img/dolwav-day-2023/bg_banner_pc.png)
    }
}

.no-webp .dolwav-banner__bg--right {
    background-image: url(../img/dolwav-day-2023/bg_banner_pc.png)
}

.no-webp .dolwav-movie__inner {
    background-image: url(../img/dolwav-day-2023/bg_movie.png)
}

.no-webp .dolwav-movie__inner:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

.no-webp .dolwav-movie__inner:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

.no-webp .dolwav-update:before {
    background-image: url(../img/dolwav-day-2023/img_wave_rb_top.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-update:before {
        background-image: url(../img/dolwav-day-2023/img_wave_rb_top_pc.png)
    }
}

.no-webp .dolwav-update:after {
    background-image: url(../img/dolwav-day-2023/img_wave_rb_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-update:after {
        background-image: url(../img/dolwav-day-2023/img_wave_rb_btm_pc.png)
    }
}

.no-webp .dolwav-update__bg {
    background-image: url(../img/dolwav-day-2023/bg_content.png)
}

.no-webp .dolwav-update__card--box:after {
    background-image: url(../img/dolwav-day-2023/img_card_deco.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-update__card--box:after {
        background-image: url(../img/dolwav-day-2023/img_card_deco_pc.png)
    }
}

.no-webp .dolwav-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .dolwav-download:before {
    background-image: url(../img/dolwav-day-2023/img_wave_rbw_top.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav-download:before {
        background-image: url(../img/dolwav-day-2023/img_wave_rbw_top_pc.png)
    }
}

.no-webp .dolwav .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .anniv-kv__item--bgv {
    background-image: url(../img/1st-anniversary/bg_kv_01_vdo.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-kv__item--bgv {
        background-image: url(../img/1st-anniversary/bg_kv_01_vdo_pc.png)
    }
}

.no-webp .anniv-kv__item:nth-child(1) .anniv-kv__item--bg {
    background-image: url(../img/1st-anniversary/bg_kv_01_vdo.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-kv__item:nth-child(1) .anniv-kv__item--bg {
        background-image: url(../img/1st-anniversary/bg_kv_01_vdo_pc.png)
    }
}

@media only screen and (min-width:767px) {
    .no-webp .anniv-kv__item:nth-child(2) .anniv-kv__item--bg {
        background-image: url(../img/1st-anniversary/bg_kv_01.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-kv__item:nth-child(3) .anniv-kv__item--bg {
        background-image: url(../img/1st-anniversary/bg_kv_02.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-kv__item:nth-child(4) .anniv-kv__item--bg {
        background-image: url(../img/1st-anniversary/bg_kv_03.png)
    }
}

.no-webp .anniv-kv__sparkle .glitter {
    background-image: url(../img/common/special/sparkle01.png)
}

.no-webp .anniv-kv__sparkle .glitterX {
    background-image: url(../img/common/special/sparkle02.png)
}

.no-webp .anniv-animation__hexflare01 {
    background-image: url(../img/common/special/hexflare01.png)
}

.no-webp .anniv-animation__hexflare02 {
    background-image: url(../img/common/special/hexflare02.png)
}

.no-webp .anniv-animation__hexflare03 {
    background-image: url(../img/common/special/hexflare03.png)
}

.no-webp .anniv-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .anniv-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .anniv-banner__bg--left {
    background-image: url(../img/common/special/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-banner__bg--left {
        background-image: url(../img/common/special/bg_banner_pc.png)
    }
}

.no-webp .anniv-banner__bg--right {
    background-image: url(../img/common/special/bg_banner_pc.png)
}

.no-webp .anniv-movie__inner {
    background-image: url(../img/1st-anniversary/bg_movie.png)
}

.no-webp .anniv-movie__inner:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

.no-webp .anniv-movie__inner:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

.no-webp .anniv-movie__mask--txt:before {
    background-image: url(../img/1st-anniversary/img_phenio.png)
}

.no-webp .anniv-update:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-update:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .anniv-update:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-update:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .anniv-update__wrap:after,
.no-webp .anniv-update__wrap:before {
    background-image: url(../img/1st-anniversary/img_parts.png)
}

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

    .no-webp .anniv-update__wrap:after,
    .no-webp .anniv-update__wrap:before {
        background-image: url(../img/1st-anniversary/img_parts_pc.png)
    }
}

.no-webp .anniv-update__bg {
    background-image: url(../img/1st-anniversary/bg_content.png)
}

.no-webp .anniv-update__card--box:before {
    background-image: url(../img/1st-anniversary/img_badge.png)
}

.no-webp .anniv-update__card--box:after {
    background-image: url(../img/1st-anniversary/img_card_deco.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-update__card--box:after {
        background-image: url(../img/1st-anniversary/img_card_deco_pc.png)
    }
}

.no-webp .anniv-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .anniv-download:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv-download:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .anniv .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .collab-kv:before {
    background-image: url(../img/collab/doaxvv2024/bg_kv.jpg)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-kv:before {
        background-image: url(../img/collab/doaxvv2024/bg_kv_pc.jpg)
    }
}

.no-webp .collab-kv__bg--ray.r1 {
    background-image: url(../img/collab/doaxvv2024/bg_ray_1.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-kv__bg--ray.r1 {
        background-image: url(../img/collab/doaxvv2024/bg_ray_1_pc.png)
    }
}

.no-webp .collab-kv__bg--ray.r2 {
    background-image: url(../img/collab/doaxvv2024/bg_ray_2.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-kv__bg--ray.r2 {
        background-image: url(../img/collab/doaxvv2024/bg_ray_2_pc.png)
    }
}

.no-webp .collab-kv__bg--ray.r3 {
    background-image: url(../img/collab/doaxvv2024/bg_ray_3.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-kv__bg--ray.r3 {
        background-image: url(../img/collab/doaxvv2024/bg_ray_3_pc.png)
    }
}

.no-webp .collab-kv__bg--ray.r4 {
    background-image: url(../img/collab/doaxvv2024/bg_ray_4.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-kv__bg--ray.r4 {
        background-image: url(../img/collab/doaxvv2024/bg_ray_4_pc.png)
    }
}

.no-webp .collab-kv__sparkle .glitter-1 {
    background-image: url(../img/collab/doaxvv2024/img_kira_m.png)
}

.no-webp .collab-kv__sparkle .glitter-2 {
    background-image: url(../img/collab/doaxvv2024/img_kira_l.png)
}

.no-webp .collab-kv__movie:before {
    background-image: url(../img/collab/doaxvv2024/bg_movie.jpg)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-kv__movie:before {
        background-image: url(../img/collab/doaxvv2024/bg_movie_pc.jpg)
    }
}

.no-webp .collab-kv__movie--thumb span:after {
    background-image: url(../img/collab/doaxvv2024/img_vector_w.png)
}

.no-webp .collab-kv__menu--wrap:before {
    background-image: url(../img/collab/doaxvv2024/img_wave_navi.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-kv__menu--wrap:before {
        background-image: url(../img/collab/doaxvv2024/img_wave_navi_pc.png)
    }
}

.no-webp .collab-kv__menu--items.i1:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_p.png)
}

.no-webp .collab-kv__menu--items.i2:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_b.png)
}

.no-webp .collab-kv__menu--items.i3:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_y.png)
}

.no-webp .collab-modal__close {
    background-image: url(../img/collab/doaxvv2024/btn_close.png)
}

.no-webp .collab-menu__wrap:before {
    background-image: url(../img/collab/doaxvv2024/img_wave_navi.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-menu__wrap:before {
        background-image: url(../img/collab/doaxvv2024/img_wave_navi_pc.png)
    }
}

.no-webp .collab-menu__list--items.i1:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_p.png)
}

.no-webp .collab-menu__list--items.i2:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_b.png)
}

.no-webp .collab-menu__list--items.i3:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_y.png)
}

.no-webp .collab-block__wrap:before {
    background-image: url(../img/collab/doaxvv2024/bg_canvas.png)
}

.no-webp .collab-block__details:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_bl_1.png)
}

.no-webp .collab-block__details:after {
    background-image: url(../img/collab/doaxvv2024/img_flower_bl_2.png)
}

.no-webp .collab-block.bl1:before {
    background-image: url(../img/collab/doaxvv2024/img_wave_p.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-block.bl1:before {
        background-image: url(../img/collab/doaxvv2024/img_wave_p_pc.png)
    }
}

.no-webp .collab-block.bl1 .collab-block__wrap:after {
    background-image: url(../img/collab/doaxvv2024/bg_title_p.png)
}

.no-webp .collab-block.bl2:before {
    background-image: url(../img/collab/doaxvv2024/img_wave_b.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-block.bl2:before {
        background-image: url(../img/collab/doaxvv2024/img_wave_b_pc.png)
    }
}

.no-webp .collab-block.bl2 .collab-block__wrap:after {
    background-image: url(../img/collab/doaxvv2024/bg_title_b.png)
}

.no-webp .collab-block.bl3:before {
    background-image: url(../img/collab/doaxvv2024/img_wave_y.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-block.bl3:before {
        background-image: url(../img/collab/doaxvv2024/img_wave_y_pc.png)
    }
}

.no-webp .collab-block.bl3 .collab-block__wrap:after {
    background-image: url(../img/collab/doaxvv2024/bg_title_y.png)
}

.no-webp .collab-cp__list li:before {
    background-image: url(../img/collab/doaxvv2024/img_vector_y.png)
}

.no-webp .collab-cp__period--ttl:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_p_2.png)
}

.no-webp .collab-cp__entry--ttl:before {
    background-image: url(../img/collab/doaxvv2024/img_flower_y_2.png)
}

.no-webp .collab-cp__entry--wrap .entry-dtl__num {
    background-image: url(../img/collab/doaxvv2024/img_vector_y.png)
}

.no-webp .collab-cp__entry--wrap .entry-dtl__btn--item span:after {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .collab-title:before {
    background-image: url(../img/collab/doaxvv2024/img_wave_wb.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-title:before {
        background-image: url(../img/collab/doaxvv2024/img_wave_wb_pc.png)
    }
}

.no-webp .collab-title:after {
    background-image: url(../img/collab/doaxvv2024/bg_title_w.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-title:after {
        background-image: url(../img/collab/doaxvv2024/bg_title_w_pc.png)
    }
}

.no-webp .collab-title__ofc:after {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .collab-title__details.t1 .collab-title__details--wrap:after {
    background-image: url(../img/collab/doaxvv2024/bg_title_doaxvv.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-title__details.t1 .collab-title__details--wrap:after {
        background-image: url(../img/collab/doaxvv2024/bg_title_doaxvv_pc.png)
    }
}

.no-webp .collab-title__details.t2 .collab-title__details--wrap:after {
    background-image: url(../img/collab/doaxvv2024/bg_title_dw.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-title__details.t2 .collab-title__details--wrap:after {
        background-image: url(../img/collab/doaxvv2024/bg_title_dw_pc.png)
    }
}

.no-webp .collab-footer:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .collab-footer:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .halfanniv24-kv__item:nth-child(1) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2024/img_kv_bg01.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-kv__item:nth-child(1) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2024/img_kv_bg01_pc.png)
    }
}

.no-webp .halfanniv24-kv__item:nth-child(2) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2024/img_kv_bg02.png)
}

@media only screen and (min-width:767px) {
    .no-webp .halfanniv24-kv__item:nth-child(2) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2024/img_kv_bg02_pc.png)
    }
}

.no-webp .halfanniv24-kv__item:nth-child(3) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2024/img_kv_bg03.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-kv__item:nth-child(3) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2024/img_kv_bg03_pc.png)
    }
}

.no-webp .halfanniv24-kv__item:nth-child(4) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2024/img_kv_bg04.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-kv__item:nth-child(4) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2024/img_kv_bg04_pc.png)
    }
}

.no-webp .halfanniv24-kv__sparkle .glitter {
    background-image: url(../img/half-anniversary-2024/sparkle01.png)
}

.no-webp .halfanniv24-kv__sparkle .glitterX {
    background-image: url(../img/half-anniversary-2024/sparkle02.png)
}

.no-webp .halfanniv24-menu__share:after {
    background-image: url(../img/common/icon_twitter_ce.png)
}

.no-webp .halfanniv24-animation__hexflare01 {
    background-image: url(../img/half-anniversary-2024/hexflare01.png)
}

.no-webp .halfanniv24-animation__hexflare02 {
    background-image: url(../img/half-anniversary-2024/hexflare02.png)
}

.no-webp .halfanniv24-animation__hexflare03 {
    background-image: url(../img/half-anniversary-2024/hexflare03.png)
}

.no-webp .halfanniv24-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .halfanniv24-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .halfanniv24-banner__bg--left {
    background-image: url(../img/half-anniversary-2024/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-banner__bg--left {
        background-image: url(../img/half-anniversary-2024/bg_banner_pc.png)
    }
}

.no-webp .halfanniv24-banner__bg--right {
    background-image: url(../img/half-anniversary-2024/bg_banner_pc.png)
}

.no-webp .halfanniv24-update:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-update:before {
        background-image: url(../img/common/img_wave_ltb2_pc.png)
    }
}

.no-webp .halfanniv24-update:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-update:after {
        background-image: url(../img/common/img_wave_ltb_btm_pc.png)
    }
}

.no-webp .halfanniv24-update__bg {
    background-image: url(../img/half-anniversary-2024/bg_update.png)
}

.no-webp .halfanniv24-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .halfanniv24-download__store:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv24-download__store:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .halfanniv24 .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .dolwav24-kv__item--bgv {
    background-image: url(../img/dolwav-day-2024/bg_kv_fix.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-kv__item--bgv {
        background-image: url(../img/dolwav-day-2024/bg_kv_fix_pc.png)
    }
}

.no-webp .dolwav24-kv__item:nth-child(1) .dolwav24-kv__item--bg {
    background-image: url(../img/dolwav-day-2024/img_kv_sp.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-kv__item:nth-child(1) .dolwav24-kv__item--bg {
        background-image: url(../img/dolwav-day-2024/img_kv_pc.png)
    }
}

@media only screen and (min-width:767px) {
    .no-webp .dolwav24-kv__item:nth-child(2) .dolwav24-kv__item--bg {
        background-image: url(../img/dolwav-day-2024/bg_kv_01_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-kv__item:nth-child(3) .dolwav24-kv__item--bg {
        background-image: url(../img/dolwav-day-2024/bg_kv_02_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-kv__item:nth-child(4) .dolwav24-kv__item--bg {
        background-image: url(../img/dolwav-day-2024/bg_kv_03_pc.png)
    }
}

.no-webp .dolwav24-kv__sparkle .glitter {
    background-image: url(../img/dolwav-day-2024/sparkle01.png)
}

.no-webp .dolwav24-kv__sparkle .glitterX {
    background-image: url(../img/dolwav-day-2024/sparkle02.png)
}

.no-webp .dolwav24-menu__list:after {
    background-image: url(../img/dolwav-day-2024/bg_nav.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-menu__list:after {
        background-image: url(../img/dolwav-day-2024/bg_nav_pc.png)
    }
}

.no-webp .dolwav24-menu__share:after {
    background-image: url(../img/dolwav-day-2024/icon_x.png)
}

.no-webp .dolwav24-animation__hexflare01 {
    background-image: url(../img/dolwav-day-2024/hexflare01.png)
}

.no-webp .dolwav24-animation__hexflare02 {
    position: absolute;
    background-image: url(../img/dolwav-day-2024/hexflare02.png)
}

.no-webp .dolwav24-animation__hexflare03 {
    background-image: url(../img/dolwav-day-2024/hexflare03.png)
}

.no-webp .dolwav24-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .dolwav24-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .dolwav24-banner__bg--left {
    background-image: url(../img/dolwav-day-2024/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-banner__bg--left {
        background-image: url(../img/dolwav-day-2024/bg_banner_pc.png)
    }
}

.no-webp .dolwav24-banner__bg--right {
    background-image: url(../img/dolwav-day-2024/bg_banner_pc.png)
}

.no-webp .dolwav24-movie__inner {
    background-image: url(../img/dolwav-day-2024/bg_movie.png)
}

.no-webp .dolwav24-movie__inner:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

.no-webp .dolwav24-movie__inner:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

.no-webp .dolwav24-movie__mask--txt:before {
    background-image: url(../img/dolwav-day-2024/img_phenio_summer.png)
}

.no-webp .dolwav24-update:before {
    background-image: url(../img/dolwav-day-2024/img_wave_rb_top.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-update:before {
        background-image: url(../img/dolwav-day-2024/img_wave_rb_top_pc.png)
    }
}

.no-webp .dolwav24-update:after {
    background-image: url(../img/dolwav-day-2024/img_wave_rb_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-update:after {
        background-image: url(../img/dolwav-day-2024/img_wave_rb_btm_pc.png)
    }
}

.no-webp .dolwav24-update__bg {
    background-image: url(../img/dolwav-day-2024/bg_content.png)
}

.no-webp .dolwav24-update__card--box:after {
    background-image: url(../img/dolwav-day-2024/img_card_deco.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-update__card--box:after {
        background-image: url(../img/dolwav-day-2024/img_card_deco_pc.png)
    }
}

.no-webp .dolwav24-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .dolwav24-download:before {
    background-image: url(../img/dolwav-day-2024/img_wave_rbw_top.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav24-download:before {
        background-image: url(../img/dolwav-day-2024/img_wave_rbw_top_pc.png)
    }
}

.no-webp .dolwav24 .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .dolwav25-kv__item--bgv {
    background-image: url(../img/dolwav-day-2025/bg_kv_fix.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-kv__item--bgv {
        background-image: url(../img/dolwav-day-2025/bg_kv_fix_pc.png)
    }
}

.no-webp .dolwav25-kv__item:nth-child(1) .dolwav25-kv__item--bg {
    background-image: url(../img/dolwav-day-2025/img_kv_sp.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-kv__item:nth-child(1) .dolwav25-kv__item--bg {
        background-image: url(../img/dolwav-day-2025/img_kv_pc.png)
    }
}

@media only screen and (min-width:767px) {
    .no-webp .dolwav25-kv__item:nth-child(2) .dolwav25-kv__item--bg {
        background-image: url(../img/dolwav-day-2025/bg_kv_01_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-kv__item:nth-child(3) .dolwav25-kv__item--bg {
        background-image: url(../img/dolwav-day-2025/bg_kv_02_pc.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-kv__item:nth-child(4) .dolwav25-kv__item--bg {
        background-image: url(../img/dolwav-day-2025/bg_kv_03_pc.png)
    }
}

.no-webp .dolwav25-kv__sparkle .glitter {
    background-image: url(../img/dolwav-day-2025/sparkle01.png)
}

.no-webp .dolwav25-kv__sparkle .glitterX {
    background-image: url(../img/dolwav-day-2025/sparkle02.png)
}

.no-webp .dolwav25-menu__list:after {
    background-image: url(../img/dolwav-day-2025/bg_nav.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-menu__list:after {
        background-image: url(../img/dolwav-day-2025/bg_nav_pc.png)
    }
}

.no-webp .dolwav25-menu__share:after {
    background-image: url(../img/dolwav-day-2025/icon_x.png)
}

.no-webp .dolwav25-animation__hexflare01 {
    background-image: url(../img/dolwav-day-2025/hexflare01.png)
}

.no-webp .dolwav25-animation__hexflare02 {
    position: absolute;
    background-image: url(../img/dolwav-day-2025/hexflare02.png)
}

.no-webp .dolwav25-animation__hexflare03 {
    background-image: url(../img/dolwav-day-2025/hexflare03.png)
}

.no-webp .dolwav25-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .dolwav25-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .dolwav25-banner__bg--left {
    background-image: url(../img/dolwav-day-2025/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-banner__bg--left {
        background-image: url(../img/dolwav-day-2025/bg_banner_pc.png)
    }
}

.no-webp .dolwav25-banner__bg--right {
    background-image: url(../img/dolwav-day-2025/bg_banner_pc.png)
}

.no-webp .dolwav25-movie__inner {
    background-image: url(../img/dolwav-day-2025/bg_movie.png)
}

.no-webp .dolwav25-movie__inner:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

.no-webp .dolwav25-movie__inner:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

.no-webp .dolwav25-movie__mask--txt:before {
    background-image: url(../img/dolwav-day-2025/img_phenio_summer.png)
}

.no-webp .dolwav25-update:before {
    background-image: url(../img/dolwav-day-2025/img_wave_rb_top.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-update:before {
        background-image: url(../img/dolwav-day-2025/img_wave_rb_top_pc.png)
    }
}

.no-webp .dolwav25-update:after {
    background-image: url(../img/dolwav-day-2025/img_wave_rb_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-update:after {
        background-image: url(../img/dolwav-day-2025/img_wave_rb_btm_pc.png)
    }
}

.no-webp .dolwav25-update__bg {
    background-image: url(../img/dolwav-day-2025/bg_content.png)
}

.no-webp .dolwav25-update__card--box:after {
    background-image: url(../img/dolwav-day-2025/img_card_deco.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-update__card--box:after {
        background-image: url(../img/dolwav-day-2025/img_card_deco_pc.png)
    }
}

.no-webp .dolwav25-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .dolwav25-download:before {
    background-image: url(../img/dolwav-day-2025/img_wave_rbw_top.png)
}

@media only screen and (min-width:768px) {
    .no-webp .dolwav25-download:before {
        background-image: url(../img/dolwav-day-2025/img_wave_rbw_top_pc.png)
    }
}

.no-webp .dolwav25 .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .anniv24-kv__item--bgv {
    background-image: url(../img/2nd-anniversary/bg_kv_fix.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-kv__item--bgv {
        background-image: url(../img/2nd-anniversary/bg_kv_fix_pc.png)
    }
}

.no-webp .anniv24-kv__item:nth-child(1) .anniv-kv__item--bg {
    background-image: url(../img/2nd-anniversary/bg_kv_fix.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-kv__item:nth-child(1) .anniv-kv__item--bg {
        background-image: url(../img/2nd-anniversary/bg_kv_fix_pc.png)
    }
}

@media only screen and (min-width:767px) {
    .no-webp .anniv24-kv__item:nth-child(2) .anniv-kv__item--bg {
        background-image: url(../img/2nd-anniversary/bg_kv_01.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-kv__item:nth-child(3) .anniv-kv__item--bg {
        background-image: url(../img/2nd-anniversary/bg_kv_02.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-kv__item:nth-child(4) .anniv-kv__item--bg {
        background-image: url(../img/2nd-anniversary/bg_kv_03.png)
    }
}

.no-webp .anniv24-kv__sparkle .glitter {
    background-image: url(../img/common/special/sparkle01.png)
}

.no-webp .anniv24-kv__sparkle .glitterX {
    background-image: url(../img/common/special/sparkle02.png)
}

.no-webp .anniv24-animation__hexflare01 {
    background-image: url(../img/common/special/hexflare01.png)
}

.no-webp .anniv24-animation__hexflare02 {
    background-image: url(../img/common/special/hexflare02.png)
}

.no-webp .anniv24-animation__hexflare03 {
    background-image: url(../img/common/special/hexflare03.png)
}

.no-webp .anniv24-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .anniv24-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .anniv24-banner__bg--left {
    background-image: url(../img/common/special/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-banner__bg--left {
        background-image: url(../img/common/special/bg_banner_pc.png)
    }
}

.no-webp .anniv24-banner__bg--right {
    background-image: url(../img/common/special/bg_banner_pc.png)
}

.no-webp .anniv24-movie__inner {
    background-image: url(../img/1st-anniversary/bg_movie.png)
}

.no-webp .anniv24-movie__inner:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

.no-webp .anniv24-movie__inner:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

.no-webp .anniv24-movie__mask--txt:before {
    background-image: url(../img/2nd-anniversary/img_phenio.png)
}

.no-webp .anniv24-update:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-update:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .anniv24-update:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-update:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .anniv24-update__wrap:after,
.no-webp .anniv24-update__wrap:before {
    background-image: url(../img/2nd-anniversary/img_parts.png)
}

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

    .no-webp .anniv24-update__wrap:after,
    .no-webp .anniv24-update__wrap:before {
        background-image: url(../img/2nd-anniversary/img_parts_pc.png)
    }
}

.no-webp .anniv24-update__bg {
    background-image: url(../img/2nd-anniversary/bg_content.png)
}

.no-webp .anniv24-update__card--box:before {
    background-image: url(../img/2nd-anniversary/img_badge.png)
}

.no-webp .anniv24-update__card--box:after {
    background-image: url(../img/2nd-anniversary/img_card_deco.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-update__card--box:after {
        background-image: url(../img/2nd-anniversary/img_card_deco_pc.png)
    }
}

.no-webp .anniv24-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .anniv24-download:before {
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv24-download:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .anniv24 .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .halfanniv25-kv__item:nth-child(1) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2025/img_kv_bg01.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-kv__item:nth-child(1) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2025/img_kv_bg01_pc.png)
    }
}

.no-webp .halfanniv25-kv__item:nth-child(2) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2025/img_kv_bg02.png)
}

@media only screen and (min-width:767px) {
    .no-webp .halfanniv25-kv__item:nth-child(2) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2025/img_kv_bg02_pc.png)
    }
}

.no-webp .halfanniv25-kv__item:nth-child(3) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2025/img_kv_bg03.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-kv__item:nth-child(3) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2025/img_kv_bg03_pc.png)
    }
}

.no-webp .halfanniv25-kv__item:nth-child(4) .halfanniv-kv__item--bg {
    background-image: url(../img/half-anniversary-2025/img_kv_bg04.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-kv__item:nth-child(4) .halfanniv-kv__item--bg {
        background-image: url(../img/half-anniversary-2025/img_kv_bg04_pc.png)
    }
}

.no-webp .halfanniv25-kv__sparkle .glitter {
    background-image: url(../img/half-anniversary-2025/sparkle01.png)
}

.no-webp .halfanniv25-kv__sparkle .glitterX {
    background-image: url(../img/half-anniversary-2025/sparkle02.png)
}

.no-webp .halfanniv25-menu__share:after {
    background-image: url(../img/common/icon_twitter_ce.png)
}

.no-webp .halfanniv25-animation__hexflare01 {
    background-image: url(../img/half-anniversary-2025/hexflare01.png)
}

.no-webp .halfanniv25-animation__hexflare02 {
    background-image: url(../img/half-anniversary-2025/hexflare02.png)
}

.no-webp .halfanniv25-animation__hexflare03 {
    background-image: url(../img/half-anniversary-2025/hexflare03.png)
}

.no-webp .halfanniv25-banner:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .halfanniv25-banner:after {
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .halfanniv25-banner__bg--left {
    background-image: url(../img/half-anniversary-2025/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-banner__bg--left {
        background-image: url(../img/half-anniversary-2025/bg_banner_pc.png)
    }
}

.no-webp .halfanniv25-banner__bg--right {
    background-image: url(../img/half-anniversary-2025/bg_banner_pc.png)
}

.no-webp .halfanniv25-update:before {
    background-image: url(../img/common/img_wave_ltb2.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-update:before {
        background-image: url(../img/common/img_wave_ltb2_pc.png)
    }
}

.no-webp .halfanniv25-update:after {
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-update:after {
        background-image: url(../img/common/img_wave_ltb_btm_pc.png)
    }
}

.no-webp .halfanniv25-update__bg {
    background-image: url(../img/half-anniversary-2025/bg_update.png)
}

.no-webp .halfanniv25-update__button--item:before {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .halfanniv25-download__store:before {
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .halfanniv25-download__store:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .halfanniv25 .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .anniv25-kv__item--bgv {
    background-image: url(../img/3rd-anniversary/bg_kv_fix.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-kv__item--bgv {
        background-image: url(../img/3rd-anniversary/bg_kv_fix_pc.png)
    }
}

.no-webp .anniv25-kv__item:nth-child(1) .anniv25-kv__item--bg {
    background-image: url(../img/3rd-anniversary/bg_kv_fix.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-kv__item:nth-child(1) .anniv25-kv__item--bg {
        background-image: url(../img/3rd-anniversary/bg_kv_fix_pc.png)
    }
}

@media only screen and (min-width:767px) {
    .no-webp .anniv25-kv__item:nth-child(2) .anniv25-kv__item--bg {
        background-image: url(../img/3rd-anniversary/bg_kv_01.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-kv__item:nth-child(3) .anniv25-kv__item--bg {
        background-image: url(../img/3rd-anniversary/bg_kv_02.png)
    }
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-kv__item:nth-child(4) .anniv25-kv__item--bg {
        background-image: url(../img/3rd-anniversary/bg_kv_03.png)
    }
}

.no-webp .anniv25-kv__sparkle .glitter {
    background-image: url(../img/common/special/sparkle01.png)
}

.no-webp .anniv25-kv__sparkle .glitterX {
    background-image: url(../img/common/special/sparkle02.png)
}

.no-webp .anniv25-animation__hexflare01 {
    background-image: url(../img/common/special/hexflare01.png)
}

.no-webp .anniv25-animation__hexflare02 {
    background-image: url(../img/common/special/hexflare02.png)
}

.no-webp .anniv25-animation__hexflare03 {
    background-image: url(../img/common/special/hexflare03.png)
}

.no-webp .anniv25-banner:before {
    display: block;
    content: "";
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-banner:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .anniv25-banner:after {
    display: block;
    content: "";
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-banner:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .anniv25-banner__bg--left {
    background-image: url(../img/common/special/bg_banner.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-banner__bg--left {
        background-image: url(../img/common/special/bg_banner_pc.png)
    }
}

.no-webp .anniv25-banner__bg--right {
    background-image: url(../img/common/special/bg_banner_pc.png)
}

.no-webp .anniv25-movie__inner {
    background-image: url(../img/3rd-anniversary/bg_movie.png)
}

.no-webp .anniv25-movie__inner:before {
    display: block;
    content: "";
    background-image: url(../img/common/img_wave_ltb2.png)
}

.no-webp .anniv25-movie__inner:after {
    display: block;
    content: "";
    background-image: url(../img/common/img_wave_ltb_btm.png)
}

.no-webp .anniv25-movie__mask--txt:before {
    display: block;
    content: "";
    background-image: url(../img/3rd-anniversary/img_phenio.png)
}

.no-webp .anniv25-update:before {
    display: block;
    content: "";
    background-image: url(../img/common/img_wave_wh.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-update:before {
        background-image: url(../img/common/img_wave_wh_pc.png)
    }
}

.no-webp .anniv25-update:after {
    display: block;
    content: "";
    background-image: url(../img/common/img_wave_wh_btm.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-update:after {
        background-image: url(../img/common/img_wave_wh_btm_pc.png)
    }
}

.no-webp .anniv25-update__wrap:after,
.no-webp .anniv25-update__wrap:before {
    background-image: url(../img/3rd-anniversary/img_parts.png)
}

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

    .no-webp .anniv25-update__wrap:after,
    .no-webp .anniv25-update__wrap:before {
        background-image: url(../img/3rd-anniversary/img_parts_pc.png)
    }
}

.no-webp .anniv25-update__bg {
    background-image: url(../img/3rd-anniversary/bg_content.png)
}

.no-webp .anniv25-update__card--box:before {
    display: block;
    content: "";
    background-image: url(../img/3rd-anniversary/img_badge.png)
}

.no-webp .anniv25-update__card--box:after {
    display: block;
    content: "";
    background-image: url(../img/3rd-anniversary/img_card_deco.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-update__card--box:after {
        background-image: url(../img/3rd-anniversary/img_card_deco_pc.png)
    }
}

.no-webp .anniv25-update__button--item:before {
    display: block;
    content: "";
    background-image: url(../img/common/icon_arrow_wh.png)
}

.no-webp .anniv25-download:before {
    display: block;
    content: "";
    background-image: url(../img/common/img_wave_blue.png)
}

@media only screen and (min-width:768px) {
    .no-webp .anniv25-download:before {
        background-image: url(../img/common/img_wave_blue_pc.png)
    }
}

.no-webp .anniv25 .footer-bottom__totop--arrow {
    background-image: url(../img/common/icon_arrow_wh.png)
}

.popup {
    width: 100%;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none;
    z-index: -1
}

.popup.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    pointer-events: auto;
    z-index: 99
}

.popup-bg {
    background-color: rgba(0, 0, 0, .75);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1
}

.popup-wrap {
    position: relative;
    top: 50%;
    left: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
    margin: 0 auto;
    width: 80vw
}

@media only screen and (min-width:768px) {
    .popup-wrap {
        width: 54.2vh
    }
}

.popup-inner {
    width: 100%
}

.popup-img {
    margin: 0 auto;
    width: 100%
}

@media only screen and (min-width:768px) {
    .popup-img {
        width: 53.1vh
    }
}

.popup-text {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 6.4vw;
    font-weight: 900;
    text-align: center;
    margin-top: 4vw;
    line-height: 1.4
}

@media only screen and (min-width:768px) {
    .popup-text {
        font-size: 2.4vh;
        margin-top: 1.9vh
    }
}

.popup-checkbox {
    margin: 3.46667vw auto 0;
    width: 68.66667vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .popup-checkbox {
        margin-top: 1.7vh;
        width: 43.2vh
    }
}

.popup-checkbox__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.2vw;
    font-weight: 300;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .popup-checkbox__item {
        font-size: 1.4vh
    }
}

.popup-checkbox__item--mark {
    position: relative;
    display: inline-block;
    border: .4vw solid #2875ff;
    border-radius: 1.6vw;
    width: 5.6vw;
    height: 5.6vw;
    margin-top: .8vw;
    margin-right: 2.66667vw
}

@media only screen and (min-width:768px) {
    .popup-checkbox__item--mark {
        border: .3vh solid #2875ff;
        border-radius: .4vh;
        width: 2.5vh;
        height: 2.5vh;
        margin-top: .3vh;
        margin-right: 1.2vh
    }
}

.popup-checkbox__item--input[type=checkbox] {
    position: absolute;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    width: 0;
    height: 0
}

.popup-checkbox__item--input[type=checkbox]:checked~.popup-checkbox__item--mark {
    background-color: #2875ff;
    border-color: #2875ff
}

.popup-checkbox__item--input[type=checkbox]:checked~.popup-checkbox__item--mark:after {
    content: "";
    position: absolute;
    top: -.53333vw;
    left: 1.06667vw;
    width: 2.66667vw;
    height: 4.26667vw;
    -webkit-transform: rotate(45deg) scale(0);
    transform: rotate(45deg) scale(0);
    border-right: .66667vw solid #fff;
    border-bottom: .66667vw solid #fff;
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg)
}

@media only screen and (min-width:768px) {
    .popup-checkbox__item--input[type=checkbox]:checked~.popup-checkbox__item--mark:after {
        top: -.4vh;
        left: .4vh;
        width: 1.2vh;
        height: 2vh;
        border-right: .4vh solid #fff;
        border-bottom: .4vh solid #fff
    }
}

.popup-btn {
    position: relative;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4.53333vw;
    font-weight: 900;
    margin: 7.46667vw auto 0;
    width: 67.86667vw;
    height: 12.8vw;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .popup-btn {
        font-size: 1.6vh;
        margin-top: 2vh;
        width: 24.5vh;
        height: 4.6vh;
        transition: all .5s
    }
}

.popup-btn:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    width: 2.93333vw;
    height: 6vw;
    z-index: 2;
    position: absolute;
    top: 50%;
    right: 4vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .popup-btn:before {
        width: 1.1vh;
        height: 2.3vh;
        right: 1.3vh;
        transition: all .5s
    }
}

.popup-btn:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    width: 20.66667vw;
    height: 13.33333vw;
    -webkit-clip-path: polygon(62% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(62% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: -.26667vw;
    right: -.26667vw
}

@media only screen and (min-width:768px) {
    .popup-btn:after {
        height: 4.7vh;
        width: 7.3vh;
        top: -.1vh;
        right: -.1vh;
        transition: all .5s
    }
}

.popup-btn span {
    margin-right: 12.53333vw
}

@media only screen and (min-width:768px) {
    .popup-btn span {
        margin-right: 2.6vh
    }
}

@media only screen and (min-width:768px) {
    .popup-btn:hover {
        background-color: #000
    }
}

.popup-btn:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .popup-btn:hover:after {
        background-color: #2874ff
    }
}

.popup-close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    height: 7.33333vw;
    width: 17.33333vw;
    position: absolute;
    top: -9.6vw;
    left: calc(50% + 32.53333vw);
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .popup-close {
        height: 5.1vh;
        width: 5.1vh;
        top: -3vh;
        left: calc(50% + 26vh)
    }
}

.popup-close:before {
    display: block;
    content: "";
    background-color: #fff;
    height: 1.33333vw;
    width: 9.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .popup-close:before {
        width: 3.6vh;
        height: .4vh;
        transition: all .5s
    }
}

.popup-close:after {
    display: block;
    content: "";
    background-color: #fff;
    height: 9.33333vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .popup-close:after {
        width: .4vh;
        height: 3.6vh;
        transition: all .5s
    }
}

.kv {
    position: relative
}

.kv:before {
    display: block;
    content: "";
    background: transparent url(../img/common/img_wave_grad.png) repeat-x;
    background-size: 100vw auto;
    height: 44.8vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0;
    pointer-events: none;
    z-index: 2;
    background-position-x: 100%
}

@media only screen and (min-width:768px) {
    .kv:before {
        background-image: url(../img/common/img_wave_grad_pc.png);
        background-size: 300px auto;
        background-position-x: 0;
        background-position-y: 100%;
        height: 242px;
        bottom: -44px
    }
}

.kv-wrap {
    background-color: #fff;
    height: 172.53333vw;
    width: 100%;
    position: relative;
    pointer-events: none;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .kv-wrap {
        overflow: hidden;
        height: 57.43243vw
    }
}

.kv-wrap:after {
    display: block;
    content: "";
    background: #fff;
    background: linear-gradient(180deg, #fff 0, #e5fbff 32%, #feffe8 79%);
    height: 40.53333vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
    background-position-x: 100%
}

@media only screen and (min-width:768px) {
    .kv-wrap:after {
        background: linear-gradient(180deg, rgba(189, 241, 251, 0) 0, #bdf1fb 40%, #fdffef 76%, #fdffef 100%);
        height: 198px
    }
}

.kv-bg {
    background: transparent url(../data/webp/top/bg_kv.png.webp) no-repeat;
    background-size: 100vw auto;
    background-position-x: 50%;
    height: 172.53333vw;
    width: 100vw;
    position: absolute;
    top: 0;
    pointer-events: none;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .kv-bg {
        background-image: url(../data/webp/top/bg_kv_pc.png.webp);
        background-size: 100vw auto;
        height: 57.43243vw
    }
}

.kv-lead {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    height: 100%;
    width: 100%
}

@media only screen and (min-width:768px) {
    .kv-lead {
        width: 100%;
        position: relative;
        top: 0;
        left: 0;
        pointer-events: none
    }
}

.kv-lead__chara {
    position: absolute;
    width: 92vw;
    height: 125.33333vw;
    top: 22.93333vw;
    left: calc(50% - 46vw)
}

@media only screen and (min-width:768px) {
    .kv-lead__chara {
        width: 39.32432vw;
        height: 53.51351vw;
        top: 4.32432vw;
        left: calc(50% - 43.24324vw)
    }
}

.kv-lead__text {
    position: absolute;
    width: 87.86667vw;
    height: 21.33333vw;
    top: 1.46667vw;
    left: 50%
}

@media only screen and (max-width:767px) {
    .kv-lead__text {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .kv-lead__text {
        width: 43.64865vw;
        height: 14.18919vw;
        top: 11.55405vw;
        left: calc(50% + 2.7027vw)
    }
}

.kv-logo {
    position: absolute;
    width: 79.06667vw
}

@media only screen and (max-width:767px) {
    .kv-logo {
        bottom: -8vw;
        left: 51%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .kv-logo {
        width: 43.64865vw;
        height: 22.09459vw;
        top: 27.7027vw;
        left: calc(50% + 2.43243vw)
    }
}

.movie {
    background-color: #000;
    height: 53.33333vw;
    width: 100%;
    z-index: 1;
    position: relative
}

@media only screen and (min-width:768px) {
    .movie {
        height: 38.51351vw
    }
}

.movie-bg {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 56.26667vw
}

@media only screen and (min-width:768px) {
    .movie-bg {
        height: 56.21622vw
    }
}

.movie-inner {
    position: relative;
    height: 100%;
    background-image: url(../img/common/bg_movie.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

.movie-inner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/top/bg_dot.png.webp) repeat;
    background-size: 1.33333vw 1.33333vw;
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .movie-inner:before {
        background-size: .67568vw .67568vw
    }
}

.movie-inner>.test {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1
}

.movie-btn {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5
}

.movie-play {
    display: block;
    border-radius: 100%;
    height: 21.06667vw;
    width: 21.06667vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .movie-play {
        height: 10.67568vw;
        width: 10.67568vw;
        transition: all .5s
    }

    .movie-play:hover {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.movie-play__text {
    height: 21.06667vw;
    font-family: Montserrat, sans-serif;
    font-size: 3.6vw;
    font-weight: 900;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:768px) {
    .movie-play__text {
        height: 10.67568vw;
        font-size: 1.82432vw
    }
}

.movie-modal__inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .movie-modal__inner {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .movie-modal__inner {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .movie-modal__item {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .movie-modal__item {
        padding: 8.52619vw 0
    }
}

.movie-modal__iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.movie-modal__iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.movie-modal__close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .movie-modal__close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.movie-modal__close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .movie-modal__close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.movie-modal__close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .movie-modal__close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.movie-modal__close:active {
    top: 0
}

.news-top {
    background-color: #fff;
    padding: 0 0 5.33333vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .news-top {
        padding: 0 0 200px
    }
}

.news-top:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .news-top:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        width: 100%;
        position: absolute;
        top: -60px;
        left: 0
    }
}

.news-top__bg {
    overflow: hidden;
    width: 100%;
    position: absolute
}

@media only screen and (min-width:768px) {
    .news-top__bg {
        height: 100%
    }
}

.news-top__bg--top {
    background: transparent url(../data/webp/top/bg_news_dw.png.webp) no-repeat;
    background-size: cover;
    background-position: left;
    height: 60.26667vw;
    width: 186.53333vw;
    display: block;
    top: 0;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .news-top__bg--top {
        background-size: contain;
        height: 452px;
        width: 1399px
    }
}

@media only screen and (min-width:1481px) {
    .news-top__bg--top {
        height: 30.54054vw;
        width: 94.52703vw
    }
}

@media only screen and (min-width:768px) {
    .news-top__bg--btm {
        width: 1480px;
        z-index: 1;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

@media only screen and (min-width:1481px) {
    .news-top__bg--btm {
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    .news-top__bg--left {
        background: transparent url(../data/webp/top/img_news_pattern01.png.webp) no-repeat;
        background-size: contain;
        height: 713px;
        width: 282px;
        display: block;
        position: absolute;
        top: 354px;
        left: 0
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .news-top__bg--left {
        height: 48.17568vw;
        width: 19.05405vw
    }
}

@media only screen and (min-width:768px) {
    .news-top__bg--right {
        background: transparent url(../data/webp/top/img_news_pattern02.png.webp) no-repeat;
        background-size: contain;
        height: 527px;
        width: 259px;
        display: block;
        position: absolute;
        top: 615px;
        right: 0
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .news-top__bg--right {
        height: 35.60811vw;
        width: 17.5vw
    }
}

.news-top__slider {
    margin-top: 12vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .news-top__slider {
        margin-top: 50px
    }
}

.news-top__slider--wrap {
    width: 100%;
    position: relative
}

.news-top__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .news-top__slider--container {
        width: 560px;
        height: 315px
    }
}

.news-top__slider--container picture {
    pointer-events: all
}

.news-top__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .news-top__slider--container img {
        height: 315px
    }
}

.news-top__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .news-top__slider--pagination {
        margin-top: 20px
    }
}

.news-top__slider--pagination .swiper-pagination-bullet {
    margin: 0 1.33333vw;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .news-top__slider--pagination .swiper-pagination-bullet {
        margin: 0 10px;
        height: 12px;
        width: 12px
    }
}

.news-top__slider--pagination .swiper-pagination-bullet-active {
    background-color: #2875ff;
    height: 2.93333vw;
    width: 2.93333vw
}

@media only screen and (min-width:768px) {
    .news-top__slider--pagination .swiper-pagination-bullet-active {
        height: 22px;
        width: 22px
    }
}

.news-top__area {
    position: relative;
    padding-top: 11.2vw
}

@media only screen and (min-width:768px) {
    .news-top__area {
        padding-top: 50px
    }
}

.news-top__area--wrap {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.news-top__area--title {
    font-family: Montserrat, sans-serif;
    font-size: 7.33333vw;
    font-weight: 900;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    width: 5.33333vw;
    position: absolute;
    top: 8.53333vw;
    right: 0
}

@media only screen and (min-width:768px) {
    .news-top__area--title {
        font-size: 60px;
        width: 42px;
        top: 72px
    }
}

.news-top__area--ttl {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.news-top__area--container {
    width: 78.66667vw
}

@media only screen and (min-width:768px) {
    .news-top__area--container {
        width: 640px
    }
}

.news-top__list {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2
}

.news-top__list--items {
    position: relative;
    border-bottom: solid .26667vw #000;
    padding-bottom: 5.33333vw
}

@media only screen and (min-width:768px) {
    .news-top__list--items {
        border-bottom: solid 1px #000;
        padding-bottom: 28px
    }
}

.news-top__list--items:not(:first-of-type) {
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .news-top__list--items:not(:first-of-type) {
        margin-top: 15px
    }
}

.news-top__list--link {
    display: block
}

.news-top__list--date {
    color: #000;
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 900;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:768px) {
    .news-top__list--date {
        font-size: 26px
    }
}

.news-top__list--date .latest {
    color: #2875ff;
    display: inline-block;
    font-size: 2.66667vw;
    font-family: Montserrat, sans-serif;
    font-weight: 900;
    border: solid 1px #2875ff;
    text-align: center;
    width: 11.73333vw;
    margin-left: 1.73333vw
}

@media only screen and (min-width:768px) {
    .news-top__list--date .latest {
        font-size: 16px;
        width: 88px;
        margin-left: 10px
    }
}

.news-top__list--text {
    font-size: 3.46667vw;
    margin-top: 2.66667vw;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%
}

@media only screen and (min-width:768px) {
    .news-top__list--text {
        font-size: 16px;
        margin-top: 12px;
        width: 640px
    }
}

.news-top__more {
    width: 26.66667vw;
    margin-left: auto
}

@media only screen and (min-width:768px) {
    .news-top__more {
        width: 200px
    }
}

.news-top__more--btn {
    display: block;
    background-color: #000;
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 2.93333vw;
    font-weight: 900;
    padding: .8vw 0 .93333vw 4.93333vw;
    width: 100%;
    position: relative
}

@media only screen and (min-width:768px) {
    .news-top__more--btn {
        font-size: 22px;
        padding: 4px 0 5px 37px
    }
}

.news-top__more--btn:after {
    display: block;
    content: "";
    display: inline-block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 2.4vw;
    width: 1.2vw;
    position: absolute;
    top: 50%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .news-top__more--btn:after {
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.news-top__more--btn:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .news-top__more--btn:hover:after {
        right: 10px
    }
}

.news-top__button {
    margin-top: 4vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.news-top__button--group {
    width: 100%;
    position: relative;
    overflow: hidden;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .news-top__button--group {
        height: 50px;
        width: 340px
    }
}

@media only screen and (max-width:767px) {
    .news-top__button--group:not(:first-of-type) {
        margin-top: 2.66667vw
    }
}

@media only screen and (min-width:768px) {
    .news-top__button--group:not(:first-of-type) {
        margin-left: 20px
    }
}

.news-top__button--item {
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 900;
    height: 13.33333vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:768px) {
    .news-top__button--item {
        font-size: 14px;
        height: 50px;
        width: 340px;
        transition: all .5s
    }
}

.news-top__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 21.33333vw;
    -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .news-top__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .news-top__button--item.cl-b:hover {
        background-color: #000
    }
}

.news-top__button--item.cl-b:hover:after {
    display: block;
    content: "";
    background-color: #2875ff
}

@media only screen and (min-width:768px) {
    .news-top__button--item.cl-r:hover {
        background-color: #000
    }
}

.news-top__button--item.cl-r:hover:after {
    display: block;
    content: "";
    background-color: red
}

.news-top__button--icon {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.news-top__button--icon.x:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_x.svg) no-repeat;
    background-size: contain;
    height: 5.6vw;
    width: 5.6vw
}

@media only screen and (min-width:768px) {
    .news-top__button--icon.x:after {
        height: 22px;
        width: 22px
    }
}

.news-top__button--icon.youtube:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_youtube.svg) no-repeat;
    background-size: contain;
    height: 4.8vw;
    width: 6.8vw
}

@media only screen and (min-width:768px) {
    .news-top__button--icon.youtube:after {
        height: 18px;
        width: 26px
    }
}

.news-top__button--txt {
    margin-left: 1.2vw
}

@media only screen and (min-width:768px) {
    .news-top__button--txt {
        margin-left: 5px
    }
}

.news-wrap {
    padding-top: 24vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .news-wrap {
        padding-top: 110px
    }
}

.news-container {
    background-color: #fff;
    position: relative;
    z-index: 6;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .news-container {
        margin-top: 45px
    }
}

.news-container:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .news-container:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.news-bg {
    height: 100%;
    width: 100%;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .news-bg {
        width: 1480px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

@media only screen and (min-width:1481px) {
    .news-bg {
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    .news-bg__item01 {
        background: transparent url(../data/webp/common/bg_partial01.png.webp) no-repeat;
        background-size: contain;
        height: 954px;
        width: 160px;
        display: block;
        position: absolute;
        top: 440px;
        left: 0
    }
}

@media only screen and (min-width:1481px) {
    .news-bg__item01 {
        height: 64.45946vw;
        width: 10.81081vw
    }
}

@media only screen and (min-width:768px) {
    .news-bg__item02 {
        background: transparent url(../data/webp/common/bg_partial02.png.webp) no-repeat;
        background-size: contain;
        height: 527px;
        width: 252px;
        display: block;
        position: absolute;
        top: 180px;
        right: 0
    }
}

@media only screen and (min-width:1481px) {
    .news-bg__item02 {
        height: 35.60811vw;
        width: 17.02703vw
    }
}

@media only screen and (min-width:768px) {
    .news-bg__item03 {
        background: transparent url(../data/webp/common/bg_partial03.png.webp) no-repeat;
        background-size: contain;
        height: 703px;
        width: 198px;
        display: block;
        position: absolute;
        top: 984px;
        right: 0
    }
}

@media only screen and (min-width:1481px) {
    .news-bg__item03 {
        height: 47.5vw;
        width: 13.37838vw
    }
}

.news-title {
    background-color: #fff
}

.news-title__h1 {
    top: -2.13333vw;
    width: 51.6vw
}

@media only screen and (min-width:768px) {
    .news-title__h1 {
        top: -16px;
        width: 309px
    }
}

.news-area {
    margin-top: 4.26667vw;
    padding-bottom: 13.33333vw;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .news-area {
        margin-top: 30px;
        padding-bottom: 156px
    }
}

.news-category {
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-x: auto;
    white-space: nowrap;
    margin: 0 auto;
    padding: 0 5.33333vw;
    height: 9.06667vw;
    width: 99.99%
}

.news-category::-webkit-scrollbar {
    display: none
}

@media only screen and (min-width:768px) {
    .news-category {
        padding: 0;
        height: 42px;
        width: 700px
    }
}

.news-category__btn {
    cursor: pointer;
    pointer-events: all;
    border: solid .26667vw #2875ff;
    border-radius: 4vw;
    color: #2875ff;
    display: inline-block
}

@media only screen and (min-width:768px) {
    .news-category__btn {
        border: solid 2px #2875ff;
        border-radius: 30px;
        transition: all .5s
    }
}

.news-category__btn:not(:first-of-type) {
    margin-left: .93333vw
}

@media only screen and (min-width:768px) {
    .news-category__btn:not(:first-of-type) {
        margin-left: 5px
    }
}

.news-category__btn--txt {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 2.93333vw;
    font-weight: 900;
    height: 8vw;
    width: 21.33333vw
}

@media only screen and (min-width:768px) {
    .news-category__btn--txt {
        font-size: 16px;
        height: 38px;
        width: 106px
    }
}

@media only screen and (min-width:768px) {
    .news-category__btn:hover {
        background-color: #2875ff;
        color: #fff
    }
}

.news-category__btn.active {
    background-color: #2875ff;
    color: #fff
}

.news-list {
    display: block;
    margin-top: 5.33333vw;
    padding-bottom: 2.93333vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .news-list {
        margin-top: 50px;
        padding-bottom: 36px
    }
}

.news-list__items {
    width: 44.66667vw;
    padding-bottom: 5.6vw;
    display: inline-block;
    vertical-align: top;
    float: left
}

@media only screen and (min-width:768px) {
    .news-list__items {
        padding-bottom: 25px;
        width: 350px
    }
}

.news-list__items:nth-child(odd) {
    padding-right: 1.33333vw
}

@media only screen and (min-width:768px) {
    .news-list__items:nth-child(odd) {
        padding-right: 14px
    }
}

.news-list__items:nth-child(even) {
    padding-left: 1.33333vw
}

@media only screen and (min-width:768px) {
    .news-list__items:nth-child(even) {
        padding-left: 14px
    }
}

.news-list__items:nth-of-type(n+3) {
    padding-top: 6vw;
    border-top: solid .26667vw #a0a0a0
}

@media only screen and (min-width:768px) {
    .news-list__items:nth-of-type(n+3) {
        border-top: solid 1px #a0a0a0;
        padding-top: 28px
    }
}

.news-list__btn {
    display: block
}

@media only screen and (min-width:768px) {
    .news-list__btn:hover .news-list__card--img img {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
        transition-duration: .5s
    }
}

@media only screen and (min-width:768px) {
    .news-list__btn:hover .news-list__card--ttl {
        color: #2875ff
    }
}

.news-list__card--img {
    width: 100%;
    overflow: hidden;
    transition: all .5s
}

.news-list__card--img img {
    transition-duration: .5s
}

.news-list__card--dc {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.33333vw
}

@media only screen and (min-width:768px) {
    .news-list__card--dc {
        margin-top: 14px
    }
}

.news-list__card--date {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .news-list__card--date {
        font-size: 16px
    }
}

.news-list__card--cat {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #2875ff;
    color: #fff;
    font-size: 2.4vw;
    font-weight: 900;
    border-radius: 2.26667vw;
    margin-left: 2.26667vw;
    padding-bottom: .26667vw;
    height: 4.53333vw;
    width: 17.06667vw
}

@media only screen and (min-width:768px) {
    .news-list__card--cat {
        font-size: 10px;
        border-radius: 9px;
        margin-left: 10px;
        padding-bottom: 1px;
        height: 17px;
        width: 75px
    }
}

.news-list__card--ttl {
    font-size: 3.2vw;
    font-weight: 900;
    line-height: 1.5;
    margin-top: 2.4vw
}

@media only screen and (min-width:768px) {
    .news-list__card--ttl {
        font-size: 16px;
        margin-top: 7px;
        transition: all .5s
    }
}

.news-post {
    margin-top: 1.33333vw;
    padding-bottom: 13.33333vw;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .news-post {
        margin-top: 18px;
        padding-bottom: 125px
    }
}

.news-post__h1 {
    top: -2.13333vw;
    width: 30.13333vw
}

@media only screen and (min-width:768px) {
    .news-post__h1 {
        top: -16px;
        width: 226px
    }
}

.news-post__dc {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.news-post__date {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .news-post__date {
        font-size: 26px
    }
}

.news-post__cat {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #2875ff;
    color: #fff;
    font-size: 2.66667vw;
    font-weight: 900;
    border-radius: 2.26667vw;
    margin-left: 2.26667vw;
    padding-bottom: .26667vw;
    height: 4.53333vw;
    width: 17.06667vw
}

@media only screen and (min-width:768px) {
    .news-post__cat {
        font-size: 10px;
        border-radius: 9px;
        margin-left: 10px;
        padding-bottom: 1px;
        height: 17px;
        width: 75px
    }
}

.news-post__ttl {
    font-size: 6.66667vw;
    font-weight: 900;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 1.3;
    margin-top: 2.93333vw
}

@media only screen and (min-width:768px) {
    .news-post__ttl {
        font-size: 28px;
        margin-top: 18px
    }
}

.news-post__img {
    width: 100%;
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .news-post__img {
        margin-top: 34px
    }
}

.news-post__details {
    margin-top: 6.4vw
}

@media only screen and (min-width:768px) {
    .news-post__details {
        margin-top: 52px
    }
}

.news-post__details--ttl {
    font-size: 3.73333vw;
    font-weight: 900;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:768px) {
    .news-post__details--ttl {
        font-size: 18px
    }
}

.news-post__details--ttl:before {
    display: block;
    content: "";
    display: inline-block;
    background-color: #2875ff;
    height: 4vw;
    width: 1.06667vw;
    margin-right: 2.66667vw
}

@media only screen and (min-width:768px) {
    .news-post__details--ttl:before {
        height: 21px;
        width: 6px;
        margin-right: 11px
    }
}

.news-post__details--txt {
    font-size: 3.73333vw;
    font-weight: 400;
    line-height: 1.7;
    margin-top: 4vw
}

@media only screen and (min-width:768px) {
    .news-post__details--txt {
        font-size: 14px;
        margin-top: 16px
    }
}

.news-post__details--img {
    margin-top: 5.06667vw
}

@media only screen and (min-width:768px) {
    .news-post__details--img {
        margin-top: 30px
    }
}

.news-post__pg {
    margin-top: 8.26667vw
}

@media only screen and (min-width:768px) {
    .news-post__pg {
        margin-top: 55px
    }
}

.news-tag {
    margin-top: 2.66667vw
}

@media only screen and (min-width:768px) {
    .news-tag {
        margin-top: 12px
    }
}

.news-tag__all {
    margin-top: 8vw;
    border-top: solid .26667vw #a0a0a0
}

@media only screen and (min-width:768px) {
    .news-tag__all {
        margin-top: 80px;
        border-top: solid 2px #a0a0a0
    }
}

.news-tag__ttl {
    font-family: Montserrat, sans-serif;
    font-size: 4.26667vw;
    font-weight: 900;
    text-align: center;
    letter-spacing: .26667vw;
    margin-left: -.26667vw;
    margin-top: 6.66667vw;
    padding-bottom: 1.6vw
}

@media only screen and (min-width:768px) {
    .news-tag__ttl {
        font-size: 22px;
        letter-spacing: 1px;
        margin-left: -1px;
        margin-top: 38px;
        padding-bottom: 0
    }
}

.news-tag__item {
    margin-top: 2.66667vw
}

@media only screen and (min-width:768px) {
    .news-tag__item {
        margin-top: 18px
    }
}

.store {
    padding-top: 6.66667vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .store {
        padding-top: 20px
    }
}

.store-title {
    color: #fff;
    font-size: 4.8vw;
    font-weight: 900;
    line-height: 1;
    text-align: center
}

@media only screen and (min-width:768px) {
    .store-title {
        font-size: 36px;
        line-height: 1.3
    }
}

.store-title span {
    background: #000;
    padding: 0 .53333vw .53333vw;
    display: inline-block
}

@media only screen and (min-width:768px) {
    .store-title span {
        padding: 0 4px
    }
}

.store-button {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 3.2vw
}

@media only screen and (min-width:768px) {
    .store-button {
        margin: 20px auto 0;
        width: 400px
    }
}

.store-button__appstore {
    width: 36.26667vw
}

@media only screen and (min-width:768px) {
    .store-button__appstore {
        width: 176px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .store-button__appstore:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.store-button__googleplay {
    width: 44.53333vw;
    margin-left: 1.6vw
}

@media only screen and (min-width:768px) {
    .store-button__googleplay {
        width: 216px;
        margin-left: 8px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .store-button__googleplay:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.store-button__dmm {
    width: 45.2vw;
    margin-top: 1.6vw
}

@media only screen and (min-width:768px) {
    .store-button__dmm {
        width: 221px;
        margin-top: 6px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .store-button__dmm:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.store-caution {
    margin-top: 5.33333vw
}

.store-caution__text {
    font-size: 2.66667vw;
    font-weight: 500;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .store-caution__text {
        font-size: 12px
    }
}

@media only screen and (min-width:768px) {
    .store-top .store-button {
        width: 629px
    }

    .store-top .store-button__dmm {
        margin-top: 0;
        margin-left: 8px
    }
}

.store-banner {
    margin-top: 7.6vw
}

@media only screen and (min-width:768px) {
    .store-banner {
        margin-top: 51px
    }
}

.store-banner__button {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.66667vw;
    margin-top: 3.2vw
}

@media only screen and (min-width:768px) {
    .store-banner__button {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        margin-top: 22px;
        gap: 21px 18px
    }
}

.store-banner__button a {
    width: 100%
}

@media only screen and (min-width:768px) {
    .store-banner__button a {
        width: 340px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) and (min-width:768px) {
    .store-banner__button a:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.chara-top {
    background-color: #2875ff;
    padding: 14.66667vw 0 0;
    overflow: hidden;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .chara-top {
        padding: 40px 0 0;
        margin-top: -100px
    }
}

.chara-top:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -4vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-top:before {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: 0
    }
}

.chara-top__wrap {
    position: relative;
    height: 110.66667vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-top__wrap {
        height: 656px
    }
}

.chara-top__bg {
    background: transparent url(../data/webp/top/bg_chara.png.webp) no-repeat;
    background-size: cover;
    background-position: center center;
    height: 90.93333vw;
    width: 197.33333vw;
    position: absolute;
    top: 14.66667vw;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .chara-top__bg {
        background-size: contain;
        height: 682px;
        width: 1480px;
        top: 0
    }
}

@media only screen and (min-width:1481px) {
    .chara-top__bg {
        height: 46.08108vw;
        width: 100%
    }
}

.chara-top__title {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .chara-top__title {
        width: 713px;
        right: -4px
    }
}

.chara-top__img {
    z-index: 5;
    width: 61.73333vw;
    position: absolute;
    top: 18.66667vw;
    left: 17.6vw
}

@media only screen and (min-width:768px) {
    .chara-top__img {
        width: 380px;
        top: 137px;
        left: calc(50% - 180px)
    }
}

.chara-top__more {
    border-radius: 100%;
    position: absolute;
    top: 26.66667vw;
    right: 2.66667vw
}

@media only screen and (min-width:768px) {
    .chara-top__more {
        top: 200px;
        left: calc(50% + 290px);
        transition: all .5s
    }
}

.chara-top__more--btn {
    background-image: url(../data/webp/common/icon_arrow_blk.png.webp);
    transition: all .5s
}

.chara-top__sub {
    display: block;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .chara-top__sub:hover .chara-top__more {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.chara-wrap {
    overflow: hidden;
    padding-top: 24vw;
    transition: .5s;
    z-index: 9
}

.chara-wrap.js-movie {
    background-color: #307fff
}

@media only screen and (min-width:768px) {
    .chara-wrap {
        padding-top: 110px
    }
}

.chara-container {
    position: relative;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-container {
        margin-top: 45px
    }
}

.chara-wrapper {
    position: relative
}

.chara-wrapper:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .chara-wrapper:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.chara-title {
    background-color: #fff;
    position: relative;
    z-index: 5
}

.chara-title__h1 {
    width: 95.06667vw;
    top: -2.66667vw
}

@media only screen and (min-width:768px) {
    .chara-title__h1 {
        width: 571px;
        top: -20px
    }
}

.chara-inner {
    position: relative;
    z-index: 8
}

.chara-group {
    position: relative;
    z-index: 6
}

.chara-corp {
    background-color: #fff;
    padding-top: 7.2vw;
    padding-bottom: 18.66667vw;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .chara-corp {
        padding-top: 40px;
        padding-bottom: 100px
    }
}

.chara-corp:not(:first-of-type) {
    margin-top: 25.33333vw;
    padding-top: 2.13333vw
}

@media only screen and (min-width:768px) {
    .chara-corp:not(:first-of-type) {
        margin-top: 100px;
        padding-top: 16px
    }
}

.chara-corp__logo {
    margin: 0 auto
}

.chara-corp__logo--c01 {
    width: 30.93333vw
}

@media only screen and (min-width:768px) {
    .chara-corp__logo--c01 {
        width: 216px
    }
}

.chara-corp__logo--c02 {
    width: 24.8vw
}

@media only screen and (min-width:768px) {
    .chara-corp__logo--c02 {
        width: 154px
    }
}

.chara-corp__logo--c03 {
    width: 27.6vw
}

@media only screen and (min-width:768px) {
    .chara-corp__logo--c03 {
        width: 196px
    }
}

.chara-corp__logo--c04 {
    width: 28.66667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__logo--c04 {
        width: 215px
    }
}

.chara-corp__logo--c05 {
    width: 30.53333vw
}

@media only screen and (min-width:768px) {
    .chara-corp__logo--c05 {
        width: 175px
    }
}

.chara-corp__logo--c06 {
    margin-top: .8vw;
    margin-left: 27.2vw;
    width: 30.93333vw
}

@media only screen and (min-width:768px) {
    .chara-corp__logo--c06 {
        margin-top: 0;
        margin-left: 260px;
        width: 176px
    }
}

.chara-corp__logo--c07 {
    margin-top: 2.66667vw;
    width: 27.6vw
}

@media only screen and (min-width:768px) {
    .chara-corp__logo--c07 {
        margin-top: 0;
        width: 207px
    }
}

.chara-corp__bg {
    width: 100%;
    z-index: 1;
    position: absolute
}

@media only screen and (min-width:768px) {
    .chara-corp__bg {
        width: 1480px;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__bg {
        width: 100vw
    }
}

.chara-corp__bg--item {
    position: absolute;
    z-index: 1;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .chara-corp__kirishima {
        padding-top: 14px
    }
}

.chara-corp__kirishima:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__kirishima:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__kirishima .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_kirishima.png.webp) no-repeat;
    background-size: contain;
    height: 173.46667vw;
    width: 21.46667vw;
    top: 6vw;
    right: -1.06667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__kirishima .chara-corp__bg--item {
        height: 1301px;
        width: 169px;
        top: -140px;
        left: calc(50% + 333px);
        right: auto
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__kirishima .chara-corp__bg--item {
        height: 87.90541vw;
        width: 11.41892vw
    }
}

.chara-corp__kazami:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__kazami:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__kazami:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__kazami:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__kazami .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_kazami.png.webp) no-repeat;
    background-size: contain;
    height: 197.73333vw;
    width: 50vw;
    top: 2.66667vw;
    left: -7.2vw
}

@media only screen and (min-width:768px) {
    .chara-corp__kazami .chara-corp__bg--item {
        height: 1479px;
        width: 370px;
        top: -58px;
        left: auto;
        right: calc(50% + 326px)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__kazami .chara-corp__bg--item {
        height: 99.93243vw;
        width: 25.06757vw
    }
}

.chara-corp__himuka:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__himuka:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__himuka:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__himuka:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__himuka .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_himuka.png.webp) no-repeat;
    background-size: contain;
    height: 136.66667vw;
    width: 50vw;
    top: -2.66667vw;
    right: -6.13333vw
}

@media only screen and (min-width:768px) {
    .chara-corp__himuka .chara-corp__bg--item {
        height: 1021px;
        width: 371px;
        top: -44px;
        left: calc(50% + 333px);
        right: auto
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__himuka .chara-corp__bg--item {
        height: 68.98649vw;
        width: 25.06757vw
    }
}

.chara-corp__himuka .chara-list {
    margin-top: -13.33333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .chara-corp__himuka .chara-list {
        margin-top: -30px
    }
}

.chara-corp__nereides:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__nereides:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__nereides:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__nereides:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__nereides .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_nereides.png.webp) no-repeat;
    background-size: contain;
    height: 169.6vw;
    width: 23.06667vw;
    top: -1.33333vw;
    left: -1.06667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__nereides .chara-corp__bg--item {
        height: 1268px;
        width: 169px;
        top: -54px;
        left: auto;
        right: calc(50% + 326px)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__nereides .chara-corp__bg--item {
        height: 85.67568vw;
        width: 11.41892vw
    }
}

.chara-corp__urami:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__urami:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__urami:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__urami:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__urami .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_urami.png.webp) no-repeat;
    background-size: contain;
    height: 222.8vw;
    width: 50vw;
    top: -1.33333vw;
    right: -6.4vw
}

@media only screen and (min-width:768px) {
    .chara-corp__urami .chara-corp__bg--item {
        height: 1669px;
        width: 371px;
        top: -50px;
        right: auto;
        left: calc(50% + 333px)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__urami .chara-corp__bg--item {
        height: 112.77027vw;
        width: 25.06757vw
    }
}

.chara-corp__fmw:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__fmw:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__fmw:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__fmw:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__fmw .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_fmw.png.webp) no-repeat;
    background-size: contain;
    height: 210.66667vw;
    width: 49.46667vw;
    top: -.8vw;
    left: -6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__fmw .chara-corp__bg--item {
        height: 1580px;
        width: 317px;
        top: -56px;
        left: auto;
        right: calc(50% + 326px)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__fmw .chara-corp__bg--item {
        height: 106.75676vw;
        width: 21.41892vw
    }
}

.chara-corp__isrw:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__isrw:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__isrw:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__isrw:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__isrw .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_isrw.png.webp) no-repeat;
    background-size: contain;
    height: 87.46667vw;
    width: 22.53333vw;
    top: -1.33333vw;
    right: -1.06667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__isrw .chara-corp__bg--item {
        height: 656px;
        width: 169px;
        top: -54px;
        right: auto;
        left: calc(50% + 333px)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__isrw .chara-corp__bg--item {
        height: 44.32432vw;
        width: 11.41892vw
    }
}

.chara-corp__isrw .chara-corp__logo {
    width: 26.4vw
}

@media only screen and (min-width:768px) {
    .chara-corp__isrw .chara-corp__logo {
        width: 167px;
        margin-top: 44px
    }
}

.chara-corp__grimo:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__grimo:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__grimo:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__grimo:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: -42px
    }
}

.chara-corp__grimo .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_grimo.png.webp) no-repeat;
    background-size: contain;
    height: 234.13333vw;
    width: 23.06667vw;
    top: -1.33333vw;
    left: -1.06667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__grimo .chara-corp__bg--item {
        height: 1705px;
        width: 168px;
        top: -50px;
        left: auto;
        right: calc(50% + 326px)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__grimo .chara-corp__bg--item {
        height: 115.2027vw;
        width: 11.35135vw
    }
}

.chara-corp__grimo .chara-corp__logo {
    width: 40.26667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__grimo .chara-corp__logo {
        width: 167px;
        margin-top: 44px
    }
}

.chara-corp__other {
    position: relative;
    z-index: 6;
    padding-bottom: 26.66667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__other {
        padding-bottom: 160px
    }
}

.chara-corp__other:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .chara-corp__other:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.chara-corp__other .chara-corp__bg--item {
    background: transparent url(../data/webp/chara/top/bg_other.png.webp) no-repeat;
    background-size: contain;
    height: 104.26667vw;
    width: 21.86667vw;
    top: -1.33333vw;
    right: -1.06667vw
}

@media only screen and (min-width:768px) {
    .chara-corp__other .chara-corp__bg--item {
        height: 825px;
        width: 173px;
        top: -60px;
        right: auto;
        left: calc(50% + 333px)
    }
}

@media only screen and (min-width:1481px) {
    .chara-corp__other .chara-corp__bg--item {
        height: 55.74324vw;
        width: 11.68919vw
    }
}

.chara-list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    margin-top: 2.66667vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .chara-list {
        margin-top: 30px
    }
}

.chara-list__member {
    width: 40.53333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .chara-list__member {
        width: 133px;
        height: 289px
    }
}

@media only screen and (max-width:767px) {
    .chara-list__member:nth-of-type(2n) {
        margin-left: 3.33333vw
    }
}

@media only screen and (max-width:767px) {
    .chara-list__member:nth-of-type(n+3) {
        margin-top: 2.66667vw
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member:not(:first-of-type) {
        margin-left: 8px
    }
}

.chara-list__member.sizel {
    margin-left: -14.93333vw;
    width: 55.6vw
}

@media only screen and (min-width:768px) {
    .chara-list__member.sizel {
        margin-left: -49px;
        margin-right: 0;
        width: 182px;
        height: 353px
    }
}

.chara-list__member--item {
    display: block;
    width: 40.53333vw
}

@media only screen and (min-width:768px) {
    .chara-list__member--item {
        background-size: contain;
        background-repeat: no-repeat;
        width: 100%;
        height: 100%
    }
}

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

    .chara-list__member--item img,
    .chara-list__member--item picture {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        transition: opacity .5s
    }
}

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

    .chara-list__member--item:hover img,
    .chara-list__member--item:hover picture {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i01 {
        background-image: url(../data/webp/chara/top/btn_iruka_sakimiya_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i02 {
        background-image: url(../data/webp/chara/top/btn_michiru_tojo_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i03 {
        background-image: url(../data/webp/chara/top/btn_anri_harunami_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i04 {
        background-image: url(../data/webp/chara/top/btn_utae_ayato_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i05 {
        background-image: url(../data/webp/chara/top/btn_kohari_sakimiya_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i06 {
        background-image: url(../data/webp/chara/top/btn_hayate_souma_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i07 {
        background-image: url(../data/webp/chara/top/btn_ellen_kazami_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i08 {
        background-image: url(../data/webp/chara/top/btn_hiori_nayuki_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i09 {
        background-image: url(../data/webp/chara/top/btn_schnee_weissberg_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i10 {
        background-image: url(../data/webp/chara/top/btn_mei_nagato_on.png.webp)
    }
}

.chara-list__member--item.i11 {
    width: 55.6vw
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i11 {
        background-image: url(../data/webp/chara/top/btn_minami_kurose_on.png.webp);
        height: 353px;
        width: 182px
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i12 {
        background-image: url(../data/webp/chara/top/btn_kiri_izumi_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i13 {
        background-image: url(../data/webp/chara/top/btn_otsuki_hagane_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i14 {
        background-image: url(../data/webp/chara/top/btn_yuri_kurenashi_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i15 {
        background-image: url(../data/webp/chara/top/btn_shion_suminoe_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i16 {
        background-image: url(../data/webp/chara/top/btn_helly_lewis_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i17 {
        background-image: url(../data/webp/chara/top/btn_veena_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i18 {
        background-image: url(../data/webp/chara/top/btn_selena_lewis_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i19 {
        background-image: url(../data/webp/chara/top/btn_yume_yamaba_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i20 {
        background-image: url(../data/webp/chara/top/btn_kana_urami_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i21 {
        background-image: url(../data/webp/chara/top/btn_mashio_murahaya_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i22 {
        background-image: url(../data/webp/chara/top/btn_tomo_kukuri_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i23 {
        background-image: url(../data/webp/chara/top/btn_eines_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i24 {
        background-image: url(../data/webp/chara/top/btn_nacht_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i25 {
        background-image: url(../data/webp/chara/top/btn_sarah_anthony_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i26 {
        background-image: url(../data/webp/chara/top/btn_amadea_wolfa_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i27 {
        background-image: url(../data/webp/chara/top/btn_tsugumi_kamie_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i28 {
        background-image: url(../data/webp/chara/top/btn_haru_hanihara_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i29 {
        background-image: url(../data/webp/chara/top/btn_yuno_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i30 {
        background-image: url(../data/webp/chara/top/btn_muru_kurokuchi_on.png.webp)
    }
}

@media only screen and (min-width:768px) {
    .chara-list__member--item.i31 {
        background-image: url(../data/webp/chara/top/btn_phenix_phenio_on.png.webp)
    }
}

.chara-pg {
    width: 100%;
    position: relative;
    top: 8.8vw;
    z-index: 10
}

@media only screen and (min-width:768px) {
    .chara-pg {
        top: 410px
    }
}

.chara-pg__prev {
    display: block;
    position: absolute;
    right: 2.26667vw
}

@media only screen and (min-width:768px) {
    .chara-pg__prev {
        right: 35px;
        transition: all .5s
    }
}

.chara-pg__prev:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: contain;
    height: 8.4vw;
    width: 4vw
}

@media only screen and (min-width:768px) {
    .chara-pg__prev:after {
        height: 53px;
        width: 27px
    }
}

@media only screen and (min-width:768px) {
    .chara-pg__prev:hover {
        right: 30px
    }
}

.chara-pg__next {
    display: block;
    position: absolute;
    left: 2.26667vw
}

@media only screen and (min-width:768px) {
    .chara-pg__next {
        left: 35px;
        transition: all .5s
    }
}

.chara-pg__next:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: contain;
    height: 8.4vw;
    width: 4vw;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

@media only screen and (min-width:768px) {
    .chara-pg__next:after {
        height: 53px;
        width: 27px
    }
}

@media only screen and (min-width:768px) {
    .chara-pg__next:hover {
        left: 30px
    }
}

.chara-mv {
    width: 100%;
    top: 0;
    left: 0;
    z-index: 5
}

.chara-mv__movie {
    position: absolute;
    width: 240vw;
    height: 100%;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: .5s
}

.chara-mv__movie:after,
.chara-mv__movie:before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    width: 10px;
    height: 100%;
    background-color: #2875ff
}

.chara-mv__movie:before {
    left: 0;
    box-shadow: 20px 0 100px 80px #2875ff
}

.chara-mv__movie:after {
    right: 0;
    box-shadow: -20px 0 100px 80px #2875ff
}

@media only screen and (min-width:768px) {
    .chara-mv__movie {
        top: auto;
        bottom: 50px;
        height: 100%;
        width: 1480px
    }
}

.chara-mv__movie.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.chara-mv__movie>video {
    width: 100%
}

.chara-mv__view {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: .5s
}

.chara-mv__view.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.chara-mv__inner {
    overflow: hidden;
    width: 100%;
    position: absolute;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    z-index: 1;
    top: 109.86667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__inner {
        top: 542px
    }
}

.chara-mv__bg {
    height: 22.4vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg {
        height: 168px
    }
}

.chara-mv__bg:not(:first-child) {
    margin-left: 10.66667vw
}

@media only screen and (min-width:767px) {
    .chara-mv__bg:not(:first-child) {
        margin-left: 80px
    }
}

.chara-mv__bg.cr1 {
    min-width: 265.86667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr1 {
        min-width: 1994px
    }
}

.chara-mv__bg.cr2 {
    min-width: 231.06667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr2 {
        min-width: 1733px
    }
}

.chara-mv__bg.cr3 {
    min-width: 262.66667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr3 {
        min-width: 1970px
    }
}

.chara-mv__bg.cr4 {
    min-width: 199.46667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr4 {
        min-width: 1496px
    }
}

.chara-mv__bg.cr5 {
    min-width: 300.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr5 {
        min-width: 2257px
    }
}

.chara-mv__bg.cr6 {
    min-width: 255.6vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr6 {
        min-width: 1917px
    }
}

.chara-mv__bg.cr7 {
    min-width: 234.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr7 {
        min-width: 1762px
    }
}

.chara-mv__bg.cr8 {
    min-width: 218.8vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr8 {
        min-width: 1641px
    }
}

.chara-mv__bg.cr9 {
    min-width: 345.2vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr9 {
        min-width: 2589px
    }
}

.chara-mv__bg.cr10 {
    min-width: 207.6vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr10 {
        min-width: 1557px
    }
}

.chara-mv__bg.cr11 {
    min-width: 261.46667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr11 {
        min-width: 1961px
    }
}

.chara-mv__bg.cr12 {
    min-width: 164.53333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr12 {
        min-width: 1234px
    }
}

.chara-mv__bg.cr13 {
    min-width: 265.6vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr13 {
        min-width: 1992px
    }
}

.chara-mv__bg.cr14 {
    min-width: 272.53333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr14 {
        min-width: 2044px
    }
}

.chara-mv__bg.cr15 {
    min-width: 256.8vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr15 {
        min-width: 1926px
    }
}

.chara-mv__bg.cr16 {
    min-width: 207.6vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr16 {
        min-width: 1557px
    }
}

.chara-mv__bg.cr17 {
    min-width: 440.13333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr17 {
        min-width: 3301px
    }
}

.chara-mv__bg.cr18 {
    min-width: 236.66667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr18 {
        min-width: 1775px
    }
}

.chara-mv__bg.cr19 {
    min-width: 242.8vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr19 {
        min-width: 1821px
    }
}

.chara-mv__bg.cr20 {
    min-width: 208vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr20 {
        min-width: 1560px
    }
}

.chara-mv__bg.cr21 {
    min-width: 330vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr21 {
        min-width: 2475px
    }
}

.chara-mv__bg.cr22 {
    min-width: 229.73333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr22 {
        min-width: 1723px
    }
}

.chara-mv__bg.cr23 {
    min-width: 105.73333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr23 {
        min-width: 793px
    }
}

.chara-mv__bg.cr24 {
    min-width: 128.4vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr24 {
        min-width: 963px
    }
}

.chara-mv__bg.cr25 {
    min-width: 309.46667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr25 {
        min-width: 2321px
    }
}

.chara-mv__bg.cr26 {
    min-width: 291.2vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr26 {
        min-width: 2184px
    }
}

.chara-mv__bg.cr27 {
    height: 22.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr27 {
        height: 172px
    }
}

.chara-mv__bg.cr28 {
    height: 22.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr28 {
        height: 172px
    }
}

.chara-mv__bg.cr29 {
    height: 22.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr29 {
        height: 172px
    }
}

.chara-mv__bg.cr30 {
    height: 22.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr30 {
        height: 172px
    }
}

.chara-mv__bg.cr31 {
    height: 22.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr31 {
        height: 172px
    }
}

.chara-mv__bg.cr27 {
    min-width: 264.26667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr27 {
        min-width: 1982px
    }
}

.chara-mv__bg.cr28 {
    min-width: 284.13333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr28 {
        min-width: 2131px
    }
}

.chara-mv__bg.cr29 {
    min-width: 346.13333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr29 {
        min-width: 2596px
    }
}

.chara-mv__bg.cr30 {
    min-width: 303.73333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr30 {
        min-width: 2278px
    }
}

.chara-mv__bg.cr31 {
    min-width: 268.26667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__bg.cr31 {
        min-width: 2012px
    }
}

.chara-mv__img {
    height: 144vw;
    width: 293.33333vw;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    margin-top: 6.66667vw;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .chara-mv__img {
        height: 876px;
        width: 1480px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        margin-top: 0
    }
}

@media only screen and (max-width:767px) {
    .chara-mv__img.img-mg01 {
        margin-top: 8.53333vw
    }
}

@media only screen and (max-width:767px) {
    .chara-mv__img.img-mg02 {
        margin-top: 10.13333vw
    }
}

@media only screen and (max-width:767px) {
    .chara-mv__img.img-mg03 {
        margin-top: 13.33333vw
    }
}

@media only screen and (max-width:767px) {
    .chara-mv__img.img-mg04 {
        margin-top: 0
    }
}

.chara-mv__img.img-mg05 {
    height: 147.6vw;
    width: 249.33333vw;
    margin-top: 13.33333vw;
    margin-left: 10.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__img.img-mg05 {
        height: 876px;
        width: 1480px;
        margin-top: 0;
        margin-left: 85px
    }
}

@media only screen and (max-width:767px) {
    .chara-mv__img.img-spleft {
        left: 40%
    }
}

@media only screen and (max-width:767px) {
    .chara-mv__img.img-spleft2 {
        left: 43%
    }
}

.chara-mv__text {
    height: 133.33333vw;
    position: relative;
    padding-top: 20.26667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__text {
        height: 760px;
        padding-top: 0
    }
}

.chara-mv__text.text-s {
    padding-top: 0
}

.chara-mv__text.text-pt {
    height: 124vw
}

@media only screen and (max-width:767px) {
    .chara-mv__text.text-pt {
        padding-top: 11.46667vw
    }
}

@media only screen and (min-width:768px) {
    .chara-mv__text.text-pt {
        height: 685px
    }
}

@media only screen and (max-width:767px) {
    .chara-mv__text.text-pt0 {
        padding-top: 0
    }
}

.chara-mv__text.text-sleft {
    padding-top: 0
}

@media only screen and (min-width:768px) {
    .chara-mv__text.text-sleft .chara-mv__name {
        margin-left: -50px
    }
}

.chara-mv__name {
    color: #fff;
    font-weight: 900;
    position: relative;
    z-index: 6
}

.chara-mv__name--read {
    font-size: 2.66667vw;
    margin-top: 1.33333vw;
    margin-left: 2.4vw;
    display: inline-block;
    background-color: #000;
    padding: .53333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__name--read {
        font-size: 20px;
        margin-top: 0;
        margin-left: 30px;
        padding: 2px
    }
}

@media only screen and (min-width:768px) {
    .chara-mv__name--read.read-mg {
        margin-left: 5px
    }
}

.chara-mv__name--read.read-mt {
    margin-top: 2.66667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__name--read.read-mt {
        margin-top: 12px
    }
}

.chara-mv__name--full {
    font-size: 17.73333vw;
    line-height: 1
}

@media only screen and (min-width:768px) {
    .chara-mv__name--full {
        font-size: 133px
    }
}

.chara-mv__name--full.name-s {
    font-size: 15.2vw;
    letter-spacing: -1.33333vw
}

@media only screen and (min-width:768px) {
    .chara-mv__name--full.name-s {
        font-size: 104px;
        letter-spacing: -10px
    }
}

.chara-mv__name--full.name-topup {
    margin-top: -.8vw
}

@media only screen and (min-width:768px) {
    .chara-mv__name--full.name-topup {
        margin-top: -15px
    }
}

.chara-mv .name-kern.k01 {
    letter-spacing: -1.33333vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.k01 {
        letter-spacing: -13px
    }
}

.chara-mv .name-kern.k02 {
    letter-spacing: -1.06667vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.k02 {
        letter-spacing: -4px
    }
}

.chara-mv .name-kern.k03 {
    margin-top: 1.33333vw;
    letter-spacing: -2.66667vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.k03 {
        margin-top: 5px;
        letter-spacing: -27px
    }
}

.chara-mv .name-kern.k04 {
    letter-spacing: -1.06667vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.k04 {
        letter-spacing: -4px
    }
}

.chara-mv .name-kern.k05 {
    letter-spacing: -3.46667vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.k05 {
        letter-spacing: -28px
    }
}

.chara-mv .name-kern.k06 {
    margin-top: 3.86667vw;
    letter-spacing: 0
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.k06 {
        margin-top: 26px;
        letter-spacing: -27px
    }
}

.chara-mv .name-kern.k07 {
    letter-spacing: -1.33333vw;
    margin-top: .93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.k07 {
        letter-spacing: -10px;
        margin-top: 7px
    }
}

.chara-mv .name-kern.isrw3 {
    letter-spacing: .13333vw;
    margin-top: .93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.isrw3 {
        letter-spacing: 0;
        margin-top: 7px
    }
}

.chara-mv .name-kern.isrw4t {
    margin-top: -.93333vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.isrw4t {
        margin-top: -22px
    }
}

@media only screen and (min-width:768px) {
    .chara-mv .name-kern.name-isrw4 {
        margin-top: -10px
    }
}

.chara-mv .name-xs {
    font-size: 12.26667vw
}

@media only screen and (min-width:768px) {
    .chara-mv .name-xs {
        font-size: 104px
    }
}

.chara-mv .name-xs.kern {
    margin-left: -2px
}

@media only screen and (min-width:768px) {
    .chara-mv .name-xs.kern {
        position: absolute;
        left: 138px
    }
}

.chara-mv__lead {
    color: #000;
    font-size: 5.6vw;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-weight: 900;
    text-align: right;
    position: absolute;
    bottom: 13.33333vw;
    right: 5.33333vw;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .chara-mv__lead {
        font-size: 42px;
        bottom: 104px;
        right: 0
    }
}

@media only screen and (min-width:768px) {
    .chara-mv__lead.tomo-kukuri {
        font-size: 38px
    }
}

.chara-mv__lead--bg {
    background-color: #fff;
    display: inline-block;
    padding-left: .8vw
}

@media only screen and (min-width:768px) {
    .chara-mv__lead--bg {
        padding-left: 6px
    }
}

.chara-mv__lead--bg:not(:first-of-type) {
    margin-top: 2.66667vw
}

@media only screen and (min-width:768px) {
    .chara-mv__lead--bg:not(:first-of-type) {
        margin-top: 20px
    }
}

.chara-details {
    position: relative;
    background-color: #fff;
    padding-bottom: 13.33333vw;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .chara-details {
        padding-bottom: 160px
    }
}

.chara-details:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .chara-details:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__bg {
        top: -118px
    }
}

@media only screen and (min-width:1481px) {
    .chara-details__bg {
        top: -7.97297vw
    }
}

.chara-details__inner {
    position: relative;
    z-index: 6
}

.chara-details__top {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    top: -3.73333vw;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .chara-details__top {
        top: -38px
    }
}

.chara-details__center {
    position: relative;
    z-index: 6;
    margin-top: 2.66667vw;
    padding-bottom: 6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-details__center {
        margin-top: 0;
        padding-bottom: 60px
    }
}

.chara-details__center.pd-top {
    margin-top: 13.33333vw
}

@media only screen and (min-width:768px) {
    .chara-details__center.pd-top {
        margin-top: 100px
    }
}

.chara-details__center.pd-btm {
    padding-bottom: 3.73333vw
}

@media only screen and (min-width:768px) {
    .chara-details__center.pd-btm {
        padding-bottom: 5px
    }
}

.chara-details__bottom {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .chara-details__bottom {
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.chara-details__view {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.chara-details__view--btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: transparent;
    border: solid .8vw #000;
    border-radius: 100%;
    color: #000;
    font-family: Montserrat, sans-serif;
    font-size: 2.93333vw;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
    padding-top: .53333vw;
    height: 17.33333vw;
    width: 17.33333vw;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .chara-details__view--btn {
        border: solid 6px #000;
        font-size: 22px;
        padding-top: 4px;
        height: 130px;
        width: 130px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__view--btn:hover {
        background-color: #000;
        color: #fff
    }
}

.chara-details__view--btn.btn-active {
    background-color: #000;
    color: #fff;
    cursor: auto
}

.chara-details__view--btn:not(:first-of-type) {
    margin-left: 1.6vw
}

@media only screen and (min-width:768px) {
    .chara-details__view--btn:not(:first-of-type) {
        margin-left: 12px
    }
}

.chara-details__view--btn.locked {
    position: relative;
    pointer-events: none
}

.chara-details__view--btn.locked:after {
    display: block;
    content: "";
    background: rgba(0, 0, 0, .6);
    border-radius: 100%;
    height: 17.33333vw;
    width: 17.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    z-index: 2
}

@media only screen and (min-width:768px) {
    .chara-details__view--btn.locked:after {
        height: 100%;
        width: 100%
    }
}

.chara-details__view--btn.locked:before {
    display: block;
    content: "";
    content: "COMING SOON";
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 1.86667vw;
    font-weight: 800;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    z-index: 3
}

@media only screen and (min-width:768px) {
    .chara-details__view--btn.locked:before {
        font-size: 16px
    }
}

.chara-details__cv {
    font-family: Montserrat, sans-serif;
    font-size: 5.33333vw;
    font-weight: 900;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    text-align: right;
    position: absolute;
    top: 5.33333vw;
    right: 0
}

@media only screen and (min-width:768px) {
    .chara-details__cv {
        font-size: 40px;
        top: 60px
    }
}

.chara-details__cv--name {
    display: inline-block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.86667vw
}

@media only screen and (min-width:768px) {
    .chara-details__cv--name {
        font-size: 44px
    }
}

.chara-details__cv.cv-only {
    position: static;
    top: auto;
    right: auto;
    margin-left: auto;
    margin-top: 6.4vw
}

@media only screen and (min-width:768px) {
    .chara-details__cv.cv-only {
        margin-top: 60px
    }
}

.chara-details__list--item {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    font-size: 3.6vw;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

@media only screen and (min-width:768px) {
    .chara-details__list--item {
        width: 406px;
        font-size: 16px
    }
}

.chara-details__list--item:not(:first-of-type) {
    margin-top: 1.86667vw
}

@media only screen and (min-width:768px) {
    .chara-details__list--item:not(:first-of-type) {
        margin-top: 8px
    }
}

.chara-details__list--item:after {
    display: block;
    content: "";
    background-color: #000;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
    z-index: -1
}

@media only screen and (max-width:767px) {
    .chara-details__list--item.list-short {
        width: 44vw
    }
}

.chara-details__list--ttl {
    position: relative;
    background-color: #fff;
    text-align: left;
    font-weight: 900;
    padding-right: 1.86667vw
}

@media only screen and (min-width:768px) {
    .chara-details__list--ttl {
        padding-right: 8px
    }
}

.chara-details__list--dtl {
    background-color: #fff;
    text-align: right;
    position: relative;
    font-weight: 500;
    padding-left: 1.86667vw;
    line-height: 1.2
}

@media only screen and (min-width:768px) {
    .chara-details__list--dtl {
        padding-left: 8px
    }
}

.chara-details__list.list-other {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.chara-details__list.list-other .chara-details__list--item {
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item {
        width: 46%
    }
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item:nth-of-type(2) {
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item:nth-of-type(3) {
        -webkit-order: 5;
        -ms-flex-order: 5;
        order: 5
    }
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item:nth-of-type(4) {
        -webkit-order: 7;
        -ms-flex-order: 7;
        order: 7
    }
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item:nth-of-type(5) {
        margin-top: 0;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item:nth-of-type(6) {
        -webkit-order: 4;
        -ms-flex-order: 4;
        order: 4
    }
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item:nth-of-type(7) {
        -webkit-order: 6;
        -ms-flex-order: 6;
        order: 6
    }
}

@media only screen and (min-width:768px) {
    .chara-details__list.list-other .chara-details__list--item:nth-of-type(8) {
        -webkit-order: 8;
        -ms-flex-order: 8;
        order: 8
    }
}

.chara-details__corp {
    position: absolute;
    top: -2.4vw;
    right: 0
}

@media only screen and (min-width:768px) {
    .chara-details__corp {
        top: 18px;
        right: 50px
    }
}

.chara-details__corp--logo.logo-i01 {
    height: 25.46667vw;
    width: 28vw;
    position: absolute;
    right: 6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-i01 {
        height: 166px;
        width: 189px;
        position: static
    }
}

.chara-details__corp--logo.logo-i02 {
    height: 24vw;
    width: 21.6vw;
    position: absolute;
    top: 2.4vw;
    right: 6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-i02 {
        height: 165px;
        width: 149px;
        position: static
    }
}

.chara-details__corp--logo.logo-i03 {
    height: 28vw;
    width: 24vw;
    position: absolute;
    top: 1.33333vw;
    right: 6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-i03 {
        height: 200px;
        width: 170px;
        position: static
    }
}

.chara-details__corp--logo.logo-i04 {
    height: 31.46667vw;
    width: 26.66667vw;
    position: absolute;
    top: 0vw;
    right: 8vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-i04 {
        height: 201px;
        width: 170px;
        top: 0;
        right: 20px
    }
}

.chara-details__corp--logo.logo-p01 {
    position: static;
    width: 16vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-p01 {
        width: 120px
    }
}

.chara-details__corp--logo.logo-p01:not(:first-of-type) {
    margin-left: 6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-p01:not(:first-of-type) {
        margin-left: 25px
    }
}

.chara-details__corp--logo.logo-p02 {
    position: static;
    width: 20vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-p02 {
        width: 130px
    }
}

.chara-details__corp--logo.logo-p03 {
    position: static;
    width: 13.33333vw;
    margin-left: 4vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-p03 {
        width: 96px;
        margin-left: 25px
    }
}

.chara-details__corp--logo.logo-isrw {
    width: 25.33333vw;
    height: 31.46667vw;
    position: absolute;
    top: 0vw;
    right: 8vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-isrw {
        width: 142px;
        height: 170px;
        top: 0;
        right: 20px
    }
}

.chara-details__corp--logo.logo-grimo {
    width: 25.33333vw;
    position: absolute;
    top: 6.66667vw;
    right: 8vw
}

@media only screen and (min-width:768px) {
    .chara-details__corp--logo.logo-grimo {
        width: 190px;
        height: 144px;
        top: 20px;
        right: 0
    }
}

.chara-details__corp.logo-pair {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 32vw;
    width: 50%
}

@media only screen and (min-width:768px) {
    .chara-details__corp.logo-pair {
        height: 236px;
        width: 270px;
        position: absolute;
        right: 0
    }
}

.chara-details__expn {
    font-size: 3.73333vw;
    font-weight: 500;
    line-height: 1.7;
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-details__expn {
        font-size: 16px;
        width: 342px;
        margin-top: -4px;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1
    }
}

.chara-details__expn.w100 {
    margin-top: 8.8vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-details__expn.w100 {
        margin-top: 38px
    }
}

.chara-details__expn.expn-mt {
    margin-top: 5.86667vw
}

@media only screen and (min-width:768px) {
    .chara-details__expn.expn-mt {
        margin-top: 38px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__expn.lh1 {
        line-height: 1.65
    }
}

@media only screen and (min-width:768px) {
    .chara-details__expn.lh2 {
        line-height: 1.5
    }
}

.chara-details__team {
    margin-top: 7.33333vw
}

@media only screen and (min-width:768px) {
    .chara-details__team {
        margin-top: 40px
    }
}

.chara-details__team--ttl {
    font-family: Montserrat, sans-serif;
    font-size: 5.33333vw;
    font-weight: 900;
    text-align: center
}

@media only screen and (min-width:768px) {
    .chara-details__team--ttl {
        font-size: 30px
    }
}

.chara-details__team--wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 4.66667vw
}

@media only screen and (min-width:768px) {
    .chara-details__team--wrap {
        margin-top: 27px
    }
}

.chara-details__team--member {
    display: block;
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-details__team--member {
        width: 342px
    }

    .chara-details__team--member img,
    .chara-details__team--member picture {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        transition: opacity .5s
    }
}

@media only screen and (max-width:767px) {
    .chara-details__team--member:not(:first-of-type) {
        margin-top: 4vw
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.btn01 {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.btn02 {
        margin-top: 16px;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.btn03 {
        margin-left: 16px;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.btn04 {
        margin-top: 16px;
        margin-left: 16px;
        -webkit-order: 4;
        -ms-flex-order: 4;
        order: 4
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.btn05 {
        margin-top: 16px;
        margin-right: auto;
        -webkit-order: 5;
        -ms-flex-order: 5;
        order: 5
    }
}

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

    .chara-details__team--member:hover img,
    .chara-details__team--member:hover picture {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.krsm01 {
        background-image: url(../data/webp/chara/kirishima/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.krsm02 {
        background-image: url(../data/webp/chara/kirishima/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.krsm03 {
        background-image: url(../data/webp/chara/kirishima/btn_team_03_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.krsm04 {
        background-image: url(../data/webp/chara/kirishima/btn_team_04_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.krsm05 {
        background-image: url(../data/webp/chara/kirishima/btn_team_05_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.kzm01 {
        background-image: url(../data/webp/chara/kazami/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.kzm02 {
        background-image: url(../data/webp/chara/kazami/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.kzm03 {
        background-image: url(../data/webp/chara/kazami/btn_team_03_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.kzm04 {
        background-image: url(../data/webp/chara/kazami/btn_team_04_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.kzm05 {
        background-image: url(../data/webp/chara/kazami/btn_team_05_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.hmk01 {
        background-image: url(../data/webp/chara/himuka/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.hmk02 {
        background-image: url(../data/webp/chara/himuka/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.hmk03 {
        background-image: url(../data/webp/chara/himuka/btn_team_03_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.hmk04 {
        background-image: url(../data/webp/chara/himuka/btn_team_04_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.nrd01 {
        background-image: url(../data/webp/chara/nereides/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.nrd02 {
        background-image: url(../data/webp/chara/nereides/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.nrd03 {
        background-image: url(../data/webp/chara/nereides/btn_team_03_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.nrd04 {
        background-image: url(../data/webp/chara/nereides/btn_team_04_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.urm01 {
        background-image: url(../data/webp/chara/urami/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.urm02 {
        background-image: url(../data/webp/chara/urami/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        margin-top: 0;
        margin-left: 16px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.fmw01 {
        background-image: url(../data/webp/chara/fm-wadatsumi/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.fmw02 {
        background-image: url(../data/webp/chara/fm-wadatsumi/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        margin-top: 0;
        margin-left: 16px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.isrw01 {
        background-image: url(../data/webp/chara/isrw/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.isrw02 {
        background-image: url(../data/webp/chara/isrw/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.isrw03 {
        background-image: url(../data/webp/chara/isrw/btn_team_03_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.isrw04 {
        background-image: url(../data/webp/chara/isrw/btn_team_04_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.grimo01 {
        background-image: url(../data/webp/chara/grimo-goetia/btn_team_01_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.grimo02 {
        background-image: url(../data/webp/chara/grimo-goetia/btn_team_02_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.grimo03 {
        background-image: url(../data/webp/chara/grimo-goetia/btn_team_03_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-details__team--member.grimo04 {
        background-image: url(../data/webp/chara/grimo-goetia/btn_team_04_on.png.webp);
        background-size: 100% auto;
        width: 342px
    }
}

.chara-details__team:before {
    display: block;
    content: "";
    border-bottom: solid .26667vw #a0a0a0;
    margin-bottom: 8vw
}

@media only screen and (min-width:768px) {
    .chara-details__team:before {
        border-bottom: solid 2px #a0a0a0;
        margin-bottom: 40px
    }
}

.chara-details__sp {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 3.6vw;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin: 6.4vw auto 0;
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-details__sp {
        font-size: 16px;
        margin: 24px 0 0;
        width: 322px
    }
}

.chara-details__sp--wrap {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

.chara-details__sp--wrap:after {
    display: block;
    content: "";
    background-color: #000;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
    z-index: -1
}

.chara-details__sp--ttl {
    position: relative;
    background-color: #fff;
    text-align: left;
    font-weight: 900;
    padding-right: 1.86667vw
}

@media only screen and (min-width:768px) {
    .chara-details__sp--ttl {
        padding-right: 8px
    }
}

.chara-details__sp--dtl {
    background-color: #fff;
    text-align: right;
    position: relative;
    font-weight: 500;
    padding-left: 1.86667vw;
    line-height: 1.2
}

@media only screen and (min-width:768px) {
    .chara-details__sp--dtl {
        padding-left: 8px
    }
}

.chara-details__sp--link {
    background-color: #1d9bf0;
    color: #fff;
    font-size: 3.2vw;
    font-weight: 900;
    width: 24vw;
    height: 4vw;
    display: inline-block;
    text-align: center;
    margin-left: 1.86667vw
}

@media only screen and (min-width:768px) {
    .chara-details__sp--link {
        font-size: 16px;
        width: 80px;
        height: 20px;
        margin-left: 10px;
        transition: all .3s
    }
}

@media only screen and (min-width:768px) {
    .chara-details__sp--link:hover {
        opacity: .8;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"
    }
}

@media only screen and (min-width:768px) {
    .chara-details__sp.designer {
        width: 342px
    }
}

.chara-details__sp.designer .chara-details__sp--wrap {
    width: 63.46667vw
}

@media only screen and (min-width:768px) {
    .chara-details__sp.designer .chara-details__sp--wrap {
        width: 252px
    }
}

.chara-cover__txt {
    font-family: Montserrat, sans-serif;
    font-size: 5.86667vw;
    font-weight: 800;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 2.4vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .chara-cover__txt {
        font-size: 22px;
        left: 10px
    }
}

.chara-cover:after {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 18.4vw 18.4vw;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .chara-cover:after {
        border-width: 0 0 70px 70px;
        transition: all .5s
    }
}

.chara-cover__frame {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.chara-cover__frame--item {
    height: 5.33333vw;
    width: 5.33333vw
}

@media only screen and (min-width:768px) {
    .chara-cover__frame--item {
        height: 20px;
        width: 20px
    }
}

.chara-cover__frame--item.top-left {
    border-top: 1.06667vw solid #fff;
    border-left: 1.06667vw solid #fff;
    position: absolute;
    top: 2.4vw;
    left: 2.4vw
}

@media only screen and (min-width:768px) {
    .chara-cover__frame--item.top-left {
        border-top: 4px solid #fff;
        border-left: 4px solid #fff;
        top: 10px;
        left: 10px
    }
}

.chara-cover__frame--item.top-right {
    border-top: 1.06667vw solid #fff;
    border-right: 1.06667vw solid #fff;
    position: absolute;
    top: 2.4vw;
    right: 2.4vw
}

@media only screen and (min-width:768px) {
    .chara-cover__frame--item.top-right {
        border-top: 4px solid #fff;
        border-right: 4px solid #fff;
        top: 10px;
        right: 10px
    }
}

.chara-cover__frame--item.bottom-left {
    border-bottom: 1.06667vw solid #fff;
    border-left: 1.06667vw solid #fff;
    position: absolute;
    bottom: 2.4vw;
    left: 2.4vw
}

@media only screen and (min-width:768px) {
    .chara-cover__frame--item.bottom-left {
        border-bottom: 4px solid #fff;
        border-left: 4px solid #fff;
        bottom: 10px;
        left: 10px
    }
}

.chara-cover__frame--item.bottom-right {
    border-bottom: 1.06667vw solid #fff;
    border-right: 1.06667vw solid #fff;
    position: absolute;
    bottom: 2.4vw;
    right: 2.4vw
}

@media only screen and (min-width:768px) {
    .chara-cover__frame--item.bottom-right {
        border-bottom: 4px solid #fff;
        border-right: 4px solid #fff;
        bottom: 10px;
        right: 10px
    }
}

.chara-movie {
    background-color: #2875ff;
    height: 53.06667vw;
    width: 100%;
    position: relative;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .chara-movie {
        height: 203px;
        width: 342px;
        margin-top: -203px;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }
}

.chara-movie__img {
    height: 53.06667vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-movie__img {
        height: 203px;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-movie__cover--frame {
        width: 342px
    }
}

.chara-movie__play {
    height: 18.4vw;
    width: 18.4vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .chara-movie__play {
        height: 96px;
        width: 96px
    }
}

.chara-movie.locked {
    overflow: hidden;
    pointer-events: none;
    position: relative;
    z-index: 4
}

.chara-movie.locked:after {
    display: block;
    content: "";
    background: rgba(0, 0, 0, .6);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3
}

.chara-movie.locked:before {
    display: block;
    content: "";
    content: "COMING SOON";
    color: #fff;
    font-size: 3.46667vw;
    font-family: Montserrat, sans-serif;
    font-weight: 800;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    z-index: 4
}

@media only screen and (min-width:768px) {
    .chara-movie.locked:before {
        font-size: 20px
    }
}

.chara-photo {
    background-color: #2875ff;
    height: 117.33333vw;
    width: 100%;
    position: relative;
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .chara-photo {
        height: 449px;
        width: 342px;
        margin-top: 0;
        margin-left: 16px;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
}

.chara-photo__img {
    height: 117.33333vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .chara-photo__img {
        height: 449px;
        width: 342px
    }
}

@media only screen and (min-width:768px) {
    .chara-photo__cover--frame {
        width: 342px
    }
}

.chara-photo__play {
    height: 18.4vw;
    width: 18.4vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .chara-photo__play {
        height: 96px;
        width: 96px
    }
}

.chara-bottom {
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .chara-bottom {
        width: 700px
    }
}

.chara-bottom__corporate {
    margin: 7.73333vw 0 8.26667vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate {
        margin: 40px 0 70px
    }
}

.chara-bottom__corporate--logo {
    margin: 0 auto
}

.chara-bottom__corporate--logo.logo-krsm {
    width: 51.86667vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-krsm {
        width: 200px
    }
}

.chara-bottom__corporate--logo.logo-kzm {
    width: 38.13333vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-kzm {
        width: 138px
    }
}

.chara-bottom__corporate--logo.logo-hmk {
    width: 40.8vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-hmk {
        width: 155px
    }
}

.chara-bottom__corporate--logo.logo-nrd {
    width: 46.4vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-nrd {
        width: 174px
    }
}

.chara-bottom__corporate--logo.logo-urm {
    width: 37.33333vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-urm {
        width: 140px
    }
}

.chara-bottom__corporate--logo.logo-fmw {
    width: 29.33333vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-fmw {
        width: 150px
    }
}

.chara-bottom__corporate--logo.logo-isrw {
    width: 37.33333vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-isrw {
        width: 150px
    }
}

.chara-bottom__corporate--logo.logo-grimo {
    width: 56.26667vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--logo.logo-grimo {
        width: 190px
    }
}

.chara-bottom__corporate--text {
    font-size: 3.73333vw;
    font-weight: 500;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 1.8;
    text-align: center;
    margin-top: 7.33333vw
}

@media only screen and (min-width:768px) {
    .chara-bottom__corporate--text {
        font-size: 16px;
        margin-top: 0
    }
}

.chara-button {
    margin: 0 auto
}

.chara-button__back--text {
    font-size: 2.93333vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .chara-button__back--text {
        font-size: 15px
    }
}

.chara-button__back--text.eng {
    font-family: Montserrat, sans-serif;
    margin-right: 2.13333vw
}

@media only screen and (min-width:768px) {
    .chara-button__back--text.eng {
        margin-right: 8px
    }
}

.chara-button.mg-top {
    margin-top: 7.2vw
}

@media only screen and (min-width:768px) {
    .chara-button.mg-top {
        margin-top: 48px
    }
}

.chara-modal__movie {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .chara-modal__movie {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .chara-modal__movie {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .chara-modal__movie--inner {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .chara-modal__movie--inner {
        padding: 8.52619vw 0
    }
}

.chara-modal__movie--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.chara-modal__movie--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.chara-modal__photo {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .chara-modal__photo--inner {
        padding: 60px 0
    }
}

@media only screen and (min-width:768px) {
    .chara-modal__photo {
        width: 81.08108vw
    }
}

@media only screen and (min-width:1481px) {
    .chara-modal__photo {
        width: 1200px
    }
}

.chara-modal__close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .chara-modal__close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

@media only screen and (min-width:768px) {
    .chara-modal__close--movie {
        right: calc(50% - 380px)
    }
}

.chara-modal__close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .chara-modal__close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.chara-modal__close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .chara-modal__close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.chara-modal__close:active {
    top: 0
}

.chara-share {
    position: relative
}

.chara-share__ttl {
    margin-top: 7.33333vw
}

@media only screen and (min-width:768px) {
    .chara-share__ttl {
        margin-top: 36px
    }
}

.chara .footer {
    margin-top: -9.33333vw
}

@media only screen and (min-width:768px) {
    .chara .footer {
        margin-top: -120px
    }
}

.chara-lottie {
    position: fixed;
    top: 0;
    left: 50%;
    width: 300%;
    height: 100%;
    z-index: 9999;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    pointer-events: none
}

.chara-lottie__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 100
}

@media only screen and (min-width:767px) {
    .chara-lottie {
        top: 50%;
        width: 150%;
        height: auto;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
}

.chara-emo {
    position: relative;
    z-index: 6;
    padding: 0 3.2vw
}

@media only screen and (min-width:768px) {
    .chara-emo {
        padding: 0
    }
}

.chara-emo__view {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.chara-emo__view--btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-radius: 100%;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: transparent;
    color: #000;
    font-family: Montserrat, sans-serif;
    height: 17.33333vw;
    width: 17.33333vw;
    transition: all .5s;
    position: relative;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .chara-emo__view--btn {
        height: 65px;
        width: 65px
    }
}

.chara-emo__view--btn:after {
    content: "";
    display: block;
    border: solid .8vw #000;
    border-radius: 100%;
    height: 17.33333vw;
    width: 17.33333vw;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .chara-emo__view--btn:after {
        border: solid 3px #000;
        height: 65px;
        width: 65px
    }
}

@media only screen and (min-width:768px) {
    .chara-emo__view--btn:hover:after {
        content: "";
        display: block;
        background-color: rgba(0, 0, 0, .7);
        border-radius: 100%;
        height: 65px;
        width: 65px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.chara-emo__view--btn:not(:first-of-type) {
    margin-left: 1.6vw
}

@media only screen and (min-width:768px) {
    .chara-emo__view--btn:not(:first-of-type) {
        margin-left: 7px
    }
}

.chara-emo__view--btn.current {
    position: relative;
    pointer-events: none
}

.chara-emo__view--btn.current:after {
    display: block;
    content: "";
    background: rgba(0, 0, 0, .6);
    border-radius: 100%;
    height: 17.33333vw;
    width: 17.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    z-index: 2
}

@media only screen and (min-width:768px) {
    .chara-emo__view--btn.current:after {
        height: 100%;
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    body[data-page=chara] {
        overflow-x: hidden
    }
}

.gallery-top {
    padding: 0 0 10.66667vw;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .gallery-top {
        padding: 0
    }
}

.gallery-top:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .gallery-top:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.gallery-top__wrap {
    position: relative;
    height: 53.33333vw
}

@media only screen and (min-width:768px) {
    .gallery-top__wrap {
        height: 360px;
        width: 700px;
        margin: 0 auto
    }
}

.gallery-top__title {
    width: 66vw;
    position: absolute;
    top: 13.33333vw;
    right: 3.46667vw;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .gallery-top__title {
        width: 539px;
        top: 8px;
        right: -4px
    }
}

.gallery-top__img {
    width: 60.4vw;
    position: absolute;
    top: -23.46667vw;
    left: -12.53333vw;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .gallery-top__img {
        width: 357px;
        top: -170px;
        left: -98px
    }
}

.gallery-top__more {
    position: absolute;
    top: 37.46667vw;
    right: 4vw
}

@media only screen and (min-width:768px) {
    .gallery-top__more {
        top: 202px;
        right: -4px
    }
}

.gallery-top__sub {
    display: block;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .gallery-top__sub:hover .gallery-top__more {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.gallery-wrap {
    overflow: hidden;
    padding-top: 24vw
}

@media only screen and (min-width:768px) {
    .gallery-wrap {
        padding-top: 110px
    }
}

.gallery-container {
    position: relative;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .gallery-container {
        margin-top: 45px
    }
}

.gallery-container:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .gallery-container:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.gallery-title {
    background-color: #fff;
    position: relative;
    z-index: 5
}

.gallery-title__h1 {
    width: 73.86667vw;
    top: -2.66667vw
}

@media only screen and (min-width:768px) {
    .gallery-title__h1 {
        width: 444px;
        top: -20px
    }
}

.gallery-title__h2 {
    font-family: Montserrat, sans-serif;
    font-size: 5.33333vw;
    font-weight: 900;
    text-align: center
}

@media only screen and (min-width:768px) {
    .gallery-title__h2 {
        font-size: 30px
    }
}

.gallery-contents {
    background-color: #fff
}

.gallery-movie {
    position: relative;
    z-index: 8;
    padding-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .gallery-movie {
        padding-top: 80px;
        margin-top: -80px
    }
}

.gallery-movie__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .gallery-movie__list {
        padding-top: 30px
    }
}

.gallery-movie__list--item {
    width: 100%
}

.gallery-movie__list--item:not(:first-of-type) {
    margin-top: 8vw
}

@media only screen and (min-width:768px) {
    .gallery-movie__list--item:not(:first-of-type) {
        margin-top: 30px
    }
}

.gallery-movie__morelist {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 6.66667vw;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

@media only screen and (min-width:768px) {
    .gallery-movie__morelist {
        padding-top: 45px
    }
}

.gallery-movie__morelist--item {
    width: 100%;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .gallery-movie__morelist--item {
        width: 336px
    }
}

.gallery-movie__morelist--item:not(:first-of-type) {
    margin-top: 8vw
}

@media only screen and (min-width:768px) {
    .gallery-movie__morelist--item:not(:first-of-type) {
        margin-top: 0;
        margin-left: 28px
    }
}

@media only screen and (min-width:768px) {
    .gallery-movie__morelist--item:nth-of-type(odd) {
        margin-left: 0
    }
}

@media only screen and (min-width:768px) {
    .gallery-movie__morelist--item:nth-of-type(n+3) {
        margin-top: 30px
    }
}

.gallery-movie__morelist--item.js-none {
    display: none
}

.gallery-movie__morelist--item.js-hide {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translateY(5%);
    transform: translateY(5%)
}

.gallery-movie__btn {
    position: relative;
    display: block;
    z-index: 4
}

.gallery-movie__title {
    font-size: 3.73333vw;
    font-weight: 700;
    margin-top: 3.33333vw
}

@media only screen and (min-width:768px) {
    .gallery-movie__title {
        font-size: 16px;
        margin-top: 18px
    }
}

.gallery-manga {
    padding: 9.33333vw 0 13.33333vw;
    position: relative;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .gallery-manga {
        padding: 57px 0 180px
    }
}

.gallery-manga__ttl {
    font-family: Montserrat, sans-serif;
    font-size: 5.33333vw;
    font-weight: 900;
    text-align: center
}

@media only screen and (min-width:768px) {
    .gallery-manga__ttl {
        font-size: 30px
    }
}

.gallery-manga__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 4.66667vw
}

@media only screen and (min-width:768px) {
    .gallery-manga__list {
        margin-top: 45px
    }
}

.gallery-manga__list--item {
    width: 43.2vw
}

@media only screen and (min-width:768px) {
    .gallery-manga__list--item {
        width: 336px
    }
}

.gallery-manga__list--item:nth-of-type(2n) {
    margin-left: 2.93333vw
}

@media only screen and (min-width:768px) {
    .gallery-manga__list--item:nth-of-type(2n) {
        margin-left: 28px
    }
}

.gallery-manga__list--item:nth-of-type(n+3) {
    margin-top: 5.86667vw
}

@media only screen and (min-width:768px) {
    .gallery-manga__list--item:nth-of-type(n+3) {
        margin-top: 58px
    }
}

.gallery-manga__btn {
    display: block;
    border: solid 1px #dfdfdf;
    height: 24.53333vw;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .gallery-manga__btn {
        height: 190px
    }
}

.gallery-manga__date {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 900;
    margin-top: 3.6vw
}

@media only screen and (min-width:768px) {
    .gallery-manga__date {
        font-size: 16px;
        margin-top: 14px
    }
}

.gallery-cover:after {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 18.4vw 18.4vw;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .gallery-cover:after {
        border-width: 0 0 70px 70px;
        transition: all .5s
    }
}

.gallery-button {
    margin-top: 10vw
}

@media only screen and (min-width:768px) {
    .gallery-button {
        margin-top: 50px
    }
}

.gallery-button__more {
    font-family: Montserrat, sans-serif
}

.gallery-button__more--movie {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    -webkit-align-content: center;
    align-content: center;
    background-color: #000;
    margin: 6.4vw auto;
    height: 8vw;
    width: 100%;
    cursor: pointer;
    pointer-events: all;
    position: relative
}

@media only screen and (min-width:768px) {
    .gallery-button__more--movie {
        height: 40px;
        width: 446px;
        margin: 50px auto
    }
}

@media only screen and (min-width:768px) {
    .gallery-button__more--movie:hover .gallery-button__more--plus {
        right: 7px
    }
}

.gallery-button__more--txt {
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 2.93333vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .gallery-button__more--txt {
        font-size: 22px
    }
}

.gallery-button__more--txt:after {
    display: block;
    content: "";
    content: "VIEW MORE"
}

.gallery-button__more--text {
    font-size: 2.93333vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .gallery-button__more--text {
        font-size: 22px
    }
}

.gallery-button__more--plus {
    height: 4vw;
    width: 4vw;
    position: absolute;
    top: 50%;
    right: 2.4vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .gallery-button__more--plus {
        height: 20px;
        width: 20px;
        right: 10px;
        transition: all .5s
    }
}

.gallery-button__more--plus:before {
    display: block;
    content: "";
    background-color: #fff;
    height: 4vw;
    width: .8vw;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .gallery-button__more--plus:before {
        height: 20px;
        width: 4px
    }
}

.gallery-button__more--plus:after {
    display: block;
    content: "";
    background-color: #fff;
    height: .8vw;
    width: 4vw;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .gallery-button__more--plus:after {
        height: 4px;
        width: 20px
    }
}

.gallery-modal__close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .gallery-modal__close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.gallery-modal__close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .gallery-modal__close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.gallery-modal__close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .gallery-modal__close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.gallery-modal__close:active {
    top: -17.33333vw
}

@media only screen and (min-width:768px) {
    .gallery-modal__close:active {
        top: 0
    }
}

.gallery-modal__movie {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .gallery-modal__movie {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .gallery-modal__movie {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .gallery-modal__movie--inner {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .gallery-modal__movie--inner {
        padding: 8.52619vw 0
    }
}

.gallery-modal__movie--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.gallery-modal__movie--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.gallery-modal__manga {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .gallery-modal__manga {
        width: 700px
    }
}

.gallery-modal__manga--item {
    padding: 17.33333vw 0
}

@media only screen and (min-width:768px) {
    .gallery-modal__manga--item {
        padding: 80px 0
    }
}

.gallery-modal__manga--close {
    top: 1.33333vw
}

@media only screen and (min-width:768px) {
    .gallery-modal__manga--close {
        top: 10px;
        right: 40px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

.gallery-modal__manga--close:active {
    top: 1.33333vw
}

@media only screen and (min-width:768px) {
    .gallery-modal__manga--close:active {
        top: 10px
    }
}

.gallery-4coma__h1 {
    width: 42.93333vw
}

@media only screen and (min-width:768px) {
    .gallery-4coma__h1 {
        width: 323px
    }
}

.gallery-4coma__archive {
    padding: 5.33333vw 0 10.66667vw
}

@media only screen and (min-width:768px) {
    .gallery-4coma__archive {
        padding: 57px 0 180px
    }
}

.gallery-4coma__pg {
    margin-top: 11.73333vw
}

@media only screen and (min-width:768px) {
    .gallery-4coma__pg {
        margin-top: 57px
    }
}

.gallery-navi {
    width: 100%;
    padding: 5.33333vw 0;
    position: relative;
    z-index: 3
}

@media only screen and (min-width:768px) {
    .gallery-navi {
        padding: 40px 0;
        z-index: 9
    }
}

.gallery-navi__inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.gallery-navi__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: solid #2875ff .26667vw;
    border-radius: 4vw;
    color: #2875ff;
    font-size: 2.93333vw;
    font-weight: 900;
    height: 8vw;
    width: 44vw;
    position: relative;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .gallery-navi__item {
        border: solid #2875ff 2px;
        border-radius: 21px;
        font-size: 22px;
        height: 42px;
        width: 347px
    }
}

.gallery-navi__item:last-of-type {
    margin-left: 1.33333vw
}

@media only screen and (min-width:768px) {
    .gallery-navi__item:last-of-type {
        margin-left: 6px
    }
}

.gallery-navi__item:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_blue.png.webp) no-repeat;
    background-size: contain;
    height: 4vw;
    width: 2vw;
    position: absolute;
    top: 1.86667vw;
    right: 3.46667vw;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media only screen and (min-width:768px) {
    .gallery-navi__item:after {
        height: 30px;
        width: 15px;
        top: 5px;
        right: 20px
    }
}

@media only screen and (min-width:768px) {
    .gallery-navi__item:hover {
        background-color: #2875ff;
        color: #fff
    }
}

.gallery-navi__item:hover:after {
    display: block;
    content: ""
}

@media only screen and (min-width:768px) {
    .gallery-navi__item:hover:after {
        background-image: url(../data/webp/common/icon_arrow_wh.png.webp)
    }
}

.story {
    padding: 18.66667vw 0 0;
    background-color: #2875ff;
    width: 100%;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .story {
        padding-top: 8px
    }
}

.story:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -6.4vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .story:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.story-wrapper {
    position: relative;
    overflow: hidden
}

.story-wrapper:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/top/bg_story.png.webp) no-repeat;
    background-size: 100% auto;
    height: 92.53333vw;
    width: 125%;
    position: absolute;
    bottom: -21.33333vw;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .story-wrapper:after {
        background-size: cover;
        height: 1108px;
        width: 1480px;
        bottom: -546px
    }
}

@media only screen and (min-width:1481px) {
    .story-wrapper:after {
        height: 74.86486vw;
        width: 100%;
        bottom: -36.89189vw
    }
}

@media only screen and (min-width:1680px) {
    .story-wrapper:after {
        bottom: -39.18919vw
    }
}

.story-bg {
    overflow: hidden;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0
}

.story-bg__wrap {
    position: absolute;
    height: 121.06667vw;
    width: 100%;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .story-bg__wrap {
        height: auto;
        width: 1480px;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

@media only screen and (min-width:1481px) {
    .story-bg__wrap {
        width: 100%
    }
}

.story-bg__left {
    background: transparent url(../data/webp/top/img_story_pattern01.png.webp) no-repeat;
    background-size: 100% auto;
    height: 62.26667vw;
    width: 59.46667vw;
    position: absolute;
    left: -5.6vw
}

@media only screen and (min-width:768px) {
    .story-bg__left {
        height: 467px;
        width: 446px;
        top: 20px;
        left: 0
    }
}

.story-bg__right {
    background: transparent url(../data/webp/top/img_story_pattern02.png.webp) no-repeat;
    background-size: 100% auto;
    height: 60.26667vw;
    width: 58.66667vw;
    position: absolute;
    top: 64vw;
    right: 0
}

@media only screen and (min-width:768px) {
    .story-bg__right {
        height: 451px;
        width: 439px;
        top: 340px
    }
}

@media only screen and (min-width:1481px) {
    .story-bg__right {
        height: 451px;
        width: 439px;
        top: 340px
    }
}

.story-wrap {
    position: relative;
    z-index: 5;
    padding-bottom: 42.93333vw
}

@media only screen and (min-width:768px) {
    .story-wrap {
        padding-bottom: 290px
    }
}

.story-title {
    height: 17.6vw;
    width: 43.2vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .story-title {
        height: 132px;
        width: 324px
    }
}

.story-lead {
    text-align: center;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .story-lead {
        margin-top: 42px
    }
}

.story-lead__ttl {
    font-size: 6.66667vw;
    font-weight: 900;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .story-lead__ttl {
        font-size: 40px
    }
}

.story-lead__dtl {
    font-size: 3.73333vw;
    font-weight: 700;
    line-height: 1.6;
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .story-lead__dtl {
        font-size: 16px;
        margin-top: 40px
    }
}

.story-lead__dtl.more-text {
    display: none
}

.story-lead__more {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    -webkit-align-content: center;
    align-content: center;
    background-color: #000;
    margin: 6.4vw auto;
    height: 8vw;
    width: 100%;
    cursor: pointer;
    pointer-events: all;
    position: relative
}

@media only screen and (min-width:768px) {
    .story-lead__more {
        height: 40px;
        width: 446px;
        margin: 25px auto
    }
}

.story-lead__more--txt {
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 2.93333vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .story-lead__more--txt {
        font-size: 22px
    }
}

.story-lead__more--txt:after {
    display: block;
    content: "";
    content: "VIEW MORE"
}

.story-lead__more--txt.close:after {
    display: block;
    content: "";
    content: "CLOSE"
}

.story-lead__more--plus {
    height: 4vw;
    width: 4vw;
    position: absolute;
    top: 50%;
    right: 2.4vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .story-lead__more--plus {
        height: 20px;
        width: 20px;
        right: 10px;
        transition: all .5s
    }
}

.story-lead__more--plus:before {
    display: block;
    content: "";
    background-color: #fff;
    height: 4vw;
    width: .8vw;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .story-lead__more--plus:before {
        height: 20px;
        width: 4px
    }
}

.story-lead__more--plus:after {
    display: block;
    content: "";
    background-color: #fff;
    height: .8vw;
    width: 4vw;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .story-lead__more--plus:after {
        height: 4px;
        width: 20px
    }
}

.story-lead__more--plus.story-open:before {
    display: block;
    content: "";
    left: 1.6vw;
    -webkit-transform: rotate(90deg) translateX(0);
    transform: rotate(90deg) translateX(0)
}

@media only screen and (min-width:768px) {
    .story-lead__more--plus.story-open:before {
        left: 8px
    }
}

@media only screen and (min-width:768px) {
    .story-lead__more:hover .story-lead__more--plus {
        right: 7px
    }
}

.system-top {
    background-color: #fff;
    padding: 0 0 13.33333vw;
    position: relative;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .system-top {
        padding: 0 0 100px
    }
}

.system-top:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .system-top:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -66px
    }
}

.system-top__wrap {
    position: relative;
    height: 70.66667vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .system-top__wrap {
        height: 510px;
        top: -24px;
        overflow: hidden
    }
}

@media only screen and (min-width:1481px) {
    .system-top__wrap {
        height: 34.45946vw
    }
}

.system-top__bg {
    height: 100%;
    width: 100%;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .system-top__bg--wrap {
        display: block;
        height: 100%;
        width: 1480px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

@media only screen and (min-width:1481px) {
    .system-top__bg--wrap {
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    .system-top__bg--left {
        position: absolute;
        top: 0;
        left: 0
    }
}

@media only screen and (min-width:768px) {
    .system-top__bg--left.i01 {
        background: transparent url(../data/webp/top/img_system_pattern01.png.webp) no-repeat;
        background-size: contain;
        height: 1447px;
        width: 222px;
        top: 41px;
        left: 76px
    }
}

@media only screen and (min-width:1481px) {
    .system-top__bg--left.i01 {
        height: 97.77027vw;
        width: 15vw;
        top: 5.40541vw;
        left: 5.13514vw
    }
}

@media only screen and (min-width:768px) {
    .system-top__bg--left.i02 {
        background: transparent url(../data/webp/top/img_system_pattern02.png.webp) no-repeat;
        background-size: contain;
        height: 61px;
        width: 47px;
        top: 935px
    }
}

@media only screen and (min-width:1481px) {
    .system-top__bg--left.i02 {
        height: 4.12162vw;
        width: 3.17568vw;
        top: 63.17568vw;
        left: 0
    }
}

@media only screen and (min-width:768px) {
    .system-top__bg--right {
        position: absolute;
        top: 0;
        right: 0
    }
}

@media only screen and (min-width:768px) {
    .system-top__bg--right.i01 {
        background: transparent url(../data/webp/top/img_system_pattern03.png.webp) no-repeat;
        background-size: contain;
        height: 959px;
        width: 213px;
        top: 25px;
        right: 68px
    }
}

@media only screen and (min-width:1481px) {
    .system-top__bg--right.i01 {
        height: 64.7973vw;
        width: 14.39189vw;
        top: 5.06757vw;
        right: 4.59459vw
    }
}

@media only screen and (min-width:768px) {
    .system-top__bg--right.i02 {
        background: transparent url(../data/webp/top/img_system_pattern04.png.webp) no-repeat;
        background-size: contain;
        height: 135px;
        width: 166px;
        top: 485px;
        right: 0
    }
}

@media only screen and (min-width:1481px) {
    .system-top__bg--right.i02 {
        height: 9.12162vw;
        width: 11.21622vw;
        top: 32.77027vw
    }
}

.system-top__inner {
    position: relative;
    height: auto
}

.system-top__chara {
    background: transparent url(../data/webp/top/bg_system.png.webp) no-repeat;
    background-size: contain;
    height: 110.8vw;
    width: 186.13333vw;
    position: absolute;
    left: -45.33333vw
}

@media only screen and (min-width:768px) {
    .system-top__chara {
        height: 909px;
        width: 1480px;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

@media only screen and (min-width:1481px) {
    .system-top__chara {
        height: 61.41892vw;
        width: 100%
    }
}

.system-top__title {
    width: 58.8vw;
    position: absolute;
    top: 13.33333vw;
    right: 4.8vw;
    z-index: 3
}

@media only screen and (min-width:768px) {
    .system-top__title {
        width: 441px;
        right: -8px;
        top: 78px
    }
}

.system-top__more {
    position: absolute;
    top: 39.46667vw;
    right: 4vw
}

@media only screen and (min-width:768px) {
    .system-top__more {
        top: 268px;
        right: -8px
    }
}

.system-top__store {
    background-color: #fff;
    padding: 0;
    position: relative
}

@media only screen and (min-width:768px) {
    .system-top__store {
        margin-top: 0;
        padding: 16px 0
    }
}

@media only screen and (min-width:1481px) {
    .system-top__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.system-top__store:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .system-top__store:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.system-top__caution {
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .system-top__caution {
        margin: 31px auto 0;
        width: 490px
    }
}

.system-top__button {
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .system-top__button {
        margin-top: 19px
    }
}

.system-top__sub {
    display: block;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .system-top__sub:hover .system-top__more {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.system-wrap {
    overflow: hidden;
    padding-top: 24vw
}

@media only screen and (min-width:768px) {
    .system-wrap {
        padding-top: 110px
    }
}

.system-container {
    position: relative;
    margin-top: 6.66667vw;
    padding-bottom: 20vw
}

@media only screen and (min-width:768px) {
    .system-container {
        margin-top: 45px;
        padding-bottom: 118px
    }
}

.system-container:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .system-container:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.system-title {
    background-color: #fff;
    position: relative;
    z-index: 5
}

.system-title__h1 {
    width: 64.93333vw;
    top: -2.66667vw
}

@media only screen and (min-width:768px) {
    .system-title__h1 {
        width: 389px;
        top: -20px
    }
}

.system-contents {
    position: relative;
    z-index: 8
}

.system-contents__bg {
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .system-contents__bg {
        display: block;
        height: 100%;
        width: 1480px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

@media only screen and (min-width:1481px) {
    .system-contents__bg {
        width: 100vw
    }
}

@media only screen and (min-width:768px) {
    .system-contents__bg .b01-left {
        position: absolute;
        top: 280px;
        left: 0;
        background: transparent url(../data/webp/common/bg_partial04.png.webp) no-repeat;
        background-size: contain;
        height: 106px;
        width: 77px
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .system-contents__bg .b01-left {
        height: 7.16216vw;
        width: 5.2027vw
    }
}

@media only screen and (min-width:768px) {
    .system-contents__bg .b01-right {
        position: absolute;
        top: 60px;
        right: 0;
        background: transparent url(../data/webp/common/bg_partial05.png.webp) no-repeat;
        background-size: contain;
        height: 527px;
        width: 308px
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .system-contents__bg .b01-right {
        height: 35.60811vw;
        width: 20.81081vw
    }
}

@media only screen and (min-width:768px) {
    .system-contents__bg .b02-left {
        position: absolute;
        top: 84px;
        left: 0;
        background: transparent url(../data/webp/common/bg_partial06.png.webp) no-repeat;
        background-size: contain;
        height: 360px;
        width: 204px
    }
}

@media only screen and (min-width:1481px) {
    .system-contents__bg .b02-left {
        height: 24.32432vw;
        width: 13.78378vw
    }
}

@media only screen and (min-width:768px) {
    .system-contents__bg .b02-right {
        position: absolute;
        bottom: 100px;
        right: -70px;
        background: transparent url(../data/webp/common/bg_partial07.png.webp) no-repeat;
        background-size: contain;
        height: 180px;
        width: 290px
    }
}

@media only screen and (min-width:1481px) {
    .system-contents__bg .b02-right {
        height: 12.16216vw;
        width: 19.59459vw;
        right: -4.72973vw
    }
}

@media only screen and (min-width:768px) {
    .system-contents__bg .b03-left {
        position: absolute;
        top: 40px;
        left: 0;
        background: transparent url(../data/webp/common/bg_partial08.png.webp) no-repeat;
        background-size: contain;
        height: 713px;
        width: 280px
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .system-contents__bg .b03-left {
        height: 48.17568vw;
        width: 18.91892vw
    }
}

.system-contents__inner {
    position: relative;
    z-index: 7
}

.system-contents__numberright {
    position: absolute;
    top: 20px;
    width: 26.66667vw;
    right: 15px;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .system-contents__numberright {
        width: 13.33333vw;
        right: 10.13514vw
    }
}

@media only screen and (min-width:1481px) {
    .system-contents__numberright {
        width: 200px;
        top: 80px;
        right: 11.48649vw
    }
}

.system-contents__numberleft {
    position: absolute;
    top: 20px;
    width: 26.66667vw;
    right: 15px;
    z-index: 6
}

@media only screen and (min-width:768px) {
    .system-contents__numberleft {
        width: 13.33333vw;
        left: 10.13514vw
    }
}

@media only screen and (min-width:1481px) {
    .system-contents__numberleft {
        width: 200px;
        top: 80px;
        left: 11.48649vw
    }
}

.system-contents__title {
    width: 100%;
    font-size: 5.33333vw;
    font-family: Noto Sans JP;
    font-weight: 800;
    line-height: 8vw;
    letter-spacing: -.02em
}

.system-contents__title .br-sp {
    display: none
}

@media only screen and (min-width:768px) {
    .system-contents__title {
        margin: 0 auto;
        font-size: 33px;
        line-height: 45px;
        text-align: center
    }

    .system-contents__title .br-pc {
        display: none
    }
}

.system-contents__underblue {
    text-decoration: underline .93333vw #2875ff;
    text-underline-offset: 1px
}

@media only screen and (min-width:768px) {
    .system-contents__underblue {
        text-decoration: underline 5px #2875ff
    }
}

.system-contents__underwhite {
    text-decoration: underline .93333vw #fff;
    text-underline-offset: 1px
}

@media only screen and (min-width:768px) {
    .system-contents__underwhite {
        text-decoration: underline 5px #fff
    }
}

.system-contents__image {
    width: 100%;
    margin-top: 4vw
}

@media only screen and (min-width:768px) {
    .system-contents__image {
        margin-top: 30px
    }
}

.system-contents__text {
    font-size: 3.73333vw;
    font-weight: 700;
    line-height: 1.8;
    margin-top: 5.33333vw;
    text-align: center
}

@media only screen and (min-width:768px) {
    .system-contents__text {
        font-size: 16px;
        margin-top: 32px
    }
}

.system-contents.block-01 {
    background-color: #fff;
    padding: 12vw 0 18.66667vw
}

@media only screen and (min-width:768px) {
    .system-contents.block-01 {
        padding: 60px 0 160px
    }
}

.system-contents.block-02 {
    background-color: #2875ff;
    padding: 12vw 0 18.66667vw
}

@media only screen and (min-width:768px) {
    .system-contents.block-02 {
        padding: 62px 0 160px
    }
}

.system-contents.block-02:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .system-contents.block-02:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.system-contents.block-03 {
    background-color: #fff;
    padding: 12vw 0 18.66667vw
}

@media only screen and (min-width:768px) {
    .system-contents.block-03 {
        padding: 62px 0 160px
    }
}

.system-contents.block-03:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .system-contents.block-03:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.system-contents.block-04 {
    padding: 12vw 0 8vw
}

@media only screen and (min-width:768px) {
    .system-contents.block-04 {
        padding: 80px 0 92px
    }
}

.system-contents.block-04:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .system-contents.block-04:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

@media only screen and (min-width:768px) {
    .system-contents.block-04 .b02-left {
        top: 160px;
        left: -76px
    }
}

@media only screen and (min-width:1481px) {
    .system-contents.block-04 .b02-left {
        left: -5.13514vw
    }
}

@media only screen and (min-width:768px) {
    .system-contents.block-04 .b02-right {
        bottom: 0;
        right: 0
    }
}

.system-movie {
    position: relative;
    z-index: 8;
    padding-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .system-movie {
        padding-top: 80px;
        margin-top: -80px
    }
}

.system-movie__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .system-movie__list {
        padding-top: 30px
    }
}

.system-movie__list--item {
    width: 100%
}

.system-movie__list--item:not(:first-of-type) {
    margin-top: 8vw
}

@media only screen and (min-width:768px) {
    .system-movie__list--item:not(:first-of-type) {
        margin-top: 30px
    }
}

.system-movie__morelist {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .system-movie__morelist {
        padding-top: 45px
    }
}

.system-movie__morelist--item {
    width: 100%
}

@media only screen and (min-width:768px) {
    .system-movie__morelist--item {
        width: 336px
    }
}

.system-movie__morelist--item:not(:first-of-type) {
    margin-top: 8vw
}

@media only screen and (min-width:768px) {
    .system-movie__morelist--item:not(:first-of-type) {
        margin-top: 0;
        margin-left: 28px
    }
}

@media only screen and (min-width:768px) {
    .system-movie__morelist--item:nth-of-type(odd) {
        margin-left: 0
    }
}

@media only screen and (min-width:768px) {
    .system-movie__morelist--item:nth-of-type(n+3) {
        margin-top: 30px
    }
}

.system-movie__btn {
    position: relative;
    display: block;
    z-index: 4
}

.system-movie__title {
    font-size: 3.73333vw;
    font-weight: 700;
    margin-top: 3.33333vw
}

@media only screen and (min-width:768px) {
    .system-movie__title {
        font-size: 16px;
        margin-top: 18px
    }
}

.system-button {
    height: 13.33333vw;
    width: 13.33333vw
}

@media only screen and (min-width:768px) {
    .system-button {
        height: 70px;
        width: 70px
    }
}

.system-button__open {
    height: 18.4vw;
    width: 18.4vw;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -9.66667vw;
    margin-left: -9.66667vw
}

@media only screen and (min-width:768px) {
    .system-button__open {
        height: 100px;
        width: 100px;
        margin-top: -50px;
        margin-left: -50px
    }
}

.system-button__open--item {
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    bottom: 2vw;
    right: 2vw;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .system-button__open--item {
        height: 65px;
        width: 65px;
        bottom: 14px;
        right: 14px
    }
}

.system-button__open--item.btn-movie:before {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.46667vw 0 3.46667vw 6.93333vw;
    border-color: transparent transparent transparent #2875ff;
    position: absolute;
    top: 50%;
    left: 3.73333vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .system-button__open--item.btn-movie:before {
        border-width: 16px 0 16px 31px;
        left: 20px;
        transition: all .5s
    }
}

.system-cover:after {
    display: block;
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1
}

.system-modal__close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .system-modal__close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.system-modal__close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .system-modal__close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.system-modal__close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .system-modal__close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.system-modal__close:active {
    top: -17.33333vw
}

@media only screen and (min-width:768px) {
    .system-modal__close:active {
        top: 0
    }
}

.system-modal__movie {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .system-modal__movie {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .system-modal__movie {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .system-modal__movie--inner {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .system-modal__movie--inner {
        padding: 8.52619vw 0
    }
}

.system-modal__movie--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.system-modal__movie--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media only screen and (max-width:767px) {
    .system .footer {
        margin-top: -12vw
    }
}

.game-details {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .game-details {
        margin: 42px auto 0
    }
}

.game-details__img {
    height: 22.4vw;
    width: 22.4vw
}

@media only screen and (min-width:768px) {
    .game-details__img {
        height: 99px;
        width: 103px;
        margin-left: 105px
    }
}

.game-details__list {
    font-size: 2.93333vw;
    margin-left: 4vw;
    width: 62.93333vw
}

@media only screen and (min-width:768px) {
    .game-details__list {
        font-size: 14px;
        margin-left: 18px;
        width: 390px
    }
}

.game-details__list--item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

.game-details__list--item:not(:first-of-type) {
    margin-top: 1.33333vw
}

@media only screen and (min-width:768px) {
    .game-details__list--item:not(:first-of-type) {
        margin-top: 6px
    }
}

.game-details__list--ttl {
    width: 18.66667vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .game-details__list--ttl {
        width: 154px
    }
}

.game-details__list--ttl:after {
    display: block;
    content: "";
    background-color: #000;
    height: .26667vw;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .game-details__list--ttl:after {
        height: 2px
    }
}

.game-details__list--ttl .title-bg {
    display: inline-block;
    background-color: #fff;
    padding-right: .8vw
}

@media only screen and (min-width:768px) {
    .game-details__list--ttl .title-bg {
        padding-right: 8px
    }
}

.game-details__list--dtl {
    margin-left: .53333vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .game-details__list--dtl {
        margin-left: 8px
    }
}

.privacy-wrap {
    overflow: hidden;
    padding-top: 24vw
}

@media only screen and (min-width:768px) {
    .privacy-wrap {
        padding-top: 110px
    }
}

.privacy-container {
    position: relative;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .privacy-container {
        margin-top: 45px
    }
}

.privacy-container:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .privacy-container:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.privacy-contents {
    position: relative;
    z-index: 8
}

.privacy-contents {
    background-color: #fff;
    padding: 13.33333vw 0
}

@media only screen and (min-width:768px) {
    .privacy-contents {
        padding: 100px 0 140px
    }
}

.privacy-contents__text {
    font-size: 3.73333vw;
    line-height: 1.6
}

@media only screen and (min-width:768px) {
    .privacy-contents__text {
        font-size: 16px
    }
}

.privacy-contents__text:not(:first-of-type) {
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .privacy-contents__text:not(:first-of-type) {
        margin-top: 20px
    }
}

.tos-wrap {
    overflow: hidden;
    padding-top: 24vw
}

@media only screen and (min-width:768px) {
    .tos-wrap {
        padding-top: 110px
    }
}

.tos-container {
    position: relative;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .tos-container {
        margin-top: 45px
    }
}

.tos-container:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .tos-container:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.tos-contents {
    position: relative;
    z-index: 8
}

.tos-contents {
    background-color: #fff;
    padding: 13.33333vw 0
}

@media only screen and (min-width:768px) {
    .tos-contents {
        padding: 100px 0 140px
    }
}

.tos-contents__text {
    font-size: 3.73333vw;
    line-height: 1.6;
    padding-left: 1em;
    text-indent: -1em
}

@media only screen and (min-width:768px) {
    .tos-contents__text {
        font-size: 16px
    }
}

.tos-contents__text:not(:first-of-type) {
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .tos-contents__text:not(:first-of-type) {
        margin-top: 20px
    }
}

@media only screen and (min-width:768px) {
    .tos-contents__text {
        margin-top: 20px
    }
}

.tos-contents ul li {
    list-style: none;
    font-size: 3.73333vw;
    line-height: 1.6;
    padding-left: 1em;
    text-indent: -1em
}

@media only screen and (min-width:768px) {
    .tos-contents ul li {
        font-size: 16px
    }
}

@media only screen and (min-width:768px) {
    .tos-contents ul li {
        margin-top: 0
    }
}

.regal-wrap {
    overflow: hidden;
    padding-top: 24vw
}

@media only screen and (min-width:768px) {
    .regal-wrap {
        padding-top: 110px
    }
}

.regal-container {
    position: relative;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .regal-container {
        margin-top: 45px
    }
}

.regal-container:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .regal-container:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.regal-contents {
    position: relative;
    z-index: 8
}

.regal-contents {
    background-color: #fff;
    padding: 13.33333vw 0
}

@media only screen and (min-width:768px) {
    .regal-contents {
        padding: 100px 0 140px
    }
}

.regal-contents__text {
    font-size: 3.73333vw;
    line-height: 1.6
}

@media only screen and (min-width:768px) {
    .regal-contents__text {
        font-size: 16px
    }
}

.regal-contents__text:not(:first-of-type) {
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .regal-contents__text:not(:first-of-type) {
        margin-top: 10px
    }
}

@media only screen and (min-width:768px) {
    .regal-contents__text {
        margin-top: 10px
    }
}

.regal-contents table {
    width: 100%;
    margin-top: 20px
}

.regal-contents table tr {
    width: 80%;
    padding: 10px;
    border: solid 1px #aaa
}

.regal-contents table td {
    width: 20%;
    padding: 10px;
    border: solid 1px #aaa
}

.shikin-wrap {
    overflow: hidden;
    padding-top: 24vw
}

@media only screen and (min-width:768px) {
    .shikin-wrap {
        padding-top: 110px
    }
}

.shikin-container {
    position: relative;
    margin-top: 6.66667vw
}

@media only screen and (min-width:768px) {
    .shikin-container {
        margin-top: 45px
    }
}

.shikin-container:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 300%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .shikin-container:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -42px
    }
}

.shikin-contents {
    position: relative;
    z-index: 8
}

.shikin-contents {
    background-color: #fff;
    padding: 13.33333vw 0
}

@media only screen and (min-width:768px) {
    .shikin-contents {
        padding: 100px 0 140px
    }
}

.shikin-contents__text {
    font-size: 3.73333vw;
    line-height: 1.6
}

@media only screen and (min-width:768px) {
    .shikin-contents__text {
        font-size: 16px
    }
}

.shikin-contents__text:not(:first-of-type) {
    margin-top: 5.33333vw
}

@media only screen and (min-width:768px) {
    .shikin-contents__text:not(:first-of-type) {
        margin-top: 10px
    }
}

@media only screen and (min-width:768px) {
    .shikin-contents__text {
        margin-top: 10px
    }
}

.shikin-contents table {
    width: 100%;
    margin-top: 20px
}

.shikin-contents table tr {
    padding: 10px;
    border: solid 1px #aaa
}

.shikin-contents table td {
    padding: 10px;
    border: solid 1px #aaa
}

.shikin-contents ul li {
    list-style: none;
    font-size: 3.73333vw;
    line-height: 1.6;
    padding-left: 1em;
    text-indent: -1em
}

@media only screen and (min-width:768px) {
    .shikin-contents ul li {
        font-size: 16px
    }
}

@media only screen and (min-width:768px) {
    .shikin-contents ul li {
        margin-top: 0
    }
}

.lp-mv {
    background-color: #2875ff;
    width: 100%;
    height: 137.6vw;
    position: relative;
    z-index: 2;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .lp-mv {
        height: 52.2973vw
    }
}

.lp-mv__bg {
    background: transparent url(../data/webp/lp/bg_mv.png.webp) no-repeat;
    background-size: cover;
    background-position: center left 12%;
    height: 88.13333vw;
    width: 100%;
    position: absolute;
    top: 1.46667vw;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .lp-mv__bg {
        background-size: contain;
        background-position: center left;
        top: .74324vw;
        height: 44.66216vw
    }
}

@media only screen and (min-width:1481px) {
    .lp-mv__bg {
        background-size: cover
    }
}

.lp-mv__chara {
    position: absolute;
    height: 100%;
    width: 100%
}

@media only screen and (max-width:767px) {
    .lp-mv__chara {
        overflow: hidden
    }
}

@media only screen and (min-width:768px) {
    .lp-mv__chara {
        width: 55.60811vw
    }
}

.lp-mv__chara--item {
    z-index: 2;
    position: absolute;
    top: 24.8vw;
    width: 100%
}

@media only screen and (max-width:767px) {
    .lp-mv__chara--item {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .lp-mv__chara--item {
        padding-top: 0;
        top: 7.7027vw;
        left: 1.95946vw;
        width: 55.60811vw
    }
}

.lp-mv__lead {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    height: 129.6vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .lp-mv__lead {
        height: 51.08108vw;
        width: 41.28378vw;
        position: relative;
        top: 7.36486vw;
        left: calc(50% + 4.6265vw)
    }
}

.lp-mv__lead--text {
    margin: 0 auto;
    width: 87.86667vw;
    padding-top: 2.13333vw
}

@media only screen and (min-width:768px) {
    .lp-mv__lead--text {
        padding-top: 0;
        width: 32.63514vw;
        position: absolute;
        top: 0;
        left: 0;
        right: 0
    }
}

.lp-mv__lead--logo {
    margin: 0 auto;
    width: 86.13333vw;
    position: absolute;
    left: 0;
    right: 0;
    top: 85.86667vw
}

@media only screen and (min-width:768px) {
    .lp-mv__lead--logo {
        width: 43.64865vw;
        top: 16.21622vw;
        left: .40541vw;
        right: auto
    }
}

.lp-inner {
    padding: 0 4.26667vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .lp-inner {
        padding: 0;
        margin: 0 auto;
        width: 700px
    }
}

.lp-game {
    background-color: #fff;
    position: relative;
    z-index: 2;
    padding: 0 0 5.33333vw
}

@media only screen and (min-width:768px) {
    .lp-game {
        padding-bottom: 140px
    }
}

.lp-game:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 10.66667vw;
    width: 100%;
    position: absolute;
    top: -8vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .lp-game:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        width: 100%;
        position: absolute;
        top: -60px;
        left: 0
    }
}

.lp-game__inner {
    position: relative;
    z-index: 2;
    padding-top: 3.33333vw
}

@media only screen and (min-width:768px) {
    .lp-game__inner {
        padding-top: 22px
    }
}

.lp-game__bg {
    overflow: hidden;
    width: 100%;
    position: absolute
}

@media only screen and (min-width:768px) {
    .lp-game__bg {
        height: 100%
    }
}

@media only screen and (min-width:768px) {
    .lp-game__bg--i1 {
        display: block;
        height: 100%;
        width: 1480px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

@media only screen and (min-width:1481px) {
    .lp-game__bg--i1 {
        width: 100vw
    }
}

.lp-game__bg--i1>span {
    background: transparent url(../data/webp/lp/bg_dolphinwave.png.webp) no-repeat;
    background-size: cover;
    background-position: center;
    width: 183.46667vw;
    height: 60.26667vw;
    display: block;
    top: 0;
    left: 0;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .lp-game__bg--i1>span {
        background-size: contain;
        width: 1376px;
        height: 452px
    }
}

@media only screen and (min-width:1481px) {
    .lp-game__bg--i1>span {
        width: 92.97297vw;
        height: 30.54054vw
    }
}

@media only screen and (min-width:768px) {
    .lp-game__bg--i2 {
        display: block;
        height: 100%;
        width: 1480px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

@media only screen and (min-width:1481px) {
    .lp-game__bg--i2 {
        width: 100vw
    }
}

@media only screen and (min-width:768px) {
    .lp-game__bg--i2>span {
        background: transparent url(../data/webp/lp/bg_alphabet.png.webp) no-repeat;
        background-size: contain;
        height: 421px;
        width: 445px;
        display: block;
        position: absolute;
        top: 276px;
        right: 0
    }
}

@media only screen and (min-width:768px) and (min-width:1481px) {
    .lp-game__bg--i2>span {
        height: 28.44595vw;
        width: 30.06757vw;
        top: 18.64865vw
    }
}

.lp-game__title {
    color: #fff;
    font-size: 4.8vw;
    font-weight: 900;
    line-height: 1;
    text-align: center
}

@media only screen and (min-width:768px) {
    .lp-game__title {
        font-size: 36px;
        line-height: 1.3
    }
}

.lp-game__title span {
    background: #000;
    padding: 0 .53333vw .53333vw;
    display: inline-block
}

@media only screen and (min-width:768px) {
    .lp-game__title span {
        padding: 0 4px
    }
}

.lp-game__store {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 3.2vw
}

@media only screen and (min-width:768px) {
    .lp-game__store {
        margin: 24px auto 0;
        width: 700px
    }
}

.lp-game__store--s1 {
    width: 36.26667vw
}

@media only screen and (min-width:768px) {
    .lp-game__store--s1 {
        width: 176px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .lp-game__store--s1:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.lp-game__store--s2 {
    width: 44.53333vw;
    margin-left: 1.6vw
}

@media only screen and (min-width:768px) {
    .lp-game__store--s2 {
        width: 218px;
        margin-left: 8px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .lp-game__store--s2:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.lp-game__store--s3 {
    width: 45.2vw;
    margin-top: 2.13333vw
}

@media only screen and (min-width:768px) {
    .lp-game__store--s3 {
        margin-top: 0;
        margin-left: 8px;
        width: 221px;
        transition: all .5s
    }
}

@media only screen and (min-width:768px) {
    .lp-game__store--s3:hover {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"
    }
}

.lp-game__caution {
    margin-top: 6.13333vw
}

@media only screen and (min-width:768px) {
    .lp-game__caution {
        margin-top: 28px
    }
}

.lp-game__caution--text {
    font-size: 2.66667vw;
    font-weight: 500;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .lp-game__caution--text {
        font-size: 12px;
        text-align: center
    }
}

.lp-game__system {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 5.33333vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .lp-game__system {
        margin: 58px auto 0
    }
}

.lp-game__system--icon {
    height: 22.4vw;
    width: 22.4vw
}

@media only screen and (min-width:768px) {
    .lp-game__system--icon {
        height: 99px;
        width: 103px;
        margin-left: 105px
    }
}

.lp-game__list {
    font-size: 2.93333vw;
    margin-left: 2vw;
    width: 65.33333vw
}

@media only screen and (min-width:768px) {
    .lp-game__list {
        font-size: 14px;
        margin-left: 18px;
        width: 390px
    }
}

.lp-game__list--item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

.lp-game__list--item:not(:first-of-type) {
    margin-top: 1.33333vw
}

@media only screen and (min-width:768px) {
    .lp-game__list--item:not(:first-of-type) {
        margin-top: 6px
    }
}

.lp-game__list--ttl {
    width: 18.66667vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .lp-game__list--ttl {
        width: 154px
    }
}

.lp-game__list--ttl:after {
    display: block;
    content: "";
    background-color: #000;
    height: .26667vw;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .lp-game__list--ttl:after {
        height: 2px
    }
}

.lp-game__list--ttl .title-bg {
    display: inline-block;
    background-color: #fff;
    padding-right: .8vw
}

@media only screen and (min-width:768px) {
    .lp-game__list--ttl .title-bg {
        padding-right: 8px
    }
}

.lp-game__list--dtl {
    margin-left: .53333vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .lp-game__list--dtl {
        margin-left: 8px
    }
}

.halfanniv-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.halfanniv-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden
}

.halfanniv-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 159.06667vw;
    margin-top: -146.66667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__item:nth-child(1) {
        margin-top: -48.98649vw;
        height: 54.05405vw
    }
}

.halfanniv-kv__item:nth-child(1) .halfanniv-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary/img_kv_bg01.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 159.06667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__item:nth-child(1) .halfanniv-kv__item--bg {
        background: transparent url(../data/webp/half-anniversary/img_kv_bg01_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 54.05405vw;
        width: 100%;
        top: 0
    }
}

.halfanniv-kv__item:nth-child(2) {
    z-index: 3
}

@media only screen and (min-width:767px) {
    .halfanniv-kv__item:nth-child(2) .halfanniv-kv__item--bg {
        background: transparent url(../data/webp/half-anniversary/img_kv_bg02_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.halfanniv-kv__item:nth-child(3) {
    z-index: 2
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__item:nth-child(3) .halfanniv-kv__item--bg {
        background: transparent url(../data/webp/half-anniversary/img_kv_bg03_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.halfanniv-kv__item:nth-child(4) {
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__item:nth-child(4) .halfanniv-kv__item--bg {
        background: transparent url(../data/webp/half-anniversary/img_kv_bg04_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.halfanniv-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__sp {
        display: none
    }
}

.halfanniv-kv__sparkle {
    position: relative;
    z-index: 1
}

.halfanniv-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.halfanniv-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.halfanniv-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.halfanniv-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.halfanniv-kv__lead {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
    width: 100%
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__lead {
        height: 54.05405vw;
        width: 100%;
        top: 0
    }
}

.halfanniv-kv__lead--text {
    margin: 0 auto;
    width: 94.53333vw;
    position: absolute;
    top: 25.73333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__lead--text {
        padding-top: 0;
        width: 47.90541vw;
        top: 30.60811vw
    }
}

.halfanniv-kv__logo {
    margin: 0 auto;
    width: 59.2vw;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 8vw
}

@media only screen and (min-width:768px) {
    .halfanniv-kv__logo {
        width: 20.54054vw;
        top: 1.68919vw;
        left: 13.85135vw;
        margin-left: .87838vw
    }
}

.halfanniv-menu {
    position: fixed;
    height: 8vw;
    width: 79.06667vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 10;
    border-bottom-left-radius: 4vw;
    border-bottom-right-radius: 4vw;
    pointer-events: auto
}

@media only screen and (max-width:767px) {
    .halfanniv-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .halfanniv-menu {
        bottom: 0;
        right: 0;
        height: 4.05405vw;
        width: 42.09459vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu {
        height: 60px;
        width: 623px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.halfanniv-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.halfanniv-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    width: 56.8vw;
    height: 8vw;
    background-color: #2875ff;
    border-bottom-left-radius: 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        height: 4.05405vw;
        width: 29.72973vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__list {
        height: 60px;
        width: 440px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.halfanniv-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv-menu__list--items {
        font-size: 20px
    }
}

.halfanniv-menu__list--items:not(:first-of-type) {
    padding: 1.5vw 3.2vw
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__list--items:not(:first-of-type) {
        padding: 0 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__list--items:not(:first-of-type) {
        padding: 0 22px
    }
}

.halfanniv-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #fff;
    height: 1.6vw;
    width: .13333vw;
    margin: 0;
    position: absolute;
    top: 2.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #fff;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.halfanniv-menu__list--items:first-of-type {
    padding: 1.5vw 3.2vw 1.5vw 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__list--items:first-of-type {
        padding: 0 1.48649vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__list--items:first-of-type {
        padding: 0 22px 0 0
    }
}

.halfanniv-menu__list--items:last-of-type {
    padding-right: 4vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__list--items:last-of-type {
        padding-right: 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__list--items:last-of-type {
        padding-right: 22px
    }
}

.halfanniv-menu__list--btn {
    display: inline-block;
    color: #fff;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__list--btn:hover {
        color: #000
    }
}

.halfanniv-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #fff;
    width: 22.66667vw;
    height: 8vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border: solid .26667vw #2875ff;
    border-bottom-right-radius: 4vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.35135vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__share {
        font-size: 20px;
        height: 60px;
        width: 168px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.halfanniv-menu__share--btn {
    color: #000;
    margin-left: 5.06667vw;
    transition: all .3s
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__share--btn {
        margin-left: 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__share--btn:hover {
        color: #1d9bf0
    }
}

.halfanniv-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_twitter_ce.png) no-repeat;
    background-size: contain;
    width: 4.13333vw;
    height: 4vw;
    position: absolute;
    top: 50%;
    left: 2.66667vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__share:after {
        width: 2.09459vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__share:after {
        width: 31px;
        height: 30px;
        left: 20px
    }
}

.halfanniv-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-menu__jp {
        font-size: 10px
    }
}

.halfanniv-animation {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    mix-blend-mode: hard-light;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.halfanniv-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .halfanniv-animation__prism--upper {
        width: 13.51351vw
    }
}

.halfanniv-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .halfanniv-animation__prism--lower {
        width: 13.51351vw
    }
}

.halfanniv-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .halfanniv-animation__reflection--upper {
        width: 20.27027vw
    }
}

.halfanniv-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .halfanniv-animation__reflection--lower {
        width: 20.27027vw
    }
}

.halfanniv-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.halfanniv-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.halfanniv-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.halfanniv-banner {
    background-color: transparent;
    margin-top: 146.66667vw;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .halfanniv-banner {
        padding: 75px 0 75px 0;
        margin-top: 48.98649vw
    }
}

.halfanniv-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.halfanniv-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.halfanniv-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__bg {
        height: 452px
    }
}

.halfanniv-banner__bg--left {
    background: transparent url(../data/webp/half-anniversary/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__bg--left {
        background-image: url(../data/webp/half-anniversary/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.halfanniv-banner__bg--right {
    background: transparent url(../data/webp/half-anniversary/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.halfanniv-banner__slider {
    margin-top: 8vw;
    margin-bottom: 8vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.halfanniv-banner__slider--wrap {
    width: 100%;
    position: relative
}

.halfanniv-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.halfanniv-banner__slider--container picture {
    pointer-events: all
}

.halfanniv-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__slider--container img {
        height: 315px
    }
}

.halfanniv-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__slider--pagination {
        margin-top: 20px
    }
}

.halfanniv-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 1.33333vw;
    height: 1.6vw;
    width: 1.6vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 10px;
        height: 12px;
        width: 12px;
        border-width: 2px
    }
}

.halfanniv-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #2875ff;
    border: none;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .halfanniv-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.halfanniv-message {
    padding: 8vw 0 0;
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .halfanniv-message {
        padding: 60px 0;
        margin-top: 60vh;
        overflow: hidden
    }
}

.halfanniv-message:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-message:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px
    }
}

.halfanniv-message__wrap {
    position: relative;
    background-color: #2875ff;
    width: 100%;
    height: auto;
    padding-bottom: 16vw
}

@media only screen and (min-width:768px) {
    .halfanniv-message__wrap {
        padding-bottom: 117px
    }
}

.halfanniv-message__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    z-index: 1;
    height: 130%;
    top: -15%
}

@media only screen and (min-width:768px) {
    .halfanniv-message__bg {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 1480px
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-message__bg {
        width: 100%
    }
}

.halfanniv-message__bg--leftmisc {
    background: transparent url(../data/webp/half-anniversary/message_bg.png.webp) no-repeat;
    background-size: contain;
    height: 23.2vw;
    width: 19.46667vw;
    position: absolute;
    top: 25.33333vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-message__bg--leftmisc {
        height: 174px;
        width: 146px;
        top: 150px
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-message__bg--leftmisc {
        height: 11.75676vw;
        width: 9.86486vw;
        top: 10.13514vw
    }
}

.halfanniv-message__bg--leftchara {
    background: transparent url(../data/webp/half-anniversary/message_bgchara01.png.webp) no-repeat;
    background-size: contain;
    height: 23.86667vw;
    width: 17.2vw;
    position: absolute;
    bottom: 25.06667vw;
    left: 6.66667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-message__bg--leftchara {
        width: 17.09459vw;
        height: 23.85135vw;
        left: calc(50% - 43.91892vw);
        bottom: 74px
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-message__bg--leftchara {
        width: 253px;
        height: 353px;
        left: calc(50% - 650px)
    }
}

.halfanniv-message__bg--rightmisc {
    background: transparent url(../data/webp/half-anniversary/message_bg.png.webp) no-repeat;
    background-size: contain;
    height: 23.2vw;
    width: 19.46667vw;
    position: absolute;
    bottom: 42.66667vw;
    right: -9.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-message__bg--rightmisc {
        height: 174px;
        width: 146px;
        right: -70px;
        bottom: 180px
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-message__bg--rightmisc {
        height: 11.75676vw;
        width: 9.86486vw;
        right: -4.72973vw;
        bottom: 12.16216vw
    }
}

.halfanniv-message__bg--rightchara {
    background: transparent url(../data/webp/half-anniversary/message_bgchara02.png.webp) no-repeat;
    background-size: contain;
    height: 21.06667vw;
    width: 31.6vw;
    position: absolute;
    top: 17.33333vw;
    right: -8.8vw
}

@media only screen and (min-width:768px) {
    .halfanniv-message__bg--rightchara {
        height: 21.21622vw;
        width: 32.09459vw;
        top: 70px;
        right: auto;
        left: calc(50% + 23.44595vw)
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-message__bg--rightchara {
        height: 314px;
        width: 475px;
        left: calc(50% + 347px)
    }
}

.halfanniv-message__lead {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    color: #fff;
    text-align: center;
    padding: 4vw 15.06667vw 0 17.46667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-message__lead {
        width: 100%;
        max-width: 700px;
        padding: 36px 0 0 0
    }
}

.halfanniv-message__lead--title {
    font-family: "Noto Sans JP Black", sans-serif;
    font-size: 6.4vw;
    padding: 5.46667vw 0;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .halfanniv-message__lead--title {
        font-size: 40px;
        padding: 38px 0 50px 0
    }
}

.halfanniv-message__lead--list {
    font-size: 3.7vw;
    font-weight: 500;
    line-height: 5.8vw
}

@media only screen and (min-width:768px) {
    .halfanniv-message__lead--list {
        line-height: 1.7;
        font-size: 16px
    }
}

.halfanniv-message__lead--txt {
    margin: 0 0 2.4vw 0
}

@media only screen and (min-width:768px) {
    .halfanniv-message__lead--txt {
        margin-bottom: 26px
    }
}

.halfanniv-update {
    padding: 6vw 0;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .halfanniv-update {
        padding: 60px 0
    }
}

.halfanniv-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv-update:before {
        background-image: url(../data/webp/common/img_wave_ltb2_pc.png.webp);
        background-size: 300px auto;
        height: 76px
    }
}

.halfanniv-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-update:after {
        background-image: url(../data/webp/common/img_wave_ltb_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px
    }
}

.halfanniv-update.info {
    margin-top: -5.6vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update.info {
        margin-top: -102px
    }
}

@media only screen and (max-width:767px) {
    .halfanniv-update.info:before {
        background-position: top left 9.33333vw
    }
}

@media only screen and (min-width:768px) {
    .halfanniv-update.info .halfanniv-update__title--h2 {
        width: 700px;
        top: -10px
    }
}

.halfanniv-update.event {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update.event {
        margin-top: 60vh
    }
}

.halfanniv-update.event .halfanniv-update__wrap {
    padding-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update.event .halfanniv-update__wrap {
        padding-top: 70px
    }
}

.halfanniv-update.event .halfanniv-update__title--h2 {
    width: 54.66667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update.event .halfanniv-update__title--h2 {
        width: 410px
    }
}

.halfanniv-update.campaign {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update.campaign {
        margin-top: 60vh
    }
}

.halfanniv-update.campaign .halfanniv-update__wrap {
    padding: 10.53333vw 0 0 0
}

@media only screen and (min-width:768px) {
    .halfanniv-update.campaign .halfanniv-update__wrap {
        padding: 65px 0 0 0
    }
}

.halfanniv-update.campaign .halfanniv-update__title--h2 {
    width: 79.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update.campaign .halfanniv-update__title--h2 {
        width: 595px
    }
}

.halfanniv-update.campaign .halfanniv-update__wrap {
    padding-bottom: 12vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update.campaign .halfanniv-update__wrap {
        padding-bottom: 95px
    }
}

.halfanniv-update__wrap {
    position: relative;
    background-color: #eff6fb;
    width: 100%;
    padding-bottom: 9.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update__wrap {
        padding-bottom: 70px
    }
}

.halfanniv-update__bg {
    background: transparent url(../data/webp/half-anniversary/bg_update.png.webp) repeat-y;
    background-size: cover;
    background-position: center top;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 2.4vw;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv-update__bg {
        width: 100%;
        top: 10px
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-update__bg {
        background-size: cover
    }
}

.halfanniv-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv-update__title--h2 {
        width: 700px
    }
}

.halfanniv-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 81.2vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .halfanniv-update__inner {
        width: 700px
    }
}

.halfanniv-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.halfanniv-update__card {
    position: relative;
    width: 100%;
    padding: 0 6.4vw 5.33333vw 6.13333vw;
    -webkit-clip-path: polygon(0 8.53333vw, 8.53333vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 8.53333vw, 8.53333vw 0, 100% 0, 100% 100%, 0 100%);
    background-color: #fff;
    margin-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update__card {
        padding: 0 88px 40px 96px;
        -webkit-clip-path: polygon(0 123px, 123px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 123px, 123px 0, 100% 0, 100% 100%, 0 100%);
        margin-top: 80px
    }
}

.halfanniv-update__card:before {
    display: block;
    content: "";
    display: block;
    content: "";
    width: 9.86667vw;
    height: 9.86667vw;
    position: absolute;
    background-color: #2875ff;
    -webkit-clip-path: polygon(0 0, 0 0, 9.86667vw 0, 0 9.86667vw, 0 0);
    clip-path: polygon(0 0, 0 0, 9.86667vw 0, 0 9.86667vw, 0 0);
    left: 0;
    top: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv-update__card:before {
        width: 133px;
        height: 133px;
        -webkit-clip-path: polygon(0 0, 0 0, 133px 0, 0 133px, 0 0);
        clip-path: polygon(0 0, 0 0, 133px 0, 0 133px, 0 0)
    }
}

.halfanniv-update__card:after {
    display: block;
    content: "";
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 12vw 12vw;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv-update__card:after {
        border-width: 0 0 85px 85px
    }
}

.halfanniv-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 6.26667vw;
    line-height: 6vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update__card--title {
        font-size: 30px;
        padding-top: 51px;
        line-height: 40px
    }
}

.halfanniv-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update__card--img {
        margin-top: 22px
    }
}

.halfanniv-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    line-height: 5vw;
    margin-top: 4.13333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update__card--summary {
        font-size: 16px;
        line-height: 28px;
        margin-top: 31px
    }
}

.halfanniv-update__button {
    margin: 5.33333vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.halfanniv-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 500;
    height: 13.33333vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .halfanniv-update__button--item {
        font-size: 14px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.halfanniv-update__button--item:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .halfanniv-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.halfanniv-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.halfanniv-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .halfanniv-update__button--item:hover {
        background-color: #000
    }
}

.halfanniv-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.halfanniv-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .halfanniv-update__button--txt {
        font-size: 16px
    }
}

.halfanniv-download {
    background-color: #fff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.halfanniv-download__store {
    background-color: #fff;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv-download__store {
        margin-top: 0;
        padding: 16px 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.halfanniv-download__store:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-download__store:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.halfanniv-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .halfanniv-download__store .store {
        margin-top: -40px
    }
}

.halfanniv-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.halfanniv-download__store .store-title {
    margin: 0 auto 0 30%;
    width: 45.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv-download__store .store-title {
        width: 371px
    }
}

.halfanniv .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .halfanniv .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.halfanniv .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .halfanniv .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.dolwav-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.dolwav-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden
}

.dolwav-kv__item--bgv {
    background: transparent url(../data/webp/dolwav-day-2023/bg_kv_01_vdo.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 187.06667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media only screen and (min-width:768px) {
    .dolwav-kv__item--bgv {
        background: transparent url(../data/webp/dolwav-day-2023/bg_kv_01.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.dolwav-kv__item--bgv.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 2
}

.dolwav-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 159.46667vw;
    margin-top: -159.46667vw
}

@media only screen and (min-width:768px) {
    .dolwav-kv__item:nth-child(1) {
        margin-top: -59.12162vw;
        height: 64.18919vw
    }
}

.dolwav-kv__item:nth-child(1) .dolwav-kv__item--bg {
    background: transparent url(../data/webp/dolwav-day-2023/img_kv_sp.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 161.86667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav-kv__item:nth-child(1) .dolwav-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2023/img_kv_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.dolwav-kv__item:nth-child(2) {
    z-index: 3
}

@media only screen and (min-width:767px) {
    .dolwav-kv__item:nth-child(2) .dolwav-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2023/bg_kv_01.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.dolwav-kv__item:nth-child(3) {
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav-kv__item:nth-child(3) .dolwav-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2023/bg_kv_02.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.dolwav-kv__item:nth-child(4) {
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav-kv__item:nth-child(4) .dolwav-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2023/bg_kv_03.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.dolwav-kv__item--vdo {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 159.46667vw;
    z-index: 10;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none
}

.dolwav-kv__item--vdo.js--show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: .5s
}

@media only screen and (min-width:768px) {
    .dolwav-kv__item--vdo {
        height: 64.18919vw
    }
}

.dolwav-kv__item--vdo video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dolwav-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .dolwav-kv__sp {
        display: none
    }
}

.dolwav-kv__sparkle {
    position: relative;
    z-index: 1
}

.dolwav-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.dolwav-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.dolwav-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2023/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.dolwav-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2023/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.dolwav-lead {
    position: absolute;
    top: -168vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    width: 100%;
    height: 159.46667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav-lead {
        top: -59.12162vw;
        height: 59.12162vw;
        width: 100%
    }
}

.dolwav-lead__logo {
    margin: 0 auto;
    width: 29.46667vw;
    position: absolute;
    left: 5.06667vw;
    top: 17.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav-lead__logo {
        width: 20.47297vw;
        top: 2.43243vw;
        left: 4.25676vw
    }
}

.dolwav-lead__catch {
    margin: 0 auto;
    width: 89.2vw;
    position: absolute;
    top: 128vw;
    z-index: 3
}

@media only screen and (max-width:767px) {
    .dolwav-lead__catch {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .dolwav-lead__catch {
        width: 42.02703vw;
        top: 42.09459vw;
        left: 2.90541vw
    }
}

.dolwav-menu {
    position: fixed;
    z-index: 10;
    height: 16vw;
    width: 100vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    pointer-events: auto;
    background: #ff81e0;
    background: linear-gradient(0deg, #ff81e0 0, #40cfc2 47%, #ffff27 100%);
    border-radius: 0 0 5.6vw 5.6vw
}

@media only screen and (max-width:767px) {
    .dolwav-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .dolwav-menu {
        bottom: 0;
        right: -.13514vw;
        height: 4.32432vw;
        width: 40.74324vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu {
        right: -2px;
        height: 64px;
        width: 603px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.dolwav-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 98.66667vw;
    height: 14.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 40.40541vw;
        height: 4.05405vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__wrap {
        width: 598px;
        height: 60px
    }
}

.dolwav-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    width: 70.66667vw;
    height: 100%;
    background-color: #fff;
    border-bottom-left-radius: 5.6vw;
    overflow: hidden;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 28.85135vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__list {
        width: 427px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.dolwav-menu__list:after {
    display: block;
    content: "";
    background-image: url(../data/webp/dolwav-day-2023/bg_nav.png.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 70.66667vw;
    height: 14.66667vw;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list:after {
        background-image: url(../data/webp/dolwav-day-2023/bg_nav_pc.png.webp);
        width: 29.05405vw;
        height: 4.05405vw
    }
}

.dolwav-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    z-index: 2;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav-menu__list--items {
        font-size: 20px
    }
}

.dolwav-menu__list--items:not(:first-of-type) {
    padding: 0 6vw
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list--items:not(:first-of-type) {
        padding: 0 2.36486vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__list--items:not(:first-of-type) {
        padding: 0 35px
    }
}

.dolwav-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #000;
    height: 4.66667vw;
    width: .16667vw;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #000;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .dolwav-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.dolwav-menu__list--items:first-of-type {
    padding: 0 3.6vw 0 4.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list--items:first-of-type {
        padding: 0 1.55405vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__list--items:first-of-type {
        padding: 0 23px 0 0
    }
}

.dolwav-menu__list--items:last-of-type {
    padding-left: 4.53333vw;
    padding-right: 4.4vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list--items:last-of-type {
        padding-left: 1.95946vw;
        padding-right: 1.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__list--items:last-of-type {
        padding-left: 29px;
        padding-right: 28px
    }
}

.dolwav-menu__list--btn {
    display: inline-block;
    color: #000
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list--btn {
        transition: color .5s
    }
}

@media only screen and (min-width:768px) {
    .dolwav-menu__list--btn:hover {
        color: #2874ff
    }
}

.dolwav-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #2875ff;
    width: 28.13333vw;
    height: 14.66667vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border: solid .26667vw #2875ff;
    border-bottom-right-radius: 5.6vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .dolwav-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.48649vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__share {
        font-size: 20px;
        height: 60px;
        width: 170px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.dolwav-menu__share--btn {
    color: #fff;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav-menu__share--btn {
        margin-left: 2.02703vw;
        transition: color .3s
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .dolwav-menu__share--btn:hover {
        color: #000
    }
}

.dolwav-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2023/icon_twitter.png.webp) no-repeat;
    background-size: contain;
    width: 5.2vw;
    height: 5.06667vw;
    position: absolute;
    top: 50%;
    left: 2.66667vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .dolwav-menu__share:after {
        width: 2.09459vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__share:after {
        width: 31px;
        height: 30px;
        left: 20px
    }
}

.dolwav-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-menu__jp {
        font-size: 10px
    }
}

.dolwav-animation {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    mix-blend-mode: hard-light;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.dolwav-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .dolwav-animation__prism--upper {
        width: 13.51351vw
    }
}

.dolwav-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .dolwav-animation__prism--lower {
        width: 13.51351vw
    }
}

.dolwav-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .dolwav-animation__reflection--upper {
        width: 20.27027vw
    }
}

.dolwav-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .dolwav-animation__reflection--lower {
        width: 20.27027vw
    }
}

.dolwav-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2023/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.dolwav-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2023/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.dolwav-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2023/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.dolwav-banner {
    background-color: transparent;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.dolwav-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.dolwav-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.dolwav-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .dolwav-banner__bg {
        height: 452px
    }
}

.dolwav-banner__bg--left {
    background: transparent url(../data/webp/dolwav-day-2023/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav-banner__bg--left {
        background-image: url(../data/webp/dolwav-day-2023/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.dolwav-banner__bg--right {
    background: transparent url(../data/webp/dolwav-day-2023/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .dolwav-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.dolwav-banner__slider {
    margin-top: 10.66667vw;
    margin-bottom: 10.66667vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .dolwav-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.dolwav-banner__slider--wrap {
    width: 100%;
    position: relative
}

.dolwav-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .dolwav-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.dolwav-banner__slider--container picture {
    pointer-events: all
}

.dolwav-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .dolwav-banner__slider--container img {
        height: 315px
    }
}

.dolwav-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .dolwav-banner__slider--pagination {
        margin-top: 20px
    }
}

.dolwav-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 3.33333vw;
    height: 1.73333vw;
    width: 1.73333vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .dolwav-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 25px;
        height: 13px;
        width: 13px;
        border-width: 2px
    }
}

.dolwav-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #ffe50a;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .dolwav-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.dolwav-movie {
    background-color: #000;
    height: 56.26667vw;
    width: 100%;
    z-index: 4;
    position: relative;
    margin-top: 168vw;
    margin-bottom: 21.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav-movie {
        width: 18.37838vw;
        height: 10.33784vw;
        margin-top: 0;
        margin-bottom: 0;
        right: 5.33333vw;
        top: -16vw;
        position: absolute;
        z-index: 3
    }
}

.dolwav-movie__bg {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 56.26667vw
}

@media only screen and (min-width:768px) {
    .dolwav-movie__bg {
        width: 18.24324vw;
        height: 12.56757vw
    }
}

.dolwav-movie__inner {
    position: relative;
    background-image: url(../data/webp/dolwav-day-2023/bg_movie.png.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 56.26667vw;
    pointer-events: all;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .dolwav-movie__inner {
        height: 10.33784vw
    }
}

.dolwav-movie__inner:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 14.66667vw;
    width: 100%;
    position: absolute;
    top: -14.66667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav-movie__inner:before {
        display: none
    }
}

.dolwav-movie__inner:after {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -31.46667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav-movie__inner:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .dolwav-movie__inner:hover .dolwav-movie__play {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.dolwav-movie__btn {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5
}

.dolwav-movie__mask {
    background-color: #2875ff;
    width: 100%;
    height: 11.2vw;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav-movie__mask {
        height: 2.2973vw
    }
}

.dolwav-movie__mask--txt {
    color: #fff;
    font-size: 8.53333vw;
    font-weight: 900;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 2.13333vw;
    letter-spacing: .53333vw;
    height: 100%
}

@media only screen and (min-width:768px) {
    .dolwav-movie__mask--txt {
        font-size: 1.62162vw;
        margin-left: 0;
        padding-right: 1.82432vw;
        letter-spacing: .13514vw
    }
}

.dolwav-movie__mask--txt:before {
    display: block;
    content: "";
    display: inline-block;
    background: transparent url(../data/webp/dolwav-day-2023/img_phenio_summer.png.webp) no-repeat;
    background-size: contain;
    width: 8.53333vw;
    height: 9.6vw;
    margin-right: 1.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav-movie__mask--txt:before {
        width: 3.58108vw;
        height: 4.05405vw;
        margin-right: .33784vw;
        margin-top: -1.68919vw
    }
}

.dolwav-movie__mask--txt:after {
    display: block;
    content: "";
    background-color: #000;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    width: 11.06667vw;
    height: 11.06667vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .dolwav-movie__mask--txt:after {
        width: 2.2973vw;
        height: 2.2973vw
    }
}

.dolwav-movie__play {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    height: 43.46667vw;
    width: 31.33333vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .dolwav-movie__play {
        height: 8.91892vw;
        width: 6.55405vw;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s
    }
}

.dolwav-movie__play--text {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .dolwav-movie__play--text {
        font-size: 1.35135vw
    }
}

.dolwav-movie__modal--inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .dolwav-movie__modal--inner {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .dolwav-movie__modal--inner {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .dolwav-movie__modal--item {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .dolwav-movie__modal--item {
        padding: 8.52619vw 0
    }
}

.dolwav-movie__modal--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.dolwav-movie__modal--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.dolwav-movie__modal--close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .dolwav-movie__modal--close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.dolwav-movie__modal--close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav-movie__modal--close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.dolwav-movie__modal--close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav-movie__modal--close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.dolwav-movie__modal--close:active {
    top: 0
}

.dolwav-update {
    padding: 6vw 0;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav-update {
        padding: 60px 0
    }
}

.dolwav-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2023/img_wave_rb_top.png.webp) no-repeat;
    background-size: 100vw auto;
    height: 5.33333vw;
    width: 100%;
    position: absolute;
    top: .8vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav-update:before {
        background-image: url(../data/webp/dolwav-day-2023/img_wave_rb_top_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 52px;
        top: 9px
    }
}

.dolwav-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2023/img_wave_rb_btm.png.webp) no-repeat;
    background-size: contain;
    height: 20vw;
    width: 100%;
    position: absolute;
    bottom: -4vw;
    left: 0;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav-update:after {
        background-image: url(../data/webp/dolwav-day-2023/img_wave_rb_btm_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 90px;
        bottom: 8px
    }
}

.dolwav-update.info {
    margin-top: -5.6vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.info {
        margin-top: 60vh
    }
}

.dolwav-update.info .dolwav-update__title--h2 {
    width: 93.86667vw;
    padding-top: 10.4vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.info .dolwav-update__title--h2 {
        width: 704px;
        padding-top: 86px
    }
}

.dolwav-update.event {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.event {
        margin-top: 60vh
    }
}

@media only screen and (max-width:767px) {
    .dolwav-update.event:after {
        bottom: -1.86667vw
    }
}

.dolwav-update.event .dolwav-update__wrap {
    padding-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.event .dolwav-update__wrap {
        padding-top: 70px
    }
}

.dolwav-update.event .dolwav-update__bg {
    top: 3.2vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.event .dolwav-update__bg {
        top: 34px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-update.event .dolwav-update__bg {
        top: 2.2973vw
    }
}

.dolwav-update.event .dolwav-update__title--h2 {
    width: 81.46667vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.event .dolwav-update__title--h2 {
        width: 611px
    }
}

.dolwav-update.others {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.others {
        margin-top: 60vh;
        padding-bottom: 0
    }
}

.dolwav-update.others:after {
    display: none
}

.dolwav-update.others .dolwav-update__wrap {
    padding: 10.53333vw 0 0 0
}

@media only screen and (min-width:768px) {
    .dolwav-update.others .dolwav-update__wrap {
        padding: 65px 0 0 0
    }
}

.dolwav-update.others .dolwav-update__title--h2 {
    width: 93.6vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.others .dolwav-update__title--h2 {
        width: 702px
    }
}

.dolwav-update.others .dolwav-update__wrap {
    padding-bottom: 13.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.others .dolwav-update__wrap {
        padding-bottom: 95px
    }
}

.dolwav-update.others .dolwav-update__bg {
    top: 1.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav-update.others .dolwav-update__bg {
        top: 20px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-update.others .dolwav-update__bg {
        top: 1.35135vw
    }
}

@media only screen and (min-width:768px) {
    .dolwav-update.others:after {
        display: none
    }
}

.dolwav-update__wrap {
    position: relative;
    background-color: #2875ff;
    width: 100%;
    padding-bottom: 9.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav-update__wrap {
        padding-bottom: 80px;
        overflow: hidden
    }
}

.dolwav-update__bg {
    background: transparent url(../data/webp/dolwav-day-2023/bg_content.png.webp) repeat-y;
    background-size: contain;
    background-position: center top;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 5.33333vw;
    z-index: 1;
    background-color: #2874ff
}

@media only screen and (min-width:768px) {
    .dolwav-update__bg {
        width: 100%;
        top: 40px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-update__bg {
        background-size: cover;
        top: 2.7027vw
    }
}

.dolwav-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav-update__title--h2 {
        width: 700px;
        padding-top: 70, 1480
    }
}

.dolwav-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 81.33333vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .dolwav-update__inner {
        width: 700px
    }
}

.dolwav-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.dolwav-update__card {
    position: relative;
    width: 100%;
    padding: 0 6.4vw 9.33333vw 6.13333vw
}

@media only screen and (min-width:768px) {
    .dolwav-update__card {
        padding: 0 90px 80px 90px
    }
}

.dolwav-update__card:has(.dolwav-update__button) {
    padding-bottom: 5.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav-update__card:has(.dolwav-update__button) {
        padding-bottom: 40px
    }
}

.dolwav-update__card--box {
    background-color: #fff;
    margin-top: 10.53333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav-update__card--box {
        margin-top: 76px
    }
}

@media only screen and (min-width:768px) {
    .dolwav-update__card--box:not(:first-of-type) {
        margin-top: 80px
    }
}

.dolwav-update__card--box:after {
    display: block;
    content: "";
    background-image: url(../data/webp/dolwav-day-2023/img_card_deco.png.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 10.4vw;
    position: absolute;
    bottom: 2.4vw;
    left: 0;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav-update__card--box:after {
        background-image: url(../data/webp/dolwav-day-2023/img_card_deco_pc.png.webp);
        height: 110px;
        bottom: 16px
    }
}

.dolwav-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 3.2vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .dolwav-update__card--title {
        font-size: 26px;
        padding-top: 25px;
        line-height: 1.5
    }
}

.dolwav-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav-update__card--img {
        margin-top: 22px
    }
}

.dolwav-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    margin-top: 1.86667vw;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .dolwav-update__card--summary {
        font-size: 16px;
        margin-top: 31px;
        line-height: 1.8
    }
}

.dolwav-update__daikei--top {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav-update__daikei--top {
        height: 20px
    }
}

.dolwav-update__daikei--bottom {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav-update__daikei--bottom {
        height: 20px
    }
}

.dolwav-update__button {
    margin: 4.8vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.dolwav-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 700;
    height: 10.66667vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .dolwav-update__button--item {
        font-size: 16px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.dolwav-update__button--item:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.dolwav-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .dolwav-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.dolwav-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .dolwav-update__button--item:hover {
        background-color: #000
    }
}

.dolwav-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.dolwav-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .dolwav-update__button--txt {
        font-size: 16px
    }
}

.dolwav-update__chara--left {
    position: absolute;
    z-index: 4;
    width: 48.26667vw;
    top: -10.66667vw;
    right: 0
}

@media only screen and (min-width:768px) {
    .dolwav-update__chara--left {
        width: 853px;
        left: calc(50% - 1061px);
        top: 155px
    }
}

@media only screen and (min-width:768px) {
    .dolwav-update__chara--right {
        position: absolute;
        z-index: 4;
        width: 675px;
        left: calc(50% + 270px);
        top: calc(50% - 112px)
    }
}

@media only screen and (min-width:767px) {
    .dolwav-update__urami {
        position: absolute;
        z-index: 4;
        width: 592px;
        top: 145px;
        left: calc(50% - 842px)
    }
}

@media only screen and (min-width:768px) {
    .dolwav-update__serena {
        position: absolute;
        z-index: 4;
        width: 361px;
        top: calc(50% + 80px);
        left: calc(50% + 375px)
    }
}

@media only screen and (min-width:767px) {
    .dolwav-update__murase {
        position: absolute;
        z-index: 4;
        width: 1135px;
        top: 223px;
        left: calc(50% - 968px)
    }
}

@media only screen and (min-width:767px) {
    .dolwav-update__kurose {
        position: absolute;
        z-index: 4;
        width: 1096px;
        top: calc(50% - 80px);
        left: calc(50% - 70px)
    }
}

.dolwav-download {
    background-color: #fff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.dolwav-download:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2023/img_wave_rbw_top.png.webp) no-repeat;
    background-size: contain;
    height: 5.46667vw;
    width: 100%;
    position: absolute;
    top: -8.8vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav-download:before {
        background-image: url(../data/webp/dolwav-day-2023/img_wave_rbw_top_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 52px;
        top: -50px
    }
}

.dolwav-download__store {
    background-color: #fff;
    position: relative;
    padding-top: 8.8vw
}

@media only screen and (min-width:768px) {
    .dolwav-download__store {
        margin-top: 0;
        padding: 39px 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.dolwav-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .dolwav-download__store .store {
        margin-top: 40px
    }
}

.dolwav-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .dolwav-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.dolwav-download__store .store-title {
    background-color: #2874ff;
    margin: 0 auto;
    font-size: 4.8vw;
    letter-spacing: .53333vw;
    padding: 0 .26667vw .53333vw .8vw;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav-download__store .store-title {
        font-size: 40px;
        letter-spacing: 0;
        line-height: 1;
        padding: 0 0 4px 2px
    }
}

.dolwav .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.dolwav .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.dolwav .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.anniv-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.anniv-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden;
    pointer-events: none
}

.anniv-kv__item--bgv {
    background: transparent url(../data/webp/1st-anniversary/bg_kv_01_vdo.png.webp) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 158.66667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media only screen and (min-width:768px) {
    .anniv-kv__item--bgv {
        background: transparent url(../data/webp/1st-anniversary/bg_kv_01_vdo_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.anniv-kv__item--bgv.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 2
}

.anniv-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 158.66667vw;
    margin-top: -168vw;
    bottom: auto;
    top: 0
}

@media only screen and (min-width:768px) {
    .anniv-kv__item:nth-child(1) {
        margin-top: -59.12162vw;
        height: 64.18919vw
    }
}

.anniv-kv__item:nth-child(1) .anniv-kv__item--bg {
    background: transparent url(../data/webp/1st-anniversary/bg_kv_01_vdo.png.webp) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 158.66667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv-kv__item:nth-child(1) .anniv-kv__item--bg {
        background: transparent url(../data/webp/1st-anniversary/bg_kv_01_vdo_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.anniv-kv__item:nth-child(2) {
    z-index: 3
}

@media only screen and (min-width:767px) {
    .anniv-kv__item:nth-child(2) .anniv-kv__item--bg {
        background: transparent url(../data/webp/1st-anniversary/bg_kv_01.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.anniv-kv__item:nth-child(3) {
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv-kv__item:nth-child(3) .anniv-kv__item--bg {
        background: transparent url(../data/webp/1st-anniversary/bg_kv_02.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.anniv-kv__item:nth-child(4) {
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv-kv__item:nth-child(4) .anniv-kv__item--bg {
        background: transparent url(../data/webp/1st-anniversary/bg_kv_03.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.anniv-kv__item--vdo {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 159.46667vw;
    z-index: 10;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none
}

.anniv-kv__item--vdo.js--show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: .5s
}

@media only screen and (min-width:768px) {
    .anniv-kv__item--vdo {
        height: 64.18919vw
    }
}

.anniv-kv__item--vdo video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.anniv-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .anniv-kv__sp {
        display: none
    }
}

.anniv-kv__sparkle {
    position: relative;
    z-index: 1
}

.anniv-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .anniv-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.anniv-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .anniv-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.anniv-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/common/special/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.anniv-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/common/special/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.anniv-lead {
    position: absolute;
    top: -168vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    width: 100%;
    height: 158.66667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv-lead {
        top: -59.12162vw;
        height: 59.12162vw;
        width: 100%
    }
}

.anniv-lead__logo {
    margin: 0 auto;
    width: 55.06667vw;
    position: absolute;
    left: 50%
}

@media only screen and (max-width:767px) {
    .anniv-lead__logo {
        bottom: 11.33333vw;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv-lead__logo {
        width: 20.54054vw;
        top: 2.5vw;
        left: 4.25676vw
    }
}

.anniv-lead__catch {
    margin: 0 auto;
    width: 74.53333vw;
    position: absolute;
    bottom: 28.53333vw;
    z-index: 2;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .anniv-lead__catch {
        width: 42.02703vw;
        bottom: 3.85135vw
    }
}

.anniv-menu {
    position: fixed;
    height: 14.4vw;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 10;
    border-bottom-left-radius: 4vw;
    border-bottom-right-radius: 4vw;
    pointer-events: auto
}

@media only screen and (max-width:767px) {
    .anniv-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv-menu {
        bottom: 0;
        right: 0;
        height: 4.05405vw;
        width: 41.08108vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu {
        height: 60px;
        width: 608px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.anniv-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

@media only screen and (min-width:768px) {
    .anniv-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.anniv-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    height: 14.4vw;
    width: 71.6vw;
    background-color: #2875ff;
    border-bottom-left-radius: 7.06667vw
}

@media only screen and (min-width:768px) {
    .anniv-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        height: 4.05405vw;
        width: 29.05405vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__list {
        height: 60px;
        width: 430px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.anniv-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .anniv-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv-menu__list--items {
        font-size: 20px
    }
}

.anniv-menu__list--items:not(:first-of-type) {
    padding: 0 5.06667vw
}

@media only screen and (min-width:768px) {
    .anniv-menu__list--items:not(:first-of-type) {
        padding: 0 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__list--items:not(:first-of-type) {
        padding: 0 30px
    }
}

.anniv-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #fff;
    height: 4.66667vw;
    width: .168vw;
    margin: 0;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .anniv-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #fff;
        height: .81081vw;
        width: 1px
    }
}

@media only screen and (min-width:1480px) {
    .anniv-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.anniv-menu__list--items:first-of-type {
    padding: 0 5.06667vw 0 5.06667vw
}

@media only screen and (min-width:768px) {
    .anniv-menu__list--items:first-of-type {
        padding: 0 2.02703vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__list--items:first-of-type {
        padding: 0 30px 0 0
    }
}

.anniv-menu__list--items:last-of-type {
    padding-right: 5.06667vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv-menu__list--items:last-of-type {
        padding-right: 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__list--items:last-of-type {
        padding-right: 30px
    }
}

.anniv-menu__list--btn {
    display: inline-block;
    color: #fff;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .anniv-menu__list--btn:hover {
        color: #000
    }
}

.anniv-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #fff;
    width: 28.53333vw;
    height: 14.4vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border-bottom-right-radius: 7.06667vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .anniv-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 12.16216vw;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__share {
        font-size: 20px;
        height: 60px;
        width: 180px
    }
}

.anniv-menu__share--btn {
    color: #000;
    margin-left: 5.06667vw;
    transition: all .3s
}

@media only screen and (min-width:768px) {
    .anniv-menu__share--btn {
        margin-left: 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .anniv-menu__share--btn:hover {
        color: #1d9bf0
    }
}

.anniv-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_twitter_ce.png) no-repeat;
    background-size: contain;
    width: 5.2vw;
    height: 5.2vw;
    position: absolute;
    top: 50%;
    left: 3.73333vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .anniv-menu__share:after {
        width: 2.09459vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__share:after {
        width: 31px;
        height: 30px;
        left: 20px
    }
}

.anniv-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.6vw
}

@media only screen and (min-width:768px) {
    .anniv-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv-menu__jp {
        font-size: 10px
    }
}

.anniv-animation__wrap {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    mix-blend-mode: hard-light;
    will-change: mix-blend-mode
}

.anniv-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .anniv-animation__prism--upper {
        width: 13.51351vw
    }
}

.anniv-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .anniv-animation__prism--lower {
        width: 13.51351vw
    }
}

.anniv-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .anniv-animation__reflection--upper {
        width: 20.27027vw
    }
}

.anniv-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .anniv-animation__reflection--lower {
        width: 20.27027vw
    }
}

.anniv-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.anniv-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.anniv-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.anniv-animation__confetti {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.anniv-animation__confetti--item {
    width: 4vw;
    height: 4.66667vw;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--item {
        width: 14px;
        height: 16px
    }
}

.anniv-animation__confetti--left {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.anniv-animation__confetti--left .i1 {
    left: 20%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i1 {
        left: 30%;
        -webkit-animation-delay: 1.8s;
        animation-delay: 1.8s
    }
}

.anniv-animation__confetti--left .i2 {
    left: 14%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 7.5s;
    animation-delay: 7.5s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i2 {
        left: 27%;
        -webkit-animation-delay: 9.5s;
        animation-delay: 9.5s
    }
}

.anniv-animation__confetti--left .i3 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i3 {
        left: 6%;
        -webkit-animation-delay: 1.3s;
        animation-delay: 1.3s
    }
}

.anniv-animation__confetti--left .i4 {
    left: 15%;
    -webkit-animation: confettiLeft3 linear infinite;
    animation: confettiLeft3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i4 {
        left: 28%;
        -webkit-animation-delay: 3.5s;
        animation-delay: 3.5s
    }
}

.anniv-animation__confetti--left .i5 {
    left: 15%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 4.5s;
    animation-delay: 4.5s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i5 {
        left: 35%;
        -webkit-animation-delay: 6s;
        animation-delay: 6s
    }
}

.anniv-animation__confetti--left .i6 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 8.5s;
    animation-delay: 8.5s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i6 {
        left: 36%;
        -webkit-animation-delay: 11.5s;
        animation-delay: 11.5s
    }
}

.anniv-animation__confetti--left .i7 {
    left: 20%;
    -webkit-animation: confettiLeft3 linear infinite;
    animation: confettiLeft3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i7 {
        left: 14%;
        -webkit-animation-delay: 0s;
        animation-delay: 0s
    }
}

.anniv-animation__confetti--left .i8 {
    left: 14%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 5.9s;
    animation-delay: 5.9s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i8 {
        left: 6%;
        -webkit-animation-delay: 4.5s;
        animation-delay: 4.5s
    }
}

.anniv-animation__confetti--left .i9 {
    left: 13%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 10s;
    animation-delay: 10s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i9 {
        left: 15%;
        -webkit-animation-delay: 7.8s;
        animation-delay: 7.8s
    }
}

.anniv-animation__confetti--left .i10 {
    left: 30%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 12s;
    animation-delay: 12s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i10 {
        left: 10%;
        -webkit-animation-delay: 10.5s;
        animation-delay: 10.5s
    }
}

.anniv-animation__confetti--left .i11 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 13.5s;
    animation-delay: 13.5s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--left .i11 {
        left: 50%;
        -webkit-animation-delay: 13.5s;
        animation-delay: 13.5s
    }
}

.anniv-animation__confetti--right {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0
}

.anniv-animation__confetti--right .i1 {
    right: 20%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i1 {
        right: 30%;
        -webkit-animation-delay: 3.4s;
        animation-delay: 3.4s
    }
}

.anniv-animation__confetti--right .i2 {
    right: 30%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 10s;
    animation-delay: 10s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i2 {
        right: 10%;
        -webkit-animation-delay: 10.4s;
        animation-delay: 10.4s
    }
}

.anniv-animation__confetti--right .i3 {
    right: 10%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 4s;
    animation-delay: 4s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i3 {
        right: 6%
    }
}

.anniv-animation__confetti--right .i4 {
    right: 6%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i4 {
        right: 18%;
        -webkit-animation-delay: 7s;
        animation-delay: 7s
    }
}

.anniv-animation__confetti--right .i5 {
    right: 30%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 13s;
    animation-delay: 13s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i5 {
        right: 20%;
        -webkit-animation-delay: 12s;
        animation-delay: 12s
    }
}

.anniv-animation__confetti--right .i6 {
    right: 14%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 16s;
    animation-delay: 16s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i6 {
        right: 36%;
        -webkit-animation-delay: 14.4s;
        animation-delay: 14.4s
    }
}

.anniv-animation__confetti--right .i7 {
    right: 10%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i7 {
        right: 14%;
        -webkit-animation-delay: 2s;
        animation-delay: 2s
    }
}

.anniv-animation__confetti--right .i8 {
    right: 10%;
    -webkit-animation: confettiRight2 linear infinite;
    animation: confettiRight2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 8s;
    animation-delay: 8s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i8 {
        right: 6%;
        -webkit-animation-delay: 6.4s;
        animation-delay: 6.4s
    }
}

.anniv-animation__confetti--right .i9 {
    right: 20%;
    -webkit-animation: confettiRight2 linear infinite;
    animation: confettiRight2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 20s;
    animation-delay: 20s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i9 {
        right: 30%;
        -webkit-animation-delay: 8.4s;
        animation-delay: 8.4s
    }
}

.anniv-animation__confetti--right .i10 {
    right: 30%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 22s;
    animation-delay: 22s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i10 {
        right: 6%;
        -webkit-animation-delay: 14s;
        animation-delay: 14s
    }
}

.anniv-animation__confetti--right .i11 {
    right: 10%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 26s;
    animation-delay: 26s
}

@media only screen and (min-width:768px) {
    .anniv-animation__confetti--right .i11 {
        right: 50%;
        -webkit-animation-delay: 15s;
        animation-delay: 15s
    }
}

.anniv-banner {
    background-color: transparent;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .anniv-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.anniv-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.anniv-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.anniv-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .anniv-banner__bg {
        height: 452px
    }
}

.anniv-banner__bg--left {
    background: transparent url(../data/webp/common/special/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv-banner__bg--left {
        background-image: url(../data/webp/common/special/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.anniv-banner__bg--right {
    background: transparent url(../data/webp/common/special/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .anniv-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.anniv-banner__slider {
    margin-top: 10.66667vw;
    margin-bottom: 10.66667vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .anniv-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.anniv-banner__slider--wrap {
    width: 100%;
    position: relative
}

.anniv-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .anniv-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.anniv-banner__slider--container picture {
    pointer-events: all
}

.anniv-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .anniv-banner__slider--container img {
        height: 315px
    }
}

.anniv-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .anniv-banner__slider--pagination {
        margin-top: 20px
    }
}

.anniv-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 3.33333vw;
    height: 1.73333vw;
    width: 1.73333vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .anniv-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 25px;
        height: 13px;
        width: 13px;
        border-width: 2px
    }
}

.anniv-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #ffe50a;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .anniv-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.anniv-movie {
    background-color: #000;
    height: 56.26667vw;
    width: 100%;
    z-index: 4;
    position: relative;
    margin-top: 168vw;
    margin-bottom: 21.33333vw
}

@media only screen and (min-width:768px) {
    .anniv-movie {
        width: 18.37838vw;
        height: 10.33784vw;
        margin-top: 0;
        margin-bottom: 0;
        right: 5.33333vw;
        top: -16vw;
        position: absolute;
        z-index: 3
    }
}

.anniv-movie__bg {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 56.26667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv-movie__bg {
        width: 18.24324vw;
        height: 12.56757vw
    }
}

.anniv-movie__inner {
    position: relative;
    background-image: url(../data/webp/1st-anniversary/bg_movie.png.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 56.26667vw;
    pointer-events: all;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .anniv-movie__inner {
        height: 10.33784vw
    }
}

.anniv-movie__inner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 14.66667vw;
    width: 100%;
    position: absolute;
    top: -14.66667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv-movie__inner:before {
        display: none
    }
}

.anniv-movie__inner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -31.46667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv-movie__inner:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .anniv-movie__inner:hover .anniv-movie__play {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.anniv-movie__btn {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5
}

.anniv-movie__mask {
    background-color: #2875ff;
    width: 100%;
    height: 11.2vw;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .anniv-movie__mask {
        height: 2.2973vw
    }
}

.anniv-movie__mask--txt {
    color: #fff;
    font-size: 6vw;
    font-weight: 900;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 2.13333vw;
    letter-spacing: .53333vw;
    height: 100%
}

@media only screen and (min-width:768px) {
    .anniv-movie__mask--txt {
        font-size: 1.21622vw;
        margin-left: 0;
        padding-right: 1.82432vw;
        letter-spacing: .13514vw
    }
}

.anniv-movie__mask--txt:before {
    display: block;
    content: "";
    display: inline-block;
    background: transparent url(../data/webp/1st-anniversary/img_phenio.png.webp) no-repeat;
    background-size: contain;
    width: 8.53333vw;
    height: 9.6vw;
    margin-right: 1.33333vw
}

@media only screen and (min-width:768px) {
    .anniv-movie__mask--txt:before {
        width: 3.58108vw;
        height: 4.05405vw;
        margin-right: .33784vw;
        margin-top: -1.68919vw
    }
}

.anniv-movie__mask--txt:after {
    display: block;
    content: "";
    background-color: #000;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    width: 11.06667vw;
    height: 11.06667vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .anniv-movie__mask--txt:after {
        width: 2.2973vw;
        height: 2.2973vw
    }
}

.anniv-movie__play {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    height: 43.46667vw;
    width: 31.33333vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .anniv-movie__play {
        height: 8.91892vw;
        width: 6.55405vw;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s
    }
}

.anniv-movie__play--text {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .anniv-movie__play--text {
        font-size: 1.35135vw
    }
}

.anniv-movie__modal--inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .anniv-movie__modal--inner {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .anniv-movie__modal--inner {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .anniv-movie__modal--item {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .anniv-movie__modal--item {
        padding: 8.52619vw 0
    }
}

.anniv-movie__modal--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.anniv-movie__modal--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.anniv-movie__modal--close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .anniv-movie__modal--close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.anniv-movie__modal--close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv-movie__modal--close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.anniv-movie__modal--close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv-movie__modal--close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.anniv-movie__modal--close:active {
    top: 0
}

.anniv-update {
    padding-bottom: 6vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv-update {
        padding-bottom: 60px
    }
}

.anniv-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv-update:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.anniv-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv-update:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: 16px
    }
}

.anniv-update.info {
    margin-top: -6.66667vw
}

@media only screen and (min-width:768px) {
    .anniv-update.info {
        margin-top: 74vh
    }
}

.anniv-update.info .anniv-update__title--h2 {
    width: 94vw;
    padding-top: 19.46667vw
}

@media only screen and (min-width:768px) {
    .anniv-update.info .anniv-update__title--h2 {
        width: 705px;
        padding-top: 58px
    }
}

@media only screen and (min-width:768px) {
    .anniv-update.event {
        margin-top: 74vh
    }
}

@media only screen and (max-width:767px) {
    .anniv-update.event:after {
        bottom: -1.86667vw
    }
}

.anniv-update.event .anniv-update__wrap {
    padding-top: 19.46667vw
}

@media only screen and (min-width:768px) {
    .anniv-update.event .anniv-update__wrap {
        padding-top: 58px
    }
}

.anniv-update.event .anniv-update__title--h2 {
    width: 68.13333vw
}

@media only screen and (min-width:768px) {
    .anniv-update.event .anniv-update__title--h2 {
        width: 511px
    }
}

@media only screen and (min-width:768px) {
    .anniv-update.others {
        margin-top: 74vh;
        padding-bottom: 0
    }
}

.anniv-update.others:after {
    display: none
}

.anniv-update.others .anniv-update__wrap {
    padding-top: 19.33333vw
}

@media only screen and (min-width:768px) {
    .anniv-update.others .anniv-update__wrap {
        padding-top: 58px;
        padding-bottom: 226px
    }
}

.anniv-update.others .anniv-update__title--h2 {
    width: 78.26667vw
}

@media only screen and (min-width:768px) {
    .anniv-update.others .anniv-update__title--h2 {
        width: 587px
    }
}

@media only screen and (min-width:768px) {
    .anniv-update.others:after {
        display: none
    }
}

.anniv-update__wrap {
    background-color: #fff;
    width: 100%;
    padding-bottom: 12.53333vw;
    position: relative;
    z-index: 2;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .anniv-update__wrap {
        padding-bottom: 100px
    }
}

.anniv-update__wrap:after,
.anniv-update__wrap:before {
    content: "";
    display: block;
    background: transparent url(../data/webp/1st-anniversary/img_parts.png.webp) no-repeat;
    background-size: contain;
    width: 44.8vw;
    height: 13.73333vw;
    position: absolute;
    top: 1.6vw;
    pointer-events: none;
    z-index: 2
}

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

    .anniv-update__wrap:after,
    .anniv-update__wrap:before {
        background-image: url(../data/webp/1st-anniversary/img_parts_pc.png.webp);
        width: 1034px;
        height: 408px;
        top: 12px
    }
}

.anniv-update__wrap:before {
    left: 0;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

@media only screen and (min-width:768px) {
    .anniv-update__wrap:before {
        left: calc(50% + 370px)
    }
}

@media only screen and (max-width:767px) {
    .anniv-update__wrap:after {
        right: 0
    }
}

@media only screen and (min-width:768px) {
    .anniv-update__wrap:after {
        left: calc(50% - 1404px)
    }
}

.anniv-update__bg {
    background: transparent url(../data/webp/1st-anniversary/bg_content.png.webp) repeat-y;
    background-size: contain;
    background-position: center top;
    height: 100%;
    width: 100%;
    pointer-events: none;
    position: absolute;
    top: 4.8vw;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .anniv-update__bg {
        width: 100%;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:1481px) {
    .anniv-update__bg {
        background-size: 100vw auto
    }
}

.anniv-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv-update__title--h2 {
        width: 700px
    }
}

.anniv-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 82.13333vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .anniv-update__inner {
        width: 700px
    }
}

.anniv-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.anniv-update__card {
    position: relative;
    width: 100%;
    padding: 0 6.4vw 5.33333vw 6.13333vw
}

@media only screen and (min-width:768px) {
    .anniv-update__card {
        padding: 0 90px 40px 90px
    }
}

.anniv-update__card:before {
    display: block;
    content: "";
    border-top: solid .4vw #2875ff;
    border-left: solid .4vw #2875ff;
    width: 22.93333vw;
    height: 23.2vw;
    position: absolute;
    top: -.4vw;
    left: -.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv-update__card:before {
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        width: 177px;
        height: 177px;
        top: -2px;
        left: -2px
    }
}

.anniv-update__card:after {
    display: block;
    content: "";
    border-bottom: solid .4vw #2875ff;
    border-right: solid .4vw #2875ff;
    width: 22.93333vw;
    height: 23.2vw;
    position: absolute;
    bottom: -.4vw;
    right: -.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv-update__card:after {
        border-bottom: solid 2px #2875ff;
        border-right: solid 2px #2875ff;
        width: 177px;
        height: 177px;
        bottom: -2px;
        right: -2px
    }
}

.anniv-update__card--box {
    border: solid .4vw #c5b000;
    background-color: #fff;
    margin-top: 11.73333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv-update__card--box {
        border: solid 2px #c5b000;
        margin-top: 76px
    }
}

@media only screen and (min-width:768px) {
    .anniv-update__card--box:not(:first-of-type) {
        margin-top: 80px
    }
}

.anniv-update__card--box:before {
    display: block;
    content: "";
    background-image: url(../img/1st-anniversary/img_badge.png);
    background-position: center;
    background-size: contain;
    width: 11.46667vw;
    height: 13.06667vw;
    position: absolute;
    top: -.93333vw;
    right: -1.6vw
}

@media only screen and (min-width:768px) {
    .anniv-update__card--box:before {
        width: 127px;
        height: 144px;
        top: -12px;
        right: -19px
    }
}

.anniv-update__card--box:after {
    display: block;
    content: "";
    background-image: url(../data/webp/1st-anniversary/img_card_deco.png.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: 85.86667vw;
    height: 13.2vw;
    position: absolute;
    bottom: -2.26667vw;
    left: 50%;
    pointer-events: none
}

@media only screen and (max-width:767px) {
    .anniv-update__card--box:after {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv-update__card--box:after {
        background-image: url(../data/webp/1st-anniversary/img_card_deco_pc.png.webp);
        width: 733px;
        height: 98px;
        bottom: -15px;
        left: -19px
    }
}

.anniv-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 5.33333vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .anniv-update__card--title {
        font-size: 26px;
        padding-top: 45px;
        line-height: 1.5
    }
}

.anniv-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .anniv-update__card--img {
        margin-top: 22px
    }
}

.anniv-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    margin-top: 1.86667vw;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .anniv-update__card--summary {
        font-size: 16px;
        margin-top: 31px;
        line-height: 1.8
    }
}

.anniv-update__daikei--top {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv-update__daikei--top {
        height: 20px
    }
}

.anniv-update__daikei--bottom {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv-update__daikei--bottom {
        height: 20px
    }
}

.anniv-update__button {
    margin: 4.8vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .anniv-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.anniv-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 700;
    height: 10.66667vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .anniv-update__button--item {
        font-size: 16px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.anniv-update__button--item:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.anniv-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .anniv-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.anniv-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .anniv-update__button--item:hover {
        background-color: #000
    }
}

.anniv-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.anniv-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .anniv-update__button--txt {
        font-size: 16px
    }
}

.anniv-download {
    background-color: #2875ff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .anniv-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.anniv-download:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv-download:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.anniv-download__store {
    background-color: #2875ff;
    position: relative;
    padding-top: 8.8vw
}

@media only screen and (min-width:768px) {
    .anniv-download__store {
        margin-top: 0;
        padding: 39px 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.anniv-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .anniv-download__store .store {
        margin-top: 40px
    }
}

.anniv-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .anniv-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.anniv-download__store .store .game-details__img {
    background-color: #fff;
    width: 27.06667vw;
    height: 27.06667vw;
    padding: 2.66667vw
}

@media only screen and (min-width:768px) {
    .anniv-download__store .store .game-details__img {
        width: 120px;
        height: 120px;
        padding: 10px
    }
}

.anniv-download__store .store .game-details__list--ttl .title-bg {
    background-color: #2875ff
}

.anniv-download__store .store-title {
    background-color: #fff;
    color: #2875ff;
    margin: 0 auto;
    font-size: 4.8vw;
    letter-spacing: .53333vw;
    padding: 0 .26667vw .53333vw .8vw;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv-download__store .store-title {
        font-size: 40px;
        letter-spacing: 0;
        line-height: 1;
        padding: 0 0 4px 2px
    }
}

.anniv .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .anniv .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.anniv .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .anniv .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.anniv .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .anniv .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.collab-kv {
    width: 100%;
    position: relative;
    overflow: hidden;
    z-index: 2
}

.collab-kv:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/bg_kv.jpg.webp) no-repeat;
    background-size: contain;
    background-position: top center;
    width: 100%;
    height: 164.13333vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-kv:before {
        background-image: url(../data/webp/collab/doaxvv2024/bg_kv_pc.jpg.webp);
        height: 57.5vw
    }
}

.collab-kv__wrap {
    width: 100vw;
    height: 164.13333vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-kv__wrap {
        width: 100vw;
        height: 57.5vw
    }

    .collab-kv__wrap:after {
        display: block;
        content: "";
        pointer-events: none;
        background: #98e9ec;
        width: 100%;
        position: absolute;
        left: 0;
        z-index: 1;
        background: linear-gradient(180deg, rgba(149, 229, 254, 0) 0, rgba(149, 229, 254, .2) 10%, #95e5fe 30%, #95e5fe 50%, #95e5fe 80%, rgba(149, 229, 254, .2) 90%, rgba(149, 229, 254, 0) 100%);
        bottom: -6.75676vw;
        height: 27.5vw
    }
}

.collab-kv__bg {
    width: 100vw;
    height: 164.13333vw;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-kv__bg {
        width: 100vw;
        height: 57.5vw
    }
}

.collab-kv__bg--ray {
    width: 100%;
    height: 153.2vw;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .collab-kv__bg--ray {
        height: 55.27027vw
    }
}

.collab-kv__bg--ray.r1 {
    background-image: url(../data/webp/collab/doaxvv2024/bg_ray_1.png.webp);
    -webkit-animation: ray 1.8s linear -.5s infinite;
    animation: ray 1.8s linear -.5s infinite
}

@media only screen and (min-width:768px) {
    .collab-kv__bg--ray.r1 {
        background-image: url(../data/webp/collab/doaxvv2024/bg_ray_1_pc.png.webp)
    }
}

.collab-kv__bg--ray.r2 {
    background-image: url(../data/webp/collab/doaxvv2024/bg_ray_2.png.webp);
    -webkit-animation: ray 1.8s linear 0s infinite;
    animation: ray 1.8s linear 0s infinite
}

@media only screen and (min-width:768px) {
    .collab-kv__bg--ray.r2 {
        background-image: url(../data/webp/collab/doaxvv2024/bg_ray_2_pc.png.webp)
    }
}

.collab-kv__bg--ray.r3 {
    background-image: url(../data/webp/collab/doaxvv2024/bg_ray_3.png.webp);
    -webkit-animation: ray 1.8s linear .5s infinite;
    animation: ray 1.8s linear .5s infinite
}

@media only screen and (min-width:768px) {
    .collab-kv__bg--ray.r3 {
        background-image: url(../data/webp/collab/doaxvv2024/bg_ray_3_pc.png.webp)
    }
}

.collab-kv__bg--ray.r4 {
    background-image: url(../data/webp/collab/doaxvv2024/bg_ray_4.png.webp);
    -webkit-animation: ray 1.8s linear 1s infinite;
    animation: ray 1.8s linear 1s infinite
}

@media only screen and (min-width:768px) {
    .collab-kv__bg--ray.r4 {
        background-image: url(../data/webp/collab/doaxvv2024/bg_ray_4_pc.png.webp)
    }
}

.collab-kv__chara {
    width: 100%;
    padding-top: 3.73333vw
}

@media only screen and (min-width:768px) {
    .collab-kv__chara {
        padding-top: 2.43243vw
    }
}

.collab-kv__logo {
    width: 53.73333vw;
    height: 80.26667vw;
    position: absolute;
    top: 38.66667vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-kv__logo {
        width: 54.52703vw;
        height: 13.58108vw;
        top: 26.35135vw;
        left: calc(50% + .33784vw)
    }
}

.collab-kv__open {
    width: 100%;
    height: 27.86667vw;
    position: absolute;
    top: 123.33333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-kv__open {
        width: 51.95946vw;
        height: 14.12162vw;
        top: 38.04054vw;
        left: 49.4%
    }
}

.collab-kv__period {
    width: 100%;
    height: 6vw;
    position: absolute;
    top: 153.33333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:768px) {
    .collab-kv__period {
        height: 3.04054vw;
        top: 52.97297vw
    }
}

.collab-kv__period--ttl {
    background-color: #ff2269;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1.6vw .93333vw 1.86667vw
}

@media only screen and (min-width:768px) {
    .collab-kv__period--ttl {
        padding: .81081vw .47297vw .94595vw
    }
}

.collab-kv__period--ttl span {
    display: block;
    color: #fff;
    font-size: 3.2vw;
    font-weight: 900
}

@media only screen and (min-width:768px) {
    .collab-kv__period--ttl span {
        font-size: 1.62162vw
    }
}

.collab-kv__period--date {
    background-color: #fff;
    height: 100%;
    padding: 0 .8vw
}

@media only screen and (min-width:768px) {
    .collab-kv__period--date {
        padding: 0 .47297vw
    }
}

.collab-kv__period--date p {
    color: #ff2269;
    font-family: "Noto Sans JP", sans-serif;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-size: 4.26667vw;
    font-weight: 900;
    margin-top: .4vw
}

@media only screen and (min-width:768px) {
    .collab-kv__period--date p {
        font-size: 2.16216vw;
        margin-top: .13514vw
    }
}

.collab-kv__period--date p span {
    display: inline-block
}

.collab-kv__sparkle {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.collab-kv__sparkle .glitter-1 {
    position: absolute;
    background: transparent url(../data/webp/collab/doaxvv2024/img_kira_m.png.webp) no-repeat;
    background-size: contain;
    width: 9.33333vw;
    height: 9.46667vw
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle .glitter-1 {
        width: 4.72973vw;
        height: 4.7973vw
    }
}

.collab-kv__sparkle .glitter-2 {
    position: absolute;
    background: transparent url(../data/webp/collab/doaxvv2024/img_kira_l.png.webp) no-repeat;
    background-size: contain;
    width: 19.46667vw;
    height: 12.8vw
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle .glitter-2 {
        width: 8.64865vw;
        height: 5.67568vw
    }
}

.collab-kv__sparkle--group {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.collab-kv__sparkle--group.g1 {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s;
    -webkit-animation: blink 1.5s linear infinite;
    animation: blink 1.5s linear infinite
}

.collab-kv__sparkle--group.g1 .i1 {
    top: 88.53333vw;
    left: calc(50% - 10.13333vw)
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g1 .i1 {
        top: 4.32432vw;
        left: calc(50% - 0vw)
    }
}

.collab-kv__sparkle--group.g1 .i2 {
    top: 8vw;
    left: calc(50% + 36.66667vw)
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g1 .i2 {
        top: 2.43243vw;
        left: calc(50% + 9.18919vw)
    }
}

.collab-kv__sparkle--group.g1 .i3 {
    top: 32vw;
    left: calc(50% - 4vw)
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g1 .i4 {
        top: 10.67568vw;
        left: calc(50% - 32.2973vw)
    }
}

.collab-kv__sparkle--group.g2 {
    -webkit-animation: blink 3s linear infinite;
    animation: blink 3s linear infinite
}

.collab-kv__sparkle--group.g2 .i1 {
    top: 86vw;
    left: calc(50% + 37.33333vw)
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g2 .i1 {
        top: 1.82432vw;
        left: calc(50% - 27.09459vw)
    }
}

.collab-kv__sparkle--group.g2 .i2 {
    top: 32.4vw;
    left: 5.33333vw
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g2 .i2 {
        top: 11.35135vw;
        left: calc(50% + 27.90541vw)
    }
}

.collab-kv__sparkle--group.g2 .i3 {
    top: 50.66667vw;
    left: calc(50% + 39.33333vw)
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g2 .i3 {
        top: 20.60811vw;
        left: calc(50% - 2.97297vw)
    }
}

.collab-kv__sparkle--group.g2 .i4 {
    top: .66667vw;
    left: 5.6vw
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g2 .i4 {
        top: 12.5vw;
        left: calc(50% - 3.71622vw)
    }
}

.collab-kv__sparkle--group.g3 {
    -webkit-animation: blink 4.5s linear infinite;
    animation: blink 4.5s linear infinite
}

.collab-kv__sparkle--group.g3 .i1 {
    top: .66667vw;
    left: calc(50% - 3.33333vw)
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g3 .i1 {
        top: 3.10811vw;
        left: calc(50% + 22.02703vw)
    }
}

.collab-kv__sparkle--group.g3 .i2 {
    top: 98.13333vw;
    left: .66667vw
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g3 .i2 {
        top: 7.56757vw;
        left: calc(50% - 5.54054vw)
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g3 .i3 {
        top: 18.71622vw;
        left: calc(50% + 42.43243vw)
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g3 .i4 {
        top: 18.71622vw;
        left: calc(50% - 22.97297vw)
    }
}

.collab-kv__sparkle--group.g3 .i5 {
    top: 59.73333vw;
    left: calc(50% + 29.86667vw)
}

@media only screen and (min-width:768px) {
    .collab-kv__sparkle--group.g3 .i5 {
        top: 21.75676vw;
        left: calc(50% + 24.66216vw)
    }
}

.collab-kv__sparkle--group.g3 .i6 {
    top: 59.33333vw;
    left: -2.66667vw
}

.collab-kv__movie {
    position: relative;
    z-index: 1;
    padding: 12.26667vw 0 18.66667vw
}

@media only screen and (min-width:768px) {
    .collab-kv__movie {
        padding: 5.81081vw 0 3.10811vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie {
        padding: 86px 0 46px
    }
}

.collab-kv__movie:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/bg_movie.jpg.webp) no-repeat;
    background-size: contain;
    background-position: top center;
    width: 100%;
    height: 194vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-kv__movie:before {
        background-image: url(../data/webp/collab/doaxvv2024/bg_movie_pc.jpg.webp);
        background-size: 100vw auto;
        height: 39.45946vw
    }
}

@media only screen and (max-width:767px) {
    .collab-kv__movie:after {
        display: block;
        content: "";
        pointer-events: none;
        background: #98e9ec;
        background: linear-gradient(0deg, rgba(149, 229, 254, 0) 0, #95e5fe 10%, #95e5fe 30%, #95e5fe 50%, #95e5fe 80%, #95e5fe 95%, rgba(149, 229, 254, 0) 100%);
        width: 100%;
        height: 46vw;
        position: absolute;
        top: -20.53333vw;
        left: 0;
        z-index: 1
    }
}

.collab-kv__movie--block {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 100%;
    padding: 0 5.33333vw
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--block {
        padding: 0 6.75676vw;
        width: 81.08108vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--block {
        padding: 0 100px;
        width: 1200px
    }
}

.collab-kv__movie--ttl {
    margin: 3.46667vw auto 0
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--ttl {
        margin-top: 1.55405vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--ttl {
        margin-top: 23px
    }
}

.collab-kv__movie--thumb {
    display: block;
    cursor: pointer;
    pointer-events: all;
    position: relative;
    z-index: 2
}

.collab-kv__movie--thumb span {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 17.73333vw;
    height: 17.2vw;
    padding-top: .8vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--thumb span {
        font-size: 1.21622vw;
        padding-top: .27027vw;
        width: 6.35135vw;
        height: 6.14865vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--thumb span {
        font-size: 18px;
        padding-top: 4px;
        width: 94px;
        height: 91px
    }
}

.collab-kv__movie--thumb span:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_vector_w.png.webp) no-repeat;
    background-size: contain;
    width: 17.73333vw;
    height: 17.2vw;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    opacity: 70%;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--thumb span:after {
        width: 6.35135vw;
        height: 6.14865vw;
        transition: opacity .3s
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--thumb span:after {
        width: 94px;
        height: 91px
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--thumb:hover span:after {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

.collab-kv__movie--item {
    width: 100%
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--item {
        width: 32.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--item {
        width: 474px
    }
}

.collab-kv__movie--item.i1 .collab-kv__movie--ttl {
    width: 69.46667vw
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--item.i1 .collab-kv__movie--ttl {
        width: 28.17568vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--item.i1 .collab-kv__movie--ttl {
        width: 417px
    }
}

.collab-kv__movie--item.i1 .collab-kv__movie--thumb span {
    color: #ff2269
}

.collab-kv__movie--item.i2 {
    margin-top: 12.93333vw
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--item.i2 {
        margin-top: 0;
        margin-left: 3.51351vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--item.i2 {
        margin-left: 52px
    }
}

.collab-kv__movie--item.i2 .collab-kv__movie--ttl {
    width: 69.6vw
}

@media only screen and (min-width:768px) {
    .collab-kv__movie--item.i2 .collab-kv__movie--ttl {
        width: 28.64865vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__movie--item.i2 .collab-kv__movie--ttl {
        width: 424px
    }
}

.collab-kv__movie--item.i2 .collab-kv__movie--thumb span {
    color: #2875ff
}

.collab-kv__menu {
    height: 26.66667vw;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 2;
    pointer-events: auto
}

@media only screen and (min-width:768px) {
    .collab-kv__menu {
        height: 14.18919vw;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu {
        height: 210px;
        z-index: 10
    }
}

.collab-kv__menu--wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%
}

@media only screen and (max-width:767px) {
    .collab-kv__menu--wrap {
        background-color: #f1f6f9
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--wrap {
        padding-top: 4.05405vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--wrap {
        padding-top: 60px
    }
}

.collab-kv__menu--wrap:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_wave_navi.png.webp) no-repeat;
    background-size: cover;
    width: 100%;
    height: 30.93333vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none
}

@media only screen and (max-width:767px) {
    .collab-kv__menu--wrap:before {
        top: -6.93333vw
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--wrap:before {
        background-image: url(../data/webp/collab/doaxvv2024/img_wave_navi_pc.png.webp);
        background-size: contain;
        background-repeat: repeat-x;
        height: 15.74324vw;
        background-position-x: -3.37838vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--wrap:before {
        height: 233px;
        background-position-x: -50px
    }
}

.collab-kv__menu--list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.collab-kv__menu--items {
    background-color: #fff;
    border-radius: 1.46667vw;
    color: #555;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: 26.93333vw;
    height: 12.8vw;
    position: relative;
    z-index: 1;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items {
        border-radius: .74324vw;
        font-size: .67568vw;
        width: 19.59459vw;
        height: 4.66216vw;
        transition: all 250ms;
        will-change: transform
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items {
        border-radius: 11px;
        font-size: 10px;
        width: 290px;
        height: 69px
    }
}

.collab-kv__menu--items:before {
    display: block;
    content: "";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.collab-kv__menu--items:not(:first-of-type) {
    margin-left: 3.06667vw
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items:not(:first-of-type) {
        margin-left: 3.71622vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items:not(:first-of-type) {
        margin-left: 55px
    }
}

.collab-kv__menu--items.i1 {
    color: #ff2269;
    box-shadow: .66667vw 1.06667vw 0 0 #ff76aa
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i1 {
        box-shadow: .2027vw .27027vw 0 0 #ff76aa
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i1 {
        box-shadow: 3px 4px 0 0 #ff76aa
    }
}

.collab-kv__menu--items.i1:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_flower_p.png.webp);
    width: 5.6vw;
    height: 5.6vw;
    top: -1.6vw;
    left: -2.13333vw
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i1:before {
        width: 3.37838vw;
        height: 3.37838vw;
        top: -.94595vw;
        left: -1.28378vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i1:before {
        width: 50px;
        height: 50px;
        top: -14px;
        left: -19px
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i1:hover {
        background-color: #ff2269
    }
}

.collab-kv__menu--items.i2 {
    color: #2875ff;
    box-shadow: .66667vw 1.06667vw 0 0 #80caff
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i2 {
        box-shadow: .2027vw .27027vw 0 0 #80caff
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i2 {
        box-shadow: 3px 4px 0 0 #80caff
    }
}

.collab-kv__menu--items.i2:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_flower_b.png.webp);
    width: 5.6vw;
    height: 5.6vw;
    top: -1.6vw;
    left: -1.6vw
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i2:before {
        width: 3.37838vw;
        height: 3.37838vw;
        top: -.94595vw;
        left: -1.28378vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i2:before {
        width: 50px;
        height: 50px;
        top: -14px;
        left: -19px
    }
}

.collab-kv__menu--items.i2 .collab-kv__menu--jp {
    font-size: 3.73333vw;
    margin-top: 0;
    line-height: 1.1
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i2 .collab-kv__menu--jp {
        line-height: 1;
        font-size: 1.95946vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i2 .collab-kv__menu--jp {
        font-size: 29px
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i2:hover {
        background-color: #2875ff
    }
}

.collab-kv__menu--items.i3 {
    color: #ffaa07;
    box-shadow: .66667vw 1.06667vw 0 0 #ffc75b
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i3 {
        box-shadow: .2027vw .27027vw 0 0 #ffc75b
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i3 {
        box-shadow: 3px 4px 0 0 #ffc75b
    }
}

.collab-kv__menu--items.i3:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_flower_y.png.webp);
    width: 5.46667vw;
    height: 5.46667vw;
    top: -1.6vw;
    left: -1.6vw
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i3:before {
        width: 3.17568vw;
        height: 3.24324vw;
        top: -1.01351vw;
        left: -1.01351vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i3:before {
        width: 47px;
        height: 48px;
        top: -15px;
        left: -15px
    }
}

.collab-kv__menu--items.i3 .collab-kv__menu--jp {
    margin-top: 0;
    font-size: 3.73333vw;
    line-height: 1.1
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i3 .collab-kv__menu--jp {
        font-size: 1.95946vw;
        line-height: 1
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items.i3 .collab-kv__menu--jp {
        font-size: 29px
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items.i3:hover {
        background-color: #ffaa07
    }
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--items:hover {
        color: #fff;
        box-shadow: none;
        -webkit-transform: translate3d(.2027vw, .27027vw, 0);
        transform: translate3d(.2027vw, .27027vw, 0)
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--items:hover {
        -webkit-transform: translate3d(3px, 4px, 0);
        transform: translate3d(3px, 4px, 0)
    }
}

.collab-kv__menu--item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.collab-kv__menu--en {
    font-family: Montserrat, sans-serif;
    font-size: 4vw;
    font-weight: 900;
    line-height: .9;
    width: 100%
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--en {
        font-size: 2.16216vw;
        line-height: 1
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--en {
        font-size: 32px
    }
}

.collab-kv__menu--jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.86667vw;
    font-weight: 900;
    margin-top: .8vw;
    text-align: center;
    line-height: 1
}

@media only screen and (min-width:768px) {
    .collab-kv__menu--jp {
        font-size: .67568vw;
        -webkit-font-feature-settings: "palt";
        -moz-font-feature-settings: "palt";
        font-feature-settings: "palt";
        margin-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-kv__menu--jp {
        font-size: 10px;
        margin-top: 4px
    }
}

.collab-modal__inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .collab-modal__inner {
        width: 67.56757vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-modal__inner {
        width: 1000px
    }
}

@media only screen and (min-width:768px) {
    .collab-modal__item {
        padding: 7.83784vw 0
    }
}

@media only screen and (min-width:1481px) {
    .collab-modal__item {
        padding: 116px 0
    }
}

.collab-modal__iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.collab-modal__iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.collab-modal__close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    pointer-events: all;
    display: block;
    background: transparent url(../data/webp/collab/doaxvv2024/btn_close.png.webp) no-repeat;
    background-size: contain;
    width: 15.73333vw;
    height: 15.2vw;
    padding: 0;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-modal__close {
        width: 7.97297vw;
        height: 7.7027vw;
        top: 0;
        right: auto;
        left: calc(50% + 32.90541vw)
    }
}

@media only screen and (min-width:1481px) {
    .collab-modal__close {
        width: 118px;
        height: 114px;
        left: calc(50% + 487px)
    }
}

.collab-modal__close:active {
    top: -17.33333vw
}

@media only screen and (min-width:768px) {
    .collab-modal__close:active {
        top: 0
    }
}

.collab-menu {
    position: fixed;
    height: 16.26667vw;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 10;
    pointer-events: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(50px);
    transform: translateX(-50%) translateY(50px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
    transition: all .5s
}

.collab-menu.js-show {
    -webkit-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible
}

@media only screen and (min-width:768px) {
    .collab-menu {
        height: 9.86486vw;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu {
        height: 146px;
        z-index: 10
    }
}

.collab-menu__wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%
}

@media only screen and (max-width:767px) {
    .collab-menu__wrap {
        background-color: #f1f6f9
    }
}

@media only screen and (min-width:768px) {
    .collab-menu__wrap {
        padding-top: 4.05405vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__wrap {
        padding-top: 60px
    }
}

.collab-menu__wrap:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_wave_navi.png.webp) no-repeat;
    background-size: cover;
    width: 100%;
    height: 30.93333vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none
}

@media only screen and (max-width:767px) {
    .collab-menu__wrap:before {
        top: -6.93333vw
    }
}

@media only screen and (min-width:768px) {
    .collab-menu__wrap:before {
        background-image: url(../data/webp/collab/doaxvv2024/img_wave_navi_pc.png.webp);
        background-size: contain;
        background-repeat: repeat-x;
        height: 15.74324vw;
        background-position-x: -3.37838vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__wrap:before {
        height: 233px;
        background-position-x: -50px
    }
}

.collab-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.collab-menu__list--items {
    background-color: #fff;
    border-radius: 1.46667vw;
    color: #555;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: 26.93333vw;
    height: 12.8vw;
    position: relative;
    z-index: 1;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items {
        border-radius: .74324vw;
        font-size: .67568vw;
        width: 19.59459vw;
        height: 4.66216vw;
        transition: all .3s;
        will-change: transform
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items {
        border-radius: 11px;
        font-size: 10px;
        width: 290px;
        height: 69px
    }
}

.collab-menu__list--items:before {
    display: block;
    content: "";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.collab-menu__list--items:not(:first-of-type) {
    margin-left: 3.06667vw
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items:not(:first-of-type) {
        margin-left: 3.71622vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items:not(:first-of-type) {
        margin-left: 55px
    }
}

.collab-menu__list--items.i1 {
    color: #ff2269;
    box-shadow: .66667vw 1.06667vw 0 0 #ff76aa
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i1 {
        box-shadow: .2027vw .27027vw 0 0 #ff76aa
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i1 {
        box-shadow: 3px 4px 0 0 #ff76aa
    }
}

.collab-menu__list--items.i1:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_flower_p.png.webp);
    width: 5.6vw;
    height: 5.6vw;
    top: -1.6vw;
    left: -2.13333vw
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i1:before {
        width: 3.37838vw;
        height: 3.37838vw;
        top: -.94595vw;
        left: -1.28378vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i1:before {
        width: 50px;
        height: 50px;
        top: -14px;
        left: -19px
    }
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i1:hover {
        background-color: #ff2269
    }
}

.collab-menu__list--items.i2 {
    color: #2875ff;
    box-shadow: .66667vw 1.06667vw 0 0 #80caff
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i2 {
        box-shadow: .2027vw .27027vw 0 0 #80caff
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i2 {
        box-shadow: 3px 4px 0 0 #80caff
    }
}

.collab-menu__list--items.i2:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_flower_b.png.webp);
    width: 5.6vw;
    height: 5.6vw;
    top: -1.6vw;
    left: -1.6vw
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i2:before {
        width: 3.37838vw;
        height: 3.37838vw;
        top: -.94595vw;
        left: -1.28378vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i2:before {
        width: 50px;
        height: 50px;
        top: -14px;
        left: -19px
    }
}

.collab-menu__list--items.i2 .collab-menu__jp {
    margin-top: 0;
    font-size: 3.73333vw;
    line-height: 1.1
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i2 .collab-menu__jp {
        font-size: 1.95946vw;
        line-height: 1
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i2 .collab-menu__jp {
        font-size: 29px
    }
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i2:hover {
        background-color: #2875ff
    }
}

.collab-menu__list--items.i3 {
    color: #ffaa07;
    box-shadow: .66667vw 1.06667vw 0 0 #ffc75b
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i3 {
        box-shadow: .2027vw .27027vw 0 0 #ffc75b
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i3 {
        box-shadow: 3px 4px 0 0 #ffc75b
    }
}

.collab-menu__list--items.i3:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_flower_y.png.webp);
    width: 5.46667vw;
    height: 5.46667vw;
    top: -1.6vw;
    left: -1.6vw
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i3:before {
        width: 3.17568vw;
        height: 3.24324vw;
        top: -1.01351vw;
        left: -1.01351vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i3:before {
        width: 47px;
        height: 48px;
        top: -15px;
        left: -15px
    }
}

.collab-menu__list--items.i3 .collab-menu__jp {
    margin-top: 0;
    font-size: 3.73333vw;
    line-height: 1.1
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i3 .collab-menu__jp {
        font-size: 1.95946vw;
        line-height: 1
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items.i3 .collab-menu__jp {
        font-size: 29px
    }
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items.i3:hover {
        background-color: #ffaa07
    }
}

@media only screen and (min-width:768px) {
    .collab-menu__list--items:hover {
        color: #fff;
        box-shadow: none;
        -webkit-transform: translate3d(.2027vw, .27027vw, 0);
        transform: translate3d(.2027vw, .27027vw, 0)
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__list--items:hover {
        -webkit-transform: translate3d(3px, 4px, 0);
        transform: translate3d(3px, 4px, 0)
    }
}

.collab-menu__list--item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.collab-menu__en {
    font-family: Montserrat, sans-serif;
    font-size: 4vw;
    font-weight: 900;
    line-height: .9;
    width: 100%
}

@media only screen and (min-width:768px) {
    .collab-menu__en {
        font-size: 2.16216vw;
        line-height: 1
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__en {
        font-size: 32px
    }
}

.collab-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.86667vw;
    font-weight: 900;
    margin-top: .8vw;
    text-align: center;
    line-height: 1
}

@media only screen and (min-width:768px) {
    .collab-menu__jp {
        -webkit-font-feature-settings: "palt";
        -moz-font-feature-settings: "palt";
        font-feature-settings: "palt";
        font-size: .67568vw;
        margin-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-menu__jp {
        font-size: 10px;
        margin-top: 4px
    }
}

.collab-contents {
    position: relative
}

@media only screen and (min-width:768px) {
    .collab-contents {
        margin-top: 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-contents {
        margin-top: 22px
    }
}

.collab-contents:before {
    display: block;
    content: "";
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-contents:before {
        background-color: #f1f6f9;
        width: 100%;
        height: .67568vw;
        position: absolute;
        top: 2.56757vw;
        left: 0;
        z-index: 1
    }
}

@media only screen and (min-width:1481px) {
    .collab-contents:before {
        height: 10px;
        top: 38px
    }
}

.collab-block {
    position: relative;
    z-index: 2;
    padding-top: 8vw;
    margin-top: -8vw
}

@media only screen and (min-width:768px) {
    .collab-block {
        padding-top: 4.05405vw;
        margin-top: -4.05405vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block {
        padding-top: 60px;
        margin-top: -60px
    }
}

.collab-block:before {
    display: block;
    content: "";
    width: 100%;
    background-repeat: repeat-x;
    background-size: contain;
    height: 31.46667vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-block:before {
        background-size: 80.40541vw auto;
        background-position-x: -3.37838vw;
        height: 15.74324vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block:before {
        background-size: 1190px auto;
        background-position-x: -50px;
        height: 233px
    }
}

.collab-block__wrap {
    width: 100%;
    padding: 20.66667vw 0 24vw;
    position: relative;
    z-index: 2;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .collab-block__wrap {
        padding: 6.21622vw 0 9.72973vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__wrap {
        padding: 92px 0 144px
    }
}

.collab-block__wrap:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/bg_canvas.png.webp) repeat;
    background-size: 122.66667vw auto;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-block__wrap:before {
        background-size: contain;
        width: 1480px
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__wrap:before {
        width: 100vw
    }
}

.collab-block__wrap:after {
    display: block;
    content: "";
    background-size: contain;
    background-position: top center;
    background-repeat: repeat;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-block__wrap:after {
        background-size: 100vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__wrap:after {
        background-repeat: repeat-y;
        background-size: 1480px auto
    }
}

.collab-block__inner {
    padding: 0;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-block__inner {
        width: 81.08108vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__inner {
        width: 1200px
    }
}

.collab-block__title {
    margin: 0 auto;
    padding: 0 5.33333vw
}

@media only screen and (min-width:768px) {
    .collab-block__title {
        padding: 0 6.75676vw;
        width: 100%
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__title {
        padding: 0 100px
    }
}

.collab-block__title--main,
.collab-block__title--small {
    display: block
}

.collab-block__title--small {
    font-weight: 900
}

.collab-block__title--small.txt-jp {
    font-size: 2.93333vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .collab-block__title--small.txt-jp {
        font-size: 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__title--small.txt-jp {
        font-size: 22px
    }
}

.collab-block__title--small.txt-en {
    font-size: 4vw
}

@media only screen and (min-width:768px) {
    .collab-block__title--small.txt-en {
        font-size: 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__title--small.txt-en {
        font-size: 30px
    }
}

.collab-block__title--main {
    font-weight: 900;
    margin-top: .8vw
}

@media only screen and (min-width:768px) {
    .collab-block__title--main {
        margin-top: .40541vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__title--main {
        margin-top: 6px
    }
}

.collab-block__title--main.txt-en {
    font-size: 10.66667vw;
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.26667vw
}

@media only screen and (min-width:768px) {
    .collab-block__title--main.txt-en {
        font-size: 5.40541vw;
        letter-spacing: -.06757vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__title--main.txt-en {
        font-size: 80px;
        letter-spacing: -1px
    }
}

.collab-block__title--main.txt-jp {
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-size: 10.13333vw;
    line-height: 1.3
}

@media only screen and (max-width:767px) {
    .collab-block__title--main.txt-jp {
        margin-top: 0
    }
}

@media only screen and (min-width:768px) {
    .collab-block__title--main.txt-jp {
        font-size: 4.18919vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__title--main.txt-jp {
        font-size: 62px
    }
}

.collab-block__title .txt-en {
    font-family: Montserrat, sans-serif
}

.collab-block__title .txt-jp {
    font-family: "Noto Sans JP", sans-serif
}

.collab-block__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 8.53333vw
}

@media only screen and (min-width:768px) {
    .collab-block__list {
        margin-top: 5.40541vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__list {
        margin-top: 80px
    }
}

.collab-block__list--item {
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-block__list--item {
        width: 71.62162vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__list--item {
        width: 1060px
    }
}

.collab-block__list--item:not(:first-of-type) {
    margin-top: 12vw
}

@media only screen and (min-width:768px) {
    .collab-block__list--item:not(:first-of-type) {
        margin-top: 2.97297vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__list--item:not(:first-of-type) {
        margin-top: 44px
    }
}

.collab-block.bl1:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_wave_p.png.webp)
}

@media only screen and (min-width:768px) {
    .collab-block.bl1:before {
        background-image: url(../data/webp/collab/doaxvv2024/img_wave_p_pc.png.webp)
    }
}

.collab-block.bl1 .collab-block__wrap:after {
    background-image: url(../data/webp/collab/doaxvv2024/bg_title_p.png.webp)
}

.collab-block.bl1 .collab-block__title {
    color: #ff2269
}

@media only screen and (min-width:768px) {
    .collab-block.bl1 .collab-block__title {
        padding-left: 6.08108vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl1 .collab-block__title {
        padding-left: 90px
    }
}

.collab-block.bl2:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_wave_b.png.webp);
    width: 100%
}

@media only screen and (min-width:768px) {
    .collab-block.bl2:before {
        background-image: url(../data/webp/collab/doaxvv2024/img_wave_b_pc.png.webp)
    }
}

.collab-block.bl2 .collab-block__wrap:after {
    background-image: url(../data/webp/collab/doaxvv2024/bg_title_b.png.webp)
}

@media only screen and (min-width:768px) {
    .collab-block.bl2 .collab-block__wrap {
        padding: 8.78378vw 0 9.72973vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl2 .collab-block__wrap {
        padding: 130px 0 144px
    }
}

.collab-block.bl2 .collab-block__title {
    color: #2875ff
}

@media only screen and (max-width:767px) {
    .collab-block.bl2 .collab-block__title {
        margin-left: -1.6vw
    }
}

@media only screen and (min-width:768px) {
    .collab-block.bl2 .collab-block__title {
        padding-left: 21.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl2 .collab-block__title {
        padding-left: 324px
    }
}

.collab-block.bl2 .collab-block__title--small {
    padding-left: 1.6vw
}

@media only screen and (min-width:768px) {
    .collab-block.bl2 .collab-block__title--small {
        padding-left: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl2 .collab-block__title--small {
        padding-left: 10px
    }
}

.collab-block.bl3:before {
    background-image: url(../data/webp/collab/doaxvv2024/img_wave_y.png.webp);
    width: 100%
}

@media only screen and (min-width:768px) {
    .collab-block.bl3:before {
        background-image: url(../data/webp/collab/doaxvv2024/img_wave_y_pc.png.webp)
    }
}

.collab-block.bl3 .collab-block__wrap {
    padding-bottom: 34vw
}

@media only screen and (min-width:768px) {
    .collab-block.bl3 .collab-block__wrap {
        padding: 8.24324vw 0 16.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl3 .collab-block__wrap {
        padding: 122px 0 250px
    }
}

.collab-block.bl3 .collab-block__wrap:after {
    background-image: url(../data/webp/collab/doaxvv2024/bg_title_y.png.webp)
}

.collab-block.bl3 .collab-block__title {
    color: #ffaa07
}

@media only screen and (max-width:767px) {
    .collab-block.bl3 .collab-block__title {
        margin-left: -1.33333vw
    }
}

@media only screen and (min-width:768px) {
    .collab-block.bl3 .collab-block__title {
        padding-left: 22.16216vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl3 .collab-block__title {
        padding-left: 328px
    }
}

.collab-block.bl3 .collab-block__title--small {
    padding-left: .8vw
}

@media only screen and (min-width:768px) {
    .collab-block.bl3 .collab-block__title--small {
        padding-left: .33784vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl3 .collab-block__title--small {
        padding-left: 5px
    }
}

.collab-block.bl3 .collab-block__list--item:not(:first-of-type) {
    margin-top: 18.93333vw
}

@media only screen and (min-width:768px) {
    .collab-block.bl3 .collab-block__list--item:not(:first-of-type) {
        margin-top: 6.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block.bl3 .collab-block__list--item:not(:first-of-type) {
        margin-top: 102px
    }
}

.collab-block__notes {
    padding: 5.33333vw 5.33333vw 0
}

@media only screen and (min-width:768px) {
    .collab-block__notes {
        padding: 2.7027vw 6.75676vw 0
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__notes {
        padding: 40px 100px 0
    }
}

.collab-block__notes--txt {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.66667vw;
    font-weight: 400
}

@media only screen and (min-width:768px) {
    .collab-block__notes--txt {
        font-size: 1.08108vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__notes--txt {
        font-size: 16px
    }
}

.collab-block__notes--txt:not(:first-of-type) {
    margin-top: 3.2vw
}

@media only screen and (min-width:768px) {
    .collab-block__notes--txt:not(:first-of-type) {
        margin-top: .47297vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-block__notes--txt:not(:first-of-type) {
        margin-top: 7px
    }
}

.collab-block__notes--txt a {
    display: inline-block;
    color: #2875ff;
    border-bottom: solid .26667vw #2875ff
}

@media only screen and (min-width:768px) {
    .collab-block__notes--txt a {
        border-bottom: solid 1px #2875ff
    }
}

.collab-cp {
    background-color: #fff;
    border-radius: 3.6vw;
    border: 1.06667vw solid #ffaa07;
    color: #000;
    margin: 0 auto;
    padding: 6.13333vw 5.06667vw 7.73333vw;
    width: 89.33333vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-cp {
        border-radius: .87838vw;
        border: .27027vw solid #ffaa07;
        padding: 3.85135vw 6.41892vw 4.93243vw;
        width: 67.56757vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp {
        border-radius: 13px;
        border: 4px solid #ffaa07;
        padding: 57px 95px 73px;
        width: 1000px
    }
}

.collab-cp:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_flower_bl_1.png.webp) no-repeat;
    background-size: contain;
    width: 20.13333vw;
    height: 17.86667vw;
    position: absolute;
    top: -5.33333vw;
    left: -4.93333vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-cp:before {
        width: 10.33784vw;
        height: 9.12162vw;
        top: -2.77027vw;
        left: -2.2973vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp:before {
        width: 153px;
        height: 135px;
        top: -41px;
        left: -34px
    }
}

.collab-cp:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_flower_bl_2.png.webp) no-repeat;
    background-size: contain;
    width: 14.93333vw;
    height: 16.26667vw;
    position: absolute;
    bottom: -4.66667vw;
    right: -4.66667vw;
    pointer-events: none;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-cp:after {
        width: 7.7027vw;
        height: 8.37838vw;
        bottom: -2.90541vw;
        right: -2.2973vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp:after {
        width: 114px;
        height: 124px;
        bottom: -43px;
        right: -34px
    }
}

.collab-cp__ttl {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 6.66667vw;
    font-weight: 900;
    line-height: 1.4;
    margin-bottom: 5.33333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__ttl {
        font-size: 2.7027vw;
        margin-bottom: 2.43243vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__ttl {
        font-size: 40px;
        margin-bottom: 36px
    }
}

.collab-cp__ttl span {
    display: inline-block
}

@media only screen and (min-width:768px) {
    .collab-cp__ttl span {
        font-size: 3.37838vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__ttl span {
        font-size: 50px
    }
}

.collab-cp__txt {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.73333vw;
    font-weight: 700;
    line-height: 1.7
}

@media only screen and (min-width:768px) {
    .collab-cp__txt {
        font-size: 1.35135vw;
        line-height: 1.8
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__txt {
        font-size: 20px
    }
}

.collab-cp__list {
    margin-top: 6.13333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__list {
        margin-top: 2.43243vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__list {
        margin-top: 36px
    }
}

.collab-cp__list li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.collab-cp__list li:not(:first-of-type) {
    margin-top: .53333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__list li:not(:first-of-type) {
        margin-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__list li:not(:first-of-type) {
        margin-top: 4px
    }
}

.collab-cp__list li:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_vector_y.png.webp) no-repeat;
    background-size: contain;
    background-position: center;
    width: 3.2vw;
    height: 3.06667vw;
    margin-top: 1.33333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__list li:before {
        width: 1.48649vw;
        height: 1.41892vw;
        margin-top: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__list li:before {
        width: 22px;
        height: 21px;
        margin-top: 10px
    }
}

.collab-cp__list li p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.73333vw;
    font-weight: 900;
    line-height: 1.5;
    margin-left: 1.33333vw;
    width: calc(100% - 4.53333vw)
}

@media only screen and (min-width:768px) {
    .collab-cp__list li p {
        font-size: 1.68919vw;
        margin-left: .47297vw;
        width: calc(100% - 1.95946vw)
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__list li p {
        font-size: 25px;
        margin-left: 7px;
        width: calc(100% - 29px)
    }
}

.collab-cp__period {
    margin-top: 9.33333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__period {
        margin-top: 3.37838vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__period {
        margin-top: 50px
    }
}

.collab-cp__period--ttl {
    color: #fff;
    width: 100%;
    height: 9.2vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .collab-cp__period--ttl {
        height: 2.63514vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__period--ttl {
        height: 39px
    }
}

.collab-cp__period--ttl span {
    -webkit-clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
    clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
    background-color: #ff2269;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.33333vw;
    font-weight: 700;
    padding: 0 8vw .53333vw;
    width: 71.06667vw;
    height: 100%;
    margin-left: auto
}

@media only screen and (min-width:768px) {
    .collab-cp__period--ttl span {
        -webkit-clip-path: polygon(0 0, 100% 0, 98.5% 100%, 1% 100%);
        clip-path: polygon(0 0, 100% 0, 98.5% 100%, 1% 100%);
        font-size: 1.68919vw;
        padding: 0 1.95946vw .2027vw;
        width: 52.56757vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__period--ttl span {
        font-size: 25px;
        padding: 0 29px 3px;
        width: 778px
    }
}

.collab-cp__period--ttl:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_flower_p_2.png.webp) no-repeat;
    background-size: contain;
    background-position: center;
    width: 12.4vw;
    height: 12.4vw;
    position: absolute;
    top: -2.4vw;
    left: 0;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-cp__period--ttl:before {
        width: 3.17568vw;
        height: 3.17568vw;
        top: -.40541vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__period--ttl:before {
        width: 47px;
        height: 47px;
        top: -6px
    }
}

.collab-cp__period--dtl {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.73333vw;
    font-weight: 700;
    line-height: 1.7;
    margin-top: 1.6vw
}

@media only screen and (min-width:768px) {
    .collab-cp__period--dtl {
        font-size: 1.35135vw;
        margin-top: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__period--dtl {
        font-size: 20px;
        margin-top: 10px
    }
}

.collab-cp__entry {
    margin-top: 6.13333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__entry {
        margin-top: 2.83784vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry {
        margin-top: 42px
    }
}

.collab-cp__entry--ttl {
    color: #fff;
    width: 100%;
    height: 9.2vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--ttl {
        height: 2.63514vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--ttl {
        height: 39px
    }
}

.collab-cp__entry--ttl span {
    -webkit-clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
    clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
    background-color: #ffaa07;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.33333vw;
    font-weight: 700;
    padding: 0 8vw .53333vw;
    width: 71.06667vw;
    height: 100%;
    margin-left: auto
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--ttl span {
        -webkit-clip-path: polygon(0 0, 100% 0, 98.5% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 98.5% 100%, 0 100%);
        font-size: 1.68919vw;
        padding: 0 1.28378vw .2027vw;
        width: 51.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--ttl span {
        font-size: 25px;
        padding: 0 19px 3px;
        width: 768px
    }
}

.collab-cp__entry--ttl:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/img_flower_y_2.png.webp) no-repeat;
    background-size: contain;
    background-position: center;
    width: 12vw;
    height: 12vw;
    position: absolute;
    top: -2.4vw;
    left: 0;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--ttl:before {
        width: 3.04054vw;
        height: 3.04054vw;
        top: -.40541vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--ttl:before {
        width: 45px;
        height: 45px;
        top: -6px
    }
}

.collab-cp__entry--wrap {
    margin-top: 2.66667vw
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap {
        margin-top: 1.35135vw;
        padding: 0 .40541vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap {
        margin-top: 20px;
        padding: 0 6px
    }
}

.collab-cp__entry--wrap .entry-dtl {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
    padding-bottom: 8.93333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl {
        padding-bottom: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl {
        padding-bottom: 20px
    }
}

.collab-cp__entry--wrap .entry-dtl:last-of-type {
    padding-bottom: 0
}

.collab-cp__entry--wrap .entry-dtl:not(:last-of-type):before {
    display: block;
    content: "";
    background-color: #ffdb95;
    width: 1.06667vw;
    height: 100%;
    position: absolute;
    top: 2.66667vw;
    left: 4vw;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl:not(:last-of-type):before {
        width: .27027vw;
        top: .67568vw;
        left: 1.01351vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl:not(:last-of-type):before {
        width: 4px;
        top: 10px;
        left: 15px
    }
}

.collab-cp__entry--wrap .entry-dtl__num {
    background: transparent url(../data/webp/collab/doaxvv2024/img_vector_y.png.webp) no-repeat;
    background-size: 8.93333vw auto;
    width: 8.93333vw;
    height: 8.66667vw;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.33333vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__num {
        background-size: 2.22973vw auto;
        width: 2.22973vw;
        height: 2.16216vw;
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__num {
        background-size: 33px auto;
        width: 33px;
        height: 32px;
        font-size: 20px
    }
}

.collab-cp__entry--wrap .entry-dtl__num span {
    height: 100%;
    display: block;
    color: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 1.06667vw
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__num span {
        padding-bottom: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__num span {
        padding-bottom: 4px
    }
}

.collab-cp__entry--wrap .entry-dtl__wrap {
    margin-top: 1.06667vw;
    margin-left: auto;
    width: 65.86667vw
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__wrap {
        margin-top: 0;
        margin-left: .74324vw;
        width: 48.31081vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__wrap {
        margin-left: 11px;
        width: 715px
    }
}

.collab-cp__entry--wrap .entry-dtl__txt {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.73333vw;
    font-weight: 700;
    line-height: 1.7
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__txt {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__txt {
        font-size: 20px
    }
}

.collab-cp__entry--wrap .entry-dtl__img {
    display: block;
    margin-top: .8vw
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__img {
        margin-top: 1.01351vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__img {
        margin-top: 15px
    }
}

.collab-cp__entry--wrap .entry-dtl__btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.collab-cp__entry--wrap .entry-dtl__btn--item {
    display: block;
    border-radius: 6.93333vw;
    width: 66vw;
    height: 14vw;
    margin-top: 4vw;
    padding: 0 5.2vw 0 6.66667vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item {
        width: 22.2973vw;
        height: 4.72973vw;
        margin-top: 1.01351vw;
        padding: 0 1.75676vw 0 2.22973vw;
        transition: opacity .3s
    }

    .collab-cp__entry--wrap .entry-dtl__btn--item:hover {
        opacity: 80%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item {
        width: 330px;
        height: 70px;
        margin-top: 15px;
        padding: 0 26px 0 33px
    }
}

.collab-cp__entry--wrap .entry-dtl__btn--item span {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-bottom: .8vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item span {
        font-size: 1.35135vw;
        padding-bottom: .2027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item span {
        font-size: 20px;
        padding-bottom: 3px
    }
}

.collab-cp__entry--wrap .entry-dtl__btn--item span:before {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_x.svg) no-repeat;
    background-size: contain;
    height: 6.4vw;
    width: 6.66667vw;
    margin-right: 2.13333vw
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item span:before {
        height: 2.16216vw;
        width: 2.22973vw;
        margin-right: .74324vw
    }
}

@media only screen and (min-width:1480px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item span:before {
        height: 32px;
        width: 33px;
        margin-right: 11px
    }
}

.collab-cp__entry--wrap .entry-dtl__btn--item span:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: contain;
    width: 3.46667vw;
    height: 6.8vw;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item span:after {
        width: 1.08108vw;
        height: 2.16216vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item span:after {
        width: 16px;
        height: 32px
    }
}

.collab-cp__entry--wrap .entry-dtl__btn--item.btn-pink {
    background: linear-gradient(180deg, #ff438a 0, #ff438a 50%, #ff2269 50%, #ff2269 100%)
}

.collab-cp__entry--wrap .entry-dtl__btn--item.btn-blue {
    background: linear-gradient(180deg, #498aff 0, #498aff 50%, #2875ff 50%, #2875ff 100%)
}

@media only screen and (min-width:768px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item.btn-blue {
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-cp__entry--wrap .entry-dtl__btn--item.btn-blue {
        margin-left: 28px
    }
}

.collab-cp__entry--wrap:has(.entry-dtl:only-child):before {
    display: none
}

.collab-cp .txt-emp {
    color: #ffaa07
}

.collab-cp .txt-emp0 {
    color: #ff2269
}

.collab-title {
    background-color: #dde9ff;
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 8vw 0 25.33333vw;
    margin-top: -8vw
}

@media only screen and (min-width:768px) {
    .collab-title {
        padding: 6.55405vw 0 9.7973vw;
        margin-top: -6.55405vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title {
        padding: 97px 0 145px;
        margin-top: -97px
    }
}

.collab-title:before {
    display: block;
    content: "";
    width: 100%;
    background-image: url(../data/webp/collab/doaxvv2024/img_wave_wb.png.webp);
    background-repeat: repeat-x;
    background-size: contain;
    height: 17.33333vw;
    position: absolute;
    top: -8vw;
    left: 0;
    z-index: -1;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-title:before {
        background-image: url(../data/webp/collab/doaxvv2024/img_wave_wb_pc.png.webp);
        background-size: 80.40541vw auto;
        background-position-x: -3.37838vw;
        height: 4.39189vw;
        top: -4.05405vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title:before {
        background-size: 1190px auto;
        background-position-x: -50px;
        height: 65px;
        top: -60px
    }
}

.collab-title:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/collab/doaxvv2024/bg_title_w.png.webp) repeat;
    background-size: 100vw auto;
    background-position: top center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5.33333vw;
    left: 0;
    z-index: -1;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .collab-title:after {
        background-image: url(../data/webp/collab/doaxvv2024/bg_title_w_pc.png.webp);
        background-size: 102.7027vw auto;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:1481px) {
    .collab-title:after {
        background-repeat: repeat-y;
        background-size: 1520px auto
    }
}

.collab-title__wrap {
    padding: 0 5.33333vw;
    width: 100%;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .collab-title__wrap {
        margin: 0 auto;
        padding: 0;
        width: 67.56757vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__wrap {
        width: 1000px
    }
}

.collab-title__inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.collab-title__ofc {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.33333vw;
    font-weight: 700;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 4.8vw;
    text-align: center;
    position: relative;
    width: 100%;
    height: 16vw
}

@media only screen and (max-width:767px) {
    .collab-title__ofc {
        padding-right: 2.02703vw
    }
}

@media only screen and (min-width:768px) {
    .collab-title__ofc {
        font-size: 1.35135vw;
        margin-top: 0;
        width: 27.02703vw;
        height: 4.05405vw;
        transition: opacity .5s
    }

    .collab-title__ofc:hover {
        opacity: .8;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__ofc {
        font-size: 20px;
        width: 400px;
        height: 60px
    }
}

.collab-title__ofc span {
    display: block;
    font-size: 3.73333vw;
    margin-bottom: -2.66667vw;
    width: 100%
}

@media only screen and (min-width:768px) {
    .collab-title__ofc span {
        font-size: 1.08108vw;
        margin-bottom: -.81081vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__ofc span {
        font-size: 16px;
        margin-bottom: -12px
    }
}

.collab-title__ofc:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: contain;
    width: 3.46667vw;
    height: 6.8vw;
    position: absolute;
    top: 50%;
    right: 1.33333vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .collab-title__ofc:after {
        width: 1.08108vw;
        height: 2.16216vw;
        right: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__ofc:after {
        width: 16px;
        height: 32px;
        right: 10px
    }
}

.collab-title__app {
    margin-top: 5.33333vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width:768px) {
    .collab-title__app {
        margin-top: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__app {
        margin-top: 20px
    }
}

.collab-title__app--icon {
    width: 21.6vw
}

@media only screen and (min-width:768px) {
    .collab-title__app--icon {
        width: 6.75676vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__app--icon {
        width: 100px
    }
}

.collab-title__app--store {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: 2.4vw;
    width: calc(100% - 24vw)
}

@media only screen and (min-width:768px) {
    .collab-title__app--store {
        margin-left: 1.35135vw;
        width: 15.33784vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__app--store {
        margin-left: 20px;
        width: 227px
    }
}

.collab-title__app--store:not(:has(.i1)) {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: auto
}

.collab-title__app--store:not(:has(.i1)) .i3 {
    margin-top: 0
}

.collab-title__app--link {
    display: block
}

@media only screen and (min-width:768px) {
    .collab-title__app--link {
        transition: opacity .5s
    }

    .collab-title__app--link:hover {
        opacity: .8;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"
    }
}

.collab-title__app--link.i1 {
    width: 24.53333vw
}

@media only screen and (min-width:768px) {
    .collab-title__app--link.i1 {
        width: 6.75676vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__app--link.i1 {
        width: 100px
    }
}

.collab-title__app--link.i2 {
    margin-left: 1.06667vw;
    width: 29.86667vw
}

@media only screen and (min-width:768px) {
    .collab-title__app--link.i2 {
        margin-left: .33784vw;
        width: 8.24324vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__app--link.i2 {
        margin-left: 5px;
        width: 122px
    }
}

.collab-title__app--link.i3 {
    margin-top: 1.33333vw;
    width: 30.4vw
}

@media only screen and (min-width:768px) {
    .collab-title__app--link.i3 {
        margin-top: .33784vw;
        width: 8.37838vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__app--link.i3 {
        margin-top: 5px;
        width: 124px
    }
}

.collab-title__app--link.i4 {
    margin-top: 1.6vw;
    width: 29.86667vw
}

@media only screen and (min-width:768px) {
    .collab-title__app--link.i4 {
        margin-top: .33784vw;
        width: 8.51351vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__app--link.i4 {
        margin-top: 5px;
        width: 126px
    }
}

.collab-title__details {
    background-color: #fff;
    border-radius: 0 0 3.6vw 3.6vw;
    width: 100%;
    position: relative;
    z-index: 2;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .collab-title__details {
        border-radius: 0 0 1.82432vw 1.82432vw;
        width: 32.83784vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details {
        border-radius: 0 0 27px 27px;
        width: 486px
    }
}

.collab-title__details:before {
    display: block;
    content: "";
    width: 100%;
    height: 2.13333vw
}

@media only screen and (min-width:768px) {
    .collab-title__details:before {
        height: .54054vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details:before {
        height: 8px
    }
}

.collab-title__details--wrap {
    padding: 4.8vw 4.8vw 6.66667vw
}

@media only screen and (min-width:768px) {
    .collab-title__details--wrap {
        padding: 1.21622vw 2.90541vw 0vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details--wrap {
        padding: 18px 43px 0
    }
}

.collab-title__details--wrap:after {
    display: block;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .collab-title__details--top {
        padding-bottom: 17.7027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details--top {
        padding-bottom: 262px
    }
}

.collab-title__details--ttl {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.33333vw;
    font-weight: 700;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 1.4
}

@media only screen and (min-width:768px) {
    .collab-title__details--ttl {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details--ttl {
        font-size: 20px
    }
}

.collab-title__details--txt {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.73333vw;
    font-weight: 700;
    line-height: 1.6;
    margin-top: 2.66667vw
}

@media only screen and (min-width:768px) {
    .collab-title__details--txt {
        font-size: 1.08108vw;
        margin-top: .54054vw;
        line-height: 1.9
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details--txt {
        font-size: 16px;
        margin-top: 8px
    }
}

@media only screen and (min-width:768px) {
    .collab-title__details--btm {
        height: 12.16216vw;
        position: absolute;
        bottom: 3.10811vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details--btm {
        height: 180px;
        bottom: 46px
    }
}

.collab-title__details.t1:before {
    background-color: #ff2269
}

.collab-title__details.t1 .collab-title__ofc {
    background-color: #ff2269
}

@media only screen and (max-width:767px) {
    .collab-title__details.t1 .collab-title__ofc span {
        letter-spacing: -.03em
    }
}

.collab-title__details.t1 .collab-title__details--wrap:after {
    background-image: url(../data/webp/collab/doaxvv2024/bg_title_doaxvv.png.webp);
    width: 11.2vw;
    height: 97.73333vw;
    top: 51.46667vw;
    right: -.26667vw
}

@media only screen and (min-width:768px) {
    .collab-title__details.t1 .collab-title__details--wrap:after {
        background-image: url(../data/webp/collab/doaxvv2024/bg_title_doaxvv_pc.png.webp);
        width: 5.2027vw;
        height: 34.86486vw;
        top: 18.58108vw;
        right: -.2027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details.t1 .collab-title__details--wrap:after {
        width: 77px;
        height: 516px;
        top: 275px;
        right: -3px
    }
}

.collab-title__details.t1 .collab-title__details--ttl {
    color: #ff2269
}

@media only screen and (min-width:768px) {
    .collab-title__details.t1 .collab-title__details--ttl {
        letter-spacing: -.042em
    }
}

@media only screen and (max-width:767px) {
    .collab-title__details.t2 {
        margin-top: 13.33333vw
    }
}

@media only screen and (min-width:768px) {
    .collab-title__details.t2 {
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details.t2 {
        margin-left: 28px
    }
}

.collab-title__details.t2:before {
    background-color: #2875ff
}

.collab-title__details.t2 .collab-title__ofc {
    background-color: #2875ff
}

.collab-title__details.t2 .collab-title__details--wrap:after {
    background-image: url(../data/webp/collab/doaxvv2024/bg_title_dw.png.webp);
    width: 5.06667vw;
    height: 57.86667vw;
    top: 52vw;
    right: -.26667vw
}

@media only screen and (min-width:768px) {
    .collab-title__details.t2 .collab-title__details--wrap:after {
        background-image: url(../data/webp/collab/doaxvv2024/bg_title_dw_pc.png.webp);
        width: 2.09459vw;
        height: 23.51351vw;
        top: 18.91892vw;
        right: -.2027vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-title__details.t2 .collab-title__details--wrap:after {
        width: 31px;
        height: 348px;
        top: 280px;
        right: -3px
    }
}

.collab-title__details.t2 .collab-title__details--ttl {
    color: #2875ff
}

.collab-footer {
    position: relative;
    z-index: 2
}

.collab-footer:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .collab-footer:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 20.27027vw auto;
        background-position: .67568vw 0;
        height: 5.13514vw;
        top: -3.10811vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-footer:before {
        background-size: 300px auto;
        background-position: 10px 0;
        height: 76px;
        top: -46px
    }
}

.collab-footer__btm {
    background-color: #2875ff;
    position: relative;
    z-index: 2;
    padding: 1.86667vw 0 26.66667vw
}

@media only screen and (min-width:768px) {
    .collab-footer__btm {
        padding: .81081vw 0 11.14865vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-footer__btm {
        padding: 12px 0 165px
    }
}

.collab-footer__btm--cp {
    color: #fff;
    font-size: 2.66667vw;
    font-weight: 400;
    text-align: center
}

@media only screen and (max-width:767px) {
    .collab-footer__btm--cp {
        line-height: 1.6
    }
}

@media only screen and (min-width:768px) {
    .collab-footer__btm--cp {
        font-size: .81081vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-footer__btm--cp {
        font-size: 12px
    }
}

.collab-footer__totop {
    top: -21.33333vw;
    right: 0
}

@media only screen and (min-width:768px) {
    .collab-footer__totop {
        top: -12.83784vw;
        right: 8.10811vw
    }
}

@media only screen and (min-width:1481px) {
    .collab-footer__totop {
        top: -190px
    }
}

.collab-footer__totop .footer-bottom__totop--txt {
    color: #fff
}

.collab .mfp-bg {
    opacity: 40%;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
}

@media only screen and (min-width:768px) {
    .collab .mfp-content {
        width: 1000px
    }
}

.halfanniv24-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.halfanniv24-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden
}

.halfanniv24-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 159.06667vw;
    margin-top: -152vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__item:nth-child(1) {
        height: 63.51351vw;
        margin-top: -59.12162vw
    }
}

.halfanniv24-kv__item:nth-child(1) .halfanniv24-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2024/img_kv_bg01.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 159.06667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__item:nth-child(1) .halfanniv24-kv__item--bg {
        background: transparent url(../data/webp/half-anniversary-2024/img_kv_bg01_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 63.51351vw;
        width: 100%;
        top: 0
    }
}

.halfanniv24-kv__item:nth-child(2) {
    z-index: 3
}

.halfanniv24-kv__item:nth-child(2) .halfanniv24-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2024/img_kv_bg02.png.webp) no-repeat
}

@media only screen and (min-width:767px) {
    .halfanniv24-kv__item:nth-child(2) .halfanniv24-kv__item--bg {
        background-image: url(../data/webp/half-anniversary-2024/img_kv_bg02_pc.png.webp);
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.halfanniv24-kv__item:nth-child(3) {
    z-index: 2
}

.halfanniv24-kv__item:nth-child(3) .halfanniv24-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2024/img_kv_bg03.png.webp) no-repeat
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__item:nth-child(3) .halfanniv24-kv__item--bg {
        background-image: url(../data/webp/half-anniversary-2024/img_kv_bg03_pc.png.webp);
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.halfanniv24-kv__item:nth-child(4) {
    z-index: 1
}

.halfanniv24-kv__item:nth-child(4) .halfanniv24-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2024/img_kv_bg04.png.webp) no-repeat
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__item:nth-child(4) .halfanniv24-kv__item--bg {
        background-image: url(../data/webp/half-anniversary-2024/img_kv_bg04_pc.png.webp);
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.halfanniv24-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__sp {
        display: none
    }
}

.halfanniv24-kv__sparkle {
    position: relative;
    z-index: 1
}

.halfanniv24-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.halfanniv24-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.halfanniv24-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2024/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.halfanniv24-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2024/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.halfanniv24-kv__lead {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
    width: 100%
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__lead {
        height: 54.05405vw;
        width: 100%;
        top: 0
    }
}

.halfanniv24-kv__lead--text {
    margin: 0 auto;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__lead--text {
        padding-top: 0;
        width: 45.40541vw;
        top: 33.10811vw
    }
}

.halfanniv24-kv__logo {
    margin: 0 auto;
    width: 70.4vw;
    position: absolute;
    top: 9.06667vw
}

@media only screen and (max-width:767px) {
    .halfanniv24-kv__logo {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .halfanniv24-kv__logo {
        width: 20.54054vw;
        top: 1.68919vw;
        left: 2.2973vw
    }
}

.halfanniv24-menu {
    position: fixed;
    height: 8vw;
    width: 77.33333vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 10;
    border-bottom-left-radius: 4vw;
    border-bottom-right-radius: 4vw;
    pointer-events: auto
}

@media only screen and (max-width:767px) {
    .halfanniv24-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu {
        bottom: 0;
        right: 0;
        height: 4.05405vw;
        width: 37.97297vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu {
        height: 60px;
        width: 562px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.halfanniv24-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.halfanniv24-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    width: 54.66667vw;
    height: 8vw;
    background-color: #2875ff;
    border-bottom-left-radius: 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        height: 4.05405vw;
        width: 26.82432vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__list {
        height: 60px;
        width: 397px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.halfanniv24-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv24-menu__list--items {
        font-size: 20px
    }
}

.halfanniv24-menu__list--items:not(:first-of-type) {
    padding: 1.5vw 3.2vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__list--items:not(:first-of-type) {
        padding: 0 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__list--items:not(:first-of-type) {
        padding: 0 22px
    }
}

.halfanniv24-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #fff;
    height: 1.6vw;
    width: .13333vw;
    margin: 0;
    position: absolute;
    top: 2.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #fff;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv24-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.halfanniv24-menu__list--items:first-of-type {
    padding: 1.5vw 3.2vw 1.5vw 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__list--items:first-of-type {
        padding: 0 1.48649vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__list--items:first-of-type {
        padding: 0 22px 0 0
    }
}

.halfanniv24-menu__list--items:last-of-type {
    padding-right: 4vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__list--items:last-of-type {
        padding-right: 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__list--items:last-of-type {
        padding-right: 22px
    }
}

.halfanniv24-menu__list--btn {
    display: inline-block;
    color: #fff;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__list--btn:hover {
        color: #000
    }
}

.halfanniv24-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #fff;
    width: 22.66667vw;
    height: 8vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border: solid .26667vw #2875ff;
    border-bottom-right-radius: 4vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.35135vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__share {
        font-size: 20px;
        height: 60px;
        width: 168px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.halfanniv24-menu__share--btn {
    color: #000;
    margin-left: 4vw;
    transition: all .3s
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__share--btn {
        margin-left: 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__share--btn:hover {
        color: #2875ff
    }
}

.halfanniv24-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_x_bl.png) no-repeat;
    background-size: contain;
    width: 4vw;
    height: 4vw;
    position: absolute;
    top: 50%;
    left: 2.66667vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__share:after {
        width: 2.02703vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__share:after {
        width: 31px;
        height: 30px;
        left: 20px
    }
}

.halfanniv24-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-menu__jp {
        font-size: 10px
    }
}

.halfanniv24-animation {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    mix-blend-mode: hard-light;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.halfanniv24-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .halfanniv24-animation__prism--upper {
        width: 13.51351vw
    }
}

.halfanniv24-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .halfanniv24-animation__prism--lower {
        width: 13.51351vw
    }
}

.halfanniv24-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .halfanniv24-animation__reflection--upper {
        width: 20.27027vw
    }
}

.halfanniv24-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .halfanniv24-animation__reflection--lower {
        width: 20.27027vw
    }
}

.halfanniv24-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2024/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv24-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.halfanniv24-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2024/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv24-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.halfanniv24-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2024/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv24-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.halfanniv24-banner {
    background-color: transparent;
    margin-top: 152vw;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.halfanniv24-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.halfanniv24-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.halfanniv24-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__bg {
        height: 452px
    }
}

.halfanniv24-banner__bg--left {
    background: transparent url(../data/webp/half-anniversary-2024/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__bg--left {
        background-image: url(../data/webp/half-anniversary-2024/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.halfanniv24-banner__bg--right {
    background: transparent url(../data/webp/half-anniversary-2024/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.halfanniv24-banner__slider {
    margin-top: 8vw;
    margin-bottom: 8vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.halfanniv24-banner__slider--wrap {
    width: 100%;
    position: relative
}

.halfanniv24-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.halfanniv24-banner__slider--container picture {
    pointer-events: all
}

.halfanniv24-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__slider--container img {
        height: 315px
    }
}

.halfanniv24-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__slider--pagination {
        margin-top: 20px
    }
}

.halfanniv24-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 1.33333vw;
    height: 1.6vw;
    width: 1.6vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 10px;
        height: 12px;
        width: 12px;
        border-width: 2px
    }
}

.halfanniv24-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #2875ff;
    border: none;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.halfanniv24-update {
    padding: 6vw 0;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .halfanniv24-update {
        padding: 60px 0
    }
}

.halfanniv24-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv24-update:before {
        background-image: url(../data/webp/common/img_wave_ltb2_pc.png.webp);
        background-size: 300px auto;
        height: 76px
    }
}

.halfanniv24-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-update:after {
        background-image: url(../data/webp/common/img_wave_ltb_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px
    }
}

.halfanniv24-update.info {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.info {
        margin-top: 60vh
    }
}

@media only screen and (max-width:767px) {
    .halfanniv24-update.info:before {
        background-position: top left 9.33333vw
    }
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.info .halfanniv24-update__title--h2 {
        width: 700px;
        top: -10px
    }
}

.halfanniv24-update.event {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.event {
        margin-top: 60vh
    }
}

.halfanniv24-update.event .halfanniv24-update__wrap {
    padding-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.event .halfanniv24-update__wrap {
        padding-top: 70px
    }
}

.halfanniv24-update.event .halfanniv24-update__title--h2 {
    width: 54.66667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.event .halfanniv24-update__title--h2 {
        width: 410px
    }
}

.halfanniv24-update.others {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.others {
        margin-top: 60vh
    }
}

.halfanniv24-update.others .halfanniv24-update__wrap {
    padding: 10.53333vw 0 0 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.others .halfanniv24-update__wrap {
        padding: 65px 0 0 0
    }
}

.halfanniv24-update.others .halfanniv24-update__title--h2 {
    width: 66.4vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.others .halfanniv24-update__title--h2 {
        width: 498px
    }
}

.halfanniv24-update.others .halfanniv24-update__wrap {
    padding-bottom: 12vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update.others .halfanniv24-update__wrap {
        padding-bottom: 95px
    }
}

.halfanniv24-update__wrap {
    position: relative;
    background-color: #eff6fb;
    width: 100%;
    padding-bottom: 9.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__wrap {
        padding-bottom: 70px
    }
}

.halfanniv24-update__bg {
    background: transparent url(../data/webp/half-anniversary-2024/bg_update.png.webp) repeat-y;
    background-size: cover;
    background-position: center top;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 2.4vw;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__bg {
        width: 100%;
        top: 10px
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-update__bg {
        background-size: cover
    }
}

.halfanniv24-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__title--h2 {
        width: 700px
    }
}

.halfanniv24-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 81.2vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__inner {
        width: 700px
    }
}

.halfanniv24-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.halfanniv24-update__card {
    position: relative;
    width: 100%;
    padding: 0 6.4vw 5.33333vw 6.13333vw;
    -webkit-clip-path: polygon(0 8.53333vw, 8.53333vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 8.53333vw, 8.53333vw 0, 100% 0, 100% 100%, 0 100%);
    background-color: #fff;
    margin-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__card {
        padding: 0 88px 40px 96px;
        -webkit-clip-path: polygon(0 123px, 123px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 123px, 123px 0, 100% 0, 100% 100%, 0 100%);
        margin-top: 80px
    }
}

.halfanniv24-update__card:before {
    display: block;
    content: "";
    display: block;
    content: "";
    width: 9.86667vw;
    height: 9.86667vw;
    position: absolute;
    background-color: #2875ff;
    -webkit-clip-path: polygon(0 0, 0 0, 9.86667vw 0, 0 9.86667vw, 0 0);
    clip-path: polygon(0 0, 0 0, 9.86667vw 0, 0 9.86667vw, 0 0);
    left: 0;
    top: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__card:before {
        width: 133px;
        height: 133px;
        -webkit-clip-path: polygon(0 0, 0 0, 133px 0, 0 133px, 0 0);
        clip-path: polygon(0 0, 0 0, 133px 0, 0 133px, 0 0)
    }
}

.halfanniv24-update__card:after {
    display: block;
    content: "";
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 12vw 12vw;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__card:after {
        border-width: 0 0 85px 85px
    }
}

.halfanniv24-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 6.26667vw;
    line-height: 6vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__card--title {
        font-size: 30px;
        padding-top: 51px;
        line-height: 40px
    }
}

.halfanniv24-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__card--img {
        margin-top: 22px
    }
}

.halfanniv24-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    line-height: 5vw;
    margin-top: 4.13333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__card--summary {
        font-size: 16px;
        line-height: 28px;
        margin-top: 31px
    }
}

.halfanniv24-update__button {
    margin: 5.33333vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.halfanniv24-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 500;
    height: 13.33333vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__button--item {
        font-size: 14px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.halfanniv24-update__button--item:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.halfanniv24-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.halfanniv24-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__button--item:hover {
        background-color: #000
    }
}

.halfanniv24-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.halfanniv24-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .halfanniv24-update__button--txt {
        font-size: 16px
    }
}

.halfanniv24-download {
    background-color: #fff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.halfanniv24-download__store {
    background-color: #fff;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv24-download__store {
        margin-top: 0;
        padding: 16px 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv24-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.halfanniv24-download__store:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-download__store:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.halfanniv24-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .halfanniv24-download__store .store {
        margin-top: -40px
    }
}

.halfanniv24-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.halfanniv24-download__store .store-title {
    margin: 0 auto 0 30%;
    width: 45.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24-download__store .store-title {
        width: 371px
    }
}

.halfanniv24 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv24 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.halfanniv24 .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .halfanniv24 .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv24 .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.dolwav24-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.dolwav24-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden
}

.dolwav24-kv__item--bgv {
    background: transparent url(../data/webp/dolwav-day-2024/bg_kv_fix.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 187.06667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__item--bgv {
        background: transparent url(../data/webp/dolwav-day-2024/bg_kv_fix_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.dolwav24-kv__item--bgv.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 2
}

.dolwav24-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 159.46667vw;
    margin-top: -159.46667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__item:nth-child(1) {
        margin-top: -59.12162vw;
        height: 64.18919vw
    }
}

.dolwav24-kv__item:nth-child(1) .dolwav24-kv__item--bg {
    background: transparent url(../data/webp/dolwav-day-2024/img_kv_sp.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 161.86667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__item:nth-child(1) .dolwav24-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2024/img_kv_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.dolwav24-kv__item:nth-child(2) {
    z-index: 3
}

@media only screen and (min-width:767px) {
    .dolwav24-kv__item:nth-child(2) .dolwav24-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2024/bg_kv_01_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.dolwav24-kv__item:nth-child(3) {
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__item:nth-child(3) .dolwav24-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2024/bg_kv_02_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.dolwav24-kv__item:nth-child(4) {
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__item:nth-child(4) .dolwav24-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2024/bg_kv_03_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.dolwav24-kv__item--vdo {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 159.46667vw;
    z-index: 10;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none
}

.dolwav24-kv__item--vdo.js--show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: .5s
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__item--vdo {
        height: 64.18919vw
    }
}

.dolwav24-kv__item--vdo video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dolwav24-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__sp {
        display: none
    }
}

.dolwav24-kv__sparkle {
    position: relative;
    z-index: 1
}

.dolwav24-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.dolwav24-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.dolwav24-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2024/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.dolwav24-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2024/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.dolwav24-lead {
    position: absolute;
    top: -168vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    width: 100%;
    height: 159.46667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav24-lead {
        top: -59.12162vw;
        height: 59.12162vw;
        width: 100%
    }
}

.dolwav24-lead__logo {
    margin: 0 auto;
    width: 29.46667vw;
    position: absolute;
    left: 5.06667vw;
    top: 17.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-lead__logo {
        width: 20.47297vw;
        top: 2.43243vw;
        left: 4.25676vw
    }
}

.dolwav24-lead__catch {
    margin: 0 auto;
    width: 89.2vw;
    position: absolute;
    top: 128vw;
    z-index: 3
}

@media only screen and (max-width:767px) {
    .dolwav24-lead__catch {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-lead__catch {
        width: 42.02703vw;
        top: 42.09459vw;
        left: 2.90541vw
    }
}

.dolwav24-menu {
    position: fixed;
    z-index: 10;
    height: 16vw;
    width: 100vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    pointer-events: auto;
    background: #ff81e0;
    background: linear-gradient(0deg, #ff81e0 0, #40cfc2 47%, #ffff27 100%);
    border-radius: 0 0 5.6vw 5.6vw
}

@media only screen and (max-width:767px) {
    .dolwav24-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-menu {
        bottom: 0;
        right: -.13514vw;
        height: 4.32432vw;
        width: 40.74324vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu {
        right: -2px;
        height: 64px;
        width: 603px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.dolwav24-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 98.66667vw;
    height: 14.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 40.40541vw;
        height: 4.05405vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__wrap {
        width: 598px;
        height: 60px
    }
}

.dolwav24-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    width: 70.66667vw;
    height: 100%;
    background-color: #fff;
    border-bottom-left-radius: 5.6vw;
    overflow: hidden;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 28.85135vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__list {
        width: 427px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.dolwav24-menu__list:after {
    display: block;
    content: "";
    background-image: url(../data/webp/dolwav-day-2024/bg_nav.png.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 70.66667vw;
    height: 14.66667vw;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list:after {
        background-image: url(../data/webp/dolwav-day-2024/bg_nav_pc.png.webp);
        width: 29.05405vw;
        height: 4.05405vw
    }
}

.dolwav24-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    z-index: 2;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav24-menu__list--items {
        font-size: 20px
    }
}

.dolwav24-menu__list--items:not(:first-of-type) {
    padding: 0 6vw
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list--items:not(:first-of-type) {
        padding: 0 2.36486vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__list--items:not(:first-of-type) {
        padding: 0 35px
    }
}

.dolwav24-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #000;
    height: 4.66667vw;
    width: .16667vw;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #000;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .dolwav24-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.dolwav24-menu__list--items:first-of-type {
    padding: 0 3.6vw 0 4.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list--items:first-of-type {
        padding: 0 1.55405vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__list--items:first-of-type {
        padding: 0 23px 0 0
    }
}

.dolwav24-menu__list--items:last-of-type {
    padding-left: 4.53333vw;
    padding-right: 4.4vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list--items:last-of-type {
        padding-left: 1.95946vw;
        padding-right: 1.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__list--items:last-of-type {
        padding-left: 29px;
        padding-right: 28px
    }
}

.dolwav24-menu__list--btn {
    display: inline-block;
    color: #000
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list--btn {
        transition: color .5s
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__list--btn:hover {
        color: #2874ff
    }
}

.dolwav24-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #2875ff;
    width: 28.13333vw;
    height: 14.66667vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border: solid .26667vw #2875ff;
    border-bottom-right-radius: 5.6vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.48649vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__share {
        font-size: 20px;
        height: 60px;
        width: 170px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.dolwav24-menu__share--btn {
    color: #fff;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__share--btn {
        margin-left: 2.02703vw;
        transition: color .3s
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__share--btn:hover {
        color: #000
    }
}

.dolwav24-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2024/icon_x.png.webp) no-repeat;
    background-size: contain;
    width: 5.06667vw;
    height: 5.06667vw;
    position: absolute;
    top: 50%;
    left: 2.66667vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__share:after {
        width: 2.02703vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__share:after {
        width: 30px;
        height: 30px;
        left: 20px
    }
}

.dolwav24-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-menu__jp {
        font-size: 10px
    }
}

.dolwav24-animation {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    mix-blend-mode: hard-light;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.dolwav24-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .dolwav24-animation__prism--upper {
        width: 13.51351vw
    }
}

.dolwav24-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .dolwav24-animation__prism--lower {
        width: 13.51351vw
    }
}

.dolwav24-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .dolwav24-animation__reflection--upper {
        width: 20.27027vw
    }
}

.dolwav24-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .dolwav24-animation__reflection--lower {
        width: 20.27027vw
    }
}

.dolwav24-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2024/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav24-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.dolwav24-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2024/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav24-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.dolwav24-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2024/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav24-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.dolwav24-banner {
    background-color: transparent;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav24-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.dolwav24-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav24-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.dolwav24-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav24-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.dolwav24-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__bg {
        height: 452px
    }
}

.dolwav24-banner__bg--left {
    background: transparent url(../data/webp/dolwav-day-2024/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__bg--left {
        background-image: url(../data/webp/dolwav-day-2024/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.dolwav24-banner__bg--right {
    background: transparent url(../data/webp/dolwav-day-2024/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.dolwav24-banner__slider {
    margin-top: 10.66667vw;
    margin-bottom: 10.66667vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.dolwav24-banner__slider--wrap {
    width: 100%;
    position: relative
}

.dolwav24-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.dolwav24-banner__slider--container picture {
    pointer-events: all
}

.dolwav24-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__slider--container img {
        height: 315px
    }
}

.dolwav24-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__slider--pagination {
        margin-top: 20px
    }
}

.dolwav24-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 3.33333vw;
    height: 1.73333vw;
    width: 1.73333vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 25px;
        height: 13px;
        width: 13px;
        border-width: 2px
    }
}

.dolwav24-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #ffe50a;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .dolwav24-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.dolwav24-movie {
    background-color: #000;
    height: 56.26667vw;
    width: 100%;
    z-index: 4;
    position: relative;
    margin-top: 168vw;
    margin-bottom: 21.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-movie {
        width: 18.37838vw;
        height: 10.33784vw;
        margin-top: 0;
        margin-bottom: 0;
        right: 5.33333vw;
        top: -16vw;
        position: absolute;
        z-index: 3
    }
}

.dolwav24-movie__bg {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 56.26667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__bg {
        width: 18.24324vw;
        height: 12.56757vw
    }
}

.dolwav24-movie__inner {
    position: relative;
    background-image: url(../data/webp/dolwav-day-2024/bg_movie.png.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 56.26667vw;
    pointer-events: all;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__inner {
        height: 10.33784vw
    }
}

.dolwav24-movie__inner:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 14.66667vw;
    width: 100%;
    position: absolute;
    top: -14.66667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__inner:before {
        display: none
    }
}

.dolwav24-movie__inner:after {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -31.46667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__inner:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__inner:hover .dolwav24-movie__play {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.dolwav24-movie__btn {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5
}

.dolwav24-movie__mask {
    background-color: #2875ff;
    width: 100%;
    height: 11.2vw;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__mask {
        height: 2.2973vw
    }
}

.dolwav24-movie__mask--txt {
    color: #fff;
    font-size: 8.53333vw;
    font-weight: 900;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 2.13333vw;
    letter-spacing: .53333vw;
    height: 100%
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__mask--txt {
        font-size: 1.62162vw;
        margin-left: 0;
        padding-right: 1.82432vw;
        letter-spacing: .13514vw
    }
}

.dolwav24-movie__mask--txt:before {
    display: block;
    content: "";
    display: inline-block;
    background: transparent url(../data/webp/dolwav-day-2024/img_phenio_summer.png.webp) no-repeat;
    background-size: contain;
    width: 8.53333vw;
    height: 9.6vw;
    margin-right: 1.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__mask--txt:before {
        width: 3.58108vw;
        height: 4.05405vw;
        margin-right: .33784vw;
        margin-top: -1.68919vw
    }
}

.dolwav24-movie__mask--txt:after {
    display: block;
    content: "";
    background-color: #000;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    width: 11.06667vw;
    height: 11.06667vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__mask--txt:after {
        width: 2.2973vw;
        height: 2.2973vw
    }
}

.dolwav24-movie__play {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    height: 43.46667vw;
    width: 31.33333vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__play {
        height: 8.91892vw;
        width: 6.55405vw;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s
    }
}

.dolwav24-movie__play--text {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__play--text {
        font-size: 1.35135vw
    }
}

.dolwav24-movie__modal--inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__modal--inner {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .dolwav24-movie__modal--inner {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__modal--item {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .dolwav24-movie__modal--item {
        padding: 8.52619vw 0
    }
}

.dolwav24-movie__modal--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.dolwav24-movie__modal--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.dolwav24-movie__modal--close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__modal--close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.dolwav24-movie__modal--close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__modal--close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.dolwav24-movie__modal--close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav24-movie__modal--close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.dolwav24-movie__modal--close:active {
    top: 0
}

.dolwav24-update {
    padding: 6vw 0;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav24-update {
        padding: 60px 0
    }
}

.dolwav24-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2024/img_wave_rb_top.png.webp) no-repeat;
    background-size: 100vw auto;
    height: 5.33333vw;
    width: 100%;
    position: absolute;
    top: .8vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav24-update:before {
        background-image: url(../data/webp/dolwav-day-2024/img_wave_rb_top_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 52px;
        top: 9px
    }
}

.dolwav24-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2024/img_wave_rb_btm.png.webp) no-repeat;
    background-size: contain;
    height: 20vw;
    width: 100%;
    position: absolute;
    bottom: -4vw;
    left: 0;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav24-update:after {
        background-image: url(../data/webp/dolwav-day-2024/img_wave_rb_btm_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 90px;
        bottom: 8px
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update__chara--left {
        position: absolute;
        z-index: 4
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update__chara--right {
        position: absolute;
        z-index: 4
    }
}

.dolwav24-update.info {
    margin-top: -5.6vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.info {
        margin-top: 60vh
    }
}

.dolwav24-update.info .dolwav24-update__title--h2 {
    width: 93.86667vw;
    padding-top: 10.4vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.info .dolwav24-update__title--h2 {
        width: 704px;
        padding-top: 86px
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update.info .dolwav24-update__chara--left {
        width: 858px;
        top: 179px;
        left: calc(50% - 1092px)
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update.info .dolwav24-update__chara--right {
        width: 594px;
        bottom: 20px;
        left: calc(50% + 245px)
    }
}

.dolwav24-update.event {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.event {
        margin-top: 60vh
    }
}

@media only screen and (max-width:767px) {
    .dolwav24-update.event:after {
        bottom: -1.86667vw
    }
}

.dolwav24-update.event .dolwav24-update__wrap {
    padding-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.event .dolwav24-update__wrap {
        padding-top: 70px
    }
}

.dolwav24-update.event .dolwav24-update__bg {
    top: 3.2vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.event .dolwav24-update__bg {
        top: 34px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-update.event .dolwav24-update__bg {
        top: 2.2973vw
    }
}

.dolwav24-update.event .dolwav24-update__title--h2 {
    width: 81.46667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.event .dolwav24-update__title--h2 {
        width: 611px
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update.event .dolwav24-update__chara--left {
        width: 635px;
        top: 162px;
        left: calc(50% - 777px)
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update.event .dolwav24-update__chara--right {
        width: 465px;
        left: calc(50% + 372px);
        bottom: 70px
    }
}

.dolwav24-update.others {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others {
        margin-top: 60vh;
        padding-bottom: 0
    }
}

.dolwav24-update.others:after {
    display: none
}

.dolwav24-update.others .dolwav24-update__wrap {
    padding: 10.53333vw 0 0 0
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others .dolwav24-update__wrap {
        padding: 78px 0 0 0
    }
}

.dolwav24-update.others .dolwav24-update__title--h2 {
    width: 93.6vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others .dolwav24-update__title--h2 {
        width: 702px
    }
}

.dolwav24-update.others .dolwav24-update__wrap {
    padding-bottom: 13.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others .dolwav24-update__wrap {
        padding-bottom: 130px
    }
}

.dolwav24-update.others .dolwav24-update__bg {
    top: 1.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others .dolwav24-update__bg {
        top: 20px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-update.others .dolwav24-update__bg {
        top: 1.35135vw
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others .dolwav24-update__chara--left {
        width: 672px;
        top: 207px;
        left: calc(50% - 1025px)
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update.others .dolwav24-update__chara--right {
        width: 480px;
        left: calc(50% + 364px);
        bottom: 143px
    }
}

.dolwav24-update__wrap {
    position: relative;
    background-color: #2875ff;
    width: 100%;
    padding-bottom: 9.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update__wrap {
        padding-bottom: 80px;
        overflow: hidden
    }
}

.dolwav24-update__bg {
    background: transparent url(../data/webp/dolwav-day-2024/bg_content.png.webp) repeat-y;
    background-size: contain;
    background-position: center top;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 5.33333vw;
    z-index: 1;
    background-color: #2874ff
}

@media only screen and (min-width:768px) {
    .dolwav24-update__bg {
        width: 100%;
        top: 40px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-update__bg {
        top: 2.7027vw
    }
}

.dolwav24-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav24-update__title--h2 {
        width: 700px;
        padding-top: 70, 1480
    }
}

.dolwav24-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 81.33333vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .dolwav24-update__inner {
        width: 700px
    }
}

.dolwav24-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.dolwav24-update__card {
    position: relative;
    width: 100%;
    padding: 0 6.4vw 9.33333vw 6.13333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card {
        padding: 0 90px 80px 90px
    }
}

.dolwav24-update__card:has(.dolwav24-update__button) {
    padding-bottom: 5.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card:has(.dolwav24-update__button) {
        padding-bottom: 40px
    }
}

.dolwav24-update__card--box {
    background-color: #fff;
    margin-top: 10.53333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card--box {
        margin-top: 80px
    }
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card--box:not(:first-of-type) {
        margin-top: 80px
    }
}

.dolwav24-update__card--box:after {
    display: block;
    content: "";
    background-image: url(../data/webp/dolwav-day-2024/img_card_deco.png.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 10.4vw;
    position: absolute;
    bottom: 2.4vw;
    left: 0;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card--box:after {
        background-image: url(../data/webp/dolwav-day-2024/img_card_deco_pc.png.webp);
        height: 110px;
        bottom: 16px
    }
}

.dolwav24-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 3.2vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card--title {
        font-size: 26px;
        padding-top: 25px;
        line-height: 1.5
    }
}

.dolwav24-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card--img {
        margin-top: 22px
    }
}

.dolwav24-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    margin-top: 1.86667vw;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .dolwav24-update__card--summary {
        font-size: 16px;
        margin-top: 31px;
        line-height: 1.8
    }
}

.dolwav24-update__daikei--top {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav24-update__daikei--top {
        height: 20px
    }
}

.dolwav24-update__daikei--bottom {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav24-update__daikei--bottom {
        height: 20px
    }
}

.dolwav24-update__button {
    margin: 4.8vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav24-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.dolwav24-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 700;
    height: 10.66667vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .dolwav24-update__button--item {
        font-size: 16px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.dolwav24-update__button--item:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav24-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.dolwav24-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .dolwav24-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.dolwav24-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .dolwav24-update__button--item:hover {
        background-color: #000
    }
}

.dolwav24-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.dolwav24-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .dolwav24-update__button--txt {
        font-size: 16px
    }
}

.dolwav24-download {
    background-color: #fff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav24-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.dolwav24-download:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2024/img_wave_rbw_top.png.webp) no-repeat;
    background-size: contain;
    height: 5.46667vw;
    width: 100%;
    position: absolute;
    top: -8.8vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav24-download:before {
        background-image: url(../data/webp/dolwav-day-2024/img_wave_rbw_top_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 52px;
        top: -50px
    }
}

.dolwav24-download__store {
    background-color: #fff;
    position: relative;
    padding-top: 8.8vw
}

@media only screen and (min-width:768px) {
    .dolwav24-download__store {
        margin-top: 0;
        padding: 39px 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav24-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.dolwav24-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .dolwav24-download__store .store {
        margin-top: 40px
    }
}

.dolwav24-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .dolwav24-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.dolwav24-download__store .store-title {
    background-color: #2874ff;
    margin: 0 auto;
    font-size: 4.8vw;
    letter-spacing: .53333vw;
    padding: 0 .26667vw .53333vw .8vw;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav24-download__store .store-title {
        font-size: 40px;
        letter-spacing: 0;
        line-height: 1;
        padding: 0 0 4px 2px
    }
}

.dolwav24 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav24 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav24 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.dolwav24 .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav24 .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav24 .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.dolwav24 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav24 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav24 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.dolwav25-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.dolwav25-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden
}

.dolwav25-kv__item--bgv {
    background: transparent url(../data/webp/dolwav-day-2025/bg_kv_fix.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 187.06667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__item--bgv {
        background: transparent url(../data/webp/dolwav-day-2025/bg_kv_fix_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.dolwav25-kv__item--bgv.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 2
}

.dolwav25-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 157.33333vw;
    margin-top: -157.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__item:nth-child(1) {
        margin-top: -59.12162vw;
        height: 64.18919vw
    }
}

.dolwav25-kv__item:nth-child(1) .dolwav25-kv__item--bg {
    background: transparent url(../data/webp/dolwav-day-2025/img_kv_sp.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 161.86667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__item:nth-child(1) .dolwav25-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2025/img_kv_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.dolwav25-kv__item:nth-child(2) {
    z-index: 3
}

@media only screen and (min-width:767px) {
    .dolwav25-kv__item:nth-child(2) .dolwav25-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2025/bg_kv_01_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.dolwav25-kv__item:nth-child(3) {
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__item:nth-child(3) .dolwav25-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2025/bg_kv_02_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.dolwav25-kv__item:nth-child(4) {
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__item:nth-child(4) .dolwav25-kv__item--bg {
        background: transparent url(../data/webp/dolwav-day-2025/bg_kv_03_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.dolwav25-kv__item--vdo {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 157.33333vw;
    z-index: 10;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none
}

.dolwav25-kv__item--vdo.js--show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: .5s
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__item--vdo {
        height: 64.18919vw
    }
}

.dolwav25-kv__item--vdo___container {
    display: block;
    position: absolute;
    top: 48%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 268%;
    height: 104%
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__item--vdo___container {
        width: 118%;
        height: 104%
    }
}

.dolwav25-kv__item--vdo___container iframe {
    position: absolute;
    top: 0;
    left: 0
}

.dolwav25-kv__item--vdo video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dolwav25-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__sp {
        display: none
    }
}

.dolwav25-kv__sparkle {
    position: relative;
    z-index: 1
}

.dolwav25-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.dolwav25-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.dolwav25-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2025/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.dolwav25-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2025/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.dolwav25-lead {
    position: absolute;
    top: -168vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    width: 100%;
    height: 159.46667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav25-lead {
        top: -59.12162vw;
        height: 59.12162vw;
        width: 100%
    }
}

.dolwav25-lead__logo {
    margin: 0 auto;
    width: 29.46667vw;
    position: absolute;
    left: 5.06667vw;
    top: 17.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-lead__logo {
        width: 20.47297vw;
        top: 2.43243vw;
        left: 4.25676vw
    }
}

.dolwav25-lead__catch {
    margin: 0 auto;
    width: 89.73333vw;
    position: absolute;
    top: 108vw;
    z-index: 3
}

@media only screen and (max-width:767px) {
    .dolwav25-lead__catch {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-lead__catch {
        width: 42.36486vw;
        top: 35.47297vw;
        left: 0vw
    }
}

.dolwav25-menu {
    position: fixed;
    z-index: 10;
    height: 16vw;
    width: 100vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    pointer-events: auto;
    background: #ff81e0;
    background: linear-gradient(0deg, #ff81e0 0, #40cfc2 47%, #ffff27 100%);
    border-radius: 0 0 5.6vw 5.6vw
}

@media only screen and (max-width:767px) {
    .dolwav25-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-menu {
        bottom: 0;
        right: -.13514vw;
        height: 4.32432vw;
        width: 40.74324vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu {
        right: -2px;
        height: 64px;
        width: 603px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.dolwav25-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 98.66667vw;
    height: 14.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 40.40541vw;
        height: 4.05405vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__wrap {
        width: 598px;
        height: 60px
    }
}

.dolwav25-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    width: 70.66667vw;
    height: 100%;
    background-color: #fff;
    border-bottom-left-radius: 5.6vw;
    overflow: hidden;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 28.85135vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__list {
        width: 427px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.dolwav25-menu__list:after {
    display: block;
    content: "";
    background-image: url(../data/webp/dolwav-day-2025/bg_nav.png.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 70.66667vw;
    height: 14.66667vw;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list:after {
        background-image: url(../data/webp/dolwav-day-2025/bg_nav_pc.png.webp);
        width: 29.05405vw;
        height: 4.05405vw
    }
}

.dolwav25-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    z-index: 2;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav25-menu__list--items {
        font-size: 20px
    }
}

.dolwav25-menu__list--items:not(:first-of-type) {
    padding: 0 6vw
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list--items:not(:first-of-type) {
        padding: 0 2.36486vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__list--items:not(:first-of-type) {
        padding: 0 35px
    }
}

.dolwav25-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #000;
    height: 4.66667vw;
    width: .16667vw;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #000;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .dolwav25-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.dolwav25-menu__list--items:first-of-type {
    padding: 0 3.6vw 0 4.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list--items:first-of-type {
        padding: 0 1.55405vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__list--items:first-of-type {
        padding: 0 23px 0 0
    }
}

.dolwav25-menu__list--items:last-of-type {
    padding-left: 4.53333vw;
    padding-right: 4.4vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list--items:last-of-type {
        padding-left: 1.95946vw;
        padding-right: 1.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__list--items:last-of-type {
        padding-left: 29px;
        padding-right: 28px
    }
}

.dolwav25-menu__list--btn {
    display: inline-block;
    color: #000
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list--btn {
        transition: color .5s
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__list--btn:hover {
        color: #2874ff
    }
}

.dolwav25-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #2875ff;
    width: 28.13333vw;
    height: 14.66667vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border: solid .26667vw #2875ff;
    border-bottom-right-radius: 5.6vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.48649vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__share {
        font-size: 20px;
        height: 60px;
        width: 170px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.dolwav25-menu__share--btn {
    color: #fff;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__share--btn {
        margin-left: 2.02703vw;
        transition: color .3s
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__share--btn:hover {
        color: #000
    }
}

.dolwav25-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2025/icon_x.png.webp) no-repeat;
    background-size: contain;
    width: 5.06667vw;
    height: 5.06667vw;
    position: absolute;
    top: 50%;
    left: 2.66667vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__share:after {
        width: 2.02703vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__share:after {
        width: 30px;
        height: 30px;
        left: 20px
    }
}

.dolwav25-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-menu__jp {
        font-size: 10px
    }
}

.dolwav25-animation {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    mix-blend-mode: hard-light;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.dolwav25-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .dolwav25-animation__prism--upper {
        width: 13.51351vw
    }
}

.dolwav25-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .dolwav25-animation__prism--lower {
        width: 13.51351vw
    }
}

.dolwav25-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .dolwav25-animation__reflection--upper {
        width: 20.27027vw
    }
}

.dolwav25-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .dolwav25-animation__reflection--lower {
        width: 20.27027vw
    }
}

.dolwav25-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2025/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav25-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.dolwav25-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2025/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav25-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.dolwav25-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/dolwav-day-2025/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .dolwav25-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.dolwav25-banner {
    background-color: transparent;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav25-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.dolwav25-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav25-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.dolwav25-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav25-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.dolwav25-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__bg {
        height: 452px
    }
}

.dolwav25-banner__bg--left {
    background: transparent url(../data/webp/dolwav-day-2025/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__bg--left {
        background-image: url(../data/webp/dolwav-day-2025/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.dolwav25-banner__bg--right {
    background: transparent url(../data/webp/dolwav-day-2025/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.dolwav25-banner__slider {
    margin-top: 10.66667vw;
    margin-bottom: 10.66667vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.dolwav25-banner__slider--wrap {
    width: 100%;
    position: relative
}

.dolwav25-banner__slider--container {
    overflow: visible;
    width: 69.33333vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__slider--container {
        width: 520px;
        height: 315px
    }
}

.dolwav25-banner__slider--container picture {
    pointer-events: all
}

.dolwav25-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__slider--container img {
        height: 315px
    }
}

.dolwav25-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__slider--pagination {
        margin-top: 20px
    }
}

.dolwav25-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 3.33333vw;
    height: 1.73333vw;
    width: 1.73333vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 25px;
        height: 13px;
        width: 13px;
        border-width: 2px
    }
}

.dolwav25-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #ffe50a;
    height: 1.73333vw;
    width: 1.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 13px;
        width: 13px
    }
}

.dolwav25-fixbtn {
    display: block;
    width: 63.46667vw;
    position: fixed;
    bottom: 0vw;
    left: 2.4vw;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none;
    transition: all .4s ease;
    z-index: 999
}

.dolwav25-fixbtn.visible {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    pointer-events: all;
    bottom: 2.13333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-fixbtn {
        width: 22.90541vw;
        left: 3.04054vw;
        bottom: -.67568vw
    }

    .dolwav25-fixbtn.visible {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        pointer-events: all;
        bottom: .67568vw
    }
}

.dolwav25-collab {
    height: 106.93333vw;
    width: 100%;
    z-index: 4;
    position: relative;
    margin-top: 168vw
}

@media only screen and (min-width:768px) {
    .dolwav25-collab {
        position: absolute;
        margin: 0 auto;
        width: 41.75676vw;
        z-index: 3;
        top: -24.59459vw;
        left: 0vw
    }
}

@media only screen and (max-width:767px) {
    .dolwav25-collab {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.dolwav25-movie {
    background-color: #000;
    height: 56.26667vw;
    width: 100%;
    z-index: 4;
    position: relative;
    margin-top: 168vw;
    margin-bottom: 21.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-movie {
        width: 18.37838vw;
        height: 10.33784vw;
        margin-top: 0;
        margin-bottom: 0;
        right: 2.7027vw;
        top: -16.35135vw;
        position: absolute;
        z-index: 3
    }
}

.dolwav25-movie__bg {
    width: 100%;
    height: 56.26667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__bg {
        width: 18.24324vw;
        height: 12.56757vw
    }
}

.dolwav25-movie__inner {
    position: relative;
    background-image: url(../data/webp/dolwav-day-2025/bg_movie.png.webp);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 56.26667vw;
    pointer-events: all;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__inner {
        height: 10.33784vw
    }
}

.dolwav25-movie__inner:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 14.66667vw;
    width: 100%;
    position: absolute;
    top: -14.66667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__inner:before {
        display: none
    }
}

.dolwav25-movie__inner:after {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -31.46667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__inner:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__inner:hover .dolwav25-movie__play {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.dolwav25-movie__btn {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5
}

.dolwav25-movie__mask {
    background-color: #2875ff;
    width: 100%;
    height: 11.2vw;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__mask {
        height: 2.2973vw
    }
}

.dolwav25-movie__mask--txt {
    color: #fff;
    font-size: 8.53333vw;
    font-weight: 900;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 2.13333vw;
    letter-spacing: .53333vw;
    height: 100%
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__mask--txt {
        font-size: 1.48649vw;
        margin-left: 0;
        padding-right: 1.68919vw;
        letter-spacing: .13514vw
    }
}

.dolwav25-movie__mask--txt:before {
    display: block;
    content: "";
    display: inline-block;
    background: transparent url(../data/webp/dolwav-day-2025/img_phenio_summer.png.webp) no-repeat;
    background-size: contain;
    width: 8.53333vw;
    height: 9.6vw;
    margin-right: 4.66667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__mask--txt:before {
        width: 3.58108vw;
        height: 4.05405vw;
        margin-right: .33784vw;
        margin-top: -1.68919vw
    }
}

.dolwav25-movie__mask--txt:after {
    display: block;
    content: "";
    background-color: #000;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    width: 11.06667vw;
    height: 11.06667vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__mask--txt:after {
        width: 2.2973vw;
        height: 2.2973vw
    }
}

.dolwav25-movie__play {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    height: 43.46667vw;
    width: 31.33333vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__play {
        height: 8.91892vw;
        width: 6.55405vw;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s
    }
}

.dolwav25-movie__play--text {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__play--text {
        font-size: 1.35135vw
    }
}

.dolwav25-movie__modal--inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__modal--inner {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .dolwav25-movie__modal--inner {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__modal--item {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .dolwav25-movie__modal--item {
        padding: 8.52619vw 0
    }
}

.dolwav25-movie__modal--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.dolwav25-movie__modal--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.dolwav25-movie__modal--close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__modal--close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.dolwav25-movie__modal--close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__modal--close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.dolwav25-movie__modal--close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav25-movie__modal--close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.dolwav25-movie__modal--close:active {
    top: 0
}

.dolwav25-update {
    padding: 6vw 0;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .dolwav25-update {
        padding: 60px 0
    }
}

.dolwav25-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2025/img_wave_rb_top.png.webp) no-repeat;
    background-size: 100vw auto;
    height: 5.33333vw;
    width: 100%;
    position: absolute;
    top: .8vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav25-update:before {
        background-image: url(../data/webp/dolwav-day-2025/img_wave_rb_top_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 52px;
        top: 9px
    }
}

.dolwav25-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2025/img_wave_rb_btm.png.webp) no-repeat;
    background-size: contain;
    height: 20vw;
    width: 100%;
    position: absolute;
    bottom: -4vw;
    left: 0;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .dolwav25-update:after {
        background-image: url(../data/webp/dolwav-day-2025/img_wave_rb_btm_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 90px;
        bottom: 8px
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update__chara--left {
        position: absolute;
        z-index: 4
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update__chara--right {
        position: absolute;
        z-index: 4
    }
}

.dolwav25-update.info {
    margin-top: -5.6vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.info {
        margin-top: 60vh
    }
}

.dolwav25-update.info .dolwav25-update__title--h2 {
    width: 93.86667vw;
    padding-top: 10.4vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.info .dolwav25-update__title--h2 {
        width: 704px;
        padding-top: 86px
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update.info .dolwav25-update__chara--left {
        width: 663px;
        top: 90px;
        left: calc(50% - 893px)
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update.info .dolwav25-update__chara--right {
        width: 911px;
        bottom: -190px;
        left: calc(50% + -11px)
    }
}

.dolwav25-update.event {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.event {
        margin-top: 60vh
    }
}

@media only screen and (max-width:767px) {
    .dolwav25-update.event:after {
        bottom: -1.86667vw
    }
}

.dolwav25-update.event .dolwav25-update__wrap {
    padding-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.event .dolwav25-update__wrap {
        padding-top: 70px
    }
}

.dolwav25-update.event .dolwav25-update__bg {
    top: 3.2vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.event .dolwav25-update__bg {
        top: 34px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-update.event .dolwav25-update__bg {
        top: 2.2973vw
    }
}

.dolwav25-update.event .dolwav25-update__title--h2 {
    width: 81.46667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.event .dolwav25-update__title--h2 {
        width: 611px
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update.event .dolwav25-update__chara--left {
        width: 538px;
        top: 237px;
        left: calc(50% - 817px)
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update.event .dolwav25-update__chara--right {
        width: 1189px;
        left: calc(50% + 23px);
        bottom: -101px
    }
}

.dolwav25-update.others {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others {
        margin-top: 60vh;
        padding-bottom: 0
    }
}

.dolwav25-update.others:after {
    display: none
}

.dolwav25-update.others .dolwav25-update__wrap {
    padding: 10.53333vw 0 0 0
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others .dolwav25-update__wrap {
        padding: 78px 0 0 0
    }
}

.dolwav25-update.others .dolwav25-update__title--h2 {
    width: 93.6vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others .dolwav25-update__title--h2 {
        width: 702px
    }
}

.dolwav25-update.others .dolwav25-update__wrap {
    padding-bottom: 13.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others .dolwav25-update__wrap {
        padding-bottom: 130px
    }
}

.dolwav25-update.others .dolwav25-update__bg {
    top: 1.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others .dolwav25-update__bg {
        top: 20px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-update.others .dolwav25-update__bg {
        top: 1.35135vw
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others .dolwav25-update__chara--left {
        width: 449px;
        top: 250px;
        left: calc(50% - 757px)
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update.others .dolwav25-update__chara--right {
        width: 1101px;
        left: calc(50% + 132px);
        bottom: 20px
    }
}

.dolwav25-update__wrap {
    position: relative;
    background-color: #2875ff;
    width: 100%;
    padding-bottom: 9.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update__wrap {
        padding-bottom: 80px;
        overflow: hidden
    }
}

.dolwav25-update__bg {
    background: transparent url(../data/webp/dolwav-day-2025/bg_content.png.webp) repeat-y;
    background-size: contain;
    background-position: center top;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 5.33333vw;
    z-index: 1;
    background-color: #2874ff
}

@media only screen and (min-width:768px) {
    .dolwav25-update__bg {
        width: 100%;
        top: 40px
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-update__bg {
        top: 2.7027vw
    }
}

.dolwav25-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav25-update__title--h2 {
        width: 700px;
        padding-top: 70, 1480
    }
}

.dolwav25-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 92vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .dolwav25-update__inner {
        width: 700px
    }
}

.dolwav25-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.dolwav25-update__card {
    position: relative;
    width: 100%;
    padding: 0 3.73333vw 10.93333vw 4vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card {
        padding: 0 90px 80px 105px
    }
}

.dolwav25-update__card:has(.dolwav25-update__button) {
    padding-bottom: 8vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card:has(.dolwav25-update__button) {
        padding-bottom: 20px
    }
}

.dolwav25-update__card--box {
    background-color: #fff;
    margin-top: 10.53333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card--box {
        margin-top: 80px
    }
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card--box:not(:first-of-type) {
        margin-top: 80px
    }
}

.dolwav25-update__card--box:after {
    display: block;
    content: "";
    background-image: url(../data/webp/dolwav-day-2025/img_card_deco.png.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 10.4vw;
    position: absolute;
    bottom: 2.4vw;
    left: 0;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card--box:after {
        background-image: url(../data/webp/dolwav-day-2025/img_card_deco_pc.png.webp);
        height: 110px;
        bottom: 16px
    }
}

.dolwav25-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 3.2vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card--title {
        font-size: 26px;
        padding-top: 25px;
        line-height: 1.5
    }
}

.dolwav25-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card--img {
        margin-top: 22px
    }
}

.dolwav25-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    margin-top: 1.86667vw;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .dolwav25-update__card--summary {
        font-size: 16px;
        margin-top: 31px;
        line-height: 1.8
    }
}

.dolwav25-update__daikei--top {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav25-update__daikei--top {
        height: 20px
    }
}

.dolwav25-update__daikei--bottom {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .dolwav25-update__daikei--bottom {
        height: 20px
    }
}

.dolwav25-update__button {
    margin: 4.8vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .dolwav25-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.dolwav25-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 700;
    height: 10.66667vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .dolwav25-update__button--item {
        font-size: 16px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.dolwav25-update__button--item:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .dolwav25-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.dolwav25-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .dolwav25-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.dolwav25-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .dolwav25-update__button--item:hover {
        background-color: #000
    }
}

.dolwav25-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.dolwav25-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .dolwav25-update__button--txt {
        font-size: 16px
    }
}

.dolwav25-download {
    background-color: #fff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .dolwav25-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.dolwav25-download:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/dolwav-day-2025/img_wave_rbw_top.png.webp) no-repeat;
    background-size: contain;
    height: 5.46667vw;
    width: 100%;
    position: absolute;
    top: -8.8vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .dolwav25-download:before {
        background-image: url(../data/webp/dolwav-day-2025/img_wave_rbw_top_pc.png.webp);
        background-repeat: repeat-x;
        background-size: 2092px auto;
        background-position: top center;
        height: 52px;
        top: -50px
    }
}

.dolwav25-download__store {
    background-color: #fff;
    position: relative;
    padding-top: 8.8vw
}

@media only screen and (min-width:768px) {
    .dolwav25-download__store {
        margin-top: 0;
        padding: 39px 0
    }
}

@media only screen and (min-width:1481px) {
    .dolwav25-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.dolwav25-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .dolwav25-download__store .store {
        margin-top: 40px
    }
}

.dolwav25-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .dolwav25-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.dolwav25-download__store .store-title {
    background-color: #2874ff;
    margin: 0 auto;
    font-size: 4.8vw;
    letter-spacing: .53333vw;
    padding: 0 .26667vw .53333vw .8vw;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

@media only screen and (min-width:768px) {
    .dolwav25-download__store .store-title {
        font-size: 40px;
        letter-spacing: 0;
        line-height: 1;
        padding: 0 0 4px 2px
    }
}

.dolwav25 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav25 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav25 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.dolwav25 .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav25 .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav25 .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.dolwav25 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .dolwav25 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .dolwav25 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.anniv24-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.anniv24-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden;
    pointer-events: none
}

.anniv24-kv__item--bgv {
    background: transparent url(../data/webp/2nd-anniversary/bg_kv_fix.png.webp) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 158.66667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media only screen and (min-width:768px) {
    .anniv24-kv__item--bgv {
        background: transparent url(../data/webp/2nd-anniversary/bg_kv_fix_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.anniv24-kv__item--bgv.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 2
}

.anniv24-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 158.66667vw;
    margin-top: -168vw;
    bottom: auto;
    top: 0
}

@media only screen and (min-width:768px) {
    .anniv24-kv__item:nth-child(1) {
        margin-top: -59.12162vw;
        height: 64.18919vw
    }
}

.anniv24-kv__item:nth-child(1) .anniv24-kv__item--bg {
    background: transparent url(../data/webp/2nd-anniversary/bg_kv_fix.png.webp) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 158.66667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv24-kv__item:nth-child(1) .anniv24-kv__item--bg {
        background: transparent url(../data/webp/2nd-anniversary/bg_kv_fix_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.anniv24-kv__item:nth-child(2) {
    z-index: 3
}

@media only screen and (min-width:767px) {
    .anniv24-kv__item:nth-child(2) .anniv24-kv__item--bg {
        background: transparent url(../data/webp/2nd-anniversary/bg_kv_01.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.anniv24-kv__item:nth-child(3) {
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv24-kv__item:nth-child(3) .anniv24-kv__item--bg {
        background: transparent url(../data/webp/2nd-anniversary/bg_kv_02.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.anniv24-kv__item:nth-child(4) {
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv24-kv__item:nth-child(4) .anniv24-kv__item--bg {
        background: transparent url(../data/webp/2nd-anniversary/bg_kv_03.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.anniv24-kv__item--vdo {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 159.46667vw;
    z-index: 10;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none
}

.anniv24-kv__item--vdo.js--show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: .5s
}

@media only screen and (min-width:768px) {
    .anniv24-kv__item--vdo {
        height: 64.18919vw
    }
}

.anniv24-kv__item--vdo video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.anniv24-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .anniv24-kv__sp {
        display: none
    }
}

.anniv24-kv__sparkle {
    position: relative;
    z-index: 1
}

.anniv24-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .anniv24-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.anniv24-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .anniv24-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.anniv24-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/common/special/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.anniv24-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/common/special/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.anniv24-lead {
    position: absolute;
    top: -168vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    width: 100%;
    height: 158.66667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv24-lead {
        top: -59.12162vw;
        height: 59.12162vw;
        width: 100%
    }
}

.anniv24-lead__logo {
    margin: 0 auto;
    width: 55.06667vw;
    position: absolute;
    left: 50%
}

@media only screen and (max-width:767px) {
    .anniv24-lead__logo {
        bottom: 11.33333vw;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv24-lead__logo {
        width: 20.54054vw;
        top: 2.5vw;
        left: 4.25676vw
    }
}

.anniv24-lead__catch {
    margin: 0 auto;
    width: 74vw;
    position: absolute;
    bottom: 28.53333vw;
    z-index: 2;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .anniv24-lead__catch {
        width: 34.93243vw;
        bottom: 3.37838vw
    }
}

.anniv24-menu {
    position: fixed;
    height: 14.4vw;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 10;
    border-bottom-left-radius: 4vw;
    border-bottom-right-radius: 4vw;
    pointer-events: auto
}

@media only screen and (max-width:767px) {
    .anniv24-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv24-menu {
        bottom: 0;
        right: 0;
        height: 4.05405vw;
        width: 37.97297vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu {
        height: 60px;
        width: 562px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.anniv24-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

@media only screen and (min-width:768px) {
    .anniv24-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.anniv24-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    height: 14.4vw;
    width: 71.6vw;
    background-color: #2875ff;
    border-bottom-left-radius: 7.06667vw
}

@media only screen and (min-width:768px) {
    .anniv24-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        height: 4.05405vw;
        width: 26.82432vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__list {
        height: 60px;
        width: 397px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.anniv24-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .anniv24-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv24-menu__list--items {
        font-size: 20px
    }
}

.anniv24-menu__list--items:not(:first-of-type) {
    padding: 0 5.06667vw
}

@media only screen and (min-width:768px) {
    .anniv24-menu__list--items:not(:first-of-type) {
        padding: 0 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__list--items:not(:first-of-type) {
        padding: 0 22px
    }
}

.anniv24-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #fff;
    height: 4.66667vw;
    width: .168vw;
    margin: 0;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .anniv24-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #fff;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .anniv24-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.anniv24-menu__list--items:first-of-type {
    padding: 0 5.06667vw 0 5.06667vw
}

@media only screen and (min-width:768px) {
    .anniv24-menu__list--items:first-of-type {
        padding: 0 1.48649vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__list--items:first-of-type {
        padding: 0 22px 0 0
    }
}

.anniv24-menu__list--items:last-of-type {
    padding-right: 5.06667vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv24-menu__list--items:last-of-type {
        padding-right: 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__list--items:last-of-type {
        padding-right: 22px
    }
}

.anniv24-menu__list--btn {
    display: inline-block;
    color: #fff;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .anniv24-menu__list--btn:hover {
        color: #000
    }
}

.anniv24-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #fff;
    width: 28.53333vw;
    height: 14.4vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border-bottom-right-radius: 7.06667vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .anniv24-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.35135vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__share {
        font-size: 20px;
        height: 60px;
        width: 168px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.anniv24-menu__share--btn {
    color: #000;
    margin-left: 5.06667vw;
    transition: all .3s
}

@media only screen and (min-width:768px) {
    .anniv24-menu__share--btn {
        margin-left: 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .anniv24-menu__share--btn:hover {
        color: #2875ff
    }
}

.anniv24-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_x_bl.png) no-repeat;
    background-size: contain;
    width: 5.2vw;
    height: 5.2vw;
    position: absolute;
    top: 50%;
    left: 3.73333vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .anniv24-menu__share:after {
        width: 2.02703vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__share:after {
        width: 30px;
        height: 30px;
        left: 20px
    }
}

.anniv24-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.6vw
}

@media only screen and (min-width:768px) {
    .anniv24-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-menu__jp {
        font-size: 10px
    }
}

.anniv24-animation__wrap {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    mix-blend-mode: hard-light;
    will-change: mix-blend-mode
}

.anniv24-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .anniv24-animation__prism--upper {
        width: 13.51351vw
    }
}

.anniv24-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .anniv24-animation__prism--lower {
        width: 13.51351vw
    }
}

.anniv24-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .anniv24-animation__reflection--upper {
        width: 20.27027vw
    }
}

.anniv24-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .anniv24-animation__reflection--lower {
        width: 20.27027vw
    }
}

.anniv24-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv24-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.anniv24-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv24-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.anniv24-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv24-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.anniv24-animation__confetti {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.anniv24-animation__confetti--item {
    width: 4vw;
    height: 4.66667vw;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--item {
        width: 14px;
        height: 16px
    }
}

.anniv24-animation__confetti--left {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.anniv24-animation__confetti--left .i1 {
    left: 20%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i1 {
        left: 30%;
        -webkit-animation-delay: 1.8s;
        animation-delay: 1.8s
    }
}

.anniv24-animation__confetti--left .i2 {
    left: 14%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 7.5s;
    animation-delay: 7.5s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i2 {
        left: 27%;
        -webkit-animation-delay: 9.5s;
        animation-delay: 9.5s
    }
}

.anniv24-animation__confetti--left .i3 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i3 {
        left: 6%;
        -webkit-animation-delay: 1.3s;
        animation-delay: 1.3s
    }
}

.anniv24-animation__confetti--left .i4 {
    left: 15%;
    -webkit-animation: confettiLeft3 linear infinite;
    animation: confettiLeft3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i4 {
        left: 28%;
        -webkit-animation-delay: 3.5s;
        animation-delay: 3.5s
    }
}

.anniv24-animation__confetti--left .i5 {
    left: 15%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 4.5s;
    animation-delay: 4.5s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i5 {
        left: 35%;
        -webkit-animation-delay: 6s;
        animation-delay: 6s
    }
}

.anniv24-animation__confetti--left .i6 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 8.5s;
    animation-delay: 8.5s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i6 {
        left: 36%;
        -webkit-animation-delay: 11.5s;
        animation-delay: 11.5s
    }
}

.anniv24-animation__confetti--left .i7 {
    left: 20%;
    -webkit-animation: confettiLeft3 linear infinite;
    animation: confettiLeft3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i7 {
        left: 14%;
        -webkit-animation-delay: 0s;
        animation-delay: 0s
    }
}

.anniv24-animation__confetti--left .i8 {
    left: 14%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 5.9s;
    animation-delay: 5.9s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i8 {
        left: 6%;
        -webkit-animation-delay: 4.5s;
        animation-delay: 4.5s
    }
}

.anniv24-animation__confetti--left .i9 {
    left: 13%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 10s;
    animation-delay: 10s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i9 {
        left: 15%;
        -webkit-animation-delay: 7.8s;
        animation-delay: 7.8s
    }
}

.anniv24-animation__confetti--left .i10 {
    left: 30%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 12s;
    animation-delay: 12s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i10 {
        left: 10%;
        -webkit-animation-delay: 10.5s;
        animation-delay: 10.5s
    }
}

.anniv24-animation__confetti--left .i11 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 13.5s;
    animation-delay: 13.5s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--left .i11 {
        left: 50%;
        -webkit-animation-delay: 13.5s;
        animation-delay: 13.5s
    }
}

.anniv24-animation__confetti--right {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0
}

.anniv24-animation__confetti--right .i1 {
    right: 20%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i1 {
        right: 30%;
        -webkit-animation-delay: 3.4s;
        animation-delay: 3.4s
    }
}

.anniv24-animation__confetti--right .i2 {
    right: 30%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 10s;
    animation-delay: 10s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i2 {
        right: 10%;
        -webkit-animation-delay: 10.4s;
        animation-delay: 10.4s
    }
}

.anniv24-animation__confetti--right .i3 {
    right: 10%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 4s;
    animation-delay: 4s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i3 {
        right: 6%
    }
}

.anniv24-animation__confetti--right .i4 {
    right: 6%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i4 {
        right: 18%;
        -webkit-animation-delay: 7s;
        animation-delay: 7s
    }
}

.anniv24-animation__confetti--right .i5 {
    right: 30%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 13s;
    animation-delay: 13s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i5 {
        right: 20%;
        -webkit-animation-delay: 12s;
        animation-delay: 12s
    }
}

.anniv24-animation__confetti--right .i6 {
    right: 14%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 16s;
    animation-delay: 16s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i6 {
        right: 36%;
        -webkit-animation-delay: 14.4s;
        animation-delay: 14.4s
    }
}

.anniv24-animation__confetti--right .i7 {
    right: 10%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i7 {
        right: 14%;
        -webkit-animation-delay: 2s;
        animation-delay: 2s
    }
}

.anniv24-animation__confetti--right .i8 {
    right: 10%;
    -webkit-animation: confettiRight2 linear infinite;
    animation: confettiRight2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 8s;
    animation-delay: 8s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i8 {
        right: 6%;
        -webkit-animation-delay: 6.4s;
        animation-delay: 6.4s
    }
}

.anniv24-animation__confetti--right .i9 {
    right: 20%;
    -webkit-animation: confettiRight2 linear infinite;
    animation: confettiRight2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 20s;
    animation-delay: 20s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i9 {
        right: 30%;
        -webkit-animation-delay: 8.4s;
        animation-delay: 8.4s
    }
}

.anniv24-animation__confetti--right .i10 {
    right: 30%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 22s;
    animation-delay: 22s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i10 {
        right: 6%;
        -webkit-animation-delay: 14s;
        animation-delay: 14s
    }
}

.anniv24-animation__confetti--right .i11 {
    right: 10%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 26s;
    animation-delay: 26s
}

@media only screen and (min-width:768px) {
    .anniv24-animation__confetti--right .i11 {
        right: 50%;
        -webkit-animation-delay: 15s;
        animation-delay: 15s
    }
}

.anniv24-banner {
    background-color: transparent;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .anniv24-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.anniv24-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv24-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.anniv24-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv24-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.anniv24-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .anniv24-banner__bg {
        height: 452px
    }
}

.anniv24-banner__bg--left {
    background: transparent url(../data/webp/common/special/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv24-banner__bg--left {
        background-image: url(../data/webp/common/special/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.anniv24-banner__bg--right {
    background: transparent url(../data/webp/common/special/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .anniv24-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.anniv24-banner__slider {
    margin-top: 10.66667vw;
    margin-bottom: 10.66667vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .anniv24-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.anniv24-banner__slider--wrap {
    width: 100%;
    position: relative
}

.anniv24-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .anniv24-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.anniv24-banner__slider--container picture {
    pointer-events: all
}

.anniv24-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .anniv24-banner__slider--container img {
        height: 315px
    }
}

.anniv24-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .anniv24-banner__slider--pagination {
        margin-top: 20px
    }
}

.anniv24-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 3.33333vw;
    height: 1.73333vw;
    width: 1.73333vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .anniv24-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 25px;
        height: 13px;
        width: 13px;
        border-width: 2px
    }
}

.anniv24-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #ffe50a;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .anniv24-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.anniv24-movie {
    background-color: #000;
    height: 56.26667vw;
    width: 100%;
    z-index: 4;
    position: relative;
    margin-top: 168vw;
    margin-bottom: 21.33333vw
}

@media only screen and (min-width:768px) {
    .anniv24-movie {
        width: 18.37838vw;
        height: 10.33784vw;
        margin-top: 0;
        margin-bottom: 0;
        right: 5.33333vw;
        top: -16vw;
        position: absolute;
        z-index: 3
    }
}

.anniv24-movie__bg {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 56.26667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv24-movie__bg {
        width: 18.24324vw;
        height: 12.56757vw
    }
}

.anniv24-movie__inner {
    position: relative;
    background-image: url(../data/webp/2nd-anniversary/bg_movie.png.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 56.26667vw;
    pointer-events: all;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .anniv24-movie__inner {
        height: 10.33784vw
    }
}

.anniv24-movie__inner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 14.66667vw;
    width: 100%;
    position: absolute;
    top: -14.66667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv24-movie__inner:before {
        display: none
    }
}

.anniv24-movie__inner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -31.46667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv24-movie__inner:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .anniv24-movie__inner:hover .anniv24-movie__play {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.anniv24-movie__btn {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5
}

.anniv24-movie__mask {
    background-color: #2875ff;
    width: 100%;
    height: 11.2vw;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .anniv24-movie__mask {
        height: 2.2973vw
    }
}

.anniv24-movie__mask--txt {
    color: #fff;
    font-size: 6vw;
    font-weight: 900;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 2.13333vw;
    letter-spacing: .53333vw;
    height: 100%
}

@media only screen and (min-width:768px) {
    .anniv24-movie__mask--txt {
        font-size: 1.21622vw;
        margin-left: 0;
        padding-right: 1.82432vw;
        letter-spacing: .13514vw
    }
}

.anniv24-movie__mask--txt:before {
    display: block;
    content: "";
    display: inline-block;
    background: transparent url(../data/webp/2nd-anniversary/img_phenio.png.webp) no-repeat;
    background-size: contain;
    width: 8.53333vw;
    height: 9.6vw;
    margin-right: 1.33333vw
}

@media only screen and (min-width:768px) {
    .anniv24-movie__mask--txt:before {
        width: 3.58108vw;
        height: 4.05405vw;
        margin-right: .33784vw;
        margin-top: -1.68919vw
    }
}

.anniv24-movie__mask--txt:after {
    display: block;
    content: "";
    background-color: #000;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    width: 11.06667vw;
    height: 11.06667vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .anniv24-movie__mask--txt:after {
        width: 2.2973vw;
        height: 2.2973vw
    }
}

.anniv24-movie__play {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    height: 43.46667vw;
    width: 31.33333vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .anniv24-movie__play {
        height: 8.91892vw;
        width: 6.55405vw;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s
    }
}

.anniv24-movie__play--text {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .anniv24-movie__play--text {
        font-size: 1.35135vw
    }
}

.anniv24-movie__modal--inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .anniv24-movie__modal--inner {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .anniv24-movie__modal--inner {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .anniv24-movie__modal--item {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .anniv24-movie__modal--item {
        padding: 8.52619vw 0
    }
}

.anniv24-movie__modal--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.anniv24-movie__modal--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.anniv24-movie__modal--close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .anniv24-movie__modal--close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.anniv24-movie__modal--close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv24-movie__modal--close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.anniv24-movie__modal--close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv24-movie__modal--close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.anniv24-movie__modal--close:active {
    top: 0
}

.anniv24-update {
    padding-bottom: 6vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv24-update {
        padding-bottom: 60px
    }
}

.anniv24-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv24-update:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.anniv24-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv24-update:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: 16px
    }
}

.anniv24-update.info {
    margin-top: -6.66667vw
}

@media only screen and (min-width:768px) {
    .anniv24-update.info {
        margin-top: 74vh
    }
}

.anniv24-update.info .anniv24-update__title--h2 {
    width: 94vw;
    padding-top: 19.46667vw
}

@media only screen and (min-width:768px) {
    .anniv24-update.info .anniv24-update__title--h2 {
        width: 705px;
        padding-top: 58px
    }
}

@media only screen and (min-width:768px) {
    .anniv24-update.event {
        margin-top: 74vh
    }
}

@media only screen and (max-width:767px) {
    .anniv24-update.event:after {
        bottom: -1.86667vw
    }
}

.anniv24-update.event .anniv24-update__wrap {
    padding-top: 19.46667vw
}

@media only screen and (min-width:768px) {
    .anniv24-update.event .anniv24-update__wrap {
        padding-top: 58px
    }
}

.anniv24-update.event .anniv24-update__title--h2 {
    width: 68.13333vw
}

@media only screen and (min-width:768px) {
    .anniv24-update.event .anniv24-update__title--h2 {
        width: 511px
    }
}

@media only screen and (min-width:768px) {
    .anniv24-update.others {
        margin-top: 74vh;
        padding-bottom: 0
    }
}

.anniv24-update.others:after {
    display: none
}

.anniv24-update.others .anniv24-update__wrap {
    padding-top: 19.33333vw
}

@media only screen and (min-width:768px) {
    .anniv24-update.others .anniv24-update__wrap {
        padding-top: 58px;
        padding-bottom: 226px
    }
}

.anniv24-update.others .anniv24-update__title--h2 {
    width: 78.26667vw
}

@media only screen and (min-width:768px) {
    .anniv24-update.others .anniv24-update__title--h2 {
        width: 587px
    }
}

@media only screen and (min-width:768px) {
    .anniv24-update.others:after {
        display: none
    }
}

.anniv24-update__wrap {
    background-color: #fff;
    width: 100%;
    padding-bottom: 12.53333vw;
    position: relative;
    z-index: 2;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .anniv24-update__wrap {
        padding-bottom: 100px
    }
}

.anniv24-update__wrap:after,
.anniv24-update__wrap:before {
    content: "";
    display: block;
    background: transparent url(../data/webp/2nd-anniversary/img_parts.png.webp) no-repeat;
    background-size: contain;
    width: 44.8vw;
    height: 13.73333vw;
    position: absolute;
    top: 1.6vw;
    pointer-events: none;
    z-index: 2
}

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

    .anniv24-update__wrap:after,
    .anniv24-update__wrap:before {
        background-image: url(../data/webp/2nd-anniversary/img_parts_pc.png.webp);
        width: 1034px;
        height: 408px;
        top: 12px
    }
}

.anniv24-update__wrap:before {
    left: 0;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

@media only screen and (min-width:768px) {
    .anniv24-update__wrap:before {
        left: calc(50% + 370px)
    }
}

@media only screen and (max-width:767px) {
    .anniv24-update__wrap:after {
        right: 0
    }
}

@media only screen and (min-width:768px) {
    .anniv24-update__wrap:after {
        left: calc(50% - 1404px)
    }
}

.anniv24-update__bg {
    background: transparent url(../data/webp/2nd-anniversary/bg_content.png.webp) repeat-y;
    background-size: contain;
    background-position: center top;
    height: 100%;
    width: 100%;
    pointer-events: none;
    position: absolute;
    top: 4.8vw;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .anniv24-update__bg {
        width: 100%;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.anniv24-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv24-update__title--h2 {
        width: 700px
    }
}

.anniv24-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 82.13333vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .anniv24-update__inner {
        width: 700px
    }
}

.anniv24-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.anniv24-update__card {
    position: relative;
    width: 100%;
    padding: 0 6.4vw 5.33333vw 6.13333vw
}

@media only screen and (min-width:768px) {
    .anniv24-update__card {
        padding: 0 90px 40px 90px
    }
}

.anniv24-update__card:before {
    display: block;
    content: "";
    border-top: solid .4vw #2875ff;
    border-left: solid .4vw #2875ff;
    width: 22.93333vw;
    height: 23.2vw;
    position: absolute;
    top: -.4vw;
    left: -.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv24-update__card:before {
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        width: 177px;
        height: 177px;
        top: -2px;
        left: -2px
    }
}

.anniv24-update__card:after {
    display: block;
    content: "";
    border-bottom: solid .4vw #2875ff;
    border-right: solid .4vw #2875ff;
    width: 22.93333vw;
    height: 23.2vw;
    position: absolute;
    bottom: -.4vw;
    right: -.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv24-update__card:after {
        border-bottom: solid 2px #2875ff;
        border-right: solid 2px #2875ff;
        width: 177px;
        height: 177px;
        bottom: -2px;
        right: -2px
    }
}

.anniv24-update__card--box {
    border: solid .4vw #c5b000;
    background-color: #fff;
    margin-top: 11.73333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv24-update__card--box {
        border: solid 2px #c5b000;
        margin-top: 76px
    }
}

@media only screen and (min-width:768px) {
    .anniv24-update__card--box:not(:first-of-type) {
        margin-top: 80px
    }
}

.anniv24-update__card--box:before {
    display: block;
    content: "";
    background-image: url(../img/2nd-anniversary/img_badge.png);
    background-position: center;
    background-size: contain;
    width: 11.46667vw;
    height: 13.06667vw;
    position: absolute;
    top: -.93333vw;
    right: -1.6vw
}

@media only screen and (min-width:768px) {
    .anniv24-update__card--box:before {
        width: 127px;
        height: 144px;
        top: -12px;
        right: -19px
    }
}

.anniv24-update__card--box:after {
    display: block;
    content: "";
    background-image: url(../data/webp/2nd-anniversary/img_card_deco.png.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: 85.86667vw;
    height: 13.2vw;
    position: absolute;
    bottom: -2.26667vw;
    left: 50%;
    pointer-events: none
}

@media only screen and (max-width:767px) {
    .anniv24-update__card--box:after {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv24-update__card--box:after {
        background-image: url(../data/webp/2nd-anniversary/img_card_deco_pc.png.webp);
        width: 733px;
        height: 98px;
        bottom: -15px;
        left: -19px
    }
}

.anniv24-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 5.33333vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .anniv24-update__card--title {
        font-size: 26px;
        padding-top: 45px;
        line-height: 1.5
    }
}

.anniv24-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .anniv24-update__card--img {
        margin-top: 22px
    }
}

.anniv24-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    margin-top: 1.86667vw;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .anniv24-update__card--summary {
        font-size: 16px;
        margin-top: 31px;
        line-height: 1.8
    }
}

.anniv24-update__daikei--top {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv24-update__daikei--top {
        height: 20px
    }
}

.anniv24-update__daikei--bottom {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv24-update__daikei--bottom {
        height: 20px
    }
}

.anniv24-update__button {
    margin: 4.8vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .anniv24-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.anniv24-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 700;
    height: 10.66667vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .anniv24-update__button--item {
        font-size: 16px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.anniv24-update__button--item:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv24-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.anniv24-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .anniv24-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.anniv24-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .anniv24-update__button--item:hover {
        background-color: #000
    }
}

.anniv24-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.anniv24-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .anniv24-update__button--txt {
        font-size: 16px
    }
}

.anniv24-download {
    background-color: #2875ff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .anniv24-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.anniv24-download:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv24-download:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.anniv24-download__store {
    background-color: #2875ff;
    position: relative;
    padding-top: 8.8vw
}

@media only screen and (min-width:768px) {
    .anniv24-download__store {
        margin-top: 0;
        padding: 39px 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv24-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.anniv24-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .anniv24-download__store .store {
        margin-top: 40px
    }
}

.anniv24-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .anniv24-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.anniv24-download__store .store .game-details__img {
    background-color: #fff;
    width: 27.06667vw;
    height: 27.06667vw;
    padding: 2.66667vw
}

@media only screen and (min-width:768px) {
    .anniv24-download__store .store .game-details__img {
        width: 120px;
        height: 120px;
        padding: 10px
    }
}

.anniv24-download__store .store .game-details__list--ttl .title-bg {
    background-color: #2875ff
}

.anniv24-download__store .store-title {
    background-color: #fff;
    color: #2875ff;
    margin: 0 auto;
    font-size: 4.8vw;
    letter-spacing: .53333vw;
    padding: 0 .26667vw .53333vw .8vw;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv24-download__store .store-title {
        font-size: 40px;
        letter-spacing: 0;
        line-height: 1;
        padding: 0 0 4px 2px
    }
}

.anniv24 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .anniv24 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv24 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.anniv24 .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .anniv24 .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv24 .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.anniv24 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .anniv24 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv24 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.halfanniv25-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.halfanniv25-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden
}

.halfanniv25-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 159.06667vw;
    margin-top: -152vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__item:nth-child(1) {
        height: 63.51351vw;
        margin-top: -59.12162vw
    }
}

.halfanniv25-kv__item:nth-child(1) .halfanniv25-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2025/img_kv_bg01.png.webp) no-repeat;
    background-size: contain;
    background-position: center top;
    height: 159.06667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__item:nth-child(1) .halfanniv25-kv__item--bg {
        background: transparent url(../data/webp/half-anniversary-2025/img_kv_bg01_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 63.51351vw;
        width: 100%;
        top: 0
    }
}

.halfanniv25-kv__item:nth-child(2) {
    z-index: 3
}

.halfanniv25-kv__item:nth-child(2) .halfanniv25-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2025/img_kv_bg02.png.webp) no-repeat
}

@media only screen and (min-width:767px) {
    .halfanniv25-kv__item:nth-child(2) .halfanniv25-kv__item--bg {
        background-image: url(../data/webp/half-anniversary-2025/img_kv_bg02_pc.png.webp);
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.halfanniv25-kv__item:nth-child(3) {
    z-index: 2
}

.halfanniv25-kv__item:nth-child(3) .halfanniv25-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2025/img_kv_bg03.png.webp) no-repeat
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__item:nth-child(3) .halfanniv25-kv__item--bg {
        background-image: url(../data/webp/half-anniversary-2025/img_kv_bg03_pc.png.webp);
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.halfanniv25-kv__item:nth-child(4) {
    z-index: 1
}

.halfanniv25-kv__item:nth-child(4) .halfanniv25-kv__item--bg {
    background: transparent url(../data/webp/half-anniversary-2025/img_kv_bg04.png.webp) no-repeat
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__item:nth-child(4) .halfanniv25-kv__item--bg {
        background-image: url(../data/webp/half-anniversary-2025/img_kv_bg04_pc.png.webp);
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.halfanniv25-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__sp {
        display: none
    }
}

.halfanniv25-kv__sparkle {
    position: relative;
    z-index: 1
}

.halfanniv25-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.halfanniv25-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.halfanniv25-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2025/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.halfanniv25-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2025/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.halfanniv25-kv__lead {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
    width: 100%
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__lead {
        height: 54.05405vw;
        width: 100%;
        top: 0
    }
}

.halfanniv25-kv__lead--text {
    width: 73.6vw;
    margin: 0 auto;
    position: absolute;
    top: 83.06667vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__lead--text {
        padding-top: 0;
        width: 40.40541vw;
        top: 34.72973vw;
        margin-left: .13514vw
    }
}

.halfanniv25-kv__logo {
    margin: 0 auto;
    width: 56.8vw;
    position: absolute;
    top: 128.53333vw
}

@media only screen and (max-width:767px) {
    .halfanniv25-kv__logo {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .halfanniv25-kv__logo {
        width: 20.54054vw;
        top: 2.2973vw;
        left: 4.39189vw
    }
}

.halfanniv25-menu {
    position: fixed;
    height: 8vw;
    width: 77.33333vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 10;
    border-bottom-left-radius: 4vw;
    border-bottom-right-radius: 4vw;
    pointer-events: auto
}

@media only screen and (max-width:767px) {
    .halfanniv25-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu {
        bottom: 0;
        right: 0;
        height: 4.05405vw;
        width: 37.97297vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu {
        height: 60px;
        width: 562px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.halfanniv25-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.halfanniv25-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    width: 54.66667vw;
    height: 8vw;
    background-color: #2875ff;
    border-bottom-left-radius: 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        height: 4.05405vw;
        width: 26.82432vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__list {
        height: 60px;
        width: 397px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.halfanniv25-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv25-menu__list--items {
        font-size: 20px
    }
}

.halfanniv25-menu__list--items:not(:first-of-type) {
    padding: 1.5vw 3.2vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__list--items:not(:first-of-type) {
        padding: 0 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__list--items:not(:first-of-type) {
        padding: 0 22px
    }
}

.halfanniv25-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #fff;
    height: 1.6vw;
    width: .13333vw;
    margin: 0;
    position: absolute;
    top: 2.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #fff;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv25-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.halfanniv25-menu__list--items:first-of-type {
    padding: 1.5vw 3.2vw 1.5vw 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__list--items:first-of-type {
        padding: 0 1.48649vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__list--items:first-of-type {
        padding: 0 22px 0 0
    }
}

.halfanniv25-menu__list--items:last-of-type {
    padding-right: 4vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__list--items:last-of-type {
        padding-right: 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__list--items:last-of-type {
        padding-right: 22px
    }
}

.halfanniv25-menu__list--btn {
    display: inline-block;
    color: #fff;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__list--btn:hover {
        color: #000
    }
}

.halfanniv25-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #fff;
    width: 22.66667vw;
    height: 8vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border: solid .26667vw #2875ff;
    border-bottom-right-radius: 4vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.35135vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__share {
        font-size: 20px;
        height: 60px;
        width: 168px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.halfanniv25-menu__share--btn {
    color: #000;
    margin-left: 4vw;
    transition: all .3s
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__share--btn {
        margin-left: 2.02703vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__share--btn {
        margin-left: 30px
    }
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__share--btn:hover {
        color: #2875ff
    }
}

.halfanniv25-menu__share:after {
    display: block;
    content: "";
    background: transparent url(../img/common/icon_x_bl.png) no-repeat;
    background-size: contain;
    width: 4vw;
    height: 4vw;
    position: absolute;
    top: 50%;
    left: 2.66667vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__share:after {
        width: 2.02703vw;
        height: 2.02703vw;
        left: 1.35135vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__share:after {
        width: 31px;
        height: 30px;
        left: 20px
    }
}

.halfanniv25-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-menu__jp {
        font-size: 10px
    }
}

.halfanniv25-animation {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    mix-blend-mode: hard-light;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.halfanniv25-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .halfanniv25-animation__prism--upper {
        width: 13.51351vw
    }
}

.halfanniv25-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .halfanniv25-animation__prism--lower {
        width: 13.51351vw
    }
}

.halfanniv25-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .halfanniv25-animation__reflection--upper {
        width: 20.27027vw
    }
}

.halfanniv25-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .halfanniv25-animation__reflection--lower {
        width: 20.27027vw
    }
}

.halfanniv25-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2025/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv25-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.halfanniv25-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/half-anniversary-2025/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .halfanniv25-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.halfanniv25-animation__hexflare03 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media only screen and (min-width:768px) {
    .halfanniv25-animation__hexflare03 {
        position: absolute;
        background: transparent url(../data/webp/half-anniversary-2025/hexflare03.png.webp) no-repeat;
        background-size: contain;
        z-index: 1;
        right: 0;
        top: 0;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform-origin: 85% 30%;
        transform-origin: 85% 30%;
        -webkit-transform: rotate(-24deg);
        transform: rotate(-24deg);
        -webkit-animation: flareRotate03 15s linear infinite;
        animation: flareRotate03 15s linear infinite;
        height: 391px;
        width: 317px
    }
}

.halfanniv25-banner {
    background-color: transparent;
    margin-top: 152vw;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.halfanniv25-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.halfanniv25-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.halfanniv25-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__bg {
        height: 452px
    }
}

.halfanniv25-banner__bg--left {
    background: transparent url(../data/webp/half-anniversary-2025/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__bg--left {
        background-image: url(../data/webp/half-anniversary-2025/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.halfanniv25-banner__bg--right {
    background: transparent url(../data/webp/half-anniversary-2025/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.halfanniv25-banner__slider {
    margin-top: 8vw;
    margin-bottom: 8vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.halfanniv25-banner__slider--wrap {
    width: 100%;
    position: relative
}

.halfanniv25-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.halfanniv25-banner__slider--container picture {
    pointer-events: all
}

.halfanniv25-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__slider--container img {
        height: 315px
    }
}

.halfanniv25-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__slider--pagination {
        margin-top: 20px
    }
}

.halfanniv25-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 1.33333vw;
    height: 1.6vw;
    width: 1.6vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 10px;
        height: 12px;
        width: 12px;
        border-width: 2px
    }
}

.halfanniv25-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #2875ff;
    border: none;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.halfanniv25-update {
    padding: 6vw 0;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .halfanniv25-update {
        padding: 60px 0
    }
}

.halfanniv25-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv25-update:before {
        background-image: url(../data/webp/common/img_wave_ltb2_pc.png.webp);
        background-size: 300px auto;
        height: 76px
    }
}

.halfanniv25-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-update:after {
        background-image: url(../data/webp/common/img_wave_ltb_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px
    }
}

.halfanniv25-update.info {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.info {
        margin-top: 60vh
    }
}

@media only screen and (max-width:767px) {
    .halfanniv25-update.info:before {
        background-position: top left 9.33333vw
    }
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.info .halfanniv25-update__title--h2 {
        width: 700px;
        top: -10px
    }
}

.halfanniv25-update.event {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.event {
        margin-top: 60vh
    }
}

.halfanniv25-update.event .halfanniv25-update__wrap {
    padding-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.event .halfanniv25-update__wrap {
        padding-top: 70px
    }
}

.halfanniv25-update.event .halfanniv25-update__title--h2 {
    width: 54.66667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.event .halfanniv25-update__title--h2 {
        width: 410px
    }
}

.halfanniv25-update.others {
    margin-top: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.others {
        margin-top: 60vh
    }
}

.halfanniv25-update.others .halfanniv25-update__wrap {
    padding: 10.53333vw 0 0 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.others .halfanniv25-update__wrap {
        padding: 65px 0 0 0
    }
}

.halfanniv25-update.others .halfanniv25-update__title--h2 {
    width: 66.4vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.others .halfanniv25-update__title--h2 {
        width: 498px
    }
}

.halfanniv25-update.others .halfanniv25-update__wrap {
    padding-bottom: 12vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update.others .halfanniv25-update__wrap {
        padding-bottom: 95px
    }
}

.halfanniv25-update__wrap {
    position: relative;
    background-color: #eff6fb;
    width: 100%;
    padding-bottom: 9.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__wrap {
        padding-bottom: 70px
    }
}

.halfanniv25-update__bg {
    background: transparent url(../data/webp/half-anniversary-2025/bg_update.png.webp) repeat-y;
    background-size: cover;
    background-position: center top;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 2.4vw;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__bg {
        width: 100%;
        top: 10px
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-update__bg {
        background-size: cover
    }
}

.halfanniv25-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__title--h2 {
        width: 700px
    }
}

.halfanniv25-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 81.2vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__inner {
        width: 700px
    }
}

.halfanniv25-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.halfanniv25-update__card {
    position: relative;
    width: 100%;
    padding: 0 6.4vw 5.33333vw 6.13333vw;
    -webkit-clip-path: polygon(0 8.53333vw, 8.53333vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 8.53333vw, 8.53333vw 0, 100% 0, 100% 100%, 0 100%);
    background-color: #fff;
    margin-top: 10.53333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__card {
        padding: 0 88px 40px 96px;
        -webkit-clip-path: polygon(0 123px, 123px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 123px, 123px 0, 100% 0, 100% 100%, 0 100%);
        margin-top: 80px
    }
}

.halfanniv25-update__card:before {
    display: block;
    content: "";
    display: block;
    content: "";
    width: 9.86667vw;
    height: 9.86667vw;
    position: absolute;
    background-color: #2875ff;
    -webkit-clip-path: polygon(0 0, 0 0, 9.86667vw 0, 0 9.86667vw, 0 0);
    clip-path: polygon(0 0, 0 0, 9.86667vw 0, 0 9.86667vw, 0 0);
    left: 0;
    top: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__card:before {
        width: 133px;
        height: 133px;
        -webkit-clip-path: polygon(0 0, 0 0, 133px 0, 0 133px, 0 0);
        clip-path: polygon(0 0, 0 0, 133px 0, 0 133px, 0 0)
    }
}

.halfanniv25-update__card:after {
    display: block;
    content: "";
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 12vw 12vw;
    border-color: transparent transparent #000 transparent;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__card:after {
        border-width: 0 0 85px 85px
    }
}

.halfanniv25-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 6.26667vw;
    line-height: 6vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__card--title {
        font-size: 30px;
        padding-top: 51px;
        line-height: 40px
    }
}

.halfanniv25-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__card--img {
        margin-top: 22px
    }
}

.halfanniv25-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    line-height: 5vw;
    margin-top: 4.13333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__card--summary {
        font-size: 16px;
        line-height: 28px;
        margin-top: 31px
    }
}

.halfanniv25-update__button {
    margin: 5.33333vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.halfanniv25-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 500;
    height: 13.33333vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__button--item {
        font-size: 14px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.halfanniv25-update__button--item:before {
    display: block;
    content: "";
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.halfanniv25-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.halfanniv25-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__button--item:hover {
        background-color: #000
    }
}

.halfanniv25-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.halfanniv25-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .halfanniv25-update__button--txt {
        font-size: 16px
    }
}

.halfanniv25-download {
    background-color: #fff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.halfanniv25-download__store {
    background-color: #fff;
    position: relative
}

@media only screen and (min-width:768px) {
    .halfanniv25-download__store {
        margin-top: 0;
        padding: 16px 0
    }
}

@media only screen and (min-width:1481px) {
    .halfanniv25-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.halfanniv25-download__store:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-download__store:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.halfanniv25-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .halfanniv25-download__store .store {
        margin-top: -40px
    }
}

.halfanniv25-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.halfanniv25-download__store .store-title {
    margin: 0 auto 0 30%;
    width: 45.33333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25-download__store .store-title {
        width: 371px
    }
}

.halfanniv25 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv25 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.halfanniv25 .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .halfanniv25 .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .halfanniv25 .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.anniv25-kv {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1
}

.anniv25-kv__item {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -5%;
    overflow: hidden;
    pointer-events: none
}

.anniv25-kv__item--bgv {
    background: transparent url(../data/webp/3rd-anniversary/bg_kv_fix.png.webp) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 158.66667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media only screen and (min-width:768px) {
    .anniv25-kv__item--bgv {
        background: transparent url(../data/webp/3rd-anniversary/bg_kv_fix_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.anniv25-kv__item--bgv.js-show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 2
}

.anniv25-kv__item:nth-child(1) {
    z-index: 4;
    position: relative;
    height: 158.66667vw;
    margin-top: -168vw;
    bottom: auto;
    top: 0
}

@media only screen and (min-width:768px) {
    .anniv25-kv__item:nth-child(1) {
        margin-top: -59.12162vw;
        height: 64.18919vw
    }
}

.anniv25-kv__item:nth-child(1) .anniv25-kv__item--bg {
    background: transparent url(../data/webp/3rd-anniversary/bg_kv_fix.png.webp) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 158.66667vw;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv25-kv__item:nth-child(1) .anniv25-kv__item--bg {
        background: transparent url(../data/webp/3rd-anniversary/bg_kv_fix_pc.png.webp) no-repeat;
        background-size: cover;
        background-position: center top 8%;
        height: 64.18919vw;
        width: 100%;
        top: 0
    }
}

.anniv25-kv__item:nth-child(2) {
    z-index: 3
}

@media only screen and (min-width:767px) {
    .anniv25-kv__item:nth-child(2) .anniv25-kv__item--bg {
        background: transparent url(../data/webp/3rd-anniversary/bg_kv_01.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.anniv25-kv__item:nth-child(3) {
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv25-kv__item:nth-child(3) .anniv25-kv__item--bg {
        background: transparent url(../data/webp/3rd-anniversary/bg_kv_02.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1;
        top: 0
    }
}

.anniv25-kv__item:nth-child(4) {
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv25-kv__item:nth-child(4) .anniv25-kv__item--bg {
        background: transparent url(../data/webp/3rd-anniversary/bg_kv_03.png.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        height: 100vh;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
        z-index: 1
    }
}

.anniv25-kv__item--vdo {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 159.46667vw;
    z-index: 10;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none
}

.anniv25-kv__item--vdo.js--show {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: .5s
}

@media only screen and (min-width:768px) {
    .anniv25-kv__item--vdo {
        height: 64.18919vw
    }
}

.anniv25-kv__item--vdo video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.anniv25-kv__sp {
    position: relative;
    z-index: 1;
    margin-top: -6%
}

@media only screen and (min-width:768px) {
    .anniv25-kv__sp {
        display: none
    }
}

.anniv25-kv__sparkle {
    position: relative;
    z-index: 1
}

.anniv25-kv__sparkle--left {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .anniv25-kv__sparkle--left {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.anniv25-kv__sparkle--right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 13.33333vw;
    height: 159.06667vw
}

@media only screen and (min-width:768px) {
    .anniv25-kv__sparkle--right {
        width: 16.89189vw;
        height: 54.05405vw
    }
}

.anniv25-kv__sparkle .glitter {
    position: absolute;
    background: transparent url(../data/webp/common/special/sparkle01.png.webp) no-repeat;
    background-size: contain;
    height: 20px;
    width: 15px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.anniv25-kv__sparkle .glitterX {
    position: absolute;
    background: transparent url(../data/webp/common/special/sparkle02.png.webp) no-repeat;
    background-size: contain;
    height: 35px;
    width: 25px;
    -webkit-animation: blink linear infinite;
    animation: blink linear infinite
}

.anniv25-lead {
    position: absolute;
    top: -168vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    width: 100%;
    height: 158.66667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv25-lead {
        top: -59.12162vw;
        height: 59.12162vw;
        width: 100%
    }
}

.anniv25-lead__logo {
    margin: 0 auto;
    width: 55.06667vw;
    position: absolute;
    left: 50%
}

@media only screen and (max-width:767px) {
    .anniv25-lead__logo {
        bottom: 11.33333vw;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv25-lead__logo {
        width: 21.89189vw;
        top: 1.95946vw;
        left: 3.71622vw
    }
}

.anniv25-lead__catch {
    margin: 0 auto;
    width: 74vw;
    position: absolute;
    bottom: 28.53333vw;
    z-index: 2;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media only screen and (min-width:768px) {
    .anniv25-lead__catch {
        width: 35.47297vw;
        bottom: 3.37838vw
    }
}

.anniv25-menu {
    position: fixed;
    height: 14.4vw;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    z-index: 10;
    border-bottom-left-radius: 4vw;
    border-bottom-right-radius: 4vw;
    pointer-events: auto
}

@media only screen and (max-width:767px) {
    .anniv25-menu {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv25-menu {
        bottom: 0;
        right: 0;
        height: 4.05405vw;
        width: 37.97297vw;
        border-top-left-radius: 2.02703vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        padding: 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu {
        height: 60px;
        width: 562px;
        border-top-left-radius: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10
    }
}

.anniv25-menu__wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

@media only screen and (min-width:768px) {
    .anniv25-menu__wrap {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.anniv25-menu__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    height: 14.4vw;
    width: 71.6vw;
    background-color: #2875ff;
    border-bottom-left-radius: 7.06667vw
}

@media only screen and (min-width:768px) {
    .anniv25-menu__list {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        height: 4.05405vw;
        width: 26.82432vw;
        border-bottom-left-radius: 0;
        border-top-left-radius: 2.02703vw;
        padding-top: .27027vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__list {
        height: 60px;
        width: 397px;
        border-top-left-radius: 30px;
        padding-top: 4px
    }
}

.anniv25-menu__list--items {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    text-align: center;
    width: auto;
    position: relative;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .anniv25-menu__list--items {
        font-size: 1.35135vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv25-menu__list--items {
        font-size: 20px
    }
}

.anniv25-menu__list--items:not(:first-of-type) {
    padding: 0 5.06667vw
}

@media only screen and (min-width:768px) {
    .anniv25-menu__list--items:not(:first-of-type) {
        padding: 0 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__list--items:not(:first-of-type) {
        padding: 0 22px
    }
}

.anniv25-menu__list--items:not(:first-of-type):before {
    display: block;
    content: "";
    border-left: solid 1px #fff;
    height: 4.66667vw;
    width: .168vw;
    margin: 0;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (min-width:768px) {
    .anniv25-menu__list--items:not(:first-of-type):before {
        border-top: none;
        border-left: solid 1px #fff;
        height: .81081vw;
        width: 1px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:1480px) {
    .anniv25-menu__list--items:not(:first-of-type):before {
        height: 12px;
        width: 1px
    }
}

.anniv25-menu__list--items:first-of-type {
    padding: 0 5.06667vw 0 5.06667vw
}

@media only screen and (min-width:768px) {
    .anniv25-menu__list--items:first-of-type {
        padding: 0 1.48649vw 0 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__list--items:first-of-type {
        padding: 0 22px 0 0
    }
}

.anniv25-menu__list--items:last-of-type {
    padding-right: 5.06667vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv25-menu__list--items:last-of-type {
        padding-right: 1.48649vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__list--items:last-of-type {
        padding-right: 22px
    }
}

.anniv25-menu__list--btn {
    display: inline-block;
    color: #fff;
    transition: all .5s
}

@media only screen and (min-width:768px) {
    .anniv25-menu__list--btn:hover {
        color: #000
    }
}

.anniv25-menu__share {
    font-family: Montserrat, sans-serif;
    font-size: 3.33333vw;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    background-color: #ffe50a;
    width: 28.53333vw;
    height: 14.4vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border-bottom-right-radius: 7.06667vw;
    pointer-events: all
}

@media only screen and (min-width:768px) {
    .anniv25-menu__share {
        font-size: 1.35135vw;
        height: 4.05405vw;
        width: 11.35135vw;
        border-right: none;
        border-left: solid .13514vw #2875ff;
        border-top: solid .13514vw #2875ff;
        border-bottom: solid .13514vw #2875ff;
        border-bottom-right-radius: 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__share {
        font-size: 20px;
        height: 60px;
        width: 168px;
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        border-left: solid 2px #2875ff
    }
}

.anniv25-menu__share--btn {
    color: #2874ff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.86667vw
}

@media only screen and (min-width:768px) {
    .anniv25-menu__share--btn {
        gap: .67568vw;
        transition: all .3s
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__share--btn {
        gap: 10px
    }
}

@media only screen and (min-width:768px) {
    .anniv25-menu__share--btn:hover {
        color: #000
    }

    .anniv25-menu__share--btn:hover .anniv25-menu__icon svg path {
        fill: #000
    }
}

.anniv25-menu__icon {
    display: inline-block;
    width: 4.26667vw;
    height: 4.4vw
}

@media only screen and (min-width:768px) {
    .anniv25-menu__icon {
        width: 1.82432vw;
        height: 1.89189vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__icon {
        width: 27px;
        height: 28px
    }
}

.anniv25-menu__icon svg {
    width: 100%;
    height: auto
}

.anniv25-menu__icon svg path {
    fill: #2875ff
}

@media only screen and (min-width:768px) {
    .anniv25-menu__icon svg path {
        transition: all .3s
    }
}

.anniv25-menu__txt {
    text-align: center
}

.anniv25-menu__jp {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    font-size: 1.6vw
}

@media only screen and (min-width:768px) {
    .anniv25-menu__jp {
        word-break: normal;
        text-align: center;
        font-size: .67568vw
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-menu__jp {
        font-size: 10px
    }
}

.anniv25-animation__wrap {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    mix-blend-mode: hard-light;
    will-change: mix-blend-mode
}

.anniv25-animation__prism--upper {
    position: absolute;
    top: 0;
    right: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 100% 70%;
    transform-origin: 100% 70%;
    -webkit-animation: prism-fade-top 6s alternate ease-in-out infinite;
    animation: prism-fade-top 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .anniv25-animation__prism--upper {
        width: 13.51351vw
    }
}

.anniv25-animation__prism--lower {
    position: fixed;
    bottom: -5%;
    left: 0;
    width: 26.66667vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-animation: prism-fade-bot 6s alternate ease-in-out infinite;
    animation: prism-fade-bot 6s alternate ease-in-out infinite
}

@media only screen and (min-width:768px) {
    .anniv25-animation__prism--lower {
        width: 13.51351vw
    }
}

.anniv25-animation__reflection--upper {
    position: absolute;
    width: 40vw;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s alternate ease-in infinite;
    animation: reflection-fade 15s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .anniv25-animation__reflection--upper {
        width: 20.27027vw
    }
}

.anniv25-animation__reflection--lower {
    position: absolute;
    width: 40vw;
    bottom: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-animation: reflection-fade 15s 10s alternate ease-in infinite;
    animation: reflection-fade 15s 10s alternate ease-in infinite
}

@media only screen and (min-width:768px) {
    .anniv25-animation__reflection--lower {
        width: 20.27027vw
    }
}

.anniv25-animation__hexflare01 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare01.png.webp) no-repeat;
    background-size: contain;
    height: 16.13333vw;
    width: 16.13333vw;
    z-index: 1;
    left: 9%;
    bottom: 6%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate01 40s linear infinite;
    animation: flareRotate01 40s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv25-animation__hexflare01 {
        height: 121px;
        width: 121px
    }
}

.anniv25-animation__hexflare02 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare02.png.webp) no-repeat;
    background-size: contain;
    height: 19.33333vw;
    width: 19.33333vw;
    z-index: 1;
    left: 4%;
    bottom: 16%;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    -webkit-animation: flareRotate02 40s 5s linear infinite;
    animation: flareRotate02 40s 5s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv25-animation__hexflare02 {
        height: 145px;
        width: 145px
    }
}

.anniv25-animation__hexflare03 {
    position: absolute;
    background: transparent url(../data/webp/common/special/hexflare03.png.webp) no-repeat;
    background-size: contain;
    height: 52.13333vw;
    width: 42.26667vw;
    z-index: 1;
    right: 0;
    top: 0;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform-origin: 85% 30%;
    transform-origin: 85% 30%;
    -webkit-transform: rotate(-24deg);
    transform: rotate(-24deg);
    -webkit-animation: flareRotate03 15s linear infinite;
    animation: flareRotate03 15s linear infinite
}

@media only screen and (min-width:768px) {
    .anniv25-animation__hexflare03 {
        height: 391px;
        width: 317px
    }
}

.anniv25-animation__confetti {
    position: fixed;
    z-index: 3;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.anniv25-animation__confetti--item {
    width: 4vw;
    height: 4.66667vw;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--item {
        width: 14px;
        height: 16px
    }
}

.anniv25-animation__confetti--left {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.anniv25-animation__confetti--left .i1 {
    left: 20%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i1 {
        left: 30%;
        -webkit-animation-delay: 1.8s;
        animation-delay: 1.8s
    }
}

.anniv25-animation__confetti--left .i2 {
    left: 14%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 7.5s;
    animation-delay: 7.5s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i2 {
        left: 27%;
        -webkit-animation-delay: 9.5s;
        animation-delay: 9.5s
    }
}

.anniv25-animation__confetti--left .i3 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i3 {
        left: 6%;
        -webkit-animation-delay: 1.3s;
        animation-delay: 1.3s
    }
}

.anniv25-animation__confetti--left .i4 {
    left: 15%;
    -webkit-animation: confettiLeft3 linear infinite;
    animation: confettiLeft3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i4 {
        left: 28%;
        -webkit-animation-delay: 3.5s;
        animation-delay: 3.5s
    }
}

.anniv25-animation__confetti--left .i5 {
    left: 15%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 4.5s;
    animation-delay: 4.5s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i5 {
        left: 35%;
        -webkit-animation-delay: 6s;
        animation-delay: 6s
    }
}

.anniv25-animation__confetti--left .i6 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 8.5s;
    animation-delay: 8.5s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i6 {
        left: 36%;
        -webkit-animation-delay: 11.5s;
        animation-delay: 11.5s
    }
}

.anniv25-animation__confetti--left .i7 {
    left: 20%;
    -webkit-animation: confettiLeft3 linear infinite;
    animation: confettiLeft3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i7 {
        left: 14%;
        -webkit-animation-delay: 0s;
        animation-delay: 0s
    }
}

.anniv25-animation__confetti--left .i8 {
    left: 14%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 5.9s;
    animation-delay: 5.9s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i8 {
        left: 6%;
        -webkit-animation-delay: 4.5s;
        animation-delay: 4.5s
    }
}

.anniv25-animation__confetti--left .i9 {
    left: 13%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 10s;
    animation-delay: 10s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i9 {
        left: 15%;
        -webkit-animation-delay: 7.8s;
        animation-delay: 7.8s
    }
}

.anniv25-animation__confetti--left .i10 {
    left: 30%;
    -webkit-animation: confettiLeft2 linear infinite;
    animation: confettiLeft2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 12s;
    animation-delay: 12s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i10 {
        left: 10%;
        -webkit-animation-delay: 10.5s;
        animation-delay: 10.5s
    }
}

.anniv25-animation__confetti--left .i11 {
    left: 10%;
    -webkit-animation: confettiLeft1 linear infinite;
    animation: confettiLeft1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 13.5s;
    animation-delay: 13.5s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--left .i11 {
        left: 50%;
        -webkit-animation-delay: 13.5s;
        animation-delay: 13.5s
    }
}

.anniv25-animation__confetti--right {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0
}

.anniv25-animation__confetti--right .i1 {
    right: 20%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i1 {
        right: 30%;
        -webkit-animation-delay: 3.4s;
        animation-delay: 3.4s
    }
}

.anniv25-animation__confetti--right .i2 {
    right: 30%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 10s;
    animation-delay: 10s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i2 {
        right: 10%;
        -webkit-animation-delay: 10.4s;
        animation-delay: 10.4s
    }
}

.anniv25-animation__confetti--right .i3 {
    right: 10%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 4s;
    animation-delay: 4s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i3 {
        right: 6%
    }
}

.anniv25-animation__confetti--right .i4 {
    right: 6%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i4 {
        right: 18%;
        -webkit-animation-delay: 7s;
        animation-delay: 7s
    }
}

.anniv25-animation__confetti--right .i5 {
    right: 30%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 13s;
    animation-delay: 13s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i5 {
        right: 20%;
        -webkit-animation-delay: 12s;
        animation-delay: 12s
    }
}

.anniv25-animation__confetti--right .i6 {
    right: 14%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 16s;
    animation-delay: 16s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i6 {
        right: 36%;
        -webkit-animation-delay: 14.4s;
        animation-delay: 14.4s
    }
}

.anniv25-animation__confetti--right .i7 {
    right: 10%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i7 {
        right: 14%;
        -webkit-animation-delay: 2s;
        animation-delay: 2s
    }
}

.anniv25-animation__confetti--right .i8 {
    right: 10%;
    -webkit-animation: confettiRight2 linear infinite;
    animation: confettiRight2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 8s;
    animation-delay: 8s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i8 {
        right: 6%;
        -webkit-animation-delay: 6.4s;
        animation-delay: 6.4s
    }
}

.anniv25-animation__confetti--right .i9 {
    right: 20%;
    -webkit-animation: confettiRight2 linear infinite;
    animation: confettiRight2 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 20s;
    animation-delay: 20s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i9 {
        right: 30%;
        -webkit-animation-delay: 8.4s;
        animation-delay: 8.4s
    }
}

.anniv25-animation__confetti--right .i10 {
    right: 30%;
    -webkit-animation: confettiRight3 linear infinite;
    animation: confettiRight3 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 22s;
    animation-delay: 22s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i10 {
        right: 6%;
        -webkit-animation-delay: 14s;
        animation-delay: 14s
    }
}

.anniv25-animation__confetti--right .i11 {
    right: 10%;
    -webkit-animation: confettiRight1 linear infinite;
    animation: confettiRight1 linear infinite;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 26s;
    animation-delay: 26s
}

@media only screen and (min-width:768px) {
    .anniv25-animation__confetti--right .i11 {
        right: 50%;
        -webkit-animation-delay: 15s;
        animation-delay: 15s
    }
}

.anniv25-banner {
    background-color: transparent;
    padding: 5.33333vw 0 5.33333vw 0;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .anniv25-banner {
        padding: 75px 0 75px 0;
        margin-top: 59.12162vw
    }
}

.anniv25-banner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv25-banner:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.anniv25-banner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv25-banner:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        left: 0
    }
}

.anniv25-banner__bg {
    overflow: hidden;
    width: 100%;
    position: absolute;
    background-color: #fff;
    z-index: 1;
    height: 60.26667vw
}

@media only screen and (min-width:768px) {
    .anniv25-banner__bg {
        height: 452px
    }
}

.anniv25-banner__bg--left {
    background: transparent url(../data/webp/common/special/bg_banner.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv25-banner__bg--left {
        background-image: url(../data/webp/common/special/bg_banner_pc.png.webp);
        background-size: contain;
        width: 215px;
        top: 330px
    }
}

.anniv25-banner__bg--right {
    background: transparent url(../data/webp/common/special/bg_banner_pc.png.webp) no-repeat;
    background-size: contain;
    height: 25%;
    width: 26.66667vw;
    position: absolute;
    top: 10px;
    right: -70px
}

@media only screen and (min-width:768px) {
    .anniv25-banner__bg--right {
        width: 216px;
        right: -10.66667vw
    }
}

.anniv25-banner__slider {
    margin-top: 10.66667vw;
    margin-bottom: 10.66667vw;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .anniv25-banner__slider {
        margin-top: 45px;
        margin-bottom: 45px
    }
}

.anniv25-banner__slider--wrap {
    width: 100%;
    position: relative
}

.anniv25-banner__slider--container {
    overflow: visible;
    width: 74.66667vw;
    height: 42vw
}

@media only screen and (min-width:768px) {
    .anniv25-banner__slider--container {
        width: 560px;
        height: 315px
    }
}

.anniv25-banner__slider--container picture {
    pointer-events: all
}

.anniv25-banner__slider--container img {
    display: block;
    margin: 0 auto;
    height: 42vw;
    width: auto
}

@media only screen and (min-width:768px) {
    .anniv25-banner__slider--container img {
        height: 315px
    }
}

.anniv25-banner__slider--pagination {
    margin: 0 auto;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.46667vw;
    z-index: 8
}

@media only screen and (min-width:768px) {
    .anniv25-banner__slider--pagination {
        margin-top: 20px
    }
}

.anniv25-banner__slider--pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    margin: 0 3.33333vw;
    height: 1.73333vw;
    width: 1.73333vw;
    border: .4vw solid #2875ff
}

@media only screen and (min-width:768px) {
    .anniv25-banner__slider--pagination .swiper-pagination-bullet {
        margin: 0 25px;
        height: 13px;
        width: 13px;
        border-width: 2px
    }
}

.anniv25-banner__slider--pagination .swiper-pagination-bullet-active {
    background-color: #ffe50a;
    height: 1.6vw;
    width: 1.6vw
}

@media only screen and (min-width:768px) {
    .anniv25-banner__slider--pagination .swiper-pagination-bullet-active {
        height: 12px;
        width: 12px
    }
}

.anniv25-movie {
    background-color: #000;
    height: 56.26667vw;
    width: 100%;
    z-index: 4;
    position: relative;
    margin-top: 168vw;
    margin-bottom: 21.33333vw
}

@media only screen and (min-width:768px) {
    .anniv25-movie {
        width: 18.37838vw;
        height: 10.33784vw;
        margin-top: 0;
        margin-bottom: 0;
        right: 2.7027vw;
        top: -16.21622vw;
        position: absolute;
        z-index: 3
    }
}

.anniv25-movie__bg {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 56.26667vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv25-movie__bg {
        width: 18.24324vw;
        height: 12.56757vw
    }
}

.anniv25-movie__inner {
    position: relative;
    background-image: url(../data/webp/3rd-anniversary/bg_movie.png.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 56.26667vw;
    pointer-events: all;
    cursor: pointer
}

@media only screen and (min-width:768px) {
    .anniv25-movie__inner {
        height: 10.33784vw
    }
}

.anniv25-movie__inner:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb2.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 14.66667vw;
    width: 100%;
    position: absolute;
    top: -14.66667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv25-movie__inner:before {
        display: none
    }
}

.anniv25-movie__inner:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_ltb_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: -31.46667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv25-movie__inner:after {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .anniv25-movie__inner:hover .anniv25-movie__play {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.anniv25-movie__btn {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5
}

.anniv25-movie__mask {
    background-color: #2875ff;
    width: 100%;
    height: 11.2vw;
    position: relative;
    z-index: 4
}

@media only screen and (min-width:768px) {
    .anniv25-movie__mask {
        height: 2.2973vw
    }
}

.anniv25-movie__mask--txt {
    color: #fff;
    font-size: 6vw;
    font-weight: 900;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 2.13333vw;
    letter-spacing: .53333vw;
    height: 100%
}

@media only screen and (min-width:768px) {
    .anniv25-movie__mask--txt {
        font-size: 1.21622vw;
        margin-left: 0;
        padding-right: 1.82432vw;
        letter-spacing: .13514vw
    }
}

.anniv25-movie__mask--txt:before {
    display: block;
    content: "";
    display: inline-block;
    background: transparent url(../data/webp/3rd-anniversary/img_phenio.png.webp) no-repeat;
    background-size: contain;
    width: 8.53333vw;
    height: 9.6vw;
    margin-right: 1.33333vw
}

@media only screen and (min-width:768px) {
    .anniv25-movie__mask--txt:before {
        width: 3.58108vw;
        height: 4.05405vw;
        margin-right: .33784vw;
        margin-top: -1.68919vw
    }
}

.anniv25-movie__mask--txt:after {
    display: block;
    content: "";
    background-color: #000;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    width: 11.06667vw;
    height: 11.06667vw;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .anniv25-movie__mask--txt:after {
        width: 2.2973vw;
        height: 2.2973vw
    }
}

.anniv25-movie__play {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    height: 43.46667vw;
    width: 31.33333vw;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .anniv25-movie__play {
        height: 8.91892vw;
        width: 6.55405vw;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s
    }
}

.anniv25-movie__play--text {
    font-family: Montserrat, sans-serif;
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .anniv25-movie__play--text {
        font-size: 1.35135vw
    }
}

.anniv25-movie__modal--inner {
    margin: 0 auto;
    width: 92.5%
}

@media only screen and (min-width:768px) {
    .anniv25-movie__modal--inner {
        width: 700px
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .anniv25-movie__modal--inner {
        width: 85.26188vw
    }
}

@media only screen and (min-width:768px) {
    .anniv25-movie__modal--item {
        padding: 70px 0
    }
}

@media only screen and (min-width:767px) and (max-width:821px) {
    .anniv25-movie__modal--item {
        padding: 8.52619vw 0
    }
}

.anniv25-movie__modal--iframe {
    margin: 0 auto;
    position: relative;
    padding-top: 56.2%;
    width: 100%
}

.anniv25-movie__modal--iframe iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.anniv25-movie__modal--close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    cursor: pointer;
    display: block;
    background-color: #fff;
    border-radius: 100%;
    height: 13.33333vw;
    width: 13.33333vw;
    position: absolute;
    top: -17.33333vw;
    right: 4vw;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:768px) {
    .anniv25-movie__modal--close {
        height: 51px;
        width: 51px;
        top: 0;
        right: 1px
    }
}

.anniv25-movie__modal--close:before {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 1.33333vw;
    width: 7.2vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv25-movie__modal--close:before {
        height: 5px;
        width: 27px;
        transition: all .5s
    }
}

.anniv25-movie__modal--close:after {
    display: block;
    content: "";
    background-color: #2875ff;
    height: 7.2vw;
    width: 1.33333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv25-movie__modal--close:after {
        height: 27px;
        width: 5px;
        transition: all .5s
    }
}

.anniv25-movie__modal--close:active {
    top: 0
}

.anniv25-update {
    padding-bottom: 6vw;
    position: relative;
    z-index: 2
}

@media only screen and (min-width:768px) {
    .anniv25-update {
        padding-bottom: 60px
    }
}

.anniv25-update:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0;
    z-index: 1
}

@media only screen and (min-width:768px) {
    .anniv25-update:before {
        background-image: url(../data/webp/common/img_wave_wh_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.anniv25-update:after {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_wh_btm.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv25-update:after {
        background-image: url(../data/webp/common/img_wave_wh_btm_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        bottom: 16px
    }
}

.anniv25-update.info {
    margin-top: -6.66667vw
}

@media only screen and (min-width:768px) {
    .anniv25-update.info {
        margin-top: 74vh
    }
}

.anniv25-update.info .anniv25-update__title--h2 {
    width: 94vw;
    padding-top: 19.46667vw
}

@media only screen and (min-width:768px) {
    .anniv25-update.info .anniv25-update__title--h2 {
        width: 705px;
        padding-top: 58px
    }
}

@media only screen and (min-width:768px) {
    .anniv25-update.event {
        margin-top: 74vh
    }
}

@media only screen and (max-width:767px) {
    .anniv25-update.event:after {
        bottom: -1.86667vw
    }
}

.anniv25-update.event .anniv25-update__wrap {
    padding-top: 19.46667vw
}

@media only screen and (min-width:768px) {
    .anniv25-update.event .anniv25-update__wrap {
        padding-top: 58px
    }
}

.anniv25-update.event .anniv25-update__title--h2 {
    width: 68.13333vw
}

@media only screen and (min-width:768px) {
    .anniv25-update.event .anniv25-update__title--h2 {
        width: 511px
    }
}

@media only screen and (min-width:768px) {
    .anniv25-update.others {
        margin-top: 74vh;
        padding-bottom: 0
    }
}

.anniv25-update.others:after {
    display: none
}

.anniv25-update.others .anniv25-update__wrap {
    padding-top: 19.33333vw
}

@media only screen and (min-width:768px) {
    .anniv25-update.others .anniv25-update__wrap {
        padding-top: 58px;
        padding-bottom: 226px
    }
}

.anniv25-update.others .anniv25-update__title--h2 {
    width: 78.26667vw
}

@media only screen and (min-width:768px) {
    .anniv25-update.others .anniv25-update__title--h2 {
        width: 587px
    }
}

@media only screen and (min-width:768px) {
    .anniv25-update.others:after {
        display: none
    }
}

.anniv25-update__wrap {
    background-color: #fff;
    width: 100%;
    padding-bottom: 12.53333vw;
    position: relative;
    z-index: 2;
    overflow: hidden
}

@media only screen and (min-width:768px) {
    .anniv25-update__wrap {
        padding-bottom: 100px
    }
}

.anniv25-update__wrap:after,
.anniv25-update__wrap:before {
    content: "";
    display: block;
    background: transparent url(../data/webp/3rd-anniversary/img_parts.png.webp) no-repeat;
    background-size: contain;
    width: 44.8vw;
    height: 13.73333vw;
    position: absolute;
    top: 1.6vw;
    pointer-events: none;
    z-index: 2
}

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

    .anniv25-update__wrap:after,
    .anniv25-update__wrap:before {
        background-image: url(../data/webp/3rd-anniversary/img_parts_pc.png.webp);
        width: 1034px;
        height: 408px;
        top: 12px
    }
}

.anniv25-update__wrap:before {
    left: 0;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

@media only screen and (min-width:768px) {
    .anniv25-update__wrap:before {
        left: calc(50% + 370px)
    }
}

@media only screen and (max-width:767px) {
    .anniv25-update__wrap:after {
        right: 0
    }
}

@media only screen and (min-width:768px) {
    .anniv25-update__wrap:after {
        left: calc(50% - 1404px)
    }
}

.anniv25-update__bg {
    background: transparent url(../data/webp/3rd-anniversary/bg_content.png.webp) repeat-y;
    background-size: 100% auto;
    background-position: center top;
    height: 100%;
    width: 100%;
    pointer-events: none;
    position: absolute;
    top: 4.8vw;
    z-index: -1
}

@media only screen and (min-width:768px) {
    .anniv25-update__bg {
        width: 100%;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.anniv25-update__title--h2 {
    z-index: 5;
    width: 95.06667vw;
    margin: 0 auto;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv25-update__title--h2 {
        width: 700px
    }
}

.anniv25-update__inner {
    padding: 0;
    margin: 0 auto;
    width: 88.53333vw;
    position: relative;
    z-index: 5
}

@media only screen and (min-width:768px) {
    .anniv25-update__inner {
        width: 700px
    }
}

.anniv25-update__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.anniv25-update__card {
    position: relative;
    width: 100%;
    padding: 0 3.33333vw 5.33333vw 3.33333vw
}

@media only screen and (min-width:768px) {
    .anniv25-update__card {
        padding: 0 90px 40px 90px
    }
}

.anniv25-update__card:before {
    display: block;
    content: "";
    border-top: solid .4vw #2875ff;
    border-left: solid .4vw #2875ff;
    width: 22.93333vw;
    height: 23.2vw;
    position: absolute;
    top: -.4vw;
    left: -.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv25-update__card:before {
        border-top: solid 2px #2875ff;
        border-left: solid 2px #2875ff;
        width: 177px;
        height: 177px;
        top: -2px;
        left: -2px
    }
}

.anniv25-update__card:after {
    display: block;
    content: "";
    border-bottom: solid .4vw #2875ff;
    border-right: solid .4vw #2875ff;
    width: 22.93333vw;
    height: 23.2vw;
    position: absolute;
    bottom: -.4vw;
    right: -.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv25-update__card:after {
        border-bottom: solid 2px #2875ff;
        border-right: solid 2px #2875ff;
        width: 177px;
        height: 177px;
        bottom: -2px;
        right: -2px
    }
}

.anniv25-update__card--box {
    border: solid .4vw #c5b000;
    background-color: #fff;
    margin-top: 11.73333vw;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv25-update__card--box {
        border: solid 2px #c5b000;
        margin-top: 76px
    }
}

@media only screen and (min-width:768px) {
    .anniv25-update__card--box:not(:first-of-type) {
        margin-top: 80px
    }
}

.anniv25-update__card--box:before {
    display: block;
    content: "";
    background-image: url(../img/3rd-anniversary/img_badge.png);
    background-position: center;
    background-size: contain;
    width: 11.46667vw;
    height: 13.06667vw;
    position: absolute;
    top: -1.6vw;
    right: -1.6vw
}

@media only screen and (min-width:768px) {
    .anniv25-update__card--box:before {
        width: 127px;
        height: 144px;
        top: -12px;
        right: -19px
    }
}

.anniv25-update__card--box:after {
    display: block;
    content: "";
    background-image: url(../data/webp/3rd-anniversary/img_card_deco.png.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: 92vw;
    height: 13.86667vw;
    position: absolute;
    bottom: -2.13333vw;
    left: 50%;
    pointer-events: none
}

@media only screen and (max-width:767px) {
    .anniv25-update__card--box:after {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media only screen and (min-width:768px) {
    .anniv25-update__card--box:after {
        background-image: url(../data/webp/3rd-anniversary/img_card_deco_pc.png.webp);
        width: 733px;
        height: 98px;
        bottom: -15px;
        left: -19px
    }
}

.anniv25-update__card--title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    font-weight: 900;
    padding-top: 5.33333vw;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .anniv25-update__card--title {
        font-size: 26px;
        padding-top: 45px;
        line-height: 1.5
    }
}

.anniv25-update__card--img {
    width: 100%;
    margin-top: 3.06667vw
}

@media only screen and (min-width:768px) {
    .anniv25-update__card--img {
        margin-top: 22px
    }
}

.anniv25-update__card--summary {
    font-size: 2.93333vw;
    font-weight: 700;
    margin-top: 1.86667vw;
    line-height: 1.5
}

@media only screen and (min-width:768px) {
    .anniv25-update__card--summary {
        font-size: 16px;
        margin-top: 31px;
        line-height: 1.8
    }
}

.anniv25-update__daikei--top {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv25-update__daikei--top {
        height: 20px
    }
}

.anniv25-update__daikei--bottom {
    background-color: #dde9ff;
    -webkit-clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%);
    width: 100%;
    height: 2.4vw;
    pointer-events: none
}

@media only screen and (min-width:768px) {
    .anniv25-update__daikei--bottom {
        height: 20px
    }
}

.anniv25-update__button {
    margin: 4.8vw auto 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 53.33333vw
}

@media only screen and (min-width:768px) {
    .anniv25-update__button {
        width: 300px;
        margin-top: 40px
    }
}

.anniv25-update__button--item {
    position: relative;
    color: #fff;
    font-size: 3.46667vw;
    font-weight: 700;
    height: 10.66667vw;
    width: 100%;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2874ff;
    -webkit-clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 5.06667vw, 5.06667vw 0, 100% 0, 100% 100%, 0 100%)
}

@media only screen and (min-width:768px) {
    .anniv25-update__button--item {
        font-size: 16px;
        height: 40px;
        width: 300px;
        transition: all .5s;
        -webkit-clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 18px, 18px 0, 100% 0, 100% 100%, 0 100%)
    }
}

.anniv25-update__button--item:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 5vw;
    width: 2.2vw;
    z-index: 2;
    position: absolute;
    top: 55%;
    right: 2vw;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width:768px) {
    .anniv25-update__button--item:before {
        top: 50%;
        height: 18px;
        width: 9px;
        right: 15px;
        transition: all .5s
    }
}

.anniv25-update__button--item:after {
    display: block;
    content: "";
    cursor: pointer;
    pointer-events: all;
    background-color: #000;
    height: 13.33333vw;
    width: 12.53333vw;
    -webkit-clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (min-width:768px) {
    .anniv25-update__button--item:after {
        height: 50px;
        width: 80px;
        transition: all .5s;
        -webkit-clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(60% 0, 100% 0, 100% 100%, 0 100%)
    }
}

.anniv25-update__button--item:hover {
    background-color: #000
}

@media only screen and (min-width:768px) {
    .anniv25-update__button--item:hover {
        background-color: #000
    }
}

.anniv25-update__button--item:hover:after {
    display: block;
    content: "";
    background-color: #2874ff
}

.anniv25-update__button--txt {
    font-size: 3.46667vw;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .anniv25-update__button--txt {
        font-size: 16px
    }
}

.anniv25-download {
    background-color: #2875ff;
    padding: 0 0 16.8vw;
    position: relative;
    z-index: 2;
    margin-bottom: -5.86667vw
}

@media only screen and (min-width:768px) {
    .anniv25-download {
        padding: 0 0 100px;
        margin-bottom: 0
    }
}

.anniv25-download:before {
    display: block;
    content: "";
    background: transparent url(../data/webp/common/img_wave_blue.png.webp) repeat-x;
    background-size: 80vw auto;
    height: 20.26667vw;
    width: 100%;
    position: absolute;
    top: -5.86667vw;
    left: 0
}

@media only screen and (min-width:768px) {
    .anniv25-download:before {
        background-image: url(../data/webp/common/img_wave_blue_pc.png.webp);
        background-size: 300px auto;
        height: 76px;
        top: -75px
    }
}

.anniv25-download__store {
    background-color: #2875ff;
    position: relative;
    padding-top: 8.8vw
}

@media only screen and (min-width:768px) {
    .anniv25-download__store {
        margin-top: 0;
        padding: 39px 0
    }
}

@media only screen and (min-width:1481px) {
    .anniv25-download__store {
        padding: 1.08108vw 0 1.75676vw
    }
}

.anniv25-download__store .store {
    padding: 0
}

@media only screen and (min-width:768px) {
    .anniv25-download__store .store {
        margin-top: 40px
    }
}

.anniv25-download__store .store .game-details {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 4vw
}

@media only screen and (min-width:768px) {
    .anniv25-download__store .store .game-details {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal
    }
}

.anniv25-download__store .store .game-details__img {
    background-color: #fff;
    width: 27.06667vw;
    height: 27.06667vw;
    padding: 2.66667vw
}

@media only screen and (min-width:768px) {
    .anniv25-download__store .store .game-details__img {
        width: 120px;
        height: 120px;
        padding: 10px
    }
}

.anniv25-download__store .store .game-details__list--ttl .title-bg {
    background-color: #2875ff
}

.anniv25-download__store .store-title {
    background-color: #fff;
    color: #2875ff;
    margin: 0 auto;
    font-size: 4.8vw;
    letter-spacing: .53333vw;
    padding: 0 .26667vw .53333vw .8vw;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative
}

@media only screen and (min-width:768px) {
    .anniv25-download__store .store-title {
        font-size: 40px;
        letter-spacing: 0;
        line-height: 1;
        padding: 0 0 4px 2px
    }
}

.anniv25-fixbtn {
    display: block;
    width: 63.46667vw;
    position: fixed;
    bottom: 0vw;
    left: 2.4vw;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    pointer-events: none;
    transition: all .4s ease;
    z-index: 999
}

@media only screen and (min-width:768px) {
    .anniv25-fixbtn {
        width: 22.90541vw;
        left: 3.04054vw;
        bottom: -.67568vw
    }
}

.anniv25-fixbtn.visible {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    pointer-events: all;
    bottom: 2.13333vw
}

@media only screen and (min-width:768px) {
    .anniv25-fixbtn.visible {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        pointer-events: all;
        bottom: .67568vw
    }
}

.anniv25 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .anniv25 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv25 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

.anniv25 .footer-bottom__totop--arrow {
    display: block;
    background: transparent url(../data/webp/common/icon_arrow_wh.png.webp) no-repeat;
    background-size: 100% auto;
    height: 7.73333vw;
    width: 1.86667vw;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: -8vw auto 0 11.73333vw
}

@media only screen and (min-width:768px) {
    .anniv25 .footer-bottom__totop--arrow {
        height: 3.91892vw;
        width: .94595vw;
        margin: -4.59459vw auto 0 5.81081vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv25 .footer-bottom__totop--arrow {
        height: 58px;
        width: 14px;
        margin: -68px auto 0 88px
    }
}

.anniv25 .footer-bottom__totop--txt {
    display: block;
    position: absolute;
    font-family: Montserrat, sans-serif;
    font-size: 2.66667vw;
    font-weight: 900;
    margin-top: -9.33333vw;
    margin-left: 3.73333vw
}

@media only screen and (min-width:768px) {
    .anniv25 .footer-bottom__totop--txt {
        font-size: 1.35135vw;
        margin-top: -4.72973vw;
        margin-left: 1.89189vw
    }
}

@media only screen and (min-width:1480px) {
    .anniv25 .footer-bottom__totop--txt {
        font-size: 21px;
        margin-top: -70px;
        margin-left: 24px
    }
}

@-webkit-keyframes wave {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-80vw);
        transform: translateX(-80vw)
    }
}

@keyframes wave {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-80vw);
        transform: translateX(-80vw)
    }
}

@-webkit-keyframes wave_pc {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-300px);
        transform: translateX(-300px)
    }
}

@keyframes wave_pc {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-300px);
        transform: translateX(-300px)
    }
}

@-webkit-keyframes wave_pc_2 {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-20.27027vw);
        transform: translateX(-20.27027vw)
    }
}

@keyframes wave_pc_2 {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-20.27027vw);
        transform: translateX(-20.27027vw)
    }
}

.js-wave:before {
    -webkit-animation: wave 4s linear infinite;
    animation: wave 4s linear infinite;
    width: 200%
}

@media only screen and (min-width:767px) {
    .js-wave:before {
        -webkit-animation: wave_pc 4s linear infinite;
        animation: wave_pc 4s linear infinite
    }
}

@media only screen and (min-width:1481px) {
    .js-wave:before.footer-bottom {
        -webkit-animation: wave_pc_2 4s linear infinite;
        animation: wave_pc_2 4s linear infinite
    }
}

@-webkit-keyframes bg_name {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes bg_name {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

.chara-mv.js-show .chara-mv__name--full {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: none;
    transform: none
}

.chara-mv.js-show .chara-mv__name--read {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: none;
    transform: none
}

.chara-mv.js-show .chara-mv__lead {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: none;
    transform: none
}

.chara-mv.js-show .chara-mv__bg {
    -webkit-animation: bg_name 10s linear infinite;
    animation: bg_name 10s linear infinite;
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s
}

.chara-mv.js-show .chara-mv__inner {
    -webkit-transform: none;
    transform: none
}

.chara-mv__name--full {
    position: relative;
    z-index: 10;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translateX(-40vw);
    transform: translateX(-40vw);
    transition: .3s;
    transition-timing-function: cubic-bezier(1, -.01, 1, 1);
    transition-delay: .1s
}

@media only screen and (min-width:767px) {
    .chara-mv__name--full {
        -webkit-transform: translateX(-300px);
        transform: translateX(-300px)
    }
}

.chara-mv__name--read {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translateX(-40vw);
    transform: translateX(-40vw);
    transition: .3s;
    transition-timing-function: cubic-bezier(1, -.01, 1, 1)
}

@media only screen and (min-width:767px) {
    .chara-mv__name--read {
        -webkit-transform: translateX(-300px);
        transform: translateX(-300px)
    }
}

.chara-mv__lead {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translateX(-40vw);
    transform: translateX(-40vw);
    transition: .3s;
    transition-delay: .2s;
    transition-timing-function: cubic-bezier(1, -.01, 1, 1)
}

@media only screen and (min-width:767px) {
    .chara-mv__lead {
        -webkit-transform: translateX(-300px);
        transform: translateX(-300px)
    }
}

.chara-mv__inner {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    transition: 1s;
    transition-delay: .5s;
    transition-timing-function: ease-in
}

@-webkit-keyframes prism-fade-top {
    0% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    10% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: .5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"
    }

    90% {
        -webkit-transform: rotate(18deg);
        transform: rotate(18deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    100% {
        -webkit-transform: rotate(18deg);
        transform: rotate(18deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@keyframes prism-fade-top {
    0% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    10% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: .5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"
    }

    90% {
        -webkit-transform: rotate(18deg);
        transform: rotate(18deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    100% {
        -webkit-transform: rotate(18deg);
        transform: rotate(18deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@-webkit-keyframes prism-fade-bot {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    3% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: .5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"
    }

    97% {
        -webkit-transform: rotate(-12deg);
        transform: rotate(-12deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    100% {
        -webkit-transform: rotate(-12deg);
        transform: rotate(-12deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@keyframes prism-fade-bot {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    3% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: .5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"
    }

    97% {
        -webkit-transform: rotate(-12deg);
        transform: rotate(-12deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    100% {
        -webkit-transform: rotate(-12deg);
        transform: rotate(-12deg);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@-webkit-keyframes reflection-fade {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    20% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    40% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    70% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@keyframes reflection-fade {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    20% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    40% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    70% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@-webkit-keyframes blink {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    30% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    40% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    60% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    80% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@keyframes blink {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    30% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    40% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    60% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    80% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@-webkit-keyframes flareRotate01 {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    15% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    20% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    25% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    40% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    45% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    65% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    70% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    75% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes flareRotate01 {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    15% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    20% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    25% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    40% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    45% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    65% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    70% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    75% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes flareRotate02 {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    15% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    20% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    25% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    40% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    45% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    65% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    70% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    75% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes flareRotate02 {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    15% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    20% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    25% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    40% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    45% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    65% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    70% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    75% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes flareRotate03 {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(-24deg);
        transform: rotate(-24deg)
    }

    10% {
        opacity: .2%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    50% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    90% {
        opacity: .2;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale(.8) rotate(22deg);
        transform: scale(.8) rotate(22deg)
    }
}

@keyframes flareRotate03 {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: rotate(-24deg);
        transform: rotate(-24deg)
    }

    10% {
        opacity: .2%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    50% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    90% {
        opacity: .2;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale(.8) rotate(22deg);
        transform: scale(.8) rotate(22deg)
    }
}

@-webkit-keyframes confettiLeft1 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    40% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    60% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    80% {
        -webkit-transform: translateX(-10px);
        transform: translateX(-10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes confettiLeft1 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    40% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    60% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    80% {
        -webkit-transform: translateX(-10px);
        transform: translateX(-10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes confettiLeft2 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }

    40% {
        -webkit-transform: translateX(30px);
        transform: translateX(30px)
    }

    60% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    80% {
        -webkit-transform: translateX(10px);
        transform: translateX(10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes confettiLeft2 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }

    40% {
        -webkit-transform: translateX(30px);
        transform: translateX(30px)
    }

    60% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    80% {
        -webkit-transform: translateX(10px);
        transform: translateX(10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes confettiLeft3 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }

    40% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    60% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    80% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes confettiLeft3 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }

    40% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    60% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    80% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes confettiRight1 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    40% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }

    60% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    80% {
        -webkit-transform: translateX(10px);
        transform: translateX(10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes confettiRight1 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    40% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }

    60% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    80% {
        -webkit-transform: translateX(10px);
        transform: translateX(10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes confettiRight2 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    40% {
        -webkit-transform: translateX(-30px);
        transform: translateX(-30px)
    }

    60% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }

    80% {
        -webkit-transform: translateX(-10px);
        transform: translateX(-10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes confettiRight2 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px)
    }

    40% {
        -webkit-transform: translateX(-30px);
        transform: translateX(-30px)
    }

    60% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px)
    }

    80% {
        -webkit-transform: translateX(-10px);
        transform: translateX(-10px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes confettiRight3 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }

    40% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    60% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    80% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes confettiRight3 {
    0% {
        top: -10%;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    20% {
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }

    40% {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }

    60% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    80% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 100vh;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes kv_slide {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-61.5%);
        transform: translateX(-61.5%)
    }
}

@keyframes kv_slide {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-61.5%);
        transform: translateX(-61.5%)
    }
}

@-webkit-keyframes bannerpop {
    0% {
        -webkit-transform: scale(1, 1) translate(0, 0);
        transform: scale(1, 1) translate(0, 0);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    15% {
        -webkit-transform: scale(.98, .9) translate(0, 10px);
        transform: scale(.98, .9) translate(0, 10px)
    }

    30% {
        -webkit-transform: scale(1.02, 1) translate(0, 16px);
        transform: scale(1.02, 1) translate(0, 16px)
    }

    50% {
        -webkit-transform: scale(.98, 1.05) translate(0, -16px);
        transform: scale(.98, 1.05) translate(0, -16px)
    }

    70% {
        -webkit-transform: scale(1, .9) translate(0, 10px);
        transform: scale(1, .9) translate(0, 10px)
    }

    100% {
        -webkit-transform: scale(1, 1) translate(0, 0);
        transform: scale(1, 1) translate(0, 0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@keyframes bannerpop {
    0% {
        -webkit-transform: scale(1, 1) translate(0, 0);
        transform: scale(1, 1) translate(0, 0);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    15% {
        -webkit-transform: scale(.98, .9) translate(0, 10px);
        transform: scale(.98, .9) translate(0, 10px)
    }

    30% {
        -webkit-transform: scale(1.02, 1) translate(0, 16px);
        transform: scale(1.02, 1) translate(0, 16px)
    }

    50% {
        -webkit-transform: scale(.98, 1.05) translate(0, -16px);
        transform: scale(.98, 1.05) translate(0, -16px)
    }

    70% {
        -webkit-transform: scale(1, .9) translate(0, 10px);
        transform: scale(1, .9) translate(0, 10px)
    }

    100% {
        -webkit-transform: scale(1, 1) translate(0, 0);
        transform: scale(1, 1) translate(0, 0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@-webkit-keyframes ray {
    0% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    20% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    40% {
        opacity: 100%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    60% {
        opacity: 100%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    80% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    100% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }
}

@keyframes ray {
    0% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    20% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    40% {
        opacity: 100%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    60% {
        opacity: 100%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    80% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    100% {
        opacity: 50%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }
}

@keyframes blink {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    20% {
        opacity: 30%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    40% {
        opacity: 100%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    60% {
        opacity: 100%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    80% {
        opacity: 30%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }

    100% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)"
    }
}

.pc-none {
    display: none
}

@media only screen and (max-width:767px) {
    .pc-none {
        display: block
    }
}

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