/* lp-anytimeyear report03 */
html {
  scroll-behavior: smooth;
}

#findGymFixed, #navFixed {
  pointer-events: none;
  opacity: 0;
  z-index: -999em;
  visibility: hidden;
}
#navFixed {
  display: none;
}

#lpContents {
  --cubic-bezier: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  position: relative;
  text-align: center;
  overflow: hidden;
  background-color: #6e38d5;
}
#lpContents * {
  box-sizing: border-box;
}
#lpContents img {
  vertical-align: bottom;
}
#lpContents::before {
  content: "";
  display: block;
  position: fixed;
  left: calc(50% - 25px);
  top: calc(50vh - 25px);
  top: calc(50svh - 25px);
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side,#fff7eb 94%,#0000) top/6px 6px no-repeat,
    conic-gradient(#0000 30%,#fff7eb);
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 6px),#000 0);
  animation: loading 1s infinite linear;
  z-index: 10;
}
@keyframes loading{ 
  100%{transform: rotate(1turn)}
}
body.lp-loaded #lpContents::before {
  display: none;
}
body.lp-loaded #lpContents > * {
  opacity: 1;
}
._pe-none {
  pointer-events: none;
}
/** pc and tablet **/
@media print,screen and (min-width: 751px) {
  .only-sp {
    display: none;
  }
}
/** smartphone **/
@media screen and (max-width: 750px) {
  .only-pc {
    display: none;
  }
}

.js-scrView._fadeUp {
  transform: translateY(5%);
  opacity: 0;
  transition: opacity .4s ease-in-out, transform .4s ease-in-out;
}
.js-scrView.active._fadeUp {
  opacity: 1;
  transform: translateY(0);
}
.js-scrView._fadeIn {
  opacity: 0;
  transition: opacity .5s ease-in-out;
}
.js-scrView.active._fadeIn {
  opacity: 1;
}

.main-mv {
  margin: 0;
  background-color: #312770;
}
.main-mv > span {
  display: block;
}


.lp-intro {
  position: relative;
  overflow: hidden;
  padding: 0 0 9.6%;
  background-color: #0f014e;
}
.lp-intro .sec-ttl {
  position: relative;
  margin: 0;
  z-index: 3;
}
.lp-intro .text {
  position: relative;
  margin: -5.6% auto 0;
  z-index: 5;
}
.lp-intro .bg {
  display: flex;
  justify-content: space-between;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 57.33vw;
  pointer-events: none;
  z-index: 1;
}
.lp-intro .bg > span {
  width: 50%;
  opacity: 0;
  transition: opacity .5s ease-in-out, transform .5s ease-in-out;
}
.lp-intro .bg img {
  display: block;
  width: 100%;
  max-width: none;
}
.lp-intro .bg .l {
  transform: translate(-10%, 0);
}
.lp-intro .bg .r {
  transform: translate(10%, 0);
}
.lp-intro .bg.active .l,
.lp-intro .bg.active .r {
  opacity: 1;
  transform: none;
}
/** pc and tablet **/
@media print,screen and (min-width: 751px) {
  .lp-intro {
    padding: 0.8% 0 9.16%;
    background-color: #312770;
  }
  .lp-intro .text {
    width: 64.5%;
    max-width: 1240px;
    margin-top: -2.916%;
  }
  .lp-intro .bg {
    height: 100%;
  }
  .lp-intro .bg > span {
    width: 31.25%;
    max-width: 600px;
  }
  .lp-intro .bg img {
    height: 100%;
    object-fit: cover;
  }
}

.lp-sec {
  position: relative;
  z-index: 5;
}
.lp-sec .sec-inner {
  position: relative;
  margin: 0 auto;
  z-index: 10;
  overflow: hidden;
}
.lp-sec .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  pointer-events: none;
}
.lp-sec .bg img {
  width: 100%;
}
.sec-ttl {
  margin: 0;
  width: 100%;
  max-width: 1440px;
}
.sec-ttl.js-scrView {
  opacity: 0;
  transform: translate(-8%, 4%);
  transition: opacity .4s .2s ease-in-out, transform .6s ease-in-out;
}
.sec-ttl.js-scrView.active {
  opacity: 1;
  transform: none;
}
.sec-ttl img {
  display: block;
}
/** pc and tablet **/
@media print,screen and (min-width: 751px) {
  .lp-sec {
    padding: 0;
    margin-top: -9.44vw;
  }
  .lp-sec .sec-inner {
    margin: 0 auto;
  }
  .lp-sec .bg {
    clip-path: polygon(0 9.44vw, 100% 0, 100% 100%, 0 100%);
  }
}
@media print,screen and (min-width: 1441px) {
  .lp-sec {
    padding-top: calc(9.44vw - 135px);
  }
}
/** smartphone **/
@media screen and (max-width: 750px) {
  .lp-sec {
    margin-top: -10vw;
  }
  .lp-sec .bg {
    transform: translateY(5vw);
    clip-path: polygon(0 10vw, 100% 0, 100% 100%, 0 100%);
  }
}

