.m-home-support__subttl,.m-home-support__lead,.m-home-work__subttl,.m-home-work__lead,.m-home-voice__subttl,.m-home-voice__lead,.m-home-culture__subttl,.m-home-culture__lead,.m-home-movie__subttl,.m-home-movie__lead,.m-home-mv__ttl,.m-home-mv__caption,.m-home-mv__lead {
    margin-block:calc((1em - 1lh)/2)}

.m-home-support__arrow::after,.m-home-work__arrow::after,.m-home-voice__arrow::after,.m-home-culture__arrow::after {
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain
}

.m-home-support,.m-home-marquee,.m-home-work,.m-home-voice,.m-home-culture,.m-home-movie {
    transition: translate .4s ease-in-out,opacity .4s ease-in-out
}

.m-home-support:not(.is-view),.m-home-marquee:not(.is-view),.m-home-work:not(.is-view),.m-home-voice:not(.is-view),.m-home-culture:not(.is-view),.m-home-movie:not(.is-view) {
    opacity: 0;
    translate: 0 20px
}

.m-home-support img {
    transition: translate .4s ease-in-out .3s,opacity .4s ease-in-out .3s
}

.m-home-support:not(.is-view) img {
    opacity: 0;
    translate: 0 20px
}

.m-home-support__wrap,.m-home-work__wrap,.m-home-voice__wrap,.m-home-culture__wrap,.m-home-movie__wrap,.m-home-mv__wrap {
    margin-left: auto;
    margin-right: auto;
    padding-left: 17.5px;
    padding-right: 17.5px
}

.m-home-support__ttl,.m-home-work__ttl,.m-home-voice__ttl,.m-home-culture__ttl,.m-home-movie__ttl {
    width: fit-content;
    left: -0.03em;
    font-family: "League Gothic",sans-serif;
    overflow: hidden;
    transition: padding .6s ease-in-out .3s
}

.m-home-support__ttl::before,.m-home-work__ttl::before,.m-home-voice__ttl::before,.m-home-culture__ttl::before,.m-home-movie__ttl::before,.m-home-support__ttl::after,.m-home-work__ttl::after,.m-home-voice__ttl::after,.m-home-culture__ttl::after,.m-home-movie__ttl::after {
    position: absolute;
    left: 0;
    bottom: 0;
    transition: translate .6s ease-in-out .3s
}

.m-home-support__ttl::before,.m-home-work__ttl::before,.m-home-voice__ttl::before,.m-home-culture__ttl::before,.m-home-movie__ttl::before {
    content: attr(data-txt);
    z-index: 1
}

.m-home-support__ttl::after,.m-home-work__ttl::after,.m-home-voice__ttl::after,.m-home-culture__ttl::after,.m-home-movie__ttl::after {
    content: "";
    width: 100%;
    z-index: 2
}

.m-home-support__ttl,.m-home-work__ttl,.m-home-voice__ttl,.m-home-culture__ttl,.m-home-movie__ttl {
    padding: 0 0 17px 17px;
    font-size: 87px;
    line-height: .757em
}

.m-home-support__ttl::before,.m-home-work__ttl::before,.m-home-voice__ttl::before,.m-home-culture__ttl::before,.m-home-movie__ttl::before {
    padding: 4px 2px 0 0
}

.m-home-support__ttl::after,.m-home-work__ttl::after,.m-home-voice__ttl::after,.m-home-culture__ttl::after,.m-home-movie__ttl::after {
    height: 6px
}

section:not(.is-view) .m-home-support__ttl,section:not(.is-view) .m-home-work__ttl,section:not(.is-view) .m-home-voice__ttl,section:not(.is-view) .m-home-culture__ttl,section:not(.is-view) .m-home-movie__ttl,body:not(.is-load) .m-home-support__ttl,body:not(.is-load) .m-home-work__ttl,body:not(.is-load) .m-home-voice__ttl,body:not(.is-load) .m-home-culture__ttl,body:not(.is-load) .m-home-movie__ttl {
    padding: 8.5px
}

