/*===========================================================================
unique
単一ページで使用するCSS
接頭辞【.u-】

【予測変換用 _base.css記述】
:root {
	--font-color-base: #000;
	--font-family-base: "Noto Sans JP", sans-serif;
	--back-color-base: #fff;
	--design-size-pc: 1400;
	--design-size-sp: 750;
}
===========================================================================*/
.u-video {
  position: relative;
}
.u-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.u-video__btn {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.u-video__sound {
  position: relative;
  padding: 6rem;
  cursor: pointer;
}
.u-video__sound::before {
  content: "";
  display: block;
  width: 24rem;
  height: 24rem;
  background: url(../images/icn_sound_off.svg) no-repeat center / contain;
}
.u-video__sound.--is-on::before {
  background-image: url(../images/icn_sound_on.svg);
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-video__sound {
    padding: 20rem;
  }
  .u-video__sound::before {
    width: 40rem;
    height: 40rem;
  }
}


.u-kv {
  position: relative;
  aspect-ratio: 390 / 219;
  overflow: hidden;
}
.u-kv .l-wid {
  height: 100%;
}
.u-kv__platform {
  position: absolute;
  top: 0;
  left: 0;
  width: 50rem;
  z-index: 1;
}
.u-kv__mov {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.u-kv__mov video {
  width: 100%;
  height: 100%;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-kv {
    aspect-ratio: 1400 / 786;
  }
  .u-kv__platform {
    top: 20rem;
    left: 20rem;
    width: 80rem;
  }
}


.u-intro__bg {
  position: relative;
  padding: 30rem 0 25rem;
  z-index: 0;
}
.u-intro__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: -20rem;
  width: calc(100% + 40rem);
  height: 100%;
  background: url(../images/intro_bg.png) no-repeat top left / cover;
  z-index: -1;
}
.u-intro__ttl {
  height: 150rem;
  background: url(../images/intro_ttl.png) no-repeat center / contain;
}
.u-intro__txt {
  margin-top: -7rem;
  height: 58rem;
  background: url(../images/intro_txt.png) no-repeat top left / contain;
}
.u-intro__char {
  content: "";
  position: absolute;
  right: 0;
  bottom: -31rem;
  width: 108rem;
  height: 96rem;
  background: url(../images/intro_char.png) no-repeat center / contain;
}
.u-intro__cta {
  padding: 41rem 0 22rem;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-intro__bg {
    padding: 147rem 40rem 103rem;
  }
  .u-intro__bg::before {
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    margin: 0 calc(50% - 50%);
    background-image: url(../images/intro_bg_pc.png);
    background-position: bottom left;
    background-size: 100% auto;
  }
  .u-intro__ttl {
    max-width: 1118rem;
    height: 201rem;
    background-image: url(../images/intro_ttl_pc.png);
  }
  .u-intro__txt {
    margin-top: -59rem;
    max-width: 1108rem;
    height: 131rem;
    background-image: url(../images/intro_txt_pc.png);
  }
  .u-intro__char {
    bottom: -35rem;
    width: 250rem;
    height: 223rem;
    background-image: url(../images/intro_char_pc.png);
  }
  .u-intro__cta {
    padding: 55rem 0 102rem;
  }
}


.u-cta {
  display: flex;
  flex-direction: column;
  gap: 11rem;
}
.u-cta__ttl {
  height: 21rem;
  background: no-repeat center / contain;
}
.u-cta__btn {
  margin-top: 12rem;
}
.u-cta__btn > a {
  display: block;
  margin-left: -2rem;
  margin-right: -7rem;
  min-height: 69rem;
  background: no-repeat center / contain;
  transition: opacity 0.3s linear;
}
.u-cta__btn > a:hover {
  opacity: 0.7;
}
.u-cta__item.--type-download .u-cta__ttl {
  background-image: url(../images/cta_ttl_download.png);
}
.u-cta__item.--type-download .u-cta__btn > a {
  background-image: url(../images/cta_btn_download.png);
}
.u-cta__item.--type-cart .u-cta__ttl {
  height: 49rem;
  background-image: url(../images/cta_ttl_cart.png);
}
.u-cta__item.--type-cart .u-cta__btn > a {
  background-image: url(../images/cta_btn_cart.png);
}

.u-cta__btn.--color-bk > a {
  margin: 0;
  min-height: 66rem;
}
.u-cta:has(.--color-bk) {
  gap: 20rem;
}
.u-cta__item.--type-download .u-cta__ttl.--color-bk {
  background-image: url(../images/cta_ttl_download_bk.png);
}
.u-cta__item.--type-download .u-cta__btn.--color-bk > a {
  background-image: url(../images/cta_btn_download_bk.png);
}
.u-cta__item.--type-cart .u-cta__ttl.--color-bk {
  background-image: url(../images/cta_ttl_cart_bk.png);
}
.u-cta__item.--type-cart .u-cta__btn.--color-bk > a {
  background-image: url(../images/cta_btn_cart_bk.png);
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-cta {
    flex-direction: row;
    align-items: end;
    justify-content: center;
    gap: 0;
  }
  .u-cta__item {
    flex: 1;
    max-width: 600rem;
  }
  .u-cta__ttl {
    height: 36rem;
  }
  .u-cta__btn {
    margin-top: 20rem;
  }
  .u-cta__btn > a {
    margin: 0 -14rem 0 -4rem;
    min-height: 120rem;
  }
  .u-cta__item.--type-download .u-cta__ttl {
    background-image: url(../images/cta_ttl_download_pc.png);
  }
  .u-cta__item.--type-download .u-cta__btn > a {
    background-image: url(../images/cta_btn_download_pc.png);
  }
  .u-cta__item.--type-cart .u-cta__ttl {
    height: 85rem;
    background-image: url(../images/cta_ttl_cart_pc.png);
  }
  .u-cta__item.--type-cart .u-cta__btn > a {
    background-image: url(../images/cta_btn_cart_pc.png);
  }

  .u-cta__btn.--color-bk > a {
    margin: 0 -14rem 0 -4rem;
    min-height: 121rem;
  }
  .u-cta:has(.--color-bk) {
    gap: 0;
  }
  .u-cta__item.--type-download .u-cta__ttl.--color-bk {
    background-image: url(../images/cta_ttl_download_bk_pc.png);
  }
  .u-cta__item.--type-download .u-cta__btn.--color-bk > a {
    background-image: url(../images/cta_btn_download_bk_pc.png);
  }
  .u-cta__item.--type-cart .u-cta__ttl.--color-bk {
    background-image: url(../images/cta_ttl_cart_bk_pc.png);
  }
  .u-cta__item.--type-cart .u-cta__btn.--color-bk > a {
    background-image: url(../images/cta_btn_cart_bk_pc.png);
  }
}


.u-anchor {
  position: relative;
  z-index: 0;
}
.u-anchor::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/anchor_bg.png) no-repeat center / cover;
  z-index: -1;
}
.u-anchor .l-wid {
  padding: 40rem 0 92rem;
}
.u-anchor__txt {
  margin-top: 19rem;
  height: 20rem;
  background: url(../images/anchor_txt.png) no-repeat center / contain;
}
.u-anchor__ttl {
  margin-top: 8rem;
  height: 118rem;
  background: url(../images/anchor_ttl.png) no-repeat center / contain;
}
.u-anchor__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10rem;
  margin: 21rem -8rem 0;
}
.u-anchor__list > li a {
  display: block;
  height: 107rem;
  background: no-repeat top left / contain;
  transition: 0.3s opacity linear;
}
.u-anchor__list > li a:hover {
  opacity: 0.7;
}
.u-anchor__list > li:nth-child(1) a {
  background-image: url(../images/anchor_btn01.png);
}
.u-anchor__list > li:nth-child(2) a {
  background-image: url(../images/anchor_btn02.png);
}
.u-anchor__list > li:nth-child(3) a {
  background-image: url(../images/anchor_btn03.png);
}
.u-anchor__list > li:nth-child(4) a {
  background-image: url(../images/anchor_btn04.png);
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-anchor::before {
    background-image: url(../images/anchor_bg_pc.png);
  }
  .u-anchor .l-wid {
    padding: 100rem 0 260rem;
  }
  .u-anchor__logo {
    max-width: 486rem;
    margin: 0 auto;
  }
  .u-anchor__txt {
    margin-top: 29rem;
    height: 43rem;
    background-image: url(../images/anchor_txt_pc.png);
  }
  .u-anchor__ttl {
    margin-top: 10rem;
    height: 124rem;
    background-image: url(../images/anchor_ttl_pc.png);
  }
  .u-anchor__list {
    justify-content: center;
    grid-template-columns: repeat(2, minmax(0, 550rem));
    gap: 8rem 20rem;
    margin: 40rem 0 0;
  }
  .u-anchor__list > li a {
    height: 157rem;
  }
  .u-anchor__list > li:nth-child(1) a {
    background-image: url(../images/anchor_btn01_pc.png);
  }
  .u-anchor__list > li:nth-child(2) a {
    background-image: url(../images/anchor_btn02_pc.png);
  }
  .u-anchor__list > li:nth-child(3) a {
    background-image: url(../images/anchor_btn03_pc.png);
  }
  .u-anchor__list > li:nth-child(4) a {
    background-image: url(../images/anchor_btn04_pc.png);
  }
}


