@charset "UTF-8";

:root {
  --color-red: #ef5000;
  --color-orange: #ed7301;
  --color-brown: #813717;
  --color-yellow: #fbc601;
  --color-deepRed: #e84f3a;
  --fontSize-40: 4rem;
  --fontSize-32: 3.2rem;
  --fontSize-24: 2.4rem;
  --fontSize-20: 2rem;
  --fontSize-18: 1.8rem;
  --fontSize-14: 1.4rem;
  --fontWeight-bold: 600;
}
@media screen and (max-width: 767px) {
  :root {
    --fontSize-40: 2.8rem;
    --fontSize-32: 2.8rem;
    --fontSize-24: 2.1rem;
    --fontSize-20: 1.7rem;
    --fontSize-18: 1.55rem;
    --fontSize-14: 1.2rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*  ローディング
* --------------------------------------------------------------------------------------------------*/

#loading {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  width: 100vw;
  height: 100dvh;
  transition: all 1s;
  background-color: #dde100;
}
.loader,
.loader:before,
.loader:after {
  background: #ffffff;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}
.loader {
  color: #fff;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: "";
}
.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 1.5em;
}
@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
.loaded {
  opacity: 0;
  visibility: hidden;
}

/* ----------------------------------------------------------------------------------------------------
*  コンテンツ
* --------------------------------------------------------------------------------------------------*/

.wrap {
  position: relative;
}

/* 前半 */
.scroll {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
}
.scrollElement {
  position: absolute;
  top: 0;
  z-index: 9999;
  width: 1px;
  height: 5000vh;
}
@media screen and (max-width: 780px) {
  .scrollElement {
    height: 2500vh;
  }
}

/*************** 移植 ***************/

.goodPoint01,
.goodPoint02,
.goodPoint03 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  width: 100vw;
  height: 100%;
}
.goodPoint {
  width: min(100%, 55rem);
  border: 0.2rem solid #603b1d;
  border-radius: 1rem;
  background-color: rgba(247, 249, 62, 0.95);
  box-shadow: 0.2rem 0.8rem 1rem rgba(000, 000, 000, 0.4);
}
.goodPoint__inner {
  position: relative;
  padding: 3.5rem 4rem 4rem;
}
.goodPoint__title {
  width: 25.7rem;
  margin-bottom: 1.5rem;
}
.goodPoint__heading {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.goodPoint__heading span {
  position: absolute;
  left: 5rem;
  bottom: 4rem;
}
.goodPoint__heading span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}
.goodPoint01 .goodPoint__heading span {
  width: 12.5rem;
  aspect-ratio: 125 / 107;
  background: url("../images/image_goodpoints_number01.svg") no-repeat center
    center / 99%;
}
.goodPoint01 .goodPoint__heading span::before {
  width: 12.5rem;
  aspect-ratio: 125 / 107;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.25 -0.25 59.963 51.4" fill="none" stroke="rgba(174, 146, 124, 1)" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round"><path d="M29.2,3.3c-1.8-1.7-4.1-2.7-6.5-2.7h-10.2c-2.4,0-4.8,1-6.5,2.7l-3.2,3.2C.9,8.2,0,10.6,0,13.1v24.2C0,39.8.9,42.2,2.7,43.9l3.2,3.2c1.8,1.7,4.1,2.7,6.5,2.7h10.2c2.4,0,4.8-1,6.5-2.7l3.2-3.2c1.8-1.7,2.7-4,2.7-6.5V13.1c0-2.5-.9-4.9-2.7-6.5l-3.2-3.2ZM26.3,36.1c0,.9-.4,1.8-1,2.4-.5.5-.9.9-1.4,1.4-.7.7-1.6,1-2.5,1h-7.6c-.9,0-1.8-.3-2.5-1-.5-.5-.9-.9-1.4-1.4s-1-1.6-1-2.4V14.3c0-.9.4-1.8,1-2.4s.9-.9,1.4-1.4c.7-.7,1.6-1,2.5-1h7.6c.9,0,1.8.3,2.5,1,.5.5.9.9,1.4,1.4.6.6,1,1.6,1,2.4v21.8Z"/><path d="M54.7,0c-2.8,0-4.1.8-7.2,3.7l-4.5,4.2c-1.8,1.6-1.9,4.5-.3,6.2,1.6,1.8,4.4,2,6.1.3l1.8-1.7v33.6c0,2.4,2,4.5,4.4,4.5s4.5-2,4.5-4.5V5.1C59.5,2.7,58,0,54.7,0Z"/></svg>')
    no-repeat center center / cover;
}
.goodPoint02 .goodPoint__heading span {
  width: 15.8rem;
  aspect-ratio: 158 / 106.192;
  background: url("../images/image_goodpoints_number02.svg") no-repeat center
    center / 99%;
}
.goodPoint02 .goodPoint__heading span::before {
  transform: translate(-50%, -50%);
  width: 15.8rem;
  aspect-ratio: 158 / 106.192;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.25 -0.25 76.233 51.4" fill="none" stroke="rgba(174, 146, 124, 1)" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22.6.6c2.4,0,4.8,1,6.5,2.7l3.2,3.2c1.8,1.7,2.7,4.1,2.7,6.5v24.2c0,2.5-.9,4.9-2.7,6.5l-3.2,3.2c-1.8,1.7-4.1,2.7-6.5,2.7h-10.2c-2.4,0-4.8-1-6.5-2.7l-3.2-3.2c-1.8-1.7-2.7-4-2.7-6.5V13.1c0-2.5.9-4.9,2.7-6.5l3.2-3.2c1.8-1.7,4.1-2.7,6.5-2.7h10.2ZM26.3,14.3c0-.9-.4-1.8-1-2.4-.5-.5-.9-.9-1.4-1.4-.7-.7-1.6-1-2.5-1h-7.6c-.9,0-1.8.3-2.5,1-.5.5-.9.9-1.4,1.4s-1,1.6-1,2.4v21.8c0,.9.4,1.8,1,2.4s.9.9,1.4,1.4c.7.7,1.6,1,2.5,1h7.6c.9,0,1.8-.3,2.5-1,.5-.5.9-.9,1.4-1.4.6-.6,1-1.6,1-2.4V14.3Z"/><path d="M63.1.6c2.4,0,4.9,1,6.7,2.8l3.2,3.2c1.8,1.8,2.7,4.1,2.7,6.5v5.1c0,3.9-1.2,5.9-4.1,7.9l-19.4,13.4c-.5.4-.9.9-.9,1.6h18c2.4,0,4.4,2,4.4,4.4s-2,4.4-4.4,4.4h-20c-3.7,0-6.7-1.7-6.7-5.4v-5.1c0-2.8,1.1-4.7,3.2-6l18.6-12.8c1-.7,2.6-2,2.6-4.1v-2.2c0-.9-.4-1.8-1-2.4l-1.4-1.4c-.7-.7-1.6-1-2.5-1h-6c-.9,0-1.8.3-2.4,1-.5.5-.9.9-1.4,1.4-.7.7-1,1.6-1,2.4v2.7c0,2.4-2,4.4-4.5,4.4s-4.4-2-4.4-4.4v-3.9c0-2.5,1-4.8,2.7-6.5l3.2-3.2c1.7-1.8,4.1-2.8,6.5-2.8h8.4Z"/></svg>')
    no-repeat center center / cover;
}
.goodPoint03 .goodPoint__heading span {
  width: 15.8rem;
  aspect-ratio: 158 / 106.304;
  background: url("../images/image_goodpoints_number03.svg") no-repeat center
    center / 99%;
}
.goodPoint03 .goodPoint__heading span::before {
  transform: translate(-50%, -50%);
  width: 15.8rem;
  aspect-ratio: 158 / 106.304;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.25 -0.25 76.153 51.9" fill="none" stroke="rgba(174, 146, 124, 1)" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22.6.6c2.4,0,4.8,1,6.5,2.7l3.2,3.2c1.8,1.7,2.7,4.1,2.7,6.5v24.2c0,2.5-.9,4.9-2.7,6.5l-3.2,3.2c-1.8,1.7-4.1,2.7-6.5,2.7h-10.2c-2.4,0-4.8-1-6.5-2.7l-3.2-3.2C.9,42.2,0,39.8,0,37.3V13.1C0,10.6.9,8.2,2.7,6.5l3.2-3.2c1.8-1.7,4.1-2.7,6.5-2.7h10.2ZM26.3,14.3c0-.9-.4-1.8-1-2.4-.5-.5-.9-.9-1.4-1.4-.7-.7-1.6-1-2.5-1h-7.6c-.9,0-1.8.3-2.5,1-.5.5-.9.9-1.4,1.4s-1,1.6-1,2.4v21.8c0,.9.4,1.8,1,2.4s.9.9,1.4,1.4c.7.7,1.6,1,2.5,1h7.6c.9,0,1.8-.3,2.5-1,.5-.5.9-.9,1.4-1.4.6-.6,1-1.6,1-2.4V14.3Z"/><path d="M70.3,24.7l2.4,2.4c1.8,1.8,2.8,4.1,2.8,6.5v3.8c0,2.4-.9,4.8-2.6,6.5l-3.2,3.2c-1.7,1.7-4,2.7-6.5,2.7h-8.6c-2.5,0-4.9-1-6.5-2.7l-3.2-3.2c-1.7-1.7-2.7-4-2.7-6.5v-2.9c0-2.4,2-4.4,4.5-4.4s4.4,2,4.4,4.4v1.6c0,.9.3,1.8,1,2.4.3.4.7.7,1.1,1.1.9.9,2,1.4,3.2,1.4h5.7c.9,0,1.8-.3,2.4-1l1.4-1.4c.7-.6,1-1.5,1-2.4v-1.1c0-.9-.3-1.8-.9-2.5l-3-3c-3-3.1-3.8-5.8,0-9.6l2.9-2.9c.7-.7,1-1.6,1-2.4v-.3c0-.9-.3-1.8-1-2.4l-1.4-1.4c-.6-.7-1.5-1-2.4-1h-6.1c-.9,0-1.8.3-2.4,1l-1.4,1.4c-.7.6-1,1.6-1,2.4v1.1c0,2.4-2,4.4-4.4,4.4s-4.5-2-4.5-4.4v-2.4c0-2.5,1-4.9,2.7-6.5l3.2-3.2c1.7-1.7,4.1-2.7,6.5-2.7h8.6c2.4,0,4.8,1,6.5,2.7l3.2,3.2c1.7,1.7,2.7,4.1,2.7,6.5,0,1,.1,1.9,0,2.7,0,3.2-.7,4.2-2.4,6.1l-2.9,2.8Z"/></svg>')
    no-repeat center center / cover;
}
.goodPoint__explanation {
  margin-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.goodPoint__box {
  align-items: end;
  width: 25rem;
  aspect-ratio: 250 / 164;
  margin-left: auto;
}
.goodPoint01 .goodPoint__anime,
.goodPoint02 .goodPoint__anime,
.goodPoint03 .goodPoint__anime {
  width: 100%;
}
@media screen and (max-width: 780px) {
  .goodPoint {
    width: min(720 / 780 * 100vw, 72rem);
    border: min(4 / 780 * 100vw, 0.4rem) solid #603b1d;
    border-radius: min(20 / 780 * 100vw, 2rem);
  }
  .goodPoint__inner {
    padding: min(80 / 780 * 100vw, 8rem) min(50 / 780 * 100vw, 5rem);
  }
  .goodPoint__title {
    width: min(360 / 780 * 100vw, 36rem);
    margin-bottom: min(40 / 780 * 100vw, 4rem);
  }
  .goodPoint__heading {
    font-size: 2.2rem;
    margin-bottom: min(30 / 780 * 100vw, 3rem);
    padding-left: min(10 / 780 * 100vw, 1rem);
    padding-right: min(10 / 780 * 100vw, 1rem);
  }
  .goodPoint__heading span {
    top: min(40 / 780 * 100vw, 4rem);
    left: initial;
    right: min(60 / 780 * 100vw, 6rem);
    bottom: initial;
  }
  .goodPoint01 .goodPoint__heading span {
    width: min(115 / 780 * 100vw, 11.5rem);
  }
  .goodPoint01 .goodPoint__heading span::before {
    width: min(115 / 780 * 100vw, 11.5rem);
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.5 -0.5 60.463 51.9" fill="none" stroke="rgba(174, 146, 124, 1)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><path d="M29.2,3.3c-1.8-1.7-4.1-2.7-6.5-2.7h-10.2c-2.4,0-4.8,1-6.5,2.7l-3.2,3.2C.9,8.2,0,10.6,0,13.1v24.2C0,39.8.9,42.2,2.7,43.9l3.2,3.2c1.8,1.7,4.1,2.7,6.5,2.7h10.2c2.4,0,4.8-1,6.5-2.7l3.2-3.2c1.8-1.7,2.7-4,2.7-6.5V13.1c0-2.5-.9-4.9-2.7-6.5l-3.2-3.2ZM26.3,36.1c0,.9-.4,1.8-1,2.4-.5.5-.9.9-1.4,1.4-.7.7-1.6,1-2.5,1h-7.6c-.9,0-1.8-.3-2.5-1-.5-.5-.9-.9-1.4-1.4s-1-1.6-1-2.4V14.3c0-.9.4-1.8,1-2.4s.9-.9,1.4-1.4c.7-.7,1.6-1,2.5-1h7.6c.9,0,1.8.3,2.5,1,.5.5.9.9,1.4,1.4.6.6,1,1.6,1,2.4v21.8Z"/><path d="M54.7,0c-2.8,0-4.1.8-7.2,3.7l-4.5,4.2c-1.8,1.6-1.9,4.5-.3,6.2,1.6,1.8,4.4,2,6.1.3l1.8-1.7v33.6c0,2.4,2,4.5,4.4,4.5s4.5-2,4.5-4.5V5.1C59.5,2.7,58,0,54.7,0Z"/></svg>')
      no-repeat center center / cover;
  }
  .goodPoint02 .goodPoint__heading span {
    width: min(146 / 780 * 100vw, 14.6rem);
  }
  .goodPoint02 .goodPoint__heading span::before {
    width: min(146 / 780 * 100vw, 14.6rem);
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.5 -0.5 76.733 51.9" fill="none" stroke="rgba(174, 146, 124, 1)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><path d="M22.6.6c2.4,0,4.8,1,6.5,2.7l3.2,3.2c1.8,1.7,2.7,4.1,2.7,6.5v24.2c0,2.5-.9,4.9-2.7,6.5l-3.2,3.2c-1.8,1.7-4.1,2.7-6.5,2.7h-10.2c-2.4,0-4.8-1-6.5-2.7l-3.2-3.2c-1.8-1.7-2.7-4-2.7-6.5V13.1c0-2.5.9-4.9,2.7-6.5l3.2-3.2c1.8-1.7,4.1-2.7,6.5-2.7h10.2ZM26.3,14.3c0-.9-.4-1.8-1-2.4-.5-.5-.9-.9-1.4-1.4-.7-.7-1.6-1-2.5-1h-7.6c-.9,0-1.8.3-2.5,1-.5.5-.9.9-1.4,1.4s-1,1.6-1,2.4v21.8c0,.9.4,1.8,1,2.4s.9.9,1.4,1.4c.7.7,1.6,1,2.5,1h7.6c.9,0,1.8-.3,2.5-1,.5-.5.9-.9,1.4-1.4.6-.6,1-1.6,1-2.4V14.3Z"/><path d="M63.1.6c2.4,0,4.9,1,6.7,2.8l3.2,3.2c1.8,1.8,2.7,4.1,2.7,6.5v5.1c0,3.9-1.2,5.9-4.1,7.9l-19.4,13.4c-.5.4-.9.9-.9,1.6h18c2.4,0,4.4,2,4.4,4.4s-2,4.4-4.4,4.4h-20c-3.7,0-6.7-1.7-6.7-5.4v-5.1c0-2.8,1.1-4.7,3.2-6l18.6-12.8c1-.7,2.6-2,2.6-4.1v-2.2c0-.9-.4-1.8-1-2.4l-1.4-1.4c-.7-.7-1.6-1-2.5-1h-6c-.9,0-1.8.3-2.4,1-.5.5-.9.9-1.4,1.4-.7.7-1,1.6-1,2.4v2.7c0,2.4-2,4.4-4.5,4.4s-4.4-2-4.4-4.4v-3.9c0-2.5,1-4.8,2.7-6.5l3.2-3.2c1.7-1.8,4.1-2.8,6.5-2.8h8.4Z"/></svg>')
      no-repeat center center / cover;
  }
  .goodPoint03 .goodPoint__heading span {
    width: min(146 / 780 * 100vw, 14.6rem);
  }
  .goodPoint03 .goodPoint__heading span::before {
    width: min(146 / 780 * 100vw, 14.6rem);
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.5 -0.5 76.753 52.4" fill="none" stroke="rgba(174, 146, 124, 1)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><path d="M22.6.6c2.4,0,4.8,1,6.5,2.7l3.2,3.2c1.8,1.7,2.7,4.1,2.7,6.5v24.2c0,2.5-.9,4.9-2.7,6.5l-3.2,3.2c-1.8,1.7-4.1,2.7-6.5,2.7h-10.2c-2.4,0-4.8-1-6.5-2.7l-3.2-3.2C.9,42.2,0,39.8,0,37.3V13.1C0,10.6.9,8.2,2.7,6.5l3.2-3.2c1.8-1.7,4.1-2.7,6.5-2.7h10.2ZM26.3,14.3c0-.9-.4-1.8-1-2.4-.5-.5-.9-.9-1.4-1.4-.7-.7-1.6-1-2.5-1h-7.6c-.9,0-1.8.3-2.5,1-.5.5-.9.9-1.4,1.4s-1,1.6-1,2.4v21.8c0,.9.4,1.8,1,2.4s.9.9,1.4,1.4c.7.7,1.6,1,2.5,1h7.6c.9,0,1.8-.3,2.5-1,.5-.5.9-.9,1.4-1.4.6-.6,1-1.6,1-2.4V14.3Z"/><path d="M70.3,24.7l2.4,2.4c1.8,1.8,2.8,4.1,2.8,6.5v3.8c0,2.4-.9,4.8-2.6,6.5l-3.2,3.2c-1.7,1.7-4,2.7-6.5,2.7h-8.6c-2.5,0-4.9-1-6.5-2.7l-3.2-3.2c-1.7-1.7-2.7-4-2.7-6.5v-2.9c0-2.4,2-4.4,4.5-4.4s4.4,2,4.4,4.4v1.6c0,.9.3,1.8,1,2.4.3.4.7.7,1.1,1.1.9.9,2,1.4,3.2,1.4h5.7c.9,0,1.8-.3,2.4-1l1.4-1.4c.7-.6,1-1.5,1-2.4v-1.1c0-.9-.3-1.8-.9-2.5l-3-3c-3-3.1-3.8-5.8,0-9.6l2.9-2.9c.7-.7,1-1.6,1-2.4v-.3c0-.9-.3-1.8-1-2.4l-1.4-1.4c-.6-.7-1.5-1-2.4-1h-6.1c-.9,0-1.8.3-2.4,1l-1.4,1.4c-.7.6-1,1.6-1,2.4v1.1c0,2.4-2,4.4-4.4,4.4s-4.5-2-4.5-4.4v-2.4c0-2.5,1-4.9,2.7-6.5l3.2-3.2c1.7-1.7,4.1-2.7,6.5-2.7h8.6c2.4,0,4.8,1,6.5,2.7l3.2,3.2c1.7,1.7,2.7,4.1,2.7,6.5,0,1,.1,1.9,0,2.7,0,3.2-.7,4.2-2.4,6.1l-2.9,2.8Z"/></svg>')
      no-repeat center center / cover;
  }
  .goodPoint__explanation {
    margin-bottom: min(50 / 780 * 100vw, 5rem);
    padding-left: min(10 / 780 * 100vw, 1rem);
    padding-right: min(10 / 780 * 100vw, 1rem);
  }
  .goodPoint__box {
    width: min(438 / 780 * 100vw, 43.8rem);
    margin-left: auto;
    margin-right: auto;
  }
}

.scene00 {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  z-index: 1;
  overflow: hidden;
  background: url("../images/image_scene00_bg.png") no-repeat center center /
    cover;
}
.scene00__main {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 1;
  z-index: 1;
  width: min(752 / 1440 * 100%, 75.2rem);
}
.scene00__logo {
  width: min(356 / 752 * 100%, 35.6rem);
  max-height: 14.121%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: min(3.989%, 3rem);
}
.scene00__title {
  width: min(752 / 752 * 100%, 75.2rem);
  max-height: 29.288%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: min(10.507%, 7.9rem);
}
.scene00__logo img,
.scene00__title img {
  width: auto;
  margin-left: auto;
  margin-right: auto;
}
.scene00__sub {
  flex: 1.025;
  display: flex;
  align-items: flex-end;
  position: relative;
  z-index: 1;
  width: min(596 / 1440 * 100%, 59.6rem);
  container-type: inline-size;
}
.scene00__cheetah {
  position: relative;
  width: 47.483%;
  height: auto;
  aspect-ratio: 72.496 / 149.338;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -29.03%;
}
.scene00__cheetah .cheetah {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  width: 205.995%;
  max-width: initial;
}
.scene00__cheetah .comment {
  position: absolute;
  top: -6.346%;
  right: -55.124%;
  width: 54.417%;
}
.scene00__sub p {
  position: absolute;
  right: calc(15 / 596 * 100%);
  bottom: min(6.726%, 3rem);
  font-size: 2.349cqw;
  line-height: 1.6;
  color: #fff;
}
.scene00__bgInner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.scene00__bgInner span {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("../images/image_scene00_item01.png"),
    url("../images/image_scene00_item02.png"),
    url("../images/image_scene00_item03.png"),
    url("../images/image_scene00_item04.png"),
    url("../images/image_scene00_item05.png"),
    url("../images/image_scene00_item06.png"),
    url("../images/image_scene00_item07.png"),
    url("../images/image_scene00_item08.png"),
    url("../images/image_scene00_item09.png"),
    url("../images/image_scene00_item10.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: 14.38% 100%, 29.5% 0%, 12.56% 65.7%, 89.3% 47.65%, 100% 0,
    11.76% 20.95%, 29% 55.95%, -2% 87%, 77.54% 77.55%, 104.6% 102.4%;
  background-size: min(19.375%, 27.9rem), min(8.438%, 12.15rem),
    min(11.042%, 15.9rem), min(14.792%, 21.3rem), min(35.625%, 51.3rem),
    min(9.167%, 13.2rem), min(6.875%, 9.9rem), min(18.333%, 26.4rem),
    min(9.167%, 13.2rem), min(13.75%, 19.8rem);
}

@media screen and (max-width: 780px) {
  .scene00 {
    background: url("../images/image_scene00_bg_sp.png") no-repeat center
      center / cover;
  }
  .scene00__main {
    justify-content: center;
    width: min(540 / 780 * 100%, 54rem);
    margin-top: min(-59 / 780 * 100%, 5.9rem);
  }
  .scene00__logo {
    width: min(419 / 540 * 100%, 41.9rem);
    max-height: 6.877%;
    margin-bottom: min(7.792%, 4.2rem);
  }
  .scene00__title {
    width: min(540 / 540 * 100%, 54rem);
    max-height: 34.508%;
    margin-bottom: 0;
  }
  .scene00__sub {
    flex: 0.47;
    width: min(780 / 780 * 100%, 78rem);
    max-height: 54rem;
  }
  .scene00__cheetah {
    width: auto;
    height: 137.778%;
    margin-bottom: -26.155%;
  }
  .scene00__cheetah .comment {
    top: -36.828%;
    left: 50%;
    right: unset;
    width: 74.792%;
    transform: translateX(-50%);
  }
  .scene00__sub p {
    right: min(30 / 780 * 100%, 3rem);
    bottom: min(3.69%, 3rem);
    font-size: 3.107cqw;
  }
  .scene00__bgInner span {
    background-image: url("../images/image_scene00_item01.png"),
      url("../images/image_scene00_item02.png"),
      url("../images/image_scene00_item03.png"),
      url("../images/image_scene00_item04.png"),
      url("../images/image_scene00_item05_sp.png"),
      url("../images/image_scene00_item06.png"),
      url("../images/image_scene00_item07.png"),
      url("../images/image_scene00_item08.png"),
      url("../images/image_scene00_item09.png"),
      url("../images/image_scene00_item10.png");
    background-position: -20.8% 100.7%, 13.8% 0.12%, 6.76% 66.2%, 102.75% 60.2%,
      114.8% -6rem, -6.65% 16.55%, 10.68% 53.15%, -18.5% 68.25%, 80.75% 48.85%,
      109.1% 79.9%;
    background-size: min(278.9 / 780 * 100%, 27.89rem),
      min(120.9 / 780 * 100%, 12.09rem), min(158 / 780 * 100%, 15.8rem),
      min(210 / 780 * 100%, 21rem), min(489.1 / 780 * 100%, 48.91rem),
      min(106 / 780 * 100%, 10.6rem), min(79 / 780 * 100%, 7.9rem),
      min(211 / 780 * 100%, 21.1rem), min(106 / 780 * 100%, 10.6rem),
      min(158 / 780 * 100%, 15.8rem);
  }
}

.scene01 {
  grid-template-rows: 5.926% 13.4rem 1fr 4.938%;
  grid-template-columns:
    1fr min(348 / 1440 * 100vw, 34.8rem) min(151 / 1440 * 100vw, 15.1rem)
    min(164 / 1440 * 100vw, 16.4rem) min(182 / 1440 * 100vw, 18.2rem) min(
      80 / 1440 * 100vw,
      8rem
    )
    1fr;
  position: relative;
  width: 100vw;
  height: 100%;
}
.scene01__top {
  grid-row: 1 / 2;
  grid-column: 1 / 8;
}
.scene01__top > * {
  display: none;
}
.scene01__paint {
  grid-row: 2 / 3;
  grid-column: 5 / 6;
  aspect-ratio: 182 / 134;
  border: 0.5rem solid #d9c4aa;
  overflow: hidden;
}
.scene01__paint img {
  width: 100%;
  height: 100%;
  max-width: initial;
  object-fit: cover;
}
.scene01__woman {
  grid-row: 3 / 4;
  grid-column: 2 / 3;
  z-index: 3;
  align-self: end;
  position: relative;
}
.scene01__woman img:first-of-type {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  animation: womanAnimation 7s linear infinite;
}
@keyframes womanAnimation {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  34% {
    opacity: 1;
  }
  96% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.scene01__man {
  grid-row: 3 / 4;
  grid-column: 4 / 7;
  z-index: 3;
  align-self: end;
  position: relative;
}
.scene01__man img:first-of-type {
  position: absolute;
  top: 19.498%;
  left: 0.704%;
  width: 65.962%;
  animation: armAnimation 7s linear infinite;
  transform-origin: 90% 4.44%;
}
@keyframes armAnimation {
  0% {
    transform: rotate(5deg);
  }
  25% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  75% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(5deg);
  }
}
.scene01__desk {
  grid-row: 3 / 4;
  grid-column: 2 / 7;
  z-index: 2;
  align-self: end;
  padding-left: 25.351%;
  padding-right: 25.351%;
  position: relative;
}
.scene01__desk span {
  display: block;
  position: absolute;
  top: 1.55%;
  left: 50%;
  transform: translateX(-50%);
  width: 15.568%;
  aspect-ratio: 144 / 85;
}
.scene01__leftEdge {
  grid-row: 3 / 4;
  grid-column: 1 / 2;
  z-index: 2;
  align-self: end;
  overflow-x: hidden;
}
.scene01__rightEdge {
  grid-row: 3 / 4;
  grid-column: 7 / 8;
  z-index: 2;
  align-self: end;
  overflow-x: hidden;
}
.scene01__chest {
  width: min(253 / 1440 * 100vw, 25.3rem);
  margin-left: auto;
  margin-right: min(110 / 1440 * 100vw, 11rem);
}
.scene01__printer {
  width: min(207 / 1440 * 100vw, 20.7rem);
  margin-left: min(109 / 1440 * 100vw, 10.9rem);
  margin-right: auto;
}
.scene01__floor {
  grid-row: 4 / 5;
  grid-column: 1 / 8;
  z-index: 0;
  margin-top: -6.2rem;
  background-color: #dde2e8;
}
.scene01__floor span {
  display: block;
  width: 100%;
  height: 1.7rem;
  background-color: #aabcca;
}

@media screen and (max-width: 780px) {
  .scene01 {
    grid-template-rows: 33.294vh 6.161vh 1fr 33.353vh;
    grid-template-columns:
      1fr min(34.744%, 27.1rem) min(15.256%, 11.9rem) min(16.282%, 12.7rem)
      min(18.077%, 14.1rem) min(8.205%, 6.4rem) 1fr;
  }
  .scene01__paint {
    border: min(7.5 / 780 * 100vw, 0.75rem) solid #d9c4aa;
  }
  .scene01__ceiling {
    display: flex;
    gap: 0 9.615%;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 3.555vh;
    background-color: #c5ccd2;
  }
  .scene01__ceiling li {
    width: min(7.692%, 6rem);
  }
  .scene01__desk {
    padding-left: 25.416%;
    padding-right: 25.416%;
  }
  .scene01__leftEdge > *,
  .scene01__rightEdge > * {
    display: none;
  }
  .scene01__floor {
    margin-top: -2.784vh;
  }
  .scene01__floor span {
    height: 0.711vh;
  }
}

.scene02 {
  z-index: 1;
}
.scene02__bg {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url("../images/pattern_scene02_bg.svg") repeat center center /
    1.5rem;
  background-color: #fff;
}
.scene02__timeline {
  flex-shrink: 0;
  gap: 2rem 0;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100vw;
  height: 100%;
  padding-left: min(20 / 1440 * 100vw, 2rem);
  padding-right: min(20 / 1440 * 100vw, 2rem);
}
.scene02__timeline__list01,
.scene02__timeline__list02 {
  flex-direction: column;
  gap: 2rem 0;
  position: relative;
  width: min(100%, 80rem);
}
.timeline {
  align-items: start;
  gap: 0 2rem;
  position: relative;
  padding-right: 18.75%;
}
.timeline--reverse {
  flex-direction: row-reverse;
  padding-left: 18.75%;
  padding-right: 0;
}
.timeline--shorten {
  margin-top: -1rem;
}
.timeline--shorten .timeline__icon {
  opacity: 0;
}
.timeline__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #fff;
  border: 0.1rem solid #603b1d;
  filter: drop-shadow(0 0.2rem 0.2rem rgb(0, 0, 0, 0.4));
}
.timeline__icon img {
  width: 58%;
}
.timeline--reverse .timeline__icon img {
  width: 100%;
}
.timeline__message {
  display: flex;
  align-items: flex-start;
  position: relative;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  line-height: 1.4;
  background-color: #c2fffb;
  border: 0.1rem solid #603b1d;
  filter: drop-shadow(0 0.2rem 0.2rem rgb(0, 0, 0, 0.4));
  transform: translateZ(0);
}
.timeline--reverse .timeline__message {
  background-color: #fff;
}
.timeline__message::before {
  content: "";
  position: absolute;
  top: 1.85rem;
  left: -1rem;
  z-index: 1;
  width: 1.1rem;
  aspect-ratio: 1 / 1;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  background-color: #c2fffb;
}
.timeline__message::after {
  content: "";
  position: absolute;
  top: 1.75rem;
  left: -1.25rem;
  width: 1.15rem;
  aspect-ratio: 1 / 1;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  background-color: #603b1d;
}
.timeline--reverse .timeline__message::before {
  left: initial;
  right: -1rem;
  clip-path: polygon(100% 0, 0 0, 0 100%);
  background-color: #fff;
}
.timeline--reverse .timeline__message::after {
  left: initial;
  right: -1.25rem;
  clip-path: polygon(100% 0, 0 0, 0 100%);
  background-color: #603b1d;
}
.timeline--shorten .timeline__message::before,
.timeline--shorten .timeline__message::after {
  display: none;
}
.timeline.is-timeline--ng {
  margin-bottom: 2.5em;
}
.timeline.is-timeline--ng .timeline__message,
.timeline.is-timeline--ng .timeline__message::before {
  background-color: #dcdcdc;
  transition: all 1s;
}
.timeline .cross {
  display: none;
}
.timeline.is-timeline--ng .cross {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 73.333%;
  aspect-ratio: 1 / 1;
  transition: all 2s;
}
.timeline p {
  display: none;
}
.timeline.is-timeline--ng p {
  display: block;
  position: absolute;
  top: 100%;
  left: 7rem;
  transition: all 2s;
}
.message__link {
  display: flex;
  align-items: center;
  color: #275fff;
}
.message__link::before {
  content: "";
  display: inline-block;
  width: 3.2rem;
  height: auto;
  aspect-ratio: 516.6 / 404.75;
  margin-right: 1rem;
  background: url("../images/image_scene02_zipfile.svg") no-repeat center
    center / contain;
}
.message__pointer {
  width: 3.4rem;
  z-index: 1;
}

@media screen and (max-width: 780px) {
  .scene02 {
    background-size: min(30 / 780 * 100vw, 3rem);
  }
  .scene02__timeline {
    gap: min(55 / 780 * 100vw, 5.5rem) 0;
    padding-left: min(40 / 780 * 100vw, 4rem);
    padding-right: min(40 / 780 * 100vw, 4rem);
  }
  .scene02__timeline__list01,
  .scene02__timeline__list02 {
    gap: min(55 / 780 * 100vw, 5.5rem) 0;
    width: 100%;
  }
  .timeline {
    gap: 0 min(40 / 780 * 100vw, 4rem);
    padding-right: min(178 / 780 * 100vw, 17.8rem);
  }
  .timeline--reverse {
    padding-left: min(178 / 780 * 100vw, 17.8rem);
    padding-right: 0;
  }
  .timeline--shorten {
    margin-top: -1rem;
  }
  .timeline__icon {
    width: min(88 / 780 * 100vw, 8.8rem);
  }
  .timeline__message {
    padding: min(20 / 780 * 100vw, 2rem) min(25 / 780 * 100vw, 2.5rem);
    border-radius: min(10 / 780 * 100vw, 1rem);
  }
  .timeline__message::before {
    top: 1.5rem;
    left: -1rem;
    width: 1rem;
  }
  .timeline__message::after {
    top: 1.4rem;
    left: -1.25rem;
    width: 1.25rem;
  }
  .timeline--reverse .timeline__message::before {
    left: initial;
    right: -1rem;
  }
  .timeline--reverse .timeline__message::after {
    left: initial;
    right: -1.25rem;
  }
  .message__link::before {
    flex-shrink: 0;
    width: min(56 / 780 * 100vw, 5.6rem);
  }
  .message__pointer {
    width: min(59 / 780 * 100vw, 5.9rem);
  }
  .timeline.is-timeline--ng p {
    left: min(128 / 780 * 100vw, 12.8rem);
  }
}

.scene02__task {
  align-items: center;
  justify-content: center;
  position: relative;
  width: 130vw;
  height: 100%;
  padding-top: 1.51%;
  padding-bottom: 1.51%;
}
.scene02__task__inner {
  width: 100%;
  height: min(100%, 71rem);
  border-radius: 1rem;
  padding: 3.633% min(2.671%, 5rem) 2.938%;
  background-color: #fff;
  filter: drop-shadow(0 0.2rem 0.2rem rgb(0, 0, 0, 0.4));
}
.scene02__task__list {
  width: 100%;
  height: 100%;
}
.scene02__task__list tr {
  border-bottom: 0.2rem solid #ae927c;
}
.scene02__task__list tr td:nth-of-type(odd)::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
}
.scene02__task__list tr td {
  width: calc((100% - 10.271%) / 6);
}
.list__month {
  height: 0;
}
.list__month th {
  position: relative;
}
.list__month th div {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  width: 5rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #ae927c;
  color: #fff;
  text-align: center;
  container-type: inline-size;
}
.list__month th div span {
  font-size: 32cqw;
}
.list__task {
  height: calc(100% / 6);
}
.list__task th {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7.019% 0;
  height: 100%;
}
.list__task th div {
  width: auto;
  height: 52.642%;
  aspect-ratio: 1 / 1;
}
.list__task.task03 th div {
  height: 42.114%;
  aspect-ratio: 72 / 48.5;
}
.list__task th span {
  display: block;
  width: 100%;
  line-height: 1;
  text-align: center;
}
.list__task td {
  position: relative;
}
.task {
  display: flex;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 2.4rem;
}
.task--circleFrom,
.task--circleTo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 2.4rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.task--circleFrom {
  left: 0;
}
.task--circleTo {
  right: 0;
}
.task--line {
  height: 1.5rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  border-radius: 9999px;
}

