@charset "utf-8";
/* CSS Document */

/*******************

 LP style

********************/
html , body {
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
blockquote:empty {
  display: none;
}

/* content
--------------------------------------------------*/
.lpbox , #lpfooter {
  font-size: clamp(14px,calc(28 / 750 * 100vw),28px);
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Mayryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  color:#303030;
  line-height:1.5em;
  background-color: #fff;
}
.lpbox a , #lpfooter a{
  color: inherit;
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
}
.lpbox a:hover, #lpfooter a:hover{
  text-decoration: underline;
}
.lpbox span, #lpfooter span {
  font-size: inherit;
  font-weight: inherit;
}
.lpbox img ,
#lpfooter img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  vertical-align: bottom;
}
.lpbox img.img-t ,
#lpfooter img.img-t {
  vertical-align: top;
}
/* cart css reset */

.lpbox header ,
.lpbox h1 ,
.lpbox h2 ,
.lpbox h3 ,
.lpbox p ,
.lpbox dl ,
.lpbox dt ,
.lpbox dd ,
.lpbox div ,
.lpbox section ,
.lpbox span {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
}
#lpfooter footer ,
#lpfooter div,
#lpfooter p {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
}
#lpfooter ul,
#lpfooter li {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}
/*----------------------------------------*/
.lpbox .box {
  margin: 0 auto;
  position: relative;
  width: 100%;
  display: block;
}
.lpbox .marker:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #F76900;
  background: -webkit-linear-gradient(left, rgba(247, 105, 0, 1) 0%, rgba(244, 125, 66, 1) 51%, rgba(254, 182, 90, 1) 100%);
  background: -o-linear-gradient(left, rgba(247, 105, 0, 1) 0%, rgba(244, 125, 66, 1) 51%, rgba(254, 182, 90, 1) 100%);
  background: linear-gradient(to right, rgba(247, 105, 0, 1) 0%, rgba(244, 125, 66, 1) 51%, rgba(254, 182, 90, 1) 100%);
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  transition: all 0.5s ease;
}
.lpbox .animhide .marker:after {
  content: "";
  clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
}


/*----------------------------------------*/
.lpbox .header {
  position: fixed;
  display: block;
  width: 100%;
  box-sizing: border-box;
  z-index: 999;
  padding: calc(25 / 750 * 100%)  calc(30 / 750 * 100%)  calc(25 / 750 * 100%)  calc(20 / 750 * 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  transition: all .5s ease;
  background: rgba(255,255,255,0);
}
.lpbox .header__logo {
  display: block;
  margin: 0;
  width: calc(182 / 700 * 100%);
}
.lpbox .header__btn {
  display: block;
  margin: 0;
  width: calc(240 / 700 * 100%);
}
.lpbox .header__logo--w {
  display: block;
}
.lpbox .header__logo--or {
  display: none;
}
.lpbox .header--fixed {
  background: rgba(255,255,255,0.8);
}
.lpbox .header--fixed .header__logo--w {
  display: none;
}
.lpbox .header--fixed .header__logo--or {
  display: block;
}

/*----------------------------------------*/
.lpbox .fv__mov {
  position: absolute;
  top: calc(82 / 1028 * 100%);
  left: calc(168 / 750 * 100%);
  width: calc(416 / 750 * 100%);
  z-index: 2;
  display: block;
}
.lpbox .fv__mov__size {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: calc(664 / 416 * 100%);
  height: 0;
  overflow: hidden;
}
.lpbox .fv__mov__size video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.lpbox .fv__icon {
  position: absolute;
  bottom: calc(316 / 1028 * 100%);
  right: 0;
  width: calc(200 / 750 * 100%);
  z-index: 4;
}
.lpbox .fv__text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 3;
}