section:not(.is-view) .m-home-support__ttl::before,section:not(.is-view) .m-home-work__ttl::before,section:not(.is-view) .m-home-voice__ttl::before,section:not(.is-view) .m-home-culture__ttl::before,section:not(.is-view) .m-home-movie__ttl::before,section:not(.is-view) .m-home-support__ttl::after,section:not(.is-view) .m-home-work__ttl::after,section:not(.is-view) .m-home-voice__ttl::after,section:not(.is-view) .m-home-culture__ttl::after,section:not(.is-view) .m-home-movie__ttl::after,body:not(.is-load) .m-home-support__ttl::before,body:not(.is-load) .m-home-work__ttl::before,body:not(.is-load) .m-home-voice__ttl::before,body:not(.is-load) .m-home-culture__ttl::before,body:not(.is-load) .m-home-movie__ttl::before,body:not(.is-load) .m-home-support__ttl::after,body:not(.is-load) .m-home-work__ttl::after,body:not(.is-load) .m-home-voice__ttl::after,body:not(.is-load) .m-home-culture__ttl::after,body:not(.is-load) .m-home-movie__ttl::after {
    translate: 8.5px -8.5px
}

.m-home-support__caption,.m-home-work__caption,.m-home-voice__caption,.m-home-culture__caption,.m-home-movie__caption {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 900
}

.m-home-support__btn,.m-home-work__btn,.m-home-voice__btn,.m-home-culture__btn {
    display: inline-flex;
    align-items: center;
    font-family: "League Gothic",sans-serif
}

.m-home-support__btn,.m-home-work__btn,.m-home-voice__btn,.m-home-culture__btn {
    gap: 15px;
    font-size: 30px
}

.m-home-support__arrow,.m-home-work__arrow,.m-home-voice__arrow,.m-home-culture__arrow {
    width: 38px;
    color: rgba(0,0,0,0);
    border-radius: 50%;
    aspect-ratio: 1/1
}

.m-home-support__arrow::after,.m-home-work__arrow::after,.m-home-voice__arrow::after,.m-home-culture__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    mask-image: url("../images/common/icon-arrow.svg");
    aspect-ratio: 27/41;
    translate: -50% -50%
}

@media(hover: hover) {
    a:hover .m-home-support__arrow::after,a:hover .m-home-work__arrow::after,a:hover .m-home-voice__arrow::after,a:hover .m-home-culture__arrow::after {
        animation:arrowX .5s .1s
    }
}

.m-home-work__picture,.m-home-culture__picture {
    display: block;
    width: calc(100% - 25.5px);
    box-shadow: 5.5px -5.5px 0 0 #f4f4f4;
    transition: .6s top ease-in-out .6s,.6s right ease-in-out .6s,.6s translate ease-in-out .6s
}

.m-home-work__picture:first-of-type,.m-home-culture__picture:first-of-type {
    position: relative;
    z-index: 1
}

.m-home-work__picture:not(:first-of-type),.m-home-culture__picture:not(:first-of-type) {
    position: absolute;
    top: 0;
    right: 0
}

section:not(.is-view) .m-home-work__picture:first-of-type,section:not(.is-view) .m-home-culture__picture:first-of-type {
    translate: 12.75px -12.75px
}

section:not(.is-view) .m-home-work__picture:not(:first-of-type),section:not(.is-view) .m-home-culture__picture:not(:first-of-type) {
    top: 12.75px;
    right: 12.75px
}

.m-home-mv__container {
    margin-top: 65px;
    margin-bottom: 36.5px
}

.m-home-mv__fig {
    height: calc(85.3333333333*var(--vw) + 52.5px)
}

.m-home-mv__ph {
    position: absolute
}