/* 詳細 */
.task01 .task {
  left: calc(50% - 1.2rem);
  width: calc(100% + 2.4rem);
}
.task01 .task--circleFrom,
.task01 .task--circleTo {
  background-color: #f97878;
}
.task01 .task--line {
  background-color: #ffabab;
}
.task02 .task {
  left: calc(150% - 1.2rem);
  width: calc(150% + 1.2rem);
}
.task02 .task--circleFrom,
.task02 .task--circleTo {
  background-color: #f99dbe;
}
.task02 .task--line {
  background-color: #ffccdc;
}
.task03 .task {
  left: 200%;
  width: 200%;
}
.task03 .task--circleFrom,
.task03 .task--circleTo {
  background-color: #9a9af7;
}
.task03 .task--line {
  background-color: #c1c1fb;
}
.task04 .task {
  left: calc(150% - 1.2rem);
  width: calc(400% + 2.4rem);
}
.task04 .task--circleFrom,
.task04 .task--circleTo {
  background-color: #83e1e5;
}
.task04 .task--line {
  background-color: #baeef3;
}
.task05 .task {
  left: calc(550% - 1.2rem);
  width: calc(50% + 1.2rem);
}
.task05 .task--circleFrom,
.task05 .task--circleTo {
  background-color: #7fea84;
}
.task05 .task--line {
  background-color: #b9f5be;
}