/*----------------------------------------*/
.lpbox .abouts__ttl {
  position: absolute;
  top: calc(194 / 1264 * 100%);
  left: calc(65 / 750 * 100%);
  width: calc(617 / 750 * 100%);
}
.lpbox .abouts__ttl h2 {
  position: relative;
  z-index: 3;
}
.lpbox .abouts__marker {
  width: calc(490 / 617 * 100%);
  position: absolute;
  bottom: calc(14 / 157 * 100% * -1);
  left: calc(65 / 617 * 100%);
  z-index: 2;
}
.lpbox .abouts__marker span {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(70 / 490 * 100%);
}

/*----------------------------------------*/
.lpbox .need__text__01 {
  position: absolute;
  top: calc(264 / 1000 * 100%);
  left: calc(30 / 750 * 100%);
  width: calc(700 / 750 * 100%);
}
.lpbox .need__text__01 h2 {
  position: relative;
  z-index: 3;
}
.lpbox .need__marker--01 {
  width: calc(600 / 700 * 100%);
  position: absolute;
  top: calc(72 / 355 * 100%);
  left: calc(10 / 600 * 100% * -1);
  z-index: 2;
}
.lpbox .need__marker--01 span {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100 / 600 * 100%);
}
.lpbox .need__marker--02 {
  width: calc(670 / 700 * 100%);
  position: absolute;
  top: calc(182 / 355 * 100%);
  left: calc(10 / 600 * 100%);
  z-index: 2;
}
.lpbox .need__marker--02 span {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100 / 670 * 100%);
}
.lpbox .need__marker--02 .marker:after {
  content: "";
  transition-delay: .1s;
}

.lpbox .need__text__02 {
  position: absolute;
  top: calc(271 / 990 * 100%);
  left: calc(78 / 750 * 100%);
  width: calc(596 / 750 * 100%);
}

.lpbox .roadmap__box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.lpbox .roadmap__slider .item {
  display: block;
  box-sizing: border-box;
  padding: 0 calc(65 / 750 * 100%);
}
.lpbox .roadmap__slider .owl-prev{
  position: absolute;
  top: 36%;
  left: calc(35 / 750 * 100%);
}
.lpbox .roadmap__slider .owl-prev span{
  height: clamp(0px,calc(60 / 750 * 100vw),60px);
  width: clamp(0px,calc(60 / 750 * 100vw),60px);
  background: url(../img/webp/nav_l.webp) no-repeat 50% 50%;
  -webkit-background-size: contain;
  background-size: contain;
  display: block;
  overflow: hidden;
  text-indent: -9999px;
}

.lpbox .roadmap__slider .owl-next{
  position: absolute;
  top: 36%;
  right: calc(35 / 750 * 100%);
}
.lpbox .roadmap__slider .owl-next span{
  height: clamp(0px,calc(60 / 750 * 100vw),60px);
  width: clamp(0px,calc(60 / 750 * 100vw),60px);
  background: url(../img/webp/nav_r.webp) no-repeat 50% 50%;
  -webkit-background-size: contain;
  background-size: contain;
  display: block;
  overflow: hidden;
  text-indent: -9999px;
}


.lpbox .roadmap__slider .owl-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  width: 100%;
  gap: clamp(0px,calc(20 / 750 * 100vw),20px);
  margin-top: calc(60 / 750 * 100%);
}
.lpbox .roadmap__slider .owl-dot {
  background: #c2c2c2;
  width: clamp(0px,calc(100 / 750 * 100vw),100px);
  height: clamp(0px,calc(10 / 750 * 100vw),10px);
}
.lpbox .roadmap__slider .owl-dot.active {
  background: #f76900;
}
/*----------------------------------------*/
.lpbox .achievements__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
  background-image: url(../img/webp/slider_work.webp);
  background-repeat: repeat-x;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  background-position: calc(100% - 100vw) 0;
  height: 0;
  padding-bottom: calc(830 / 750 * 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-animation-name: bgloop;
  -moz-animation-name: bgloop;
  -o-animation-name: bgloop;
  animation-name: bgloop;
  -webkit-animation-duration: 20s;
  -moz-animation-duration: 20s;
  -o-animation-duration: 20s;
  animation-duration: 20s;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  
}