.m-home-mv__ph--01 {
    left: calc(4.1333333333*var(--vw));
    top: 19.5px;
    width: calc(91.7333333333*var(--vw));
    z-index: 4
}

.m-home-mv__ph--02 {
    left: 0;
    top: 0;
    width: calc(24.1333333333*var(--vw));
    z-index: 3
}

.m-home-mv__ph--03 {
    right: 0;
    top: calc(17.6*var(--vw) + 19.5px);
    width: calc(10.6666666667*var(--vw));
    z-index: 2
}

.m-home-mv__ph--04 {
    display: none
}

.m-home-mv__ttl,.m-home-mv__caption,.m-home-mv__num {
    z-index: 5
}

.m-home-mv__ttl {
    display: inline-block;
    margin-left: 23px;
    margin-top: 23.5px;
    font-size: 50px;
    font-weight: 900;
    line-height: 1.16em;
    letter-spacing: -0.02em;
    z-index: 5;
    transform-origin: right bottom;
    transition: scale .3s ease-in-out .1s,translate .3s ease-in-out .1s
}

body:not(.is-load) .m-home-mv__ttl {
    scale: 1.2;
    translate: -0.2em -0.2em
}

.m-home-mv__ttl em,.m-home-mv__ttl i {
    letter-spacing: -0.08em
}

.m-home-mv__ttl em {
    color: #00afec
}

.m-home-mv__caption {
    position: absolute;
    bottom: 0;
    left: 148px;
    font-size: 13.655px;
    font-family: "League Gothic",sans-serif;
    color: #b9b9b9;
    letter-spacing: .06em;
    line-height: 1.1600146466em
}

.m-home-mv__num {
    position: absolute;
    right: 20.5px;
    bottom: 0;
    font-size: 15px;
    font-family: "League Gothic",sans-serif;
    letter-spacing: .06em
}

.m-home-mv__whole {
    color: #c5c5c5
}

.m-home-mv__wrap {
    margin-top: 74.5px;
    margin-bottom: 56px
}

.m-home-mv__lead {
    font-size: 18px;
    font-weight: 900;
    line-height: 1.5em;
    letter-spacing: -0.02em;
    /* text-align: justify */
}

.m-home-movie {
    padding: 68px 0 56px;
    background-color: #64f044
}

.m-home-movie__wrap {
    overflow: hidden
}

.m-home-movie__ttl {
    color: #24bb00
}

.m-home-movie__ttl::before,.m-home-movie__ttl::after {
    background-color: #64f044
}

.m-home-movie__ttl::before {
    color: #0f0f0f
}

.m-home-movie__box {
    margin-top: 35px
}

.m-home-movie__subttl {
    padding-left: .27em;
    font-size: 31px;
    font-weight: 900;
    text-indent: -0.9em;
    line-height: 1.3em;
    letter-spacing: -0.08em
}

.m-home-movie__fig {
    margin-top: 21px
}

.m-home-movie__ph {
    width: 100%
}

.m-home-movie__button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

@media(hover: hover) {
    .m-home-movie__button {
        transition:opacity .2s ease-in-out;
        cursor: pointer
    }
}

@media(hover: hover) {
    .m-home-movie__button:hover {
        opacity:.75
    }
}

.m-home-movie__play {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 50.2px
}

.m-home-movie__inner {
    margin-top: 28px;
    margin-left: auto;
}

.m-home-movie__lead {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8em;
    text-align: justify;
}

.m-home-culture {
    padding: 68px 0 58px
}

.m-home-culture__fig {
    padding-top: 25.5px
}

.m-home-culture__ph {
    width: 100%
}

.m-home-culture__ttl {
    color: #0f0f0f
}

.m-home-culture__ttl::before,.m-home-culture__ttl::after {
    background-color: #f4f4f4
}

.m-home-culture__ttl::before {
    color: #f88519
}

.m-home-culture__fig {
    margin-top: 44px
}