.u-sec__txt {
  font-weight: bold;
  font-size: 18rem;
  line-height: 1.67;
  letter-spacing: 0.02em;
  text-align: center;
}
.u-sec__line {
  content: "";
  position: absolute;
  top: -32rem;
  left: 0;
  width: 100%;
  height: 32rem;
  background: url(../images/sec_bg_wt.png) no-repeat center / cover;
}
.u-sec__char {
  position: absolute;
  background: no-repeat center / contain;
}

.u-sld .slick-list {
  overflow: visible;
}
.u-sld__item {
  margin: 0 5rem;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-sec__txt {
    font-size: 24rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .u-sec__line {
    top: -80rem;
    height: 81rem;
    background-image: url(../images/sec_bg_wt_pc.png);
  }
  .u-sld__item {
    margin: 0 10rem;
  }
}


.u-sec01 {
  position: relative;
}
.u-sec01 .l-wid {
  position: relative;
  padding: 20rem 0 92rem;
}
.u-sec01__char {
  top: -62rem;
  right: 0;
  width: 102rem;
  height: 134rem;
  background-image: url(../images/sec01_char.png);
}
.u-sec01__ttl {
  height: 261rem;
  background: url(../images/sec01_ttl.png) no-repeat center / contain;
}
.u-sec01__row:first-of-type {
  margin-top: 20rem;
}
.u-sec01__row:not(:first-of-type) {
  margin-top: 30rem;
}
.u-sec01__lead01 {
  height: 143rem;
  background: url(../images/sec01_lead01.png) no-repeat center / contain;
}
.u-sec01__lead02 {
  height: 174rem;
  background: url(../images/sec01_lead02.png) no-repeat center / contain;
}
.u-sec01__voice {
  position: relative;
  width: calc(100% - 40rem);
  margin: 30rem auto 0;
  padding: 8rem 0 7rem;
  background-color: #00D2FF;
  color: #FFF;
  font-weight: bold;
  font-size: 16rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.u-sec01__voice::before,
.u-sec01__voice::after {
  content: "";
  position: absolute;
  top: 0;
  width: 20rem;
  height: 100%;
  background: url(../images/icn_triangle.svg) no-repeat center / contain;
}
.u-sec01__voice::before {
  left: -19rem;
}
.u-sec01__voice::after {
  right: -19rem;
  transform: rotate(180deg);
}
.u-sec01__voice .icn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10rem;
  justify-content: space-between;
}
.u-sec01__voice .icn::after {
  content: "";
  display: block;
  width: 30rem;
  height: 30rem;
  background: url(../images/icn_voice.png) no-repeat center / contain;
}
.u-sec01__txt {
  margin-top: 18rem;
  letter-spacing: normal;
}
.u-sec01__mov {
  margin-top: 20rem;
  aspect-ratio: 350 / 197;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-sec01 .l-wid {
    padding: 0 0 260rem;
  }
  .u-sec01__char {
    top: -141rem;
    width: 207rem;
    height: 270rem;
    background-image: url(../images/sec01_char_pc.png);
  }
  .u-sec01__ttl {
    max-width: 924rem;
    height: 371rem;
    margin: 0 auto;
    background-image: url(../images/sec01_ttl_pc.png);
  }
  .u-sec01__row:first-of-type {
    margin-top: 40rem;
  }
  .u-sec01__row:not(:first-of-type) {
    margin-top: 80rem;
  }
  .u-sec01__lead01 {
    height: 102rem;
    background-image: url(../images/sec01_lead01_pc.png);
  }
  .u-sec01__lead02 {
    height: 99rem;
    background-image: url(../images/sec01_lead02_pc.png);
  }
  .u-sec01__voice {
    width: initial;
    max-width: 694rem;
    margin: 80rem auto 0;
    padding: 12rem;
    font-size: 25rem;
    line-height: 1.48;
    letter-spacing: 0.04em;
  }
  .u-sec01__voice::before,
  .u-sec01__voice::after {
    width: 52rem;
  }
  .u-sec01__voice::before {
    left: -42rem;
  }
  .u-sec01__voice::after {
    right: -42rem;
  }
  .u-sec01__voice .icn {
    justify-content: center;
    gap: 28rem;
  }
  .u-sec01__voice .icn::after {
    width: 51rem;
    height: 51rem;
  }
  .u-sec01__txt {
    margin-top: 30rem;
    letter-spacing: 0.04em;
  }
  .u-sec01__mov {
    max-width: 1000rem;
    margin: 30rem auto 0;
    aspect-ratio: 1000 / 564;
  }
}


.u-sec02 {
  position: relative;
  z-index: 0;
}
.u-sec02::before,
.u-sec02::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background: no-repeat top left / cover;
  z-index: -1;
}
.u-sec02::before {
  top: 0;
  height: 100%;
  background-image: url(../images/sec02_bg.png);
}
.u-sec02::after {
  bottom: 0;
  height: calc(100% - 42rem);
  background-image: url(../images/sec02_bg_dot.png);
  background-position: bottom left;
}
.u-sec02__line {
  background-image: url(../images/sec_bg_gr.png);
}
.u-sec02 .l-wid {
  position: relative;
  padding: 20rem 0 92rem;
}
.u-sec02__char {
  top: -62rem;
  right: 0;
  width: 106rem;
  height: 248rem;
  background: url(../images/sec02_char.png) no-repeat center / contain;
}
.u-sec02__ttl {
  position: relative;
  height: 120rem;
  background: url(../images/sec02_ttl.png) no-repeat center / contain;
  z-index: 1;
}
.u-sec02__lead {
  position: relative;
  margin-top: 18rem;
  height: 140rem;
  background: url(../images/sec02_lead.png) no-repeat center / contain;
  z-index: 1;
}
.u-sec02__mode {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 30rem;
  margin-top: 30rem;
}
.u-sec02__label {
  height: 36rem;
  background: no-repeat center / contain;
}
.u-sec02__label.--type-basic {
  background-image: url(../images/sec02_label_basic.png);
}
.u-sec02__label.--type-advanced {
  background-image: url(../images/sec02_label_advanced.png);
}
.u-sec02__sld {
  margin: 18rem -5rem 0;
}
.u-sec02__txt {
  margin-top: 18rem;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-sec02::before {
    background-image: url(../images/sec02_bg_pc.png);
  }
  .u-sec02::after {
    height: calc(100% - 10rem);
    background-image: url(../images/sec02_bg_dot_pc.png);
  }
  .u-sec02__line {
    background-image: url(../images/sec_bg_gr_pc.png);
  }
  .u-sec02 .l-wid {
    padding: 0 0 260rem;
  }
  .u-sec02__char {
    top: -141rem;
    right: 0;
    width: 325rem;
    height: 760rem;
    background-image: url(../images/sec02_char_pc.png);
  }
  .u-sec02__ttl {
    max-width: 1029rem;
    height: 185rem;
    margin: 0 auto;
    background-image: url(../images/sec02_ttl_pc.png);
  }
  .u-sec02__lead {
    max-width: 748rem;
    height: 106rem;
    margin: 37rem auto 0;
    background-image: url(../images/sec02_lead_pc.png);
  }
  .u-sec02__mode {
    grid-template-columns: minmax(0, 800rem);
    justify-content: center;
    gap: 100rem;
    margin-top: 80rem;
  }
  .u-sec02__label {
    height: 52rem;
  }
  .u-sec02__label.--type-basic {
    background-image: url(../images/sec02_label_basic_pc.png);
  }
  .u-sec02__label.--type-advanced {
    background-image: url(../images/sec02_label_advanced_pc.png);
  }
  .u-sec02__sld {
    margin: 39rem -10rem 0;
  }
  .u-sec02__txt {
    margin-top: 40rem;
  }
}