/*----------------------------------------*/
.lpbox .ctabtn {
  box-sizing: border-box;
  display: block;
  padding: calc(30 / 750 * 100%);
  position: relative;
  margin: 0 auto calc(60 / 750 * 100%);
}
.lpbox .ctabtn__text {
  width: calc(573 / 630 * 100%);
  margin: 0 auto calc(30 / 630 * 100%);
}

/*---------------------------*/
.lpbox .loss__bal {
  position: absolute;
  width: calc(410 / 750 * 100%);
  top: 0;
}
.lpbox .loss__item .loss__bal:nth-child(odd) {
  left: calc(50 / 750 * 100%);
}
.lpbox .loss__item .loss__bal:nth-child(even) {
  right: calc(50 / 750 * 100%);
}
.lpbox .loss__bal--02 {
  top: calc(100 / 650 * 100%);
  transition-delay: .1s;
}
.lpbox .loss__bal--03 {
  top: calc(200 / 650 * 100%);
  transition-delay: .2s;
}
.lpbox .loss__bal--04 {
  top: calc(300 / 650 * 100%);
  transition-delay: .3s;
}
.lpbox .loss__bal--05 {
  top: calc(400 / 650 * 100%);
  transition-delay: .4s;
}
.lpbox .loss__bal--06 {
  top: calc(500 / 650 * 100%);
  transition-delay: .5s;
}


/*---------------------------*/

.lpbox .plan__text {
  position: absolute;
  top: calc(191 / 880 * 100%);
  left: calc(85 / 750 * 100%);
  width: calc(599 / 750 * 100%);
}
.lpbox .plan__text h2 {
  position: relative;
  z-index: 3;
}
.lpbox .plan__marker {
  width: calc(640 / 599* 100%);
  position: absolute;
  top: calc(95 / 204 * 100%);
  left: calc(30 / 599* 100% * -1);
  z-index: 2;
}
.lpbox .plan__marker span {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(120 / 599 * 100%);
}
/*---------------------------*/
.lpbox .arinomama__catch {
  display: block;
  position: absolute;
  bottom: calc(30 / 442 * 100%);
  left: calc(55 / 750 * 100%);
  width: calc(645 / 750 * 100%);
  z-index: 3;
}
.lpbox .arinomama__marker {
  display: block;
  position: absolute;
  bottom: calc(115 / 442 * 100%);
  left: calc(40 / 750 * 100%);
  width: calc(550 / 750 * 100%);
  padding-bottom: calc(20 / 750 * 100%);
  z-index: 2;
  background: #fffb8c;
  transition: all 1.0s ease;
  transform: scale3d(1,1,1);
  transform-origin: top left;
}
.lpbox .animhide .arinomama__marker {
  transform: scale3d(0,1,1);
}

.lpbox .arinomama__mov {
  position: absolute;
  top: calc(113 / 1000 * 100%);
  left: calc(165 / 750 * 100%);
  width: calc(416 / 750 * 100%);
  z-index: 2;
  display: block;
}
.lpbox .arinomama__mov__size {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: calc(664 / 416 * 100%);
  height: 0;
  overflow: hidden;
}
.lpbox .arinomama__mov__size video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.lpbox .arinomama__text {
  position: absolute;
  z-index: 3;
  top: 0;
  left: calc(30 / 750 * 100%);
  width: calc(700 / 750 * 100%);
}

.lpbox .redefinition__box {
  position: absolute;
  bottom: calc(110 / 950 * 100%);
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0 calc(60 / 750 * 100%);
}
.lpbox .redefinition__item {
  width: calc(200 / 630 * 100%);
  margin: 0;
}
.lpbox .redefinition__box--02 {
  bottom: calc(130 / 850 * 100%);
}