@media screen and (max-width: 780px) {
  .scene02__task {
    padding-top: 10.326%;
    padding-bottom: 10.326%;
  }
  .scene02__task__inner {
    height: 100%;
    border-radius: min(20 / 780 * 100vw, 2rem);
    padding: min(91 / 780 * 100vw, 9.1rem) min(20 / 780 * 100vw, 2rem)
      min(55 / 780 * 100vw, 5.5rem);
  }
  .scene02__task__list tr {
    border-bottom: min(2 / 780 * 100vw, 0.2rem) solid #ae927c;
  }
  .scene02__task__list tr td {
    width: calc((100% - 11.503%) / 6);
  }
  .list__month th div {
    width: min(68 / 780 * 100vw, 6.8rem);
  }
  .list__task th {
    gap: min(10 / 780 * 100vw, 1rem) 0;
  }
  .list__task th div {
    height: min(72 / 780 * 100vw, 7.2rem);
  }
  .list__task.task03 th div {
    height: min(59 / 780 * 100vw, 5.9rem);
  }
  .task {
    height: min(40 / 780 * 100vw, 4rem);
  }
  .task--circleFrom,
  .task--circleTo {
    width: min(40 / 780 * 100vw, 4rem);
  }
  .task--line {
    height: min(15 / 780 * 100vw, 1.5rem);
    margin-left: min(15 / 780 * 100vw, 1.5rem);
    margin-right: min(15 / 780 * 100vw, 1.5rem);
  }

  /* 詳細 */
  .task01 .task {
    left: calc(50% - (min(20 / 780 * 100vw, 2rem)));
    width: calc(100% + (min(40 / 780 * 100vw, 4rem)));
  }
  .task02 .task {
    left: calc(150% - (min(20 / 780 * 100vw, 2rem)));
    width: calc(150% + (min(20 / 780 * 100vw, 2rem)));
  }
  .task04 .task {
    left: calc(150% - (min(20 / 780 * 100vw, 2rem)));
    width: calc(400% + (min(40 / 780 * 100vw, 4rem)));
  }
  .task05 .task {
    left: calc(550% - (min(20 / 780 * 100vw, 2rem)));
    width: calc(50% + (min(20 / 780 * 100vw, 2rem)));
  }
}