.m-home-culture__box {
    margin-top: 37px
}

.m-home-culture__subttl {
    width: 108%;
    font-size: 34px;
    font-weight: 900;
    line-height: 1.3em;
    letter-spacing: -0.06em
}

.m-home-culture__subttl em {
    color: #f88519
}

.m-home-culture__inner {
    margin-top: 31.5px;
    padding-left: 55px
}

.m-home-culture__lead {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8em;
    text-align: justify
}

.m-home-culture__more {
    margin-top: 19px;
    text-align: right
}

.m-home-culture__arrow {
    background-color: #f88519
}

.m-home-culture__arrow::after {
    background-color: #0f0f0f
}

.m-home-voice {
    padding: 68px 0 56px;
    background-color: #1cd0c1
}

.m-home-voice__ttl {
    color: #00a4a0
}

.m-home-voice__ttl::before,.m-home-voice__ttl::after {
    background-color: #1cd0c1
}

.m-home-voice__ttl::before {
    color: #0f0f0f
}

.m-home-voice__box {
    margin-top: 34.5px
}

.m-home-voice__subttl {
    font-size: 30.5px;
    line-height: 1.3213114754em;
    font-weight: 900;
    letter-spacing: -0.02em
}

.m-home-voice__subttl em {
    color: #f88519
}

.m-home-voice__inner {
    margin-top: 22px
}

.m-home-voice__lead {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8em;
    text-align: justify
}

.m-home-voice__more {
    margin-top: 22px
}

.m-home-voice__arrow {
    background-color: #0f0f0f
}

.m-home-voice__arrow::after {
    background-color: #1cd0c1
}

.m-home-voice__list {
    margin-top: 45px;
    padding: 0 31.5px;
    counter-reset: voice 0;
    list-style-type: none
}

.m-home-voice__item {
    margin-top: 37px
}

.m-home-voice__item:before {
    counter-increment: voice 1;
    content: "0" counter(voice) ""
}

.m-home-voice__item::before {
    position: absolute;
    bottom: 0;
    left: 10px;
    font-size: 60px;
    font-family: "League Gothic",sans-serif;
    line-height: .757em;
    z-index: 1
}

.m-home-voice__note {
    margin-top: 13px;
    font-size: 13px;
    font-weight: 700;
    text-align: right
}

.m-home-work {
    padding: 68px 0 58px
}

.m-home-work__fig {
    padding-top: 25.5px
}

.m-home-work__ph {
    width: 100%
}

.m-home-work__ttl {
    color: #0f0f0f
}

.m-home-work__ttl::before,.m-home-work__ttl::after {
    background-color: #f4f4f4
}

.m-home-work__ttl::before {
    color: #e7c400
}

.m-home-work__fig {
    margin-top: 44px
}

.m-home-work__box {
    margin-top: 37px
}

.m-home-work__subttl {
    width: 108%;
    font-size: 34px;
    font-weight: 900;
    line-height: 1.3em;
    letter-spacing: -0.06em
}

.m-home-work__subttl em {
    color: #e7c400
}

.m-home-work__inner {
    margin-top: 31.5px;
    padding-left: 55px
}

.m-home-work__lead {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8em;
    text-align: justify
}

.m-home-work__more {
    margin-top: 19px;
    text-align: right
}

.m-home-work__arrow {
    background-color: #e7c400
}

.m-home-work__arrow::after {
    background-color: #0f0f0f
}

.m-home-marquee-wrap {
  width: 5000px;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
}

.m-home-marquee {
  display: flex;
  animation: infinity-scroll-right 30s infinite linear 0.5s both;
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-50%);
  }
}


.m-home-marquee__item {
    display: flex;
    align-items: flex-end;
    padding: 0 15px;
    height: 222px
}

.m-home-marquee__item {
    display: flex;
    align-items: flex-end
}

.m-home-marquee__item--01 {
    width: 208px
}