/*---------------------------*/
.lpbox .solutions__sttl--01 {
  position: absolute;
  top: calc(138 / 1068 * 100%);
  left: calc(158 / 750 * 100%);
  width: calc(173 / 750 * 100%);
}
.lpbox .solutions__sttl--02 {
  position: absolute;
  top: calc(150 / 1100 * 100%);
  left: calc(156 / 750 * 100%);
  width: calc(175 / 750 * 100%);
}
.lpbox .solutions__sttl--03 {
  position: absolute;
  top: calc(149 / 1330 * 100%);
  left: calc(156 / 750 * 100%);
  width: calc(176 / 750 * 100%);
}
.lpbox .solutions__mov{
  position: absolute;
  top: calc(490 / 1330 * 100%);
  left: calc(167 / 750 * 100%);
  width: calc(416 / 750 * 100%);
  z-index: 2;
  display: block;
}
.lpbox .solutions__mov__size {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: calc(800 / 416 * 100%);
  height: 0;
  overflow: hidden;
  border-radius: 0 0 clamp(0px,calc(70 / 750 * 100vw),70px) clamp(0px,calc(70 / 750 * 100vw),70px);
}
.lpbox .solutions__mov__size video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.lpbox .solutions__ic {
  position: absolute;
  bottom: calc(322 / 1330 * 100%);
  right: calc(62 / 750 * 100%);
  width: calc(140 / 750 * 100%);
  z-index: 4;
}
.lpbox .solutions__sttl--04 {
  position: absolute;
  top: calc(152 / 992 * 100%);
  left: calc(156 / 750 * 100%);
  width: calc(168 / 750 * 100%);
}
.lpbox .about .box {
  z-index: 2;
}
.lpbox .about .box + .box {
  z-index: 1;
}