.u-sec03 {
  position: relative;
}
.u-sec03 .l-wid {
  position: relative;
  padding: 20rem 0 40rem;
}
.u-sec03__char {
  top: -62rem;
  right: 0;
  width: 100rem;
  height: 242rem;
  background-image: url(../images/sec03_char.png);
}
.u-sec03__ttl {
  position: relative;
  height: 205rem;
  margin-right: 16rem;
  background: url(../images/sec03_ttl.png) no-repeat center / contain;
  z-index: 1;
}
.u-sec03__lead {
  position: relative;
  height: 99rem;
  margin-top: 20rem;
  background: url(../images/sec03_lead.png) no-repeat center / contain;
  z-index: 1;
}
.u-sec03__sld {
  margin: 30rem 50rem 0;
}
.u-sec03__sldTtl {
  margin-top: 20rem;
  font-weight: bold;
  font-size: 18rem;
  line-height: 1.56;
  letter-spacing: 0.02em;
  text-align: center;
}
.u-sec03__sldName {
  margin-top: 6rem;
  font-weight: bold;
  font-size: 14rem;
  line-height: 1.71;
  letter-spacing: 0.02em;
  text-align: center;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-sec03 .l-wid {
    padding: 0 0 120rem;
  }
  .u-sec03__char {
    top: -141rem;
    width: 289rem;
    height: 700rem;
    background-image: url(../images/sec03_char_pc.png);
  }
  .u-sec03__ttl {
    max-width: 844rem;
    height: 264rem;
    margin: 0 auto;
    background-image: url(../images/sec03_ttl_pc.png);
  }
  .u-sec03__lead {
    height: 110rem;
    margin-top: 35rem;
    background-image: url(../images/sec03_lead_pc.png);
  }
  .u-sec03__sld {
    margin: 76rem -65rem 0;
  }
  .u-sec03__sld .u-sld__item {
    margin: 0 5rem;
  }
  .u-sec03__sldTtl {
    font-size: 20rem;
    line-height: 1.6;
  }
  .u-sec03__sldName {
    margin-top: 3rem;
    line-height: 2;
  }
  .u-sec03__sld .l-sldDoc {
    margin-top: 16rem;
  }
}