.m-home-marquee__item--02 {
    padding-bottom: 14.5px;
    width: 235.5px
}

.m-home-marquee__item--03 {
    width: 243.5px
}

.m-home-marquee__item--04 {
    padding-bottom: 14.5px;
    width: 207.5px
}

.m-home-marquee__item--05 {
    width: 266px
}

.m-home-support {
    padding: 68px 0 58px
}

.m-home-support__fig {
    padding-top: 25.5px
}

.m-home-support__picture {
    display: block;
    width: calc(100% - 25.5px);
    box-shadow: 5.5px -5.5px 0 0 #f4f4f4
}

.m-home-support__picture:first-of-type {
    position: relative;
    z-index: 1
}

.m-home-support__picture:not(:first-of-type) {
    position: absolute;
    top: 0;
    right: 0
}

.m-home-support__ph {
    width: 100%
}

.m-home-support__ttl {
    color: #0f0f0f
}

.m-home-support__ttl::before,.m-home-support__ttl::after {
    background-color: #f4f4f4
}

.m-home-support__ttl::before {
    color: #00afec
}

.m-home-support__fig {
    margin-top: 44px;
    text-align: right
}

.m-home-support__ph--01 {
    margin-bottom: 15.5px;
    width: calc(100% - 71px)
}

.m-home-support__box {
    margin-top: 37px
}

.m-home-support__subttl {
    width: 108%;
    font-size: 34px;
    font-weight: 900;
    line-height: 1.3em;
    letter-spacing: -0.06em
}

.m-home-support__subttl em {
    color: #00afec
}

.m-home-support__inner {
    margin-top: 31.5px;
    padding-left: 55px
}

.m-home-support__lead {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8em;
    text-align: justify
}

.m-home-support__more {
    margin-top: 19px;
    text-align: right
}

.m-home-support__arrow {
    background-color: #00afec
}

.m-home-support__arrow::after {
    background-color: #0f0f0f
}

.p-home {
    overflow: hidden
}

/* UW ADD
---------------------------------------------------------*/
.m-home-mv__container {
    overflow: hidden;
}

.m-home-mv picture img {
    display: block;
    transform: translateY(180px);
    transition: all 2.0s cubic-bezier(0.16, 1, 0.3, 1);
}

.m-home-mv picture.pos02 img {
    transition-duration: 2.2s;
}

.m-home-mv picture.pos03 img {
    transition-duration: 2.8s;
}

.m-home-mv picture.pos04 img {
    transition-duration: 2.6s;
}

.m-home-mv .loaded picture img {
    transform: translateY(0px);
}

.m-home-mv picture.pos01 {
    position: absolute;
    left: calc(4.1333333333*var(--vw));
    top: 19.5px;
    width: calc(91.7333333333*var(--vw));
    z-index: 4;
    transform: rotate(-4deg) scale(.95);
    opacity: 1;
    filter: blur(0);
    animation: pos01_anim 1.0s cubic-bezier(0.6, 0, 0.34, 1) 0s forwards, pos01_anim_r 1.0s cubic-bezier(0.6, -1.46, 0.34, 1) 0s forwards;
}

@keyframes pos01_anim {
    0% {
        left: 200%;
        top: calc(17.6*var(--vw) + 19.5px);
        width: calc(24.1333333333*var(--vw));
        z-index: 1;
        transform: rotate(4deg) scale(1.4);
        opacity: .8;
        filter: blur(2px);
    }

    1% {
        z-index: 4;
        opacity: 1;
    }

    100% {
        left: calc(4.1333333333*var(--vw));
        top: 19.5px;
        width: calc(91.7333333333*var(--vw));
        z-index: 4;
        transform: rotate(-4deg) scale(.95);
        opacity: 1;
        filter: blur(0);
    }
}

@keyframes pos01_anim_r {
    0% {
        right: max(-20px,-26.5882352941*var(--vw));
    }

    100% {
        right: max(119px,7*var(--vw));
    }
}