.lpbox .about__box {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0 calc(30 / 750 * 100%);
  bottom: 0;
  left: 0;
  width: 100%;
}
.lpbox .about__item {
  display: block;
  margin: 0;
  width: calc(220 / 690 * 100%);
}
.lpbox .about__slider--01 {
  position: absolute;
  top: calc(122 / 580 * 100%);
  left: 0;
  width: 100%;
  display: block;
  background-image: url(../img/webp/slider_logo_01.webp);
  background-repeat: repeat-x;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  background-position: calc(100% - 100vw) 0;
  height: 0;
  padding-bottom: calc(156 / 750 * 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-animation-name: bgloop;
  -moz-animation-name: bgloop;
  -o-animation-name: bgloop;
  animation-name: bgloop;
  -webkit-animation-duration: 25s;
  -moz-animation-duration: 25s;
  -o-animation-duration: 25s;
  animation-duration: 25s;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.lpbox .about__slider--02 {
  position: absolute;
  top: calc(253 / 580 * 100%);
  left: 0;
  width: 100%;
  display: block;
  background-image: url(../img/webp/slider_logo_02.webp);
  background-repeat: repeat-x;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  background-position: calc(100% - 100vw) 0;
  height: 0;
  padding-bottom: calc(156 / 750 * 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-animation-name: bgloop--rev;
  -moz-animation-name: bgloop--rev;
  -o-animation-name: bgloop--rev;
  animation-name: bgloop--rev;
  -webkit-animation-duration: 25s;
  -moz-animation-duration: 25s;
  -o-animation-duration: 25s;
  animation-duration: 25s;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.lpbox .about__slider--03 {
  position: absolute;
  top: calc(384 / 580 * 100%);
  left: 0;
  width: 100%;
  display: block;
  background-image: url(../img/webp/slider_logo_03.webp);
  background-repeat: repeat-x;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  background-position: calc(100% - 100vw) 0;
  height: 0;
  padding-bottom: calc(156 / 750 * 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-animation-name: bgloop;
  -moz-animation-name: bgloop;
  -o-animation-name: bgloop;
  animation-name: bgloop;
  -webkit-animation-duration: 25s;
  -moz-animation-duration: 25s;
  -o-animation-duration: 25s;
  animation-duration: 25s;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/*---------------------------*/
.lpbox .partnership__ttl {
  position: absolute;
  top: calc(249 / 962 * 100%);
  left: calc(123 / 750 * 100%);
  width: calc(498 / 750 * 100%);
}

.lpbox .process__box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  cursor: grab;
}
.lpbox .process__box:active {
  cursor: grabbing;
}
.lpbox .process__contents {
  width: calc(3030 / 750 * 100%);
  height: 0;
  padding-bottom: calc(710 / 750 * 100%);
  display: block;
  background: url(../img/webp/flow.webp) no-repeat top left;
  background-size: 100% auto;
}
.lpbox .process__cover {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 999;
  background: rgba(45,45,45,0.5);
  transform: translate3d(-50%,-50%,0);
  width: 70%;
  height: 70%;
  border-radius: clamp(30px,calc(60 / 750 * 100vw),60px);
  box-sizing: border-box;
  padding: calc(60 / 750 * 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-around;
  flex-direction: column;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all .5s ease;
  filter: blur(1);
}
.lpbox .animhide .process__cover {
  opacity: 0;
  top: 100%;
  filter: blur(0.5);
}
.process__cover .process__coverimg {
  width: 60%;
  -webkit-animation-name: yubi;
  -moz-animation-name: yubi;
  -o-animation-name: yubi;
  animation-name: yubi;
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  -o-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-timing-function: ease;
  -moz-animation-timing-function: ease;
  -o-animation-timing-function: ease;
  animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.process__cover .process__coverimg img {
  transform: rotate(-90deg);
}
.process__cover .process__covertext {
}
.lpbox .senryaku__text {
  position: absolute;
  top: calc(255 / 540 * 100%);
  left: calc(120 / 750 * 100%);
  width: calc(520 / 750 * 100%);
}

/*---------------------------*/
.lpbox .faq {
  background: #edf3f7;
  display: block;
  margin: 0 auto calc(60 / 750 * 100%);
  box-sizing: border-box;
  padding-bottom: calc(36 / 750 * 100%);
}
.lpbox .faq--q {
  position: relative;
  display: block;
  cursor: pointer;
}

.lpbox .faq--q:before {
  content: "";
  display: block;
  width: clamp(0px,calc(40 / 750 * 100vw),40px);
  height: clamp(0px,calc(4 / 750 * 100vw),4px);
  background: #fff;
  position: absolute;
  top: calc((100% - clamp(0px,calc(4 / 750 * 100vw),4px)) / 2);
  right: calc(30 / 750 * 100%);
  opacity: 1;
  transform: rotate(0deg);
  transition: all .5s ease;
}
.lpbox .faq--q:after {
  content: "";
  display: block;
  width: clamp(0px,calc(40 / 750 * 100vw),40px);
  height: clamp(0px,calc(4 / 750 * 100vw),4px);
  background: #fff;
  position: absolute;
  top: calc((100% - clamp(0px,calc(4 / 750 * 100vw),4px)) / 2);
  right: calc(30 / 750 * 100%);
  opacity: 1;
  transform: rotate(90deg);
  transition: all .5s ease;
}

.lpbox .faq--open.faq--q:before {
  content: "";
  opacity: 0;
  transform: rotate(-90deg);
}
.lpbox .faq--open.faq--q:after {
  content: "";
  opacity: 1;
  transform: rotate(0deg);
}

/*---------------------------*/


/*-------------------------------------------
 footer
-----------------------------------------------*/
.lpbox .footer {
  background: url(../img/webp/footer_bg.webp) no-repeat top left;
  -webkit-background-size: cover;
  background-size: cover;
  box-sizing: border-box;
  display: block;
  padding: calc(30 / 750 * 100%);
}
.lpbox .footer__ic {
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding-top: calc(180 / 690 * 100%);
  margin: 0 auto;
}

.lpbox .footer__btn {
  box-sizing: border-box;
  display: block;
  width: calc(650 / 690 * 100%);
  margin: calc(70 / 690 * 100%) auto calc(100 / 690 * 100%);
}

.lpbox .footer__logo {
  box-sizing: border-box;
  display: block;
  width: calc(338 / 690 * 100%);
  margin: calc(60 / 690 * 100%) auto calc(60 / 690 * 100%);
}
.lpbox .footer__tel {
  box-sizing: border-box;
  display: block;
  width: calc(652 / 690 * 100%);
  margin: calc(60 / 690 * 100%) auto calc(80 / 690 * 100%);
}
.lpbox .footer__addr {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: calc(80 / 690 * 100%) auto calc(60 / 690 * 100%);
}
.lpbox .footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  gap: clamp(0px,calc(40 / 750 * 100vw),40px);
  margin: calc(38 / 690 * 100%) auto calc(38 / 690 * 100%);
}
.lpbox .footer__snsitem {
  display: block;
  margin: 0;
  width: calc(50 / 690 * 100%);
}
.lpbox .copyright {
  border-top: 1px solid #fff;
  color: #fff;
  text-align: center;
  padding: calc(30 / 690 * 100%) 0 calc(20 / 690 * 100%);
  font-size: clamp(0px,calc(20 / 750 * 100vw),20px);
  letter-spacing: 0.06em;
}





/*-------------------------------------------
 animation
-----------------------------------------------*/
.lpbox .fadein {
  display: block;
  opacity: 1;
  -webkit-transform:translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
  -webkit-filter: blur(0);
  -o-filter: blur(0);
  filter: blur(0);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
  -webkit-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
}
.lpbox .animhide .fadein {
  display: block;
  opacity: 0;
  -webkit-transform:translate3d(0,50%,0);
  -ms-transform: translate3d(0,50%,0);
  -o-transform: translate3d(0,50%,0);
  transform: translate3d(0,50%,0);
  -webkit-filter: blur(0.5em);
  -o-filter: blur(0.5em);
  filter: blur(0.5em);
}

@keyframes bgloop {
  from, 0% {
  background-position: 0 0;
  }
  to, 100% {
  background-position: calc(100% - clamp(0px,100vw,750px)) 0;
  }
}
@keyframes bgloop--rev {
  from, 0% {
  background-position: calc(100% - clamp(0px,100vw,750px)) 0;
  }
  to, 100% {
  background-position: 0 0;
  }
}

/* expand */
.expand {
  display: block;
  -webkit-animation-name: expand;
  -moz-animation-name: expand;
  -o-animation-name: expand;
  animation-name: expand;
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  -o-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  -o-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
@-webkit-keyframes expand {
  from, 0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.08);
    -ms-transform: scale(1.08);
    -o-transform: scale(1.08);
    transform: scale(1.08);
  }
  to, 100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes expand {
  from, 0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.08);
    -ms-transform: scale(1.08);
    -o-transform: scale(1.08);
    transform: scale(1.08);
  }
  to, 100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes yubi {
  0% {
    display: block;
    transform: translate3d(50%,0,0);
    opacity: 0;
  }
  20% {
    display: block;
    transform: translate3d(50%,0,0);
    opacity: 1;
  }
  100% {
    display: block;
    transform: translate3d(-50%,0,0);
    opacity: 0;
  }
}
.pcmenu { display: none; }
.pcbg { display: none; }


/* PC mode */

@media screen and (min-width:750px){
  .lpbox .process__cover {
    border-radius: 30px;
  }
  .lp__area {
    display: block;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-flow: row-reverse;
    box-sizing: border-box;
    padding: 0;
  }
.lpbox {
    width: calc(525 / 1200 * 100%);
    position: relative;
    max-width: 525px;
    margin: 0;
    box-shadow: 0px 0px 70px 0px rgba(66, 96, 150, 0.2);  
  }
  .pcmenu img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .pcmenu {
    display: block;
    position: sticky;
    width: calc(640 / 1200 * 100%);
    top: 0;
    left: 0;
    margin: 0;
  }
  .pcmenu__box {
    display: block;
    width: 100%;
    position: relative;
    box-sizing: border-box;
  }
  .pcmenu__contents {
    margin: 0;
    position: relative;
    z-index: 11;
    box-sizing: border-box;
    max-height: 100svh;
  }
  .pcmenu__logo {
    width: 80%;
    max-width: 260px;
    margin: 0 auto 0px;
    padding: clamp(0px,calc(70 / 750 * 100%),70px) 0 clamp(0px,calc(50 / 750 * 100%),50px);
  }
  .pcmenu__nav {
    max-width: 420px;
    width: calc(100% - 20px);
    margin: 0 auto 10px;
    background-color: rgba(255,255,255,0.5);
    box-sizing: border-box;
    border-radius: 60px;
    padding: clamp(0px,calc(50 / 1200 * 100vw),50px) clamp(0px,calc(50 / 1200 * 100vw),50px) clamp(0px,calc(240 / 1200 * 100vw),180px) clamp(0px,calc(50 / 1200 * 100vw),50px);
    height: calc(100svh - 200px);
    max-height: 556px;
    display: block;
    position: relative;
  }
  .pcmenu__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-flow: column;
    margin: 0 auto 0px;
    height: calc(100% - clamp(0px,calc(30 / 1200 * 100vw),30px));
  }
  
  .pcmenu__link a {
    color: #353535;
    font-size: 18px;
    text-decoration: none;
    text-align: center;
    display: block;
    line-height: 1em;
    transition: all .5s ease;
    
  }
  @media (max-height: 620px) {
    .pcmenu__link {
      text-align: center;
      flex-flow: row;
      flex-wrap: wrap;
    }
    .pcmenu__link a {
      width: 50%;
      font-size: 13px;
    }
  }
  .pcmenu__link a:hover ,
  .pcmenu__link a:active {
    color: #f76900;
  }
  .pcmenu .ctabtn {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: clamp(0px,calc(20 / 1200 * 100vw),20px) clamp(0px,calc(50 / 1200 * 100vw),50px) clamp(0px,calc(50 / 1200 * 100vw),50px);
    box-sizing: border-box;
  }
  .pcmenu .ctabtn__text {
    width: calc(573 / 630 * 100% );
    margin: 0 auto 10px;
  }
  .pcbg {
    background-color: #eef9ff;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
  }
  .pcbg__item {
    background: #97dafb;
    height: clamp(0px,calc(300 / 1200 * 100vw),300px);
    width: clamp(0px,calc(500 / 1200 * 100vw),500px);
    display: block;
    border-radius: 50%;
    -webkit-filter: blur(200px);
    -o-filter: blur(200px);
    filter: blur(200px);   
  animation: bluritem 10s infinite ease;
  transform: scale(1);
}
  .pcbg__item--02 {
    background: #6ba0ff;
    height: clamp(0px,calc(300 / 1200 * 100vw),400px);
    width: clamp(0px,calc(500 / 1200 * 100vw),200px);
    display: block;
    border-radius: 50%;
    -webkit-filter: blur(200px);
    -o-filter: blur(200px);
    filter: blur(200px);   
  animation: bluritem--02 15s infinite ease;
  transform: scale(1);
}

@keyframes bluritem {
  0% {
    -webkit-filter: blur(100px);
    -o-filter: blur(100px);
    filter: blur(100px);
    transform: scale(1);
  }
  50% {
    -webkit-filter: blur(200px);
    -o-filter: blur(200px);
    filter: blur(200px);
    transform: scale(3) rotate(90deg);
  }
  100% {
    -webkit-filter: blur(100px);
    -o-filter: blur(100px);
    filter: blur(100px);
    transform: scale(1);
  }
}

@keyframes bluritem--02 {
  0% {
    -webkit-filter: blur(200px);
    -o-filter: blur(200px);
    filter: blur(200px);
    transform: scale(1);
  }
  50% {
    -webkit-filter: blur(300px);
    -o-filter: blur(300px);
    filter: blur(300px);
    transform: scale(2) rotate(180deg);
  }
  100% {
    -webkit-filter: blur(200px);
    -o-filter: blur(200px);
    filter: blur(200px);
    transform: scale(1);
  }
}
  
.fixed-element {
  position: fixed;
  top: 0;
  left: 0;
  animation: move-infinity 30s infinite linear;
  offset-path: url(#animationOrbital1);
  offset-anchor: center;
}
.fixed-element--02 {
  position: fixed;
  top: 0;
  left: 0;
  animation-delay: 5s;
  animation: move-infinity 20s infinite linear;
  offset-path: url(#animationOrbital2);
  offset-anchor: center;
}

@keyframes move-infinity {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}

  .lpbox .header {
    position: absolute;
    width: 100%;
    background: rgba(255,255,255,0);
  }
  .lpbox .header__logo--w {
    display: block;
  }
  .lpbox .header__logo--or {
    display: none;
  }
  .lpbox .header__btn {
    display: none;
  }  
  .lpbox .header--fixed {
    background: rgba(255,255,255,0);
  }
  .lpbox .header--fixed .header__logo--w {
    display: block;
  }
  .lpbox .header--fixed .header__logo--or {
    display: none;
  }

  .lpbox .roadmap__slider .owl-prev span{
    height: clamp(0px,calc(60 / 750 * 100vw),60px);
    width: clamp(0px,calc(60 / 750 * 100vw),60px);
    background: url(../img/webp/nav_l.webp) no-repeat 50% 50%;
    -webkit-background-size: contain;
    background-size: contain;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
  }

  .lpbox .roadmap__slider .owl-next{
    position: absolute;
    top: 36%;
    right: calc(35 / 750 * 100%);
  }
  .lpbox .roadmap__slider .owl-prev span,
  .lpbox .roadmap__slider .owl-next span{
    height: calc(clamp(0px,calc(60 / 750 * 100vw),60px) * 0.7);
    width: calc(clamp(0px,calc(60 / 750 * 100vw),60px) * 0.7);
  }
  .lpbox .roadmap__slider .owl-dots {
    gap: calc(clamp(0px,calc(20 / 750 * 100vw),20px) * 0.7);
  }
  .lpbox .roadmap__slider .owl-dot {
    width: calc(clamp(0px,calc(100 / 750 * 100vw),100px) * 0.7);
    height: calc(clamp(0px,calc(10 / 750 * 100vw),10px) * 0.7);
  }

  .lpbox .faq--q:before {
    content: "";
    width: calc(clamp(0px,calc(40 / 750 * 100vw),40px) * 0.7);
    height: calc(clamp(0px,calc(4 / 750 * 100vw),4px) * 0.7);
    top: calc((100% - (clamp(0px,calc(4 / 750 * 100vw),4px) * 0.7)) / 2);
  }
  .lpbox .faq--q:after {
    content: "";
    width: calc(clamp(0px,calc(40 / 750 * 100vw),40px) * 0.7);
    height: calc(clamp(0px,calc(4 / 750 * 100vw),4px) * 0.7);
    top: calc((100% - (clamp(0px,calc(4 / 750 * 100vw),4px) * 0.7)) / 2);
  }

  .animationOrvitalBox {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
  }
  .animationOrvitalBox__inner {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  .animationOrvitalBox__inner svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    object-fit: cover;
  }

}



@media screen and (min-width:750px){
  .lp__area {
    padding: 0 35px 0 0;
  }
}