html {
  scroll-behavior: smooth;
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 750px) {
  html {
    font-size: 1.3333333333vw;
  }
}
.fs-l-page {
  overflow: clip;
}

.js-fade {
  opacity: 0;
  transition-duration: 1.1s;
}
.js-fade.js-fade-top {
  transform: translate(0px, -40px);
}
.js-fade.js-fade-bottom {
  transform: translateY(50px);
}
.js-fade.js-fade-left {
  transform: translate(-20px, 0px);
}
.js-fade.js-fade-right {
  transform: translate(20px, 0px);
}
.js-fade.is-active {
  transform: translate(0, 0);
  opacity: 1;
}

.fs-l-main {
  max-width: 100%;
  padding: 0;
  margin: 0;
}

.feature {
  max-width: 75rem;
  background: #e7f6ff;
  margin: auto;
  overflow: clip;
  position: relative;
  padding-bottom: 8rem;
}
.feature section {
  margin: 0;
}
.feature p {
  margin: 0;
}
.feature .Top {
  width: 100%;
  margin: auto;
  margin-bottom: 8rem;
  transform: translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}
@media screen and (max-width: 750px) {
  .feature .Top {
    top: 10rem;
  }
}
.feature .wrap {
  z-index: 10;
  position: relative;
}
.feature .wrap:before {
  position: absolute;
  top: 7.8rem;
  left: -0.9rem;
  width: 76.8rem;
  height: 696.6rem;
  content: "";
  background: url("./../img/bg.svg");
  background-size: cover;
  z-index: -1;
}
.feature .wrap:after {
  position: absolute;
  top: 25rem;
  left: -0.9rem;
  width: 76.9rem;
  height: 216.6rem;
  content: "";
  background: url("./../img/bg02.svg");
  background-position: top center;
  background-size: cover;
  z-index: -1;
}
.feature .mv__Inner {
  position: relative;
  width: 100%;
  margin: auto;
  height: 98.6rem;
}
.feature .mv__Ttl {
  width: 34.9rem;
  position: absolute;
  top: 34.8rem;
  left: 20rem;
}
.feature .mv__Txt {
  width: 53.1rem;
  position: absolute;
  top: 53.2rem;
  left: 11rem;
}
.feature .mv__Chara {
  position: absolute;
}
.feature .mv__Chara.-model01 {
  width: 29.7rem;
  top: 72.6rem;
  left: 22.6rem;
}
.feature .sec01__Inner {
  position: relative;
  width: 100%;
  margin: auto;
  height: 63.2rem;
}
.feature .sec01__Model {
  position: absolute;
  width: 39.1rem;
  top: 0;
  left: 17.2rem;
}
.feature .sec01__Ttl {
  position: absolute;
  width: 50.8rem;
  top: 48.4rem;
  left: 12.2rem;
}
.feature .sec02__Inner {
  position: relative;
  width: 100%;
  margin: auto;
  height: 85.7rem;
}
.feature .sec02__Model {
  position: absolute;
}
.feature .sec02__Model.-model01 {
  width: 36.3rem;
  top: 0;
  left: 32.8rem;
}
.feature .sec02__Model.-model02 {
  width: 36.1rem;
  top: 31.6rem;
  left: 6rem;
}
.feature .sec02__Ttl {
  position: absolute;
  width: 27rem;
  top: 42.1rem;
  left: 41.8rem;
}
.feature .sec03__Inner {
  position: relative;
  width: 100%;
  margin: auto;
  height: 97.4rem;
}
.feature .sec03__Model {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.feature .sec03__Model.-model01 {
  width: 32.2rem;
  top: 18.3rem;
  left: 4.4rem;
}
.feature .sec03__Model.-model02 {
  width: 32.5rem;
  top: 18.5rem;
  left: 37.8rem;
}
.feature .sec03__Chara {
  position: absolute;
}
.feature .sec03__Chara.-chara01 {
  width: 16rem;
  top: 0rem;
  left: 28.9rem;
}
.feature .sec03__Chara.-chara02 {
  width: 22.8rem;
  top: 64.6rem;
  left: 24.7rem;
}
.feature .sec03__Ttl {
  position: absolute;
  width: 38.9rem;
  top: 54.5rem;
  left: 18rem;
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.feature .sec04__Inner {
  position: relative;
  width: 100%;
  margin: auto;
  height: 82.6rem;
}
.feature .sec04__Model {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.feature .sec04__Model.-model01 {
  width: 70.6rem;
  top: 0;
  left: 2.2rem;
  animation: 20s linear infinite rotation;
  transform-origin: 50% 45%;
}
.feature .sec04__Ttl {
  position: absolute;
  width: 50.7rem;
  top: 73.7rem;
  left: 12.2rem;
}
.feature .sec05__Inner {
  position: relative;
  width: 100%;
  margin: auto;
  height: 131.5rem;
}
.feature .sec05__Chara {
  position: absolute;
  width: 56.6rem;
  top: 0;
  left: 9.3rem;
}
.feature .sec05__Model {
  position: absolute;
}
.feature .sec05__Model.-model01 {
  width: 31.6rem;
  top: 72.5rem;
  left: 5.3rem;
}
.feature .sec05__Model.-model02 {
  width: 31.4rem;
  top: 72.9rem;
  left: 38.3rem;
}
.feature .sec05__Ttl {
  position: absolute;
  width: 47.8rem;
  top: 110.6rem;
  left: 13.5rem;
}
.feature .sec06__Inner {
  position: relative;
  width: 100%;
  margin: auto;
  height: 119.6rem;
}
.feature .sec06__Chara {
  position: absolute;
  width: 52.8rem;
  top: 0;
  left: 10.5rem;
}
.feature .sec06__Model {
  position: absolute;
}
.feature .sec06__Model.-model01 {
  width: 33rem;
  top: 63.5rem;
  left: 4.1rem;
}
.feature .sec06__Model.-model02 {
  width: 32.95rem;
  top: 64.1rem;
  left: 38rem;
}
.feature .sec06__Ttl {
  position: absolute;
  width: 44.7rem;
  top: 103.2rem;
  left: 15.1rem;
}
.feature .AllitemBtn {
  display: block;
  width: 44rem;
  margin: 0 auto 24.4rem;
  position: relative;
  z-index: 10;
}
.feature .lastchara {
  display: block;
  width: 28.7rem;
  margin: 0 auto 2.2rem;
  transform: translateX(-2.8rem);
}
.feature .last {
  width: 63.6rem;
  margin: 0 auto 9.4rem;
}
.feature .copy {
  width: 28.9rem;
  margin: 0 auto 5rem;
  transform: translateX(-0.6rem);
}
.feature .fixbtn {
  position: fixed;
  display: none;
  width: 100%;
  left: 0;
  z-index: 100;
  pointer-events: none;
  bottom: 8rem;
}
@media screen and (max-width: 750px) {
  .feature .fixbtn {
    bottom: 10rem;
  }
}
.feature .fixbtn P {
  margin: auto;
  width: 75rem;
  padding-right: 2rem;
  text-align: right;
}
.feature .fixbtn a {
  display: inline-block;
  pointer-events: all;
  width: 14.9rem;
}