.m-home-mv picture.pos02 {
    position: absolute;
    left: -10%;
    top: 0;
    width: calc(40.1333333333*var(--vw));
    z-index: 3;
    transform: rotate(-15deg) scale(.7);
    opacity: .7;
    filter: blur(4px);
    animation: pos02_anim 1.0s cubic-bezier(0.34, 1, 0.64, 1) 0s forwards, pos02_anim_r 1.0s cubic-bezier(0.34, 1.56, 0.64, 1) 0s forwards;
}

@keyframes pos02_anim {
    0% {
        left: calc(4.1333333333*var(--vw));
        top: 19.5px;
        width: calc(91.7333333333*var(--vw));
        z-index: 4;
        transform: rotate(-4deg) scale(.95);
        opacity: 1;
        filter: blur(0);
    }

    100% {
        left: -10%;
        top: 0;
        width: calc(40.1333333333*var(--vw));
        z-index: 3;
        transform: rotate(-15deg) scale(.7);
        opacity: .7;
        filter: blur(4px);
    }
}

@keyframes pos02_anim_r {
    0% {
        right: max(119px,7*var(--vw));
    }

    100% {
        right: max(615px,36.1764705882*var(--vw));
    }
}

.m-home-mv picture.pos03 {
    position: absolute;
    left: 95%;
    top: calc(13.6*var(--vw) + 19.5px);
    width: calc(50.6666666667*var(--vw));
    z-index: 2;
    transform: rotate(5deg) scale(.85);
    opacity: .6;
    filter: blur(6px);
    animation: pos03_anim 1.0s cubic-bezier(0.34, 1, 0.64, 1) 0s forwards, pos03_anim_r 1.0s cubic-bezier(0.34, 1, 0.64, 1) 0s forwards;
}

@keyframes pos03_anim {
    0% {
        left: -10%;
        top: 0;
        width: calc(40.1333333333*var(--vw));
        z-index: 3;
        transform: rotate(-15deg) scale(.7);
        opacity: .7;
        filter: blur(4px);
    }

    100% {
        left: 95%;
        top: calc(13.6*var(--vw) + 19.5px);
        width: calc(50.6666666667*var(--vw));
        z-index: 2;
        transform: rotate(5deg) scale(.85);
        opacity: .6;
        filter: blur(6px);
    }
}

@keyframes pos03_anim_r {
    0% {
        right: max(615px,36.1764705882*var(--vw));
    }

    100% {
        right: max(367px,21.5882352941*var(--vw));
    }
}

.m-home-mv picture.pos04 {
    position: absolute;
    left: 200%;
    top: calc(17.6*var(--vw) + 19.5px);
    width: calc(24.1333333333*var(--vw));
    z-index: 1;
    transform: rotate(4deg) scale(1.4);
    opacity: .8;
    filter: blur(2px);
    animation: pos04_anim 1.0s cubic-bezier(0.34, 1, 0.64, 1) 0s forwards, pos04_anim_r 1.0s cubic-bezier(0.34, 1.56, 0.64, 1) 0s forwards;
}

@keyframes pos04_anim {
    0% {
        left: 95%;
        top: calc(13.6*var(--vw) + 19.5px);
        width: calc(50.6666666667*var(--vw));
        z-index: 2;
        transform: rotate(5deg) scale(.85);
        opacity: .6;
        filter: blur(6px);
    }

    100% {
        left: 200%;
        top: calc(17.6*var(--vw) + 19.5px);
        width: calc(24.1333333333*var(--vw));
        z-index: 1;
        transform: rotate(4deg) scale(1.4);
        opacity: .8;
        filter: blur(2px);
    }
}

@keyframes pos04_anim_r {
    0% {
        right: max(367px,21.5882352941*var(--vw));
    }

    100% {
        right: max(-20px,-26.5882352941*var(--vw));
    }
}