.u-songs {
  background: url(../images/songs_bg.png) no-repeat bottom left / cover;
}
.u-songs .l-wid {
  padding: 40rem 0 80rem;
}
.u-songs__ttl {
  height: 48rem;
  margin: 0 -7rem;
  background: url(../images/songs_ttl.png) no-repeat center / contain;
}
.u-songs__cts {
  margin-top: 30rem;
  padding: 26rem 20rem;
  background-color: rgba(255, 255, 255, 0.8);
  font-weight: bold;
  font-size: 14rem;
  line-height: 2;
}
.u-songs__list > li {
  padding-left: 1em;
  text-indent: -1em;
}
.u-songs__list > li::before {
  content: "・";
}
.u-songs__cta {
  margin-top: 40rem;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-songs {
    background-image: url(../images/songs_bg_pc.png);
  }
  .u-songs .l-wid {
    padding: 80rem 0 235rem;
  }
  .u-songs__ttl {
    height: 80rem;
    margin: 0;
    background-image: url(../images/songs_ttl_pc.png);
  }
  .u-songs__cts {
    margin: 40rem 40rem 0;
    padding: 45rem 80rem;
    font-size: 18rem;
  }
  .u-songs__list {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: space-between;
    grid-auto-flow: row dense;
    position: relative;
  }
  .u-songs__list > li:nth-child(5) {
    break-after: column;
  }
  .u-songs__list > li:nth-child(11) {
    break-before: column;
  }
  .u-songs__list > li:nth-child(-n + 5){
    grid-column: 1;
  }
  .u-songs__list > li:nth-child(n + 6):nth-child(-n + 10){
    grid-column: 2;
  }
  .u-songs__list > li:nth-child(n + 11){
    grid-column: 3;
  }
  .u-songs__list > li .indent {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    text-indent: 0;
  }
  .u-songs__cta {
    margin-top: 80rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1250px) {
  .u-songs__cts {
    padding-right: 60rem;
    padding-left: 60rem;
  }
}


.u-story .l-wid {
  padding: 4rem 0 40rem;
}
.u-story__bg {
  position: relative;
  margin: 0 calc(50% - 50vw);
  padding: 0 0 10rem;
}
.u-story__bg::before,
.u-story__bg::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background: no-repeat center / cover;
}
.u-story__bg::before {
  top: -4rem;
  aspect-ratio: 390 / 64;
  background-image: url(../images/story_bg01.png);
}
.u-story__bg::after {
  bottom: 0;
  aspect-ratio: 390 / 61;
  background-image: url(../images/story_bg02.png);
}
.u-story__ttl {
  position: relative;
  left: 40rem;
  max-width: 286rem;
  height: 254rem;
  background: url(../images/story_ttl.png) no-repeat center / contain;
  z-index: 1;
}
.u-story__img {
  margin-top: -32rem;
}
.u-story__sec:first-of-type {
  margin-top: 20rem;
}
.u-story__sec:not(:first-of-type) {
  margin-top: 40rem;
}
.u-story__lead01 {
  height: 52rem;
  background: url(../images/story_lead01.png) no-repeat center / contain;
}
.u-story__lead02 {
  height: 124rem;
  background: url(../images/story_lead02.png) no-repeat center / contain;
}
.u-story__sld {
  margin: 30rem -5rem 0;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-story .l-wid {
    padding: 24rem 0 120rem;
  }
  .u-story__bg {
    padding: 0 0 98rem;
  }
  .u-story__bg::before {
    top: -24rem;
    aspect-ratio: 1400 / 221;
    background-image: url(../images/story_bg01_pc.png);
  }
  .u-story__bg::after {
    bottom: 0;
    aspect-ratio: 1400 / 221;
    background-image: url(../images/story_bg02_pc.png);
  }
  .u-story__ttl {
    position: static;
    max-width: 1200rem;
    padding-right: 206rem;
    height: 389rem;
    margin: 0 auto;
    background-image: url(../images/story_ttl_pc.png);
    background-position: top left;
  }
  .u-story__img {
    margin-top: -114rem;
  }
  .u-story__sec:first-of-type {
    margin-top: 40rem;
  }
  .u-story__sec:not(:first-of-type) {
    margin-top: 120rem;
  }
  .u-story__lead01 {
    height: 123rem;
    background-image: url(../images/story_lead01_pc.png);
  }
  .u-story__lead02 {
    height: 205rem;
    background-image: url(../images/story_lead02_pc.png);
  }
  .u-story__sld {
    margin: 60rem 0 0;
    padding: 0 20rem;
  }
  .u-story__sld .u-sld__item {
    margin: 0 20rem;
  }
}