.scene03 {
  width: 100vw;
  height: 100%;
  padding-left: 8.974%;
  padding-right: 8.974%;
}
.scene03__inner {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12.987% 0;
  position: relative;
  width: min(100%, 77rem);
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}
.scene03__inner::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: url("../images/image_scene03_cheetah02.png") no-repeat bottom
    right / 100%;
  opacity: 0.3;
}
.scene03__main {
  position: relative;
  z-index: 1;
  width: min(100%, 38.4rem);
  aspect-ratio: 384 / 267;
}
.scene03__comment {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 31.25%;
}
.scene03__cheetah {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 85.938%;
  animation: rotateAnimation 20s linear infinite;
}
@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.scene03__btn {
  position: relative;
  z-index: 1;
  align-items: center;
  justify-content: center;
  width: min(100%, 30rem);
  min-height: 5rem;
  padding: 1.6rem 2.6%;
  border-radius: 9999px;
  border: 0.1rem solid #fff;
  background-color: #191919;
  container-type: inline-size;
}
.scene03__btn span {
  flex: 1;
  font-size: 6.202cqw;
  color: #fff;
  line-height: 1;
  text-align: center;
  background: linear-gradient(#fcc2c6, #a6c8cf);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.scene03__btn::after {
  content: "";
  width: 0.7rem;
  aspect-ratio: 13 / 15;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: #fff;
}
.scene03__btn:hover {
  opacity: 1;
  background: linear-gradient(#ff858d, #2e91a0);
  background-color: transparent;
}
.scene03__btn:hover span {
  background: transparent;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
}
.scene03 video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 780px) {
  .scene03__inner {
    gap: min(168 / 780 * 100vw, 16.8rem) 0;
    width: 100%;
  }
  .scene03__main {
    width: min(508 / 780 * 100vw, 50.8rem);
    aspect-ratio: 508 / 353;
    margin-left: min(-22 / 780 * 100vw, -2.2rem);
  }
  .scene03__comment {
    width: 31.102%;
  }
  .scene03__cheetah {
    width: 85.827%;
  }
  .scene03__btn {
    width: min(524 / 780 * 100vw, 52.4rem);
    min-height: inherit;
    padding: min(28 / 780 * 100vw, 2.8rem) min(40 / 780 * 100vw, 4rem);
    border: min(2 / 780 * 100vw, 0.2rem) solid #fff;
  }
  .scene03__btn span {
    font-size: 7.16cqw;
  }
  .scene03__btn::after {
    width: min(13 / 780 * 100vw, 1.3rem);
  }
}

/* 改行 */
.sp-lineBreak {
  display: none;
}
@media screen and (max-width: 780px) {
  .sp-lineBreak {
    display: inline-block;
  }
}
