@media (min-width:1367px), print {
    .mv {
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      height: 100vh;
      min-height: 870px;
      position: relative;
      white-space: nowrap;
      width: 100%
    }
    .mv__bg {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .mv__bg img {
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      -o-object-position: center;
      object-position: center;
      width: 100%
    }
    .mv__column {
      left: calc(var(--vw)*7.6875);
      position: absolute;
      top: 50%;
      translate: 0 -50%;
      z-index: 1
    }
    .mv__catch--ja {
      font-size: 4rem;
      font-weight: 700;
      line-height: 5rem;
      margin-bottom: 3.75rem;
      position: relative
    }
    .mv__catch--ja img {
      bottom: -3.1875rem;
      left: -5.375rem;
      position: absolute;
      width: 18.75rem
    }
    .mv__catch--en {
      color: hsla(0, 0%, 100%, .8);
      font-size: .625rem;
      line-height: .9375rem;
      white-space: nowrap;
      width: 13.75rem
    }
    .mv__catch--en span {
      display: inline-block;
      width: 100%
    }
    .mv__catch--en span:nth-of-type(2) {
      text-align: right
    }
    .mv__figure {
      position: relative
    }
    .mv__figure:before {
      background: #081031;
      border-radius: 0 0 calc(var(--vw)*5) calc(var(--vw)*5);
      bottom: calc(var(--vw)*-3.4375);
      content: "";
      display: block;
      -webkit-filter: blur(calc(var(--vw)*3.125));
      filter: blur(calc(var(--vw)*3.125));
      height: 100%;
      left: 50%;
      position: absolute;
      translate: -50% 0;
      width: calc(100% - var(--vw)*4.375)
    }
    .mv__figure img {
      position: relative
    }
    .campaign-banner {
      margin: 0 auto;
      margin-bottom: 200px;
      margin-top: calc(var(--vw)*-12.3125);
      position: relative;
      width: calc(var(--vw)*66.5);
      z-index: 1
    }
    .campaign-banner2 {
      margin: 0 auto;
      margin-bottom: 100px;
      /* margin-top: calc(var(--vw)*-10.3125); */
      position: relative;
      width: calc(var(--vw)*66.5);
      z-index: 1
    }
    .campaign-banner__hit {
      cursor: pointer;
      display: block;
      height: 20px;
      position: absolute;
      right: 30px;
      top: 20px;
      width: 30px
    }
    .introduction {
      margin-bottom: calc(var(--vw)*-3.125);
      overflow: hidden;
      padding-bottom: calc(var(--vw)*20);
      position: relative
    }
    .introduction__wave {
      bottom: 0;
      height: calc(var(--vw)*28.75);
      left: 0;
      position: absolute;
      width: 100%
    }
    .introduction__wave .behind, .introduction__wave .front, .introduction__wave .main {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .introduction__wave .behind {
      -webkit-animation: behind 2.7s ease-in-out infinite alternate;
      animation: behind 2.7s ease-in-out infinite alternate;
      background-image: url(../images/intro/wave_behind.png?vfb05db1df480d27def9220636f212be6)
    }
    .introduction__wave .front {
      -webkit-animation: front 2.3s ease-in-out infinite alternate;
      animation: front 2.3s ease-in-out infinite alternate;
      background-image: url(../images/intro/wave_front.png?v2ec50ba115607c9c7177d33fceef99bf)
    }
    .introduction__wave .main {
      -webkit-animation: mainWave 3.1s ease-in-out infinite alternate;
      animation: mainWave 3.1s ease-in-out infinite alternate;
      background-image: url(../images/intro/wave_main.png?v924766e92b85dce71b9d0028edc33409)
    }
    .introduction__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .introduction__bg--top {
      background-image: url(../images/intro/intro_bg.png?v891dd7fa7c581f09c8bf37e14c724857);
      background-position: 100% 0
    }
    .introduction__bg--bottom {
      background-image: url(../images/intro/conclusion_bg.png?v99a7f18a8f26f59b7dd17297d05fb229);
      background-position: 0 100%
    }
    .introduction__inner {
      position: relative;
      z-index: 1
    }
    .introduction__caption {
      font-size: 4.375rem;
      font-weight: 800;
      line-height: 7.5rem;
      margin-bottom: 1.875rem;
      text-align: center
    }
    .introduction__lead {
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 3.75rem;
      margin-bottom: 1.875rem;
      text-align: center
    }
    .introduction__lead strong {
      font-size: 2.5rem
    }
    .introduction__text:nth-of-type(n+2) {
      margin-top: 1.875rem
    }
    .introduction__text {
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 3.125rem;
      text-align: center
    }
    .introduction__conclusion {
      font-size: 2rem;
      font-weight: 700;
      line-height: 3.125rem;
      margin-top: 3.75rem;
      text-align: center
    }
    .movie {
      padding: 8.125rem 0;
      position: relative
    }
    .movie__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .movie__bg--top {
      background-image: url(../images/movie/movie_bg.png?vc03c9fa0cd0dbc24d7fe53782c821d48);
      background-position: 0 0
    }
    .movie__bg--bottom {
      background-image: url(../images/movie/movie_bg2.png?vf76ef71146a5d60a23d76d28a1bd4e08);
      background-position: 100% 100%
    }
    .movie__thumbnail {
      margin: 0 auto;
      position: relative;
      width: calc(var(--vw)*67.5)
    }
    .movie__thumbnail:before {
      background: #081031;
      border-radius: 0 0 calc(var(--vw)*5) calc(var(--vw)*5);
      bottom: calc(var(--vw)*-3.125);
      content: "";
      display: block;
      -webkit-filter: blur(calc(var(--vw)*3.125));
      filter: blur(calc(var(--vw)*3.125));
      height: calc(var(--vw)*14.125);
      left: 50%;
      position: absolute;
      translate: -50% 0;
      width: calc(var(--vw)*55)
    }
    .movie__thumbnail img {
      position: relative
    }
    .feature {
      background-color: #dde4f2;
      color: #081031;
      overflow: hidden;
      padding-bottom: calc(var(--vw)*5);
      padding-top: calc(var(--vw)*7);
      position: relative;
      width: 100%
    }
    .feature__caption {
      margin: 0 auto 7.5rem;
      width: 21.5625rem
    }
    .feature__list-item {
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex
    }
    .feature__list-item:nth-of-type(n+2) {
      margin-top: calc(var(--vw)*11.875)
    }
    .feature__list-item:nth-of-type(odd) .feature__list-item-figure {
      border-radius: calc(var(--vw)*2.5) 0 0 calc(var(--vw)*2.5);
      overflow: hidden
    }
    .feature__list-item:nth-of-type(2n) .feature__list-item-column {
      -webkit-box-ordinal-group: 3;
      order: 2
    }
    .feature__list-item:nth-of-type(2n) .feature__list-item-figure {
      -webkit-box-ordinal-group: 2;
      border-radius: 0 calc(var(--vw)*2.5) calc(var(--vw)*2.5) 0;
      order: 1;
      overflow: hidden
    }
    .feature__list-item-column {
      -webkit-box-pack: center;
      display: -webkit-box;
      display: flex;
      justify-content: center;
      width: 47.5%
    }
    .feature__list-item-figure {
      position: relative;
      width: 52.5%
    }
    .feature__list-item-card {
      margin-bottom: calc(var(--vw)*1.5);
      position: relative;
      width: calc(var(--vw)*27.5)
    }
    .feature__list-item-term {
      font-size: 1.625rem;
      font-weight: 700;
      line-height: 2.8125rem;
      margin-bottom: .625rem
    }
    .feature__list-item-description {
      font-size: 1rem;
      font-weight: 500;
      line-height: 2.1875rem
    }
    .feature__link {
      margin-top: 145px;
      text-align: center
    }
    .feature__link-inner {
      -webkit-box-align: center;
      -webkit-box-pack: center;
      align-items: center;
      background-color: #fff;
      border-radius: 50px;
      display: -webkit-box;
      display: flex;
      height: 100%;
      justify-content: center;
      position: relative;
      width: 100%
    }
    .feature__link a {
      display: block;
      height: 100px;
      margin: 0 auto;
      position: relative;
      width: 640px
    }
    .feature__link a .logo {
      display: block;
      width: 180px
    }
    .feature__link a .bullet {
      display: block;
      position: absolute;
      right: 20px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 60px
    }
    .artist {
      margin-top: -2px;
      padding-bottom: calc(var(--vw)*20);
      padding-top: calc(var(--vw)*25);
      position: relative
    }
    .artist:before {
      background-color: #dde4f2;
      content: "";
      display: block;
      height: 2px;
      left: 0;
      position: absolute;
      top: -1px;
      width: 100%;
      z-index: 2
    }
    .artist__wave {
      height: calc(var(--vw)*28.75);
      left: 0;
      overflow: hidden;
      position: absolute;
      top: 0;
      width: 100%;
      will-change: transform;
      z-index: 1
    }
    .artist__wave:after {
      background-color: #dde4f2;
      content: "";
      display: block;
      height: 3px;
      left: 0;
      position: absolute;
      top: 0;
      translate: 0 -1px;
      width: 100%
    }
    .artist__wave .behind, .artist__wave .front, .artist__wave .main {
      background-position: top;
      background-repeat: no-repeat;
      background-size: 100% auto;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      will-change: transform
    }
    .artist__wave .behind, .artist__wave .front {
      top: 2px
    }
    .artist__wave .behind {
      -webkit-animation: behindR 2.7s ease-in-out infinite alternate;
      animation: behindR 2.7s ease-in-out infinite alternate;
      background-image: url(../images/artist/wave_behind.png?vb35451969a38a50509fef67893325181)
    }
    .artist__wave .front {
      -webkit-animation: frontR 2.3s ease-in-out infinite alternate;
      animation: frontR 2.3s ease-in-out infinite alternate;
      background-image: url(../images/artist/wave_front.png?v505cdfd5480d5662f8283a1cc89026c9)
    }
    .artist__wave .main {
      background-image: url(../images/artist/wave_main.png?va443d65052b4cf41bb81cc71c3e05b82);
      background-position: top;
      will-change: opacity
    }
    .artist__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      pointer-events: none;
      position: absolute;
      top: 0;
      width: 100%
    }
    .artist__bg--top {
      background-image: url(../images/artist/artist_bg.png?vf8b96c6e5357f811569b2e37712f4874);
      background-position: 0 0;
      top: 30%
    }
    .artist__bg--bottom {
      background-image: url(../images/artist/artist_bg2.png?vb27b328ea9c919dd27b3b24fb07520e9);
      background-position: right 80%
    }
    .artist__caption {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-box-pack: center;
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      flex-direction: column;
      justify-content: center;
      left: 50%;
      line-height: 1;
      margin-left: calc(var(--vw)*-2.8125);
      padding-top: calc(var(--vw)*6.125);
      position: absolute;
      top: 0;
      width: calc(var(--vw)*5.625)
    }
    .artist__caption-dummy {
      bottom: 100px;
      left: 0;
      padding-top: 0!important;
      pointer-events: none;
      position: absolute;
      top: auto;
      visibility: hidden
    }
    .artist__caption img {
      width: calc(var(--vw)*5.625)
    }
    .artist__caption small {
      font-size: calc(var(--vw)*.875);
      margin-top: calc(var(--vw)*3.5);
      -webkit-writing-mode: vertical-lr;
      writing-mode: vertical-lr
    }
    .artist__row {
      -webkit-box-pack: justify;
      display: -webkit-box;
      display: flex;
      justify-content: space-between;
      margin: 0 auto;
      margin-bottom: calc(var(--vw)*7.1875);
      position: relative;
      width: calc(var(--vw)*80);
      z-index: 2
    }
    .artist__article {
      flex-shrink: 0;
      width: calc(var(--vw)*30)
    }
    .artist__article-figure {
      margin: 0 auto;
      margin-bottom: calc(var(--vw)*3.125);
      position: relative;
      width: calc(var(--vw)*25)
    }
    .artist__article-figure img {
      position: relative
    }
    .artist__article-figure:before {
      background: #081031;
      bottom: calc(var(--vw)*-1.875);
      content: "";
      display: block;
      -webkit-filter: blur(calc(var(--vw)*3.125));
      filter: blur(calc(var(--vw)*3.125));
      height: calc(var(--vw)*22.5);
      left: calc(var(--vw)*1.25);
      position: absolute;
      width: calc(var(--vw)*22.5)
    }
    .artist__article-category {
      border: 1px solid;
      border-radius: 1.25rem;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      color: #cec730;
      display: inline-block;
      font-size: .875rem;
      height: 2.5rem;
      line-height: 2.75rem;
      margin-bottom: 1.2rem;
      padding: 0 1.875rem
    }
    .artist__article-category--orange {
      color: #d24b4b
    }
    .artist__article-name {
      color: #cec730;
      font-size: 1.25rem;
      line-height: 1.5rem;
      margin-bottom: 2.5rem
    }
    .artist__article-name--orange {
      color: #d24b4b
    }
    .artist__biography {
      margin-bottom: 3.125rem
    }
    .artist__biography-caption {
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      font-size: .75rem;
      gap: 1.0625rem;
      margin-bottom: .625rem
    }
    .artist__biography-caption:before {
      background-color: #fff;
      content: "";
      display: block;
      height: 1px;
      width: 1.5625rem
    }
    .artist__biography-text {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.875rem;
      opacity: .7
    }
    .artist__message-caption {
      font-size: 1rem;
      margin-bottom: .625rem
    }
    .artist__message-text {
      font-size: 1.1rem;
      font-weight: 500;
      line-height: 2.1875rem
    }
    .artist__message-text:nth-of-type(n+2) {
      margin-top: .625rem
    }
    .artist__credit {
      border: 1px solid rgba(221, 228, 242, .15);
      border-radius: calc(var(--vw)*2.5);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin: 0 auto;
      padding: calc(var(--vw)*4.6875) calc(var(--vw)*5);
      position: relative;
      width: calc(var(--vw)*80);
      z-index: 2
    }
    .artist__credit-caption {
      font-size: 1.2rem;
      margin-bottom: 2.5rem
    }
    .artist__credit-row {
      display: -webkit-box;
      display: flex;
      gap: 2.5rem
    }
    .artist__credit-section {
      width: 100%
    }
    .artist__credit-sectioning-caption {
      border-bottom: 1px solid hsla(0, 0%, 100%, .15);
      color: #3ab2ee;
      font-size: 1rem;
      margin-bottom: 1.25rem;
      padding-bottom: 1.25rem
    }
    .artist__credit-section-row {
      display: -webkit-box;
      display: flex;
      gap: 2.5rem;
      white-space: nowrap
    }
    .artist__credit-definition-list:nth-of-type(n+2) {
      margin-top: .625rem
    }
    .artist__credit-definition-list-term {
      font-size: 1rem;
      line-height: 1.75rem;
      opacity: .6
    }
    .artist__credit-definition-list-description {
      font-size: 1rem;
      line-height: 1.5rem
    }
    .service {
      margin-bottom: -1px;
      overflow: hidden;
      padding-bottom: calc(var(--vw)*32.25);
      position: relative
    }
    .service__inner {
      position: relative;
      z-index: 1
    }
    .service__wave {
      bottom: 0;
      height: calc(var(--vw)*26.875);
      left: 0;
      position: absolute;
      width: 100%
    }
    .service__wave .behind, .service__wave .front, .service__wave .main {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .service__wave .behind {
      -webkit-animation: behind 2.7s ease-in-out infinite alternate;
      animation: behind 2.7s ease-in-out infinite alternate;
      background-image: url(../images/service/wave_behind.png?vbc8c5cbbab5e4a0652f43088ef95812e)
    }
    .service__wave .front {
      -webkit-animation: front 2.3s ease-in-out infinite alternate;
      animation: front 2.3s ease-in-out infinite alternate;
      background-image: url(../images/service/wave_front.png?va867a2255efe23a0f1a7293e5239df79)
    }
    .service__wave .main {
      -webkit-animation: mainWave 3.1s ease-in-out infinite alternate;
      animation: mainWave 3.1s ease-in-out infinite alternate;
      background-image: url(../images/service/wave_main.png?v229cc13ce5645fa230a19cdd878a6f01)
    }
    .conclusion {
      background-color: #081031;
      overflow: hidden;
      padding-bottom: calc(var(--vw)*10);
      padding-top: calc(var(--vw)*8);
      position: relative
    }
    .conclusion__bg {
      background-image: url(../images/conclusion/conclusion_bg.png?v14f08096858b288569ebf721ed1af4a1);
      background-position: 100%;
      background-repeat: no-repeat;
      background-size: cover;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .conclusion-catch {
      font-size: 3.75rem;
      font-weight: 700;
      letter-spacing: -.1em;
      line-height: 5.625rem;
      position: relative;
      text-align: center
    }
  }
  
  @media (min-width:768px) and (max-width:1366px) {
    .mv {
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      height: 100vh;
      min-height: calc(var(--vw)*54.375);
      position: relative;
      white-space: nowrap;
      width: 100%
    }
    .mv__bg {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .mv__bg img {
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      -o-object-position: center;
      object-position: center;
      width: 100%
    }
    .mv__column {
      left: calc(var(--vw)*7.6875);
      position: absolute;
      top: 50%;
      translate: 0 -50%;
      z-index: 1
    }
    .mv__catch--ja {
      font-size: calc(var(--vw)*4);
      font-weight: 700;
      line-height: calc(var(--vw)*5);
      margin-bottom: calc(var(--vw)*3.75);
      position: relative
    }
    .mv__catch--ja img {
      bottom: calc(var(--vw)*-3.1875);
      left: calc(var(--vw)*-5.375);
      position: absolute;
      width: calc(var(--vw)*18.75)
    }
    .mv__catch--en {
      color: hsla(0, 0%, 100%, .8);
      font-size: calc(var(--vw)*.625);
      line-height: calc(var(--vw)*.9375);
      white-space: nowrap;
      width: calc(var(--vw)*13.75)
    }
    .mv__catch--en span {
      display: inline-block;
      width: 100%
    }
    .mv__catch--en span:nth-of-type(2) {
      text-align: right
    }
    .mv__figure {
      position: relative
    }
    .mv__figure:before {
      background: #081031;
      border-radius: calc(var(--vw)*0) calc(var(--vw)*0) calc(var(--vw)*5) calc(var(--vw)*5);
      bottom: calc(var(--vw)*-3.4375);
      content: "";
      display: block;
      -webkit-filter: blur(calc(var(--vw)*3.125));
      filter: blur(calc(var(--vw)*3.125));
      height: 100%;
      left: 50%;
      position: absolute;
      translate: -50% 0;
      width: calc(100% - var(--vw)*4.375)
    }
    .mv__figure img {
      position: relative
    }
    .campaign-banner {
      margin: calc(var(--vw)*0) auto;
      margin-bottom: calc(var(--vw)*12.5);
      margin-top: calc(var(--vw)*-12.3125);
      position: relative;
      width: calc(var(--vw)*66.5);
      z-index: 1
    }
    .campaign-banner2 {
      margin: calc(var(--vw)*0) auto;
      margin-bottom: calc(var(--vw)*7.5);
      /* margin-top: calc(var(--vw)*-10.3125); */
      position: relative;
      width: calc(var(--vw)*66.5);
      z-index: 1
    }
    .campaign-banner__hit {
      cursor: pointer;
      display: block;
      height: calc(var(--vw)*1.25);
      position: absolute;
      right: calc(var(--vw)*1.875);
      top: calc(var(--vw)*1.25);
      width: calc(var(--vw)*1.875)
    }
    .introduction {
      margin-bottom: calc(var(--vw)*-3.125);
      overflow: hidden;
      padding-bottom: calc(var(--vw)*20);
      position: relative
    }
    .introduction__wave {
      bottom: 0;
      height: calc(var(--vw)*28.75);
      left: 0;
      position: absolute;
      width: 100%
    }
    .introduction__wave .behind, .introduction__wave .front, .introduction__wave .main {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .introduction__wave .behind {
      -webkit-animation: behind 2.7s ease-in-out infinite alternate;
      animation: behind 2.7s ease-in-out infinite alternate;
      background-image: url(../images/intro/wave_behind.png?vfb05db1df480d27def9220636f212be6)
    }
    .introduction__wave .front {
      -webkit-animation: front 2.3s ease-in-out infinite alternate;
      animation: front 2.3s ease-in-out infinite alternate;
      background-image: url(../images/intro/wave_front.png?v2ec50ba115607c9c7177d33fceef99bf)
    }
    .introduction__wave .main {
      -webkit-animation: mainWave 3.1s ease-in-out infinite alternate;
      animation: mainWave 3.1s ease-in-out infinite alternate;
      background-image: url(../images/intro/wave_main.png?v924766e92b85dce71b9d0028edc33409)
    }
    .introduction__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .introduction__bg--top {
      background-image: url(../images/intro/intro_bg.png?v891dd7fa7c581f09c8bf37e14c724857);
      background-position: 100% 0
    }
    .introduction__bg--bottom {
      background-image: url(../images/intro/conclusion_bg.png?v99a7f18a8f26f59b7dd17297d05fb229);
      background-position: 0 100%
    }
    .introduction__inner {
      position: relative;
      z-index: 1
    }
    .introduction__caption {
      font-size: calc(var(--vw)*4.375);
      font-weight: 800;
      line-height: calc(var(--vw)*7.5);
      margin-bottom: calc(var(--vw)*1.875);
      text-align: center
    }
    .introduction__lead {
      font-size: calc(var(--vw)*1.5);
      font-weight: 700;
      line-height: calc(var(--vw)*3.75);
      margin-bottom: calc(var(--vw)*1.875);
      text-align: center
    }
    .introduction__lead strong {
      font-size: calc(var(--vw)*2.5)
    }
    .introduction__text:nth-of-type(n+2) {
      margin-top: calc(var(--vw)*1.875)
    }
    .introduction__text {
      font-size: calc(var(--vw)*1.5);
      font-weight: 700;
      line-height: calc(var(--vw)*3.125);
      text-align: center
    }
    .introduction__conclusion {
      font-size: calc(var(--vw)*2);
      font-weight: 700;
      line-height: calc(var(--vw)*3.125);
      margin-top: calc(var(--vw)*3.75);
      text-align: center
    }
    .movie {
      padding: calc(var(--vw)*8.125) 0;
      position: relative
    }
    .movie__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .movie__bg--top {
      background-image: url(../images/movie/movie_bg.png?vc03c9fa0cd0dbc24d7fe53782c821d48);
      background-position: 0 0
    }
    .movie__bg--bottom {
      background-image: url(../images/movie/movie_bg2.png?vf76ef71146a5d60a23d76d28a1bd4e08);
      background-position: 100% 100%
    }
    .movie__thumbnail {
      margin: calc(var(--vw)*0) auto;
      position: relative;
      width: calc(var(--vw)*67.5)
    }
    .movie__thumbnail:before {
      background: #081031;
      border-radius: calc(var(--vw)*0) calc(var(--vw)*0) calc(var(--vw)*5) calc(var(--vw)*5);
      bottom: calc(var(--vw)*-3.125);
      content: "";
      display: block;
      -webkit-filter: blur(calc(var(--vw)*3.125));
      filter: blur(calc(var(--vw)*3.125));
      height: calc(var(--vw)*14.125);
      left: 50%;
      position: absolute;
      translate: -50% 0;
      width: calc(var(--vw)*55)
    }
    .movie__thumbnail img {
      position: relative
    }
    .feature {
      background-color: #dde4f2;
      color: #081031;
      overflow: hidden;
      padding-bottom: calc(var(--vw)*5);
      padding-top: calc(var(--vw)*7);
      position: relative;
      width: 100%
    }
    .feature__caption {
      margin: calc(var(--vw)*0) auto;
      margin-bottom: calc(var(--vw)*7.5);
      width: calc(var(--vw)*21.5625)
    }
    .feature__list-item {
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex
    }
    .feature__list-item:nth-of-type(n+2) {
      margin-top: calc(var(--vw)*11.875)
    }
    .feature__list-item:nth-of-type(odd) .feature__list-item-figure {
      border-radius: calc(var(--vw)*2.5) calc(var(--vw)*0) calc(var(--vw)*0) calc(var(--vw)*2.5);
      overflow: hidden
    }
    .feature__list-item:nth-of-type(2n) .feature__list-item-column {
      -webkit-box-ordinal-group: 3;
      order: 2
    }
    .feature__list-item:nth-of-type(2n) .feature__list-item-figure {
      -webkit-box-ordinal-group: 2;
      border-radius: calc(var(--vw)*0) calc(var(--vw)*2.5) calc(var(--vw)*2.5) calc(var(--vw)*0);
      order: 1;
      overflow: hidden
    }
    .feature__list-item-column {
      -webkit-box-pack: center;
      display: -webkit-box;
      display: flex;
      justify-content: center;
      width: 47.5%
    }
    .feature__list-item-figure {
      position: relative;
      width: 52.5%
    }
    .feature__list-item-card {
      margin-bottom: calc(var(--vw)*1.5);
      position: relative;
      width: calc(var(--vw)*27.5)
    }
    .feature__list-item-term {
      font-size: calc(var(--vw)*1.625);
      font-weight: 700;
      line-height: calc(var(--vw)*2.8125);
      margin-bottom: calc(var(--vw)*.625)
    }
    .feature__list-item-description {
      font-size: calc(var(--vw)*1);
      font-weight: 500;
      line-height: calc(var(--vw)*2.1875)
    }
    .feature__link {
      margin-top: calc(var(--vw)*9.0625);
      text-align: center
    }
    .feature__link-inner {
      -webkit-box-align: center;
      -webkit-box-pack: center;
      align-items: center;
      background-color: #fff;
      border-radius: calc(var(--vw)*3.125);
      display: -webkit-box;
      display: flex;
      height: 100%;
      justify-content: center;
      position: relative;
      width: 100%
    }
    .feature__link a {
      display: block;
      height: calc(var(--vw)*6.25);
      margin: calc(var(--vw)*0) auto;
      position: relative;
      width: calc(var(--vw)*40)
    }
    .feature__link a .logo {
      display: block;
      width: calc(var(--vw)*11.25)
    }
    .feature__link a .bullet {
      display: block;
      position: absolute;
      right: calc(var(--vw)*1.25);
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: calc(var(--vw)*3.75)
    }
    .artist {
      margin-top: calc(var(--vw)*-.125);
      padding-bottom: calc(var(--vw)*20);
      padding-top: calc(var(--vw)*25);
      position: relative
    }
    .artist:before {
      background-color: #dde4f2;
      content: "";
      display: block;
      height: calc(var(--vw)*.125);
      left: 0;
      position: absolute;
      top: calc(var(--vw)*-.0625);
      width: 100%;
      z-index: 2
    }
    .artist__wave {
      height: calc(var(--vw)*28.75);
      left: 0;
      overflow: hidden;
      position: absolute;
      top: 0;
      width: 100%;
      will-change: transform;
      z-index: 1
    }
    .artist__wave:after {
      background-color: #dde4f2;
      content: "";
      display: block;
      height: calc(var(--vw)*.1875);
      left: 0;
      position: absolute;
      top: 0;
      translate: 0 calc(var(--vw)*-.0625);
      width: 100%
    }
    .artist__wave .behind, .artist__wave .front, .artist__wave .main {
      background-position: top;
      background-repeat: no-repeat;
      background-size: 100% auto;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      will-change: transform
    }
    .artist__wave .behind, .artist__wave .front {
      top: calc(var(--vw)*.125)
    }
    .artist__wave .behind {
      -webkit-animation: behindR 2.7s ease-in-out infinite alternate;
      animation: behindR 2.7s ease-in-out infinite alternate;
      background-image: url(../images/artist/wave_behind.png?vb35451969a38a50509fef67893325181)
    }
    .artist__wave .front {
      -webkit-animation: frontR 2.3s ease-in-out infinite alternate;
      animation: frontR 2.3s ease-in-out infinite alternate;
      background-image: url(../images/artist/wave_front.png?v505cdfd5480d5662f8283a1cc89026c9)
    }
    .artist__wave .main {
      background-image: url(../images/artist/wave_main.png?va443d65052b4cf41bb81cc71c3e05b82);
      background-position: top;
      will-change: opacity
    }
    .artist__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      pointer-events: none;
      position: absolute;
      top: 0;
      width: 100%
    }
    .artist__bg--top {
      background-image: url(../images/artist/artist_bg.png?vf8b96c6e5357f811569b2e37712f4874);
      background-position: 0 0;
      top: 30%
    }
    .artist__bg--bottom {
      background-image: url(../images/artist/artist_bg2.png?vb27b328ea9c919dd27b3b24fb07520e9);
      background-position: right 80%
    }
    .artist__caption {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-box-pack: center;
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      flex-direction: column;
      justify-content: center;
      left: 50%;
      line-height: 1;
      margin-left: calc(var(--vw)*-2.8125);
      padding-top: calc(var(--vw)*6.125);
      position: absolute;
      top: 0;
      width: calc(var(--vw)*5.625)
    }
    .artist__caption-dummy {
      bottom: calc(var(--vw)*6.25);
      left: 0;
      padding-top: 0!important;
      pointer-events: none;
      position: absolute;
      top: auto;
      visibility: hidden
    }
    .artist__caption img {
      width: calc(var(--vw)*5.625)
    }
    .artist__caption small {
      font-size: calc(var(--vw)*.875);
      margin-top: calc(var(--vw)*3.5);
      -webkit-writing-mode: vertical-lr;
      writing-mode: vertical-lr
    }
    .artist__row {
      -webkit-box-pack: justify;
      display: -webkit-box;
      display: flex;
      justify-content: space-between;
      margin: calc(var(--vw)*0) auto;
      margin-bottom: calc(var(--vw)*7.1875);
      position: relative;
      width: calc(var(--vw)*80);
      z-index: 2
    }
    .artist__article {
      flex-shrink: 0;
      width: calc(var(--vw)*30)
    }
    .artist__article-figure {
      margin: calc(var(--vw)*0) auto;
      margin-bottom: calc(var(--vw)*3.125);
      position: relative;
      width: calc(var(--vw)*25)
    }
    .artist__article-figure img {
      position: relative
    }
    .artist__article-figure:before {
      background: #081031;
      bottom: calc(var(--vw)*-1.875);
      content: "";
      display: block;
      -webkit-filter: blur(calc(var(--vw)*3.125));
      filter: blur(calc(var(--vw)*3.125));
      height: calc(var(--vw)*22.5);
      left: calc(var(--vw)*1.25);
      position: absolute;
      width: calc(var(--vw)*22.5)
    }
    .artist__article-category {
      border: 1px solid;
      border-radius: calc(var(--vw)*1.25);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      color: #cec730;
      display: inline-block;
      font-size: calc(var(--vw)*.875);
      height: calc(var(--vw)*2.5);
      line-height: calc(var(--vw)*2.75);
      margin-bottom: 1.2rem;
      padding: 0 calc(var(--vw)*1.875)
    }
    .artist__article-category--orange {
      color: #d24b4b
    }
    .artist__article-name {
      color: #cec730;
      font-size: calc(var(--vw)*1.25);
      line-height: calc(var(--vw)*1.5);
      margin-bottom: calc(var(--vw)*2.5)
    }
    .artist__article-name--orange {
      color: #d24b4b
    }
    .artist__biography {
      margin-bottom: calc(var(--vw)*3.125)
    }
    .artist__biography-caption {
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      font-size: calc(var(--vw)*.75);
      gap: calc(var(--vw)*1.0625);
      margin-bottom: calc(var(--vw)*.625)
    }
    .artist__biography-caption:before {
      background-color: #fff;
      content: "";
      display: block;
      height: 1px;
      width: calc(var(--vw)*1.5625)
    }
    .artist__biography-text {
      font-size: calc(var(--vw)*1);
      font-weight: 500;
      line-height: calc(var(--vw)*1.875);
      opacity: .7
    }
    .artist__message-caption {
      font-size: calc(var(--vw)*1);
      margin-bottom: calc(var(--vw)*.625)
    }
    .artist__message-text {
      font-size: calc(var(--vw)*1.1);
      font-weight: 500;
      line-height: calc(var(--vw)*2.1875)
    }
    .artist__message-text:nth-of-type(n+2) {
      margin-top: calc(var(--vw)*.625)
    }
    .artist__credit {
      border: 1px solid rgba(221, 228, 242, .15);
      border-radius: calc(var(--vw)*2.5);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin: calc(var(--vw)*0) auto;
      padding: calc(var(--vw)*4.6875) calc(var(--vw)*5);
      position: relative;
      width: calc(var(--vw)*80);
      z-index: 2
    }
    .artist__credit-caption {
      font-size: calc(var(--vw)*1.2);
      margin-bottom: calc(var(--vw)*2.5)
    }
    .artist__credit-row {
      display: -webkit-box;
      display: flex;
      gap: calc(var(--vw)*2.5)
    }
    .artist__credit-section {
      width: 100%
    }
    .artist__credit-sectioning-caption {
      border-bottom: 1px solid hsla(0, 0%, 100%, .15);
      color: #3ab2ee;
      font-size: calc(var(--vw)*1);
      margin-bottom: calc(var(--vw)*1.25);
      padding-bottom: calc(var(--vw)*1.25)
    }
    .artist__credit-section-row {
      display: -webkit-box;
      display: flex;
      gap: calc(var(--vw)*2.5);
      white-space: nowrap
    }
    .artist__credit-definition-list:nth-of-type(n+2) {
      margin-top: calc(var(--vw)*.625)
    }
    .artist__credit-definition-list-term {
      font-size: calc(var(--vw)*1);
      line-height: calc(var(--vw)*1.75);
      opacity: .6
    }
    .artist__credit-definition-list-description {
      font-size: calc(var(--vw)*1);
      line-height: 1.5rem
    }
    .service {
      margin-bottom: calc(var(--vw)*-.0625);
      overflow: hidden;
      padding-bottom: calc(var(--vw)*32.25);
      position: relative
    }
    .service__inner {
      position: relative;
      z-index: 1
    }
    .service__wave {
      bottom: 0;
      height: calc(var(--vw)*26.875);
      left: 0;
      position: absolute;
      width: 100%
    }
    .service__wave .behind, .service__wave .front, .service__wave .main {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .service__wave .behind {
      -webkit-animation: behind 2.7s ease-in-out infinite alternate;
      animation: behind 2.7s ease-in-out infinite alternate;
      background-image: url(../images/service/wave_behind.png?vbc8c5cbbab5e4a0652f43088ef95812e)
    }
    .service__wave .front {
      -webkit-animation: front 2.3s ease-in-out infinite alternate;
      animation: front 2.3s ease-in-out infinite alternate;
      background-image: url(../images/service/wave_front.png?va867a2255efe23a0f1a7293e5239df79)
    }
    .service__wave .main {
      -webkit-animation: mainWave 3.1s ease-in-out infinite alternate;
      animation: mainWave 3.1s ease-in-out infinite alternate;
      background-image: url(../images/service/wave_main.png?v229cc13ce5645fa230a19cdd878a6f01)
    }
    .conclusion {
      background-color: #081031;
      overflow: hidden;
      padding-bottom: calc(var(--vw)*10);
      padding-top: calc(var(--vw)*8);
      position: relative
    }
    .conclusion__bg {
      background-image: url(../images/conclusion/conclusion_bg.png?v14f08096858b288569ebf721ed1af4a1);
      background-position: 100%;
      background-repeat: no-repeat;
      background-size: cover;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .conclusion-catch {
      font-size: calc(var(--vw)*3.75);
      font-weight: 700;
      letter-spacing: -.1em;
      line-height: calc(var(--vw)*5.625);
      position: relative;
      text-align: center
    }
  }
  
  @media only screen and (max-width:767px) {
    .root {
      overflow: hidden;
      width: 100%
    }
    .mv {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      height: calc(var(--vh)*80);
      padding-top: 29.333333333333332vw;
      position: relative
    }
    .mv__bg {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .mv__bg img {
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      -o-object-position: bottom center;
      object-position: bottom center;
      width: 100%
    }
    .mv__column {
      padding-left: 7.199999999999999vw
    }
    .mv__catch {
      margin-bottom: 7.733333333333333vw
    }
    .mv__catch--ja {
      font-size: 8.799999999999999vw;
      font-weight: 700;
      line-height: 11.200000000000001vw;
      margin-bottom: 8vw;
      position: relative;
      white-space: nowrap
    }
    .mv__catch--ja img {
      bottom: -7.466666666666668vw;
      left: -3.2vw;
      position: absolute;
      width: 40vw
    }
    .mv__catch--en {
      color: hsla(0, 0%, 100%, .8);
      font-size: 2.666666666666667vw;
      line-height: 4vw;
      white-space: nowrap;
      width: 58.666666666666664vw
    }
    .mv__catch--en span {
      display: inline-block;
      width: 100%
    }
    .mv__catch--en span:nth-of-type(2) {
      text-align: right
    }
    .mv__figure {
      padding-left: 6.4vw;
      position: relative
    }
    .mv__figure:before {
      background: #081031;
      border-radius: 0 0 10.666666666666668vw 10.666666666666668vw;
      bottom: -5.333333333333334vw;
      content: "";
      display: block;
      -webkit-filter: blur(4vw);
      filter: blur(4vw);
      height: 37.06666666666666vw;
      position: absolute;
      right: -8.533333333333333vw;
      width: 93.33333333333333vw
    }
    .mv__figure img {
      position: relative
    }
    .campaign-banner {
      margin: 0 auto 9.333333333333334vw;
      position: relative;
      width: 85.33333333333334vw;
      z-index: 1
    }
    .campaign-banner2 {
      margin: 9.333333333333334vw auto;
      position: relative;
      width: 85.33333333333334vw;
      z-index: 1
    }
    .introduction {
      margin-bottom: -1px;
      overflow: hidden;
      padding-bottom: 41.333333333333336vw;
      padding-top: 17.066666666666666vw;
      position: relative
    }
    .introduction__wave {
      bottom: 0;
      height: 34.66666666666667vw;
      left: 0;
      position: absolute;
      width: 100%
    }
    .introduction__wave .behind, .introduction__wave .front, .introduction__wave .main {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .introduction__wave .behind {
      -webkit-animation: behind 2.7s ease-in-out infinite alternate;
      animation: behind 2.7s ease-in-out infinite alternate;
      background-image: url(../images/sp/intro/wave_behind.png?va571d2d0571fa115550a1940eda25380)
    }
    .introduction__wave .front {
      -webkit-animation: front 2.3s ease-in-out infinite alternate;
      animation: front 2.3s ease-in-out infinite alternate;
      background-image: url(../images/sp/intro/wave_front.png?v16039dc948c8ddb5cf917615a0d89c46)
    }
    .introduction__wave .main {
      -webkit-animation: mainWave 3.1s ease-in-out infinite alternate;
      animation: mainWave 3.1s ease-in-out infinite alternate;
      background-image: url(../images/sp/intro/wave_main.png?vc0a5862386843c74bddc9995329a0006)
    }
    .introduction__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .introduction__bg--top {
      background-image: url(../images/sp/intro/intro_bg.png?vc383b33c7cdb444fe46680d2000a2f89);
      background-position: 100% 0
    }
    .introduction__bg--bottom {
      background-image: url(../images/sp/intro/conclusion_bg.png?v64ab61add6eb22f052988df552bdeb2b);
      background-position: 0 100%
    }
    .introduction__inner {
      position: relative;
      z-index: 1
    }
    .introduction__caption {
      font-size: 9.333333333333334vw;
      font-weight: 800;
      line-height: 18.666666666666668vw;
      margin-bottom: 2vw;
      text-align: center
    }
    .introduction__lead {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 3.733333333333334vw;
      font-weight: 700;
      line-height: 8vw;
      margin-bottom: 4vw;
      padding: 0 2.666666666666667vw;
      text-align: center
    }
    .introduction__lead strong {
      font-size: 4.8vw
    }
    .introduction__text {
      padding: 0 2.666666666666667vw
    }
    .introduction__text:nth-of-type(n+2) {
      margin-top: 4vw
    }
    .introduction__text {
      font-size: 3.733333333333334vw;
      font-weight: 700;
      line-height: 8vw;
      text-align: center
    }
    .introduction__conclusion {
      font-size: 4.8vw;
      font-weight: 700;
      line-height: 8vw;
      margin-top: 4vw;
      text-align: center
    }
    .movie {
      background-image: url(../images/movie/movie_bg.png?vc03c9fa0cd0dbc24d7fe53782c821d48);
      background-position: 0 0;
      background-repeat: no-repeat;
      background-size: contain;
      padding: 11.733333333333333vw 7.466666666666668vw;
      position: relative
    }
    .movie__bg {
      background-image: url(../images/sp/movie/movie_bg.png?v71a319586e22b74d24695bd54a86d102);
      background-position: 0 0;
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .movie__thumbnail {
      position: relative;
      width: 100%
    }
    .movie__thumbnail:before {
      background: #081031;
      border-radius: 0 0 5.333333333333334vw 5.333333333333334vw;
      bottom: -5.333333333333334vw;
      content: "";
      display: block;
      -webkit-filter: blur(4vw);
      filter: blur(4vw);
      height: 17.855999999999998vw;
      left: 50%;
      position: absolute;
      -webkit-transform: translateX(-50%) translateY(0);
      transform: translateX(-50%) translateY(0);
      width: 69.53066666666668vw
    }
    .movie__thumbnail img {
      position: relative
    }
    .feature {
      background-color: #dde4f2;
      color: #081031;
      overflow: hidden;
      padding-bottom: 18.666666666666668vw;
      padding-top: 18.666666666666668vw;
      position: relative;
      width: 100%
    }
    .feature__caption {
      margin: 0 auto 17.333333333333336vw;
      width: 54.93333333333334vw
    }
    .feature__list-item {
      padding-top: 42.66666666666667vw;
      position: relative
    }
    .feature__list-item:nth-of-type(n+2) {
      margin-top: 16vw
    }
    .feature__list-item-column {
      position: relative;
      z-index: 1
    }
    .feature__list-item-figure {
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .feature__list-item-card {
      margin: 0 auto 4vw;
      position: relative;
      width: 85.33333333333334vw
    }
    .feature__list-item-term {
      font-size: 5vw;
      font-weight: 700;
      line-height: 9vw;
      margin-bottom: 3.4666666666666663vw;
      text-align: center
    }
    .feature__list-item-description {
      font-size: 3.733333333333334vw;
      font-weight: 500;
      line-height: 8vw;
      padding: 0 8vw
    }
    .feature__link {
      margin-top: 13.333333333333334vw;
      text-align: center
    }
    .feature__link-inner {
      -webkit-box-align: center;
      -webkit-box-pack: center;
      align-items: center;
      background-color: #fff;
      border-radius: 8vw;
      display: -webkit-box;
      display: flex;
      height: 100%;
      justify-content: center;
      position: relative;
      width: 100%
    }
    .feature__link a {
      display: block;
      height: 16vw;
      margin: 0 auto;
      position: relative;
      width: 84vw
    }
    .feature__link a .logo {
      display: block;
      width: 37.333333333333336vw
    }
    .feature__link a .bullet {
      display: block;
      position: absolute;
      right: 2.666666666666667vw;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 10.666666666666668vw
    }
    .artist {
      margin-bottom: -2px;
      margin-top: -2px;
      overflow: hidden;
      padding-bottom: 59.46666666666667vw;
      padding-top: 42.13333333333333vw;
      position: relative
    }
    .artist:before {
      background-color: #dde4f2;
      content: "";
      display: block;
      height: 2px;
      left: 0;
      position: absolute;
      top: -1px;
      width: 100%;
      z-index: 2
    }
    .artist__wave {
      height: 34.66666666666667vw;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      will-change: transform;
      z-index: 1
    }
    .artist__wave .behind, .artist__wave .front, .artist__wave .main {
      background-position: top;
      background-repeat: no-repeat;
      background-size: 100% auto;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      will-change: transform
    }
    .artist__wave .behind, .artist__wave .front {
      top: 2px
    }
    .artist__wave .behind {
      -webkit-animation: behindR 2.7s ease-in-out infinite alternate;
      animation: behindR 2.7s ease-in-out infinite alternate;
      background-image: url(../images/sp/artist/wave_behind.png?v8164189f0d807c230410926ac0932eb1)
    }
    .artist__wave .front {
      -webkit-animation: frontR 2.3s ease-in-out infinite alternate;
      animation: frontR 2.3s ease-in-out infinite alternate;
      background-image: url(../images/sp/artist/wave_front.png?vf4bb419f66d786d88d81f726be08ec19)
    }
    .artist__wave .main {
      background-image: url(../images/sp/artist/wave_main.png?ve52a16bb78c645ec982e8ee388147c1a);
      background-position: top;
      will-change: opacity
    }
    .artist__bg {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .artist__bg--top {
      background-image: url(../images/sp/artist/artist_bg.png?v32ce463b79bc213095a2701c8f11108c);
      background-position: 0 0;
      top: 30%
    }
    .artist__bg--bottom {
      background-image: url(../images/sp/artist/artist_bg2.png?v52ac02746f2e173700a721a0577fd772);
      background-position: right 80%
    }
    .artist__caption {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      flex-direction: column;
      margin-bottom: 9.333333333333334vw;
      position: relative;
      text-align: center;
      z-index: 1
    }
    .artist__caption small {
      color: #3ab2ee;
      font-size: 4.266666666666667vw;
      font-weight: 700;
      line-height: 5.333333333333334vw;
      margin-bottom: 2.666666666666667vw
    }
    .artist__caption span {
      font-size: 13.333333333333334vw;
      font-weight: 800;
      line-height: 18.666666666666668vw
    }
    .artist__row {
      position: relative
    }
    .artist__article {
      margin: 0 auto;
      position: relative;
      width: 84vw
    }
    .artist__article:nth-of-type(n+2) {
      border-top: 1px solid hsla(0, 0%, 100%, .15);
      margin-top: 13.333333333333334vw;
      padding-top: 13.333333333333334vw
    }
    .artist__article-figure {
      margin: 0 auto 8vw;
      width: 66.13333333333333vw
    }
    .artist__article-category {
      -webkit-box-align: center;
      -webkit-box-pack: center;
      align-items: center;
      border: 1px solid;
      border-radius: 4vw;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      color: #cec730;
      display: -webkit-inline-box;
      display: inline-flex;
      font-size: 3.4666666666666663vw;
      height: 8vw;
      justify-content: center;
      line-height: 1;
      margin-bottom: 4vw;
      padding: 1.0666666666666667vw 8vw 0
    }
    .artist__article-category--orange {
      color: #d24b4b
    }
    .artist__article-category-wrap {
      text-align: center
    }
    .artist__article-name {
      color: #cec730;
      font-size: 5.333333333333334vw;
      line-height: 7.466666666666668vw;
      margin-bottom: 8vw;
      text-align: center
    }
    .artist__article-name--orange {
      color: #d24b4b
    }
    .artist__biography {
      margin-bottom: 8vw
    }
    .artist__biography-caption {
      -webkit-box-align: center;
      align-items: center;
      display: -webkit-box;
      display: flex;
      font-size: 3.2vw;
      gap: 4.533333333333333vw;
      margin-bottom: 2.666666666666667vw
    }
    .artist__biography-caption:before {
      background-color: #fff;
      content: "";
      display: block;
      height: 1px;
      width: 6.666666666666667vw
    }
    .artist__biography-text {
      font-size: 3.4666666666666663vw;
      font-weight: 500;
      line-height: 6.666666666666667vw;
      opacity: .7
    }
    .artist__message-caption {
      font-size: 3.733333333333334vw;
      margin-bottom: 2.666666666666667vw
    }
    .artist__message-text {
      font-size: 3.733333333333334vw;
      font-weight: 500;
      line-height: 8vw
    }
    .artist__message-text:nth-of-type(n+2) {
      margin-top: 2.666666666666667vw
    }
    .artist__credit {
      border: 1px solid rgba(221, 228, 242, .15);
      border-radius: 9.6vw;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin: 10.666666666666668vw auto 0;
      padding: 10.666666666666668vw 8vw;
      width: 84vw
    }
    .artist__credit-caption {
      font-size: 3.733333333333334vw;
      margin-bottom: 8vw
    }
    .artist__credit-section {
      width: 100%
    }
    .artist__credit-section:nth-of-type(n+2) {
      margin-top: 10.666666666666668vw
    }
    .artist__credit-sectioning-caption {
      border-bottom: 1px solid hsla(0, 0%, 100%, .15);
      color: #3ab2ee;
      font-size: 3.733333333333334vw;
      margin-bottom: 4vw;
      padding-bottom: 4vw
    }
    .artist__credit-section-column {
      margin-top: 3.2vw
    }
    .artist__credit-definition-list:nth-of-type(n+2) {
      margin-top: 3.2vw
    }
    .artist__credit-definition-list-term {
      font-size: 3.2vw;
      line-height: 7.466666666666668vw;
      opacity: .6
    }
    .artist__credit-definition-list-description {
      font-size: 3.2vw;
      line-height: 5.333333333333334vw
    }
    .service {
      margin-bottom: -1px;
      overflow: hidden;
      padding-bottom: 59.46666666666667vw;
      position: relative
    }
    .service__wave {
      bottom: 0;
      height: 34.13333333333333vw;
      left: 0;
      position: absolute;
      width: 100%
    }
    .service__wave .behind, .service__wave .front, .service__wave .main {
      background-repeat: no-repeat;
      background-size: contain;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .service__wave .behind {
      -webkit-animation: behind 2.7s ease-in-out infinite alternate;
      animation: behind 2.7s ease-in-out infinite alternate;
      background-image: url(../images/sp/service/wave_behind.png?v3e9ff2a67a8bfde82969f9de2d1c12ff)
    }
    .service__wave .front {
      -webkit-animation: front 2.3s ease-in-out infinite alternate;
      animation: front 2.3s ease-in-out infinite alternate;
      background-image: url(../images/sp/service/wave_front.png?ve3452a6b396af1a135d4760ed688f9a1)
    }
    .service__wave .main {
      -webkit-animation: mainWave 3.1s ease-in-out infinite alternate;
      animation: mainWave 3.1s ease-in-out infinite alternate;
      background-image: url(../images/sp/service/wave_main.png?va47d7765bd2f1b35172d779c3c2271cc)
    }
    .conclusion {
      background-color: #081031;
      overflow: hidden;
      padding-bottom: 26.666666666666668vw;
      padding-top: 29.333333333333332vw;
      position: relative
    }
    .conclusion__bg {
      background-image: url(../images/sp/conclusion/conclusion_bg.png?v14ddab35fc0fecdc42c52946155de644);
      background-position: 100%;
      background-repeat: no-repeat;
      background-size: cover;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%
    }
    .conclusion-catch {
      font-size: 8vw;
      font-weight: 700;
      letter-spacing: -.05em;
      line-height: 12vw;
      text-align: center
    }
  }