.u-grooveCup {
  margin-top: 38rem;
  padding: 40rem 20rem 36rem;
  background: url(../images/groove_cup_bg.png) no-repeat center / cover;
}
.u-grooveCup__ttl {
  height: 137rem;
  background: url(../images/groove_cup_ttl.png) no-repeat center / contain;
}
.u-grooveCup__mov {
  margin-top: 20rem;
  aspect-ratio: 310 / 174;
}
.u-grooveCup__mov video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.u-grooveCup__txt {
  margin-top: 16rem;
  font-weight: bold;
  font-size: 14rem;
  line-height: 1.86;
  letter-spacing: 0.02em;
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-grooveCup {
    display: grid;
    grid-template-columns: 576rem auto;
    grid-template-rows: repeat(4, auto);
    gap: 0 40rem;
    margin-top: 60rem;
    padding: 60rem 40rem;
    background-image: url(../images/groove_cup_bg_pc.png);
  }
  .u-grooveCup__ttl {
    grid-area: 2 / 2 / 3 / 3;
    max-width: 485rem;
    height: 153rem;
    background-image: url(../images/groove_cup_ttl_pc.png);
  }
  .u-grooveCup__mov {
    grid-area: 1 / 1 / 5 / 2;
    margin-top: 0;
    aspect-ratio: 576 / 324;
  }
  .u-grooveCup__txt {
    grid-area: 3 / 2 / 4 / 3;
    margin-top: 22rem;
    font-size: 16rem;
    line-height: 1.63;
    letter-spacing: 0.03em;
  }
}