.three {
  padding: 13.5% 0 12.5%;
}
.three .bg {
  background-color: #6e38d5;
}
.three .three-inner > * {
  margin: 0 auto;
  padding: 0;
}
.three .three-inner img {
  display: block;
}
/** pc and tablet **/
@media print,screen and (min-width: 751px) {
  .three {
    padding: 11.25% 0 11.45%;
  }
  .three .three-inner {
    width: 64.5%;
    max-width: 1206px;
    margin: 0 auto;
  }
  .three .three-list {
    display: flex;
    justify-content: space-between;
  }
  .three .three-list .item {
    width: 29.85%;
  }
}
/** smartphone **/
@media screen and (max-width: 750px) {
  .three .bg {
    transform: translateY(0);
  }
}

.sec01 .bg,
.sec03 .bg {
  background-color: #409;
}
.sec02 .bg,
.sec04 .bg {
  background: #6e38d5;
}
.sec04 .msg-list {
  margin: 0;
  padding: 0;
}
/** pc and tablet **/
@media print,screen and (min-width: 751px) {
  .sec01 {
    padding-bottom: 10.9375%;
  }
  .sec01 .cont,
  .sec02 .cont,
  .sec03 .cont,
  .sec04 .cont {
    max-width: 1240px;
    width: 64.5%;
    margin: 0 auto;
  }
  .sec01 .cont .text + .text {
    margin-top: 14.516%;
  }
  .sec02 {
    padding-bottom: 9.375%;
  }
  .sec02 .cont .text + .text {
    margin-top: 11.29%;
  }
  .sec03 {
    padding-bottom: 15.625%;
  }
  .sec03 .cont .text + .text {
    margin-top: 13.7%;
  }
  .sec04 .msg-ttl {
    margin-top: -1.935%;
  }
  .sec04 .msg-list .item:first-of-type {
    margin-top: 4%;
  }
  .sec04 .msg-list .item:nth-of-type(2) {
    margin-top: 6.8%;
  }
  .sec04 .msg-list .item:nth-of-type(3) {
    margin-top: 4.4%;
  }
  .sec04 .last-msg {
    margin-top: 12.9%;
  }
  .bnr-anytimeyear {
    margin-top: 4%;
  }
}
/** smartphone **/
@media screen and (max-width: 750px) {
  .sec01 {
    padding-bottom: 24%;
  }
  .sec01 .cont {
    margin-top: -4.66%;
  }
  .sec01 .cont .text + .text {
    margin-top: 10.66%;
  }
  .sec02 {
    padding-bottom: 7.46%;
  }
  .sec02 .cont {
    margin-top: -2.66%;
  }
  .sec02 .cont .text + .text {
    margin-top: 12%;
  }
  .sec03 {
    padding-bottom: 18.66%;
  }
  .sec03 .cont {
    margin-top: -4%;
  }
  .sec03 .cont .text + .text {
    margin-top: 13.33%;
  }
  .sec04 .bg {
    height: calc(100% - 5vw);
  }
  .sec04 .bg img {
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .sec04 .cont {
    margin-top: -2.93%;
  }
  .sec04 .msg-ttl {
    margin-top: -1.935%;
  }
  .sec04 .msg-list .item:first-of-type {
    margin-top: 3.3%;
  }
  .sec04 .msg-list .item:nth-of-type(2) {
    margin-top: 11.46%;
  }
  .sec04 .msg-list .item:nth-of-type(3) {
    margin-top: 5.86%;
  }
  .sec04 .last-msg {
    margin-top: 11.73%;
  }
  .bnr-anytimeyear {
    margin-top: 4.8%;
  }
}