.u-copy {
  background-color: #191c2d;
  color: #fff;
}
.u-copy .l-wid {
  padding: 20rem 0 40rem;
}
.u-copy__creater {
  font-weight: bold;
  font-size: 14rem;
  line-height: 1.43;
  letter-spacing: 0.02em;
}
.u-copy__createrItem {
  padding: 20rem 19rem 19rem 20rem;
  border-bottom: 1px solid #fff;
}
.u-copy__createrItem > dd {
  margin-top: 5rem;
}
.u-copy__row {
  margin-top: 30rem;
  font-weight: 500;
  font-size: 10rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.u-copy__copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 17rem;
  margin-top: 27rem;
  padding-top: 30rem;
  border-top: 1px solid #fff;
}
.u-copy__copy .piapro {
  width: auto;
  height: 14rem;
  margin-left: 4rem;
}
.u-copy__copy p:has(.piapro) {
  display: flex;
  align-items: center;
  margin-right: -40rem;
}
.u-copy__copy .twindrill {
  width: auto;
  height: 18rem;
  margin-left: 4rem;
}
.u-copy__copy p:has(.twindrill) {
  display: flex;
  align-items: center;
  margin-top: 10rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-copy__createrItem > dd .big {
    font-size: 18rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .u-copy__row > * {
    padding-right: 20rem;
    padding-left: 20rem;
  }
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-copy .l-wid {
    max-width: 1120rem;
    padding: 90rem 0 126rem;
  }
  .u-copy__creater {
    display: grid;
    grid-template-columns: 350rem 483rem;
    gap: 20rem 60rem;
    font-size: 18rem;
    line-height: 1.5;
  }
  .u-copy__createrItem {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 14rem 19rem 14rem 20rem;
  }
  .u-copy__createrItem > dd {
    margin-top: 2rem;
    font-size: 20rem;
    line-height: 1.45;
    letter-spacing: 0.02em;
  }
  .u-copy__row {
    display: flex;
    gap: 60rem;
    margin-top: 57rem;
    font-weight: 500;
    font-size: 14rem;
    line-height: 1.86;
  }
  .u-copy__copy {
    grid-template-columns: repeat(2, auto);
    gap: 87rem;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .u-copy__copy > dt:not(:first-child) {
    margin-top: 17rem;
  }
  .u-copy__copy .piapro {
    height: 20rem;
    margin-left: 0.5em;
  }
  .u-copy__copy p:has(.piapro) {
    margin-right: -40rem;
  }
  .u-copy__copy .twindrill {
    height: 25rem;
    margin-left: 0.5em;
  }
  .u-copy__copy p:has(.twindrill) {
    margin-top: 13rem;
  }
}
