@charset "utf-8";

/*-------------------------------------------------------------------------------------
LP基本設定
----------------------------------------------------------------------------------------*/
html {
  font-size: 62.5%;
}
  @media screen and (min-width:751px) and ( max-width:1080px)  {
    html {
      font-size: calc((100vw / 108));
    }
  }
  @media screen and (max-width: 750px) {
    html {
      font-size: calc((100vw / 37.5));
    }
  }

body{
  line-height: 1.8;
  font-size: 1.8rem;
  font-feature-settings: "palt";
  color: var(--black-color);
  -webkit-text-size-adjust: 100%;
  color: var(--text-color);
}
  @media screen and (max-width: 750px) {
    body{
      line-height: 1.5;
      font-size: 1.6rem;
    }
  }

/*
#header
--------------------------------------------------------*/
#header{
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid #F3F4F6;
  height: 8.8rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: none;
}
.header__inner{
  width: min(100%,1380px);
  padding: 1.6rem 4rem;
  align-items: center;
  justify-content: space-between;
}
.header__logo {
  width: 19rem;
  height: 100%;
  line-height: 1;
}
.header__right{
  align-items: center;
}
.header__nav-list{
  gap: 3.2rem;
}
.header__nav-item a{
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.header__btn-wrap{
  margin-left: 4rem;
  align-items: center;
  gap: 1.2rem;
}
.header__btn-lead{
  position: relative;
  padding: 0.2rem 0.9rem;
  text-align: center;
  line-height: 1.35;
  font-size: 1rem;
  font-weight: 700;
}
.header__btn-lead::before,
.header__btn-lead::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.7rem;
  height: 1.3rem;
}
.header__btn-lead::before{
  background: url(../img/line-cta-left.svg) no-repeat;
  background-size: contain;
  left: 0;
}
.header__btn-lead::after{
  background: url(../img/line-cta-right.svg) no-repeat;
  background-size: contain;
  right: 0;
}
.header__btn-tel{
  background: url(../img/icon-tel.svg) no-repeat left center;
  background-size: 1.9rem 2rem;
  padding-left: 1.8rem;
  line-height: 1;
  font-size: 3rem;
  font-weight: 700;
}
.header__btn-hours{
  line-height: 1;
  text-align: center;
  font-size: 0.9rem;
  letter-spacing: 0;
}
.header__btn--document,
.header__btn--contact{
  position: relative;
  width: 18rem;
  padding: 1.6rem;
  background: var(--orange-grad);
  border-radius: 80px;
  line-height: 1.2;
  font-size: 1.8rem;
  color: var(--white-color);
  font-weight: 900;
  transition-duration: .4s;
  text-align: center;
  letter-spacing: 0.04em;
}
.header__btn--document{
  background: var(--sub-color);
  /* background: var(--white-color);
  color: var(--sub-color); */
}
.header__btn--contact{
  background: var(--orange-grad);
}
.header__btn--document:hover,
.header__btn--contact:hover{
  transform: scale(1.05);
}
.header__btn--contact >span{
  font-weight: 900;
}

@media screen and ( max-width:1200px){
  .header__nav{
    display: none!important;
  }
}


@media screen and ( max-width:750px){
  #header{
    height: auto;
    top: auto;
    bottom: 0;
    /* background: var(--main-color); */
  }
  .header__inner{
    padding: 0.8rem 1rem;
  }
  .header__right{
    width: 100%;
  }
  .header__btn-wrap{
    width: 100%;
    margin-left: 0;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 1rem;
  }
  .header__btn-tel{
    font-size: 2.4rem;
  }
  .header__btn--tel *{
    color: var(--white-color);
  }
  .header__btn--document,
  .header__btn--contact{
    flex: 1;
    padding: 1.6rem 2rem 1.6rem;
  }
  /* .header__btn--document{
    background: var(--white-color);
    color: var(--sub-color);
  } */
  .header__btn-tel {
    background: url(../img/icon-tel-cta.svg) no-repeat left center;
    background-size: 1.9rem 2rem;
  }
}






/*
fv
--------------------------------------------------------*/
.fv{
  overflow: hidden;
  position: relative;
  background: radial-gradient(100% 100% at 50% 0%, #F0F7FF 0%, #FFFFFF 65%);
  background-repeat: no-repeat;
  width: 100%;
  min-height: 100vh;
  padding: 16rem 0 5.6rem 0;
}
.fv::before{
  position: absolute;
  content: "";
  top: -25rem;
  right: -39.4rem;
  width: 100rem;
  height: 93rem;
  background: url(../img/fv-blob02.svg) no-repeat;
  background-size: contain;
}
.fv__inner{
  width: min(100%,1440px);
  /* flex-wrap: nowrap; */
  align-items: center;
  justify-content: space-between;
  padding: 0 6rem;
}
.fv__left{
  position: relative;
}
.fv__img{
  position: absolute;
  top: 0;
  left: -8rem;
  width: 32rem;
}
.fv__copy{
  margin-bottom: 3.2rem;
}
.fv__lead-copy{
  display: inline-block;
  margin-bottom: 4rem;
  position: relative;
  background: var(--sub-color);
  padding: 1.4rem 3.2rem 1.4rem 4.8rem;
  border-radius: 100px;
  line-height: 1;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.fv__lead-copy::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2.4rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #C8D8FA;
}
.fv__main-copy{
  margin-bottom: 3.2rem;
  line-height: 1.1;
  text-align: left;
  font-size: 8.8rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}
.fv__main-copy *{
  font-weight: 900;
}
.fv__sub-copy{
  font-size: 2.8rem;
  color: var(--gray-color);
  font-weight: 700;
  letter-spacing: 0.06em;
}
.fv__achievement{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 900;
}
.fv__achievement::before,
.fv__achievement::after{
  content: "";
  width: 6.5rem;
  height: 14.3rem;
}
.fv__achievement::before{
  background: url(../img/laurel-left.svg) no-repeat;
  background-size: contain;
}
.fv__achievement::after{
  background: url(../img/laurel-right.svg) no-repeat;
  background-size: contain;
}
.fv__achievement-label{
  display: block;
  margin-bottom: 0.8rem;
  line-height: 1;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.fv__achievement-value .fv__achievement-num{
  line-height: 1;
  font-size: 6rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
}
.fv__achievement-value .fv__achievement-num .u-text-small{
  font-size: 50%;
  letter-spacing: -0.1em;
}
.fv__achievement-value .u-text-small{
  line-height: 1;
  font-size: 2rem;
  font-weight: 900;
}
.fv__achievement-value{
  text-align: center;
}

.fv__right{
  position: relative;
  z-index: 0;
  width: 55rem;
}
.fv__right::before{
  position: absolute;
  z-index: -1;
  bottom: -2rem;
  left: -18rem;
  content: "";
  width: 42.5rem;
  height: 39rem;
  background: url(../img/fv-blob01.svg)no-repeat;
  background-size: contain;
}
.fv__right:after{
  content: "";
  position: absolute;
  bottom: 0;
  left: -28rem;
  width: 23rem;
  height: 28.2rem;
  background: url(../img/fv-img.svg) no-repeat;
  background-size: contain;
}
.fv-form{
  background: var(--white-color);
  border-radius: 24px;
  border: 5px solid rgba(0,0,0,0.06);
  padding: 4.8rem 5.6rem;
}
.fv-form__title{
  margin-bottom: 0.8rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.fv-form__sub-title{
  position: relative;
  margin-bottom: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--gray-color);
  font-weight: 700;
}
.fv-form__sub-title::before,
.fv-form__sub-title::after{
  content: "";
  height: 1px;
  background: var(--gray-color);
  flex: 1;
}
.fv-form__sub-title::before{
  margin-right: 1.6rem;
}
.fv-form__sub-title::after{
  margin-left: 1.6rem;
}
.fv-form__sub-title-en{
  display: inline-block;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
}
.fv-form__item{
  margin-bottom: 1rem;
}
.fv-form__label{
  display: block;
  margin-bottom: 0.8rem;
  line-height: 1.3;
  font-size: 1.8rem;
  font-weight: 700;
}
.fv-form__required,
.fv-form__any{
  position: relative;
  top: -1px;
  display: inline-block;
  margin-left: 8px;
  padding: 2px 4px;
  border-radius: 4px;
  line-height: 1;
  font-size: 1.4rem;
  color: var(--white-color);
}
.fv-form__required{
  background: var(--orange-grad);
}
.fv-form__any{
  background: #bbb;
}
.fv-form textarea{
  min-height: 10rem;
}
.fv-form__privacy{
  margin-bottom: 1.6rem;
  text-align: center;
  font-size: 1.2rem;
  color: var(--gray-color);
}
.fv-form__privacy a{
  text-decoration: underline;
}
.fv-form__privacy a:hover{
  text-decoration: none;
}
.fv-form__submit{
  display: block;
  width: min(100%,32rem);
  margin: auto;
  padding: 1.6rem 2.4rem;
  background: var(--orange-grad);
  border-radius: 80px;
  font-size: 2rem;
  color: var(--white-color);
  font-weight: 700;
  text-shadow: 0 0 12px rgba(89, 53, 14, 0.4);
  box-shadow: 0 10px 25px -5px rgba(0,0,0,0.2);
  transition: all 0.3s;
}
.fv-form__submit:hover{
  transform: scale(1.05);
}


@media screen and ( max-width:1440px){
  .fv{
    padding: 11.1vw 0 3.88vw 0;
  }
  .fv::before{
    top: -17.3611vw;
    right: -34.722vw;
    width: 69.444vw;
    height: 64.5833vw;
    background: url(../img/fv-blob02.svg) no-repeat;
    background-size: contain;
  }
  .fv__inner{
    padding: 0 4.166vw;
  }
  .fv__img{
    top: 0;
    left: 5.55vw;
    width: 22.22vw;
  }
  .fv__copy{
    margin-bottom: 2.22vw;
  }
  .fv__lead-copy{
    margin-bottom: 2.77vw;
    padding: 0.9722vw 2.22vw 0.9722vw 3.333vw;
    font-size: 1.8055vw;
  }
  .fv__lead-copy::before{
    left: 1.66vw;
    width: 0.6944vw;
    height: 0.6944vw;
  }
  .fv__main-copy{
    margin-bottom: 2.22vw;
    font-size: 6.11vw;
  }
  .fv__sub-copy{
    font-size: 1.944vw;
  }
  .fv__achievement::before,
  .fv__achievement::after{
    width: 4.5138vw;
    height: 9.93vw;
  }
  .fv__achievement-label{
    margin-bottom: 0.555vw;
    font-size: 1.666vw;
  }
  .fv__achievement-value .fv__achievement-num{
    font-size: 4.166vw;
  }
  .fv__achievement-value .u-text-small{
    font-size: 1.3888vw;
  }

  .fv__right{
    width: 38.1944vw;
  }
  .fv__right::before{
    bottom: -1.388vw;
    left: -12.5vw;
    width: 21.513vw;
    height: 27.803vw;
    background: url(../img/fv-blob01.svg)no-repeat;
    background-size: contain;
  }
  .fv__right:after{
    left: -19.44vw;
    width: 15.9722vw;
    height: 19.5833vw;
  }
  .fv-form{
    border-radius: 1.66vw;
    padding: 3.33vw 3.88vw;
  }
  .fv-form__title{
    margin-bottom: 0.55vw;
    font-size: 1.666vw;
  }
  .fv-form__sub-title{
    margin-bottom: 1.111vw;
  }
  .fv-form__sub-title::before{
    margin-right: 1.111vw;
  }
  .fv-form__sub-title-en{
    font-size: 1.25vw;
  }
  .fv-form__sub-title::after{
    margin-left: 1.111vw;
  }
  .fv-form__item{
    margin-bottom: 0.694vw;
  }
  .fv-form__label{
    margin-bottom: 0.555vw;
    font-size: 1.25vw;
  }
  .fv-form__required,
  .fv-form__any{
    top: -1px;
    margin-left: 0.555vw;
    padding: 2px 4px;
    font-size: 0.9722vw;
  }
  .fv-form textarea{
    min-height: 6.944vw;
  }
  .fv-form__privacy{
    margin-bottom: 1.111vw;
    font-size: 0.833vw;
  }
  .fv-form__submit{
    padding: 1.111vw 1.666vw;
    font-size: 1.388vw;
  }

}


@media screen and ( max-width:750px){
  .fv{
    padding: 11rem 0 6.4rem 0;
  }
  .fv::before{
    top: -45rem;
    right: -84rem;
    width: 100rem;
    height: 79rem;
    background: url(../img/fv-blob02.svg) no-repeat;
    background-size: contain;
  }
  .fv::after{
    position: absolute;
    top: 4rem;
    left: 2rem;
    content: "";
    width: 13rem;
    height: 2rem;
    background: url(../img/logo.svg) no-repeat center / contain;
  }
  .fv__inner{
    padding: 0 2rem;
  }
  .fv__left{
    width: 100%;
    margin-bottom: 2.4rem;
  }
  .fv__img{
    position: absolute;
    top: 0;
    left: -8rem;
    width: 32rem;
  }
  .fv__copy{
    margin-bottom: 2.4rem;
  }
  .fv__lead-copy{
    display: block;
    margin-bottom: 3.2rem;
    padding: 0.8rem 1rem 0.8rem 3rem;
    line-height: 1.4;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
  }
  .fv__lead-copy::before{
    left: 1.4rem;
    width: 0.8rem;
    height: 0.8rem;
  }
  .fv__main-copy{
    margin-bottom: 2.4rem;
    line-height: 1.1;
    font-size: 4.5rem;
  }
  .fv__sub-copy{
    line-height: 1.25;
    font-size: 1.6rem;
  }
  .fv__achievement{
    flex-wrap: nowrap;
    justify-content: center;
  }
  .fv__achievement::before,
  .fv__achievement::after{
    width: 4.5rem;
    height: 9.7rem;
  }
  .fv__achievement-label{
    display: block;
    margin-bottom: 0.8rem;
    font-size: 1.8rem;
  }
  .fv__achievement-value .fv__achievement-num{
    font-size: 4.8rem;
  }
  .fv__achievement-value .u-text-small{
    font-size: 1.6rem;
  }

  .fv__right{
    width: 100%;
  }
  .fv__right::before{
    bottom: -5rem;
    left: -18rem;
    width: 42.5rem;
    height: 39rem;
  }
  .fv__right:after{
    display: none;
  }
  .fv-form{
    padding: 3.2rem 2rem;
    border-radius: 24px;
  }
  .fv-form__title{
    margin-bottom: 0.8rem;
    font-size: 2.2rem;
  }
  .fv-form__sub-title{
    margin-bottom: 1.6rem;
    font-size: 1.4rem;
  }
  .fv-form__sub-title::before{
    margin-right: 1.6rem;
  }
  .fv-form__sub-title::after{
    margin-left: 1.6rem;
  }
  .fv-form__sub-title-en{
    font-size: 1.4rem;
  }
  .fv-form__item{
    margin-bottom: 1rem;
  }
  .fv-form__label{
    margin-bottom: 0.8rem;
    font-size: 1.6rem;
  }
  .fv-form__required,
  .fv-form__any{
    top: -1px;
    margin-left: 8px;
    padding: 2px 4px;
    font-size: 1.2rem;
  }
  .fv-form textarea{
    min-height: 12rem;
  }
  .fv-form__privacy{
    margin-bottom: 1.2rem;
    font-size: 0.9rem;
  }
  .fv-form__privacy a:hover{
    text-decoration: none;
  }
  .fv-form__submit{
    padding: 1.6rem 2.4rem;
    font-size: 1.8rem;
  }
}

/*
.logo-slide
--------------------------------------------------------*/
.logo-slider {
  overflow: hidden;
  padding-top: 4rem;
  padding-bottom: 0;
}
.logo-slider__item {
  padding: 0 1.6rem;
}
.logo-slider__item img {
  height: 4rem;
  width: auto;
  display: block;
}
.slick-slide{
  width: auto!important;
}
/*
#about
--------------------------------------------------------*/
.about{
  position: relative;
  padding-bottom: 0;
}
.about__bridge{
  position: absolute;
  z-index: 10;
  bottom: -22rem;
  left: 50%;
  transform: translateX(-50%);
  width: 39rem;
}
.about__title::before{
  font-size: 12rem;
  top: -3.2rem;
}
.about__title-en{
  margin-bottom: -8rem;
  font-size: 12rem;
}
.about__inner{
  width: min(100%,1000px);
}
.aio-faq__question{
  margin-bottom: 2.4rem;
  gap: 2rem;
  flex-wrap: nowrap;
  align-items: center;
}
.aio-faq__question-body{
  background: var(--bg-light-blue);
  border-radius: 24px 24px 24px 0;
  padding: 3.2rem 4rem;
}
.aio-faq__illust{
  width: 5.3rem;
}
.aio-faq__answer{
  margin-bottom: 6.4rem;
  gap: 1.6rem;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}
.aio-faq__answer-illust{
  width: 14rem;
}
.aio-faq__answer-body{
  width: calc(100% - 15.6rem);
  padding: 3.2rem 4rem;
  background: var(--main-color);
  border-radius: 24px 24px 0 24px;
  box-shadow: 0 20px 25px -5px rgba(0,34,85,0.03);
}
.aio-faq__answer-text{
  color: var(--white-color);
}

.ai-compare{
  margin-bottom: 6.4rem;
  background: #F9FAFB;
  border-radius: 24px;
  border: 4px solid rgba(0,0,0,0.06);
}
.ai-compare__inner{
  gap: 3.2rem;
  justify-content: center;
  padding: 4.8rem 4rem 0;
  border-radius: 24px;
}
.ai-compare__item{
  width: 34rem;
}
.ai-compare__title{
  margin-bottom: 1.2rem;
  line-height: 1;
  text-align: center;
  font-size: 2.4rem;
  font-family: "Josefin Sans", sans-serif;
}

@media screen and ( max-width:750px){
  .about__bridge{
    bottom: -12rem;
    width: 26rem;
  }
  .about__title::before{
    font-size: 3.8rem;
    top: -1.6rem;
  }
  .about__title-en{
    margin-bottom: -8rem;
    font-size: 12rem;
  }
  .aio-faq__question{
    margin-bottom: 2.4rem;
    gap: 1.6rem;
  }
  .aio-faq__question-body{
    padding: 1.6rem;
  }
  .aio-faq__question-text{
    font-size: 1.4rem;
  }
  .aio-faq__illust{
    width: 5.6rem;
  }
  .aio-faq__answer{
    margin-bottom: 4rem;
    gap: 1.2rem;
  }
  .aio-faq__answer-text{
    font-size: 1.4rem;
  }
  .aio-faq__answer-illust{
    width: 8.8rem;
  }
  .aio-faq__answer-body{
    width: calc(100% - 6.8rem);
    padding: 1.6rem;
  }
  .ai-compare{
    margin-bottom: 2.4rem;
    border-radius: 24px;
  }
  .ai-compare__inner{
    gap: 3.2rem;
    justify-content: center;
    padding: 4.8rem 4rem 0;
    border-radius: 24px;
  }
  .ai-compare__item{
    width: 28rem;
  }
  .ai-compare__title{
    margin-bottom: 1.2rem;
    font-size: 2rem;
  }

}



/*
#shift
--------------------------------------------------------*/
.shift{
  position: relative;
  padding-top: 28rem;
}
.shift__bridge{
  position: absolute;
  z-index: 10;
  top: -8rem;
  left: 50%;
  transform: translateX(-50%);
  width: 39rem;
}
.impact{
  background: var(--white-color);
  padding: 4.8rem 8rem;
  border: 4px solid rgba(0,0,0,0.06);
  border-radius: 24px;
}

.impact + .impact{
  margin-top: 4rem;
}
.impact__tag{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18rem;
  margin: 0 auto 3.2rem;
  padding: 0.5rem 2rem 0.6rem;
  background: var(--sub-color);
  border-radius: 80px;
  line-height: 1;
  text-align: center;
  color: var(--white-color);
  letter-spacing: 0.15em;
  font-weight: 700;
}
.impact__tag .u-text-num{
  position: relative;
  top: 0.3rem;
  line-height: 1;
  font-size: 150%;
}
.impact__title{
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 3.6rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}
.impact__compare{
  justify-content: center;
  align-items: flex-end;
  gap: 3%;
}
.impact__card{
  border-radius: 24px;
  padding: 3.2rem;
}
.impact__card--past{
  background: #F0F0F0;
}
.impact__card--future{
  background: rgba(37,99,235,0.06);
}
.impact__card-title{
  margin-bottom: 2.4rem;
  text-align: center;
  font-weight: 700;
}
.impact__card--past{
  position: relative;
  width: 42%;
}
.impact__card--future{
  width: 55%;
}
.impact__card--past::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -4rem;
  width: 3.3rem;
  height: 2.2rem;
  background: url("../img/impact-arrow.svg") no-repeat center / contain;
}
.impact__card--past .impact__card-title{
  color: var(--gray-color);
}
.impact__card--future .impact__card-title{
  color: var(--sub-color);
}
.impact__image{
  margin: 0 auto 1.6rem;
}
.impact__card--past .impact__image{
  width: 11.6rem;
}
.impact__card--future .impact__image{
  width: 13.7rem;
}
.impact__steps{
  gap: 0.6rem;
}
.impact__card--future .impact__steps{
  margin-bottom: 1.6rem;
}
.impact__step{
  position: relative;
  width: min(100%,28rem);
  margin: auto;
  background: var(--white-color);
  padding: 0.8rem 2rem;
  border-radius: 80px;
  border: 3px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  text-align: center;
  line-height: 1;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color);
}
.impact__step::before{
  content: "";
  position: absolute;
  bottom: -0.4rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1.3rem;
  height: 0.6rem;
  background: var(--sub-color);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.impact__card--past .impact__step:last-of-type::before{
  display: none;
}
.impact__note{
  line-height: 1.4;
  text-align: center;
  font-weight: 900;
}

@media screen and ( max-width:750px){
  .shift{
    padding-top: 12rem;
  }
  .shift__bridge{
    top: -8rem;
    left: 50%;
    transform: translateX(-50%);
    width: 39rem;
  }
  .impact{
    padding: 4.8rem 2rem;
    border-radius: 2.4rem;
  }
  .impact + .impact{
    margin-top: 4rem;
  }
  .impact__tag{
    width: 16rem;
    margin: 0 auto 2.4rem;
    padding: 0.5rem 2rem 0.6rem;
    font-size: 1.4rem;
  }
  .impact__tag .u-text-num{
    top: 0.1rem;
  }
  .impact__title{
    margin-bottom: 2.4rem;
    font-size: 2.2rem;
  }
  .impact__compare{
    justify-content: center;
    align-items: flex-end;
    gap: 2rem;
  }
  .impact__card{
    border-radius: 24px;
    padding: 3.2rem 1.6rem 2.4rem;
  }
  .impact__card-title{
    margin-bottom: 2.4rem;
    font-size: 1.8rem;
  }
  .impact__card--past{
    width: 90%;
    margin: 0 auto;
  }
  .impact__card--future{
    width: 100%;
  }
  .impact__card--past::before{
    top: auto;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    bottom: -2rem;
    width: 2.4rem;
    height: 2.3rem;
    background: url("../img/impact-arrow.svg") no-repeat center / contain;
  }
  .impact__card--past .impact__image{
    width: 11.6rem;
  }
  .impact__card--future .impact__image{
    width: 13.7rem;
  }
  .impact__steps{
    gap: 0.6rem;
  }
  .impact__card--future .impact__steps{
    margin-bottom: 1.2rem;
  }
  .impact__step{
    padding: 0.8rem 2rem;
    font-size: 1.4rem;
  }
  .impact__step::before{
    width: 1.3rem;
    height: 0.6rem;
  }
}

/*
#facts
--------------------------------------------------------*/
.facts{
  padding-bottom: 0;
  margin-bottom: -16rem;
}
.facts__data{
  margin-bottom: 8rem;
  position: relative;
  background: var(--white-color);
  padding: 7.2rem 8rem 9.6rem;
  border: 4px solid rgba(0, 0, 0, 0.06);
  border-radius: 24px;
}
.facts__data-title{
  margin-bottom: 1.8rem;
  text-align: center;
  font-size: 2.8rem;
  letter-spacing: 0.06em;
}
.facts__data-source{
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 1.4rem;
  color: var(--gray-color);
}
.facts__chart{
  margin-bottom: 4rem;
}
.facts__caption{
  margin-top: 1.6rem;
  text-align: right;
  font-size: 0.9rem;
  color: #999;
  font-weight: 400;
  letter-spacing: 0.06em;
}
.facts__summary {
  gap:4.8rem;
}
.facts__summary-item{
  width: calc((100% - 4.8rem) / 2);
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.facts__summary-label{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18rem;
  height: 6rem;
  /* padding: 1rem; */
  border: 2px solid;
  text-align: center;
  line-height: 1.25;
  font-size: 1.6rem;
  font-weight: 900;
}
.facts__summary-value{
  position: relative;
  top: 0.3rem;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
  font-size: 6rem;
  font-weight: 700;
  transform: skewX( -10deg);
  white-space: nowrap;
}
.facts__summary-value .u-text-small{
  line-height: 1;
  font-size: 60%;
}
.facts__summary-item--retail *{
  color: #009933;
}
.facts__summary-item--travel *{
  color: #FF9900;
}
.facts__summary-item--media *{
  color: #9933CC;
}
.facts__summary-item--tech *{
  color: #FF66CC;
}
.facts__summary-item--finance *{
  color: #3366CC;
}
.facts__bridge{
  position: absolute;
  z-index: 10;
  bottom: -8rem;
  left: 50%;
  transform: translateX(-50%);
  width: 39rem;
}
.facts__conclusion{
  position: relative;
  z-index: 10;
  width: min(100%,820px);
  margin: 0 auto;
  padding: 6rem 6rem;
  background: var(--main-color);
  border-radius: 2.4rem 2.4rem 0 2.4rem;
  color: var(--white-color);
}
.facts__conclusion::before{
  content: "";
  position: absolute;
  right: -11rem;
  top: 50%;
  transform: translateY(-50%);
  width: 17.2rem;
  height: 20rem;
  background: url(../img/conclusion-img.svg) no-repeat center / contain;
}
.facts__conclusion-text{
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}
.facts__conclusion-source{
  position: absolute;
  right: 3.2rem;
  bottom: 2.4rem;
  font-size: 0.9rem;
  font-weight: 400;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.06em;
}
.facts__conclusion-text .u-text-num{
  position: relative;
  line-height: 1;
  font-size: 220%;
}
.facts__conclusion-text .u-text-num::before{
  position: absolute;
  content: "";
  bottom: 0.6rem;
  width: 100%;
  height: 2px;
  background: var(--white-color);
}
.facts__conclusion-text .u-text-num .u-text-small{
  font-size: 55%;
}

@media screen and ( max-width:750px){
  .facts{
    margin-bottom: -16rem;
  }
  .facts__data{
    margin-bottom: 8rem;
    padding: 3.2rem 2rem 4.8rem;
  }
  .facts__data-title{
    margin-bottom: 1.8rem;
    font-size: 1.8rem;
  }
  .facts__data-source{
    margin-bottom: 3.2rem;
    font-size: 0.9rem;
  }
  .facts__chart{
    margin-bottom: 4rem;
  }
  .facts__caption{
    margin-top: 1.6rem;
    font-size: 0.7rem;
  }
  .facts__summary {
    gap:1rem;
  }
  .facts__summary-item{
    width: 100%;
    gap: 0.8rem;
  }
  .facts__summary-label{
    width: 13rem;
    max-width: 13rem;
    min-width: 13rem;
    height: 5rem;
    font-size: 1.2rem;
  }
  .facts__summary-value{
    top: 0.3rem;
    font-size: 4.4rem;
  }
  .facts__summary-value .u-text-small{
    line-height: 1;
    font-size: 60%;
  }
  .facts__bridge{
    bottom: -6rem;
    width: 26rem;
  }
  .facts__conclusion{
    width: 90%;
    margin: 0 auto 0 0;
    padding: 3.2rem 4rem 5.6rem 2rem;
    border-radius: 2.4rem 2.4rem 0 2.4rem;
  }
  .facts__conclusion::before{
    right: -11rem;
    width: 14.2rem;
  }
  .facts__conclusion-text{
    font-size: 2rem;
  }
  .facts__conclusion-source{
    position: absolute;
    right: auto;
    left: 2rem;
    bottom: 2rem;
    font-size: 0.7rem;
  }
}

/*
#prediction
--------------------------------------------------------*/
.prediction{
  position: relative;
  padding-top: 34rem;
}
.prediction__data{
  width: min(100%,960px);
  margin: 0 auto 4.8rem;
  position: relative;
  background: var(--white-color);
  padding: 6.4rem 8rem 9.6rem;
  border: 4px solid rgba(0, 0, 0, 0.06);
  border-radius: 24px;
}
.prediction__data-title{
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 2.8rem;
  letter-spacing: 0.06em;
}
.prediction__source{
  margin-top: 1.6rem;
  text-align: right;
  font-size: 0.9rem;
  color: #999;
  font-weight: 400;
  letter-spacing: 0.06em;
}
.prediction__conclusion{
  position: relative;
  display: flex;
  justify-content: center;
}
.prediction__conclusion::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -4rem;
  width: 16rem;
  height: 17rem;
  background: url(../img/ai-img.svg) no-repeat center / contain;
}
.prediction__conclusion-text{
  text-align: center;
  font-size: 3.6rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}
.prediction__conclusion-text *{
  font-weight: 900;
}

@media screen and ( max-width:750px){
  .prediction{
    padding-top: 24rem;
  }
  .prediction__title::before{
    font-size: 5.4rem;
  }
  .prediction__data{
    margin: 0 auto 3.2rem;
    padding: 4rem 2rem 4rem;
  }
  .prediction__data-title{
    margin-bottom: 2.4rem;
    font-size: 1.8rem;
  }
  .prediction__source{
    margin-top: 1.6rem;
    text-align: right;
    font-size: 0.7rem;
  }
  .prediction__conclusion::before{
    /* top: 50%;
    transform: translateY(-50%);
    right: -4rem;
    width: 16rem;
    height: 17rem; */
    display: none;
  }
  .prediction__conclusion-text{
    font-size: 2.4rem;
  }
}



/*
#warning
--------------------------------------------------------*/
.warning{
  position: relative;
}
.warning__bridge{
  position: absolute;
  z-index: 10;
  top: -4.4rem;
  left: 50%;
  transform: translateX(-50%);
  width: 39rem;
}
.warning__title{
  line-height: 1.3;
  font-size: 4.8rem;
}
.warning__title::after{
  content: "";
  position: absolute;
  top: -4.8rem;
  left: 50%;
  transform: translateX(-50%);
  width: 3.8rem;
  height: 3.4rem;
  background: url(../img/icon-warning.svg) no-repeat center / contain;
}
.warning__title .u-text-small{
  display: inline-block;
}
.prediction__title-em{
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0.4rem 0.3rem;
  background: var(--text-color);
  line-height: 1;
  color: var(--white-color);
  font-size: 90%;
  font-family: "Noto Sans JP", sans-serif;
}
.warning__cards{
  width: min(100%,960px);
  margin: 0 auto 6.4rem;
  margin-bottom: 6.4rem;
}
.warning__card{
  background: #F9FAFB;
  padding: 5.6rem 6.4rem;
  border: 4px solid rgba(0, 0, 0, 0.06);
  border-radius: 24px;
}
.warning__card + .warning__card{
  margin-top: 4rem;
}
.warning__label{
  border: 2px solid #FF3B30;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18rem;
  margin: 0 auto 3.2rem;
  padding: 0.5rem 2rem 0.6rem;
  background: var(--text-color);
  border-radius: 80px;
  line-height: 1;
  text-align: center;
  color: var(--white-color);
  letter-spacing: 0.15em;
  font-weight: 700;
}
.warning__label .u-text-num{
  position: relative;
  top: 0.2rem;
  font-size: 150%;
}
.warning__content{
  gap: 4rem;
  align-items: center;
}
.warning__card-title{
  margin-bottom: 1.6rem;
  font-size: 2.8rem;
  font-weight: 900;
}
.warning__card-desc{
  color: var(--gray-color);
}
.warning__icon{
  width: 20rem;
}
.warning__text{
  width: calc(100% - 24rem);
}
.warning__trigger{
  position: relative;
  border: 2px solid #FF3B30;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 38rem;
  margin: 0 auto 4.8rem;
  padding: 1rem 4rem;
  background: var(--text-color);
  border-radius: 80px;
  text-align: center;
}
.warning__trigger::before{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -4rem;
  width: 0.6rem;
  height: 2.8rem;
  background: url(../img/circle.svg) no-repeat center / contain;
}
.warning__trigger-text{
  line-height: 1;
  font-size: 2.2rem;
  color: var(--white-color);
  letter-spacing: 0.15em;
  font-weight: 900;
}
.warning__final{
  overflow: hidden;
  position: relative;
  border-radius: 24px;
  background: var(--text-color);
  padding: 4.8rem 5.6rem 6.4rem;
  border: 2px solid #FF3B30;
}
.warning__final::before{
  position: absolute;
  top: -2rem;
  right: 4.8rem;
  content: "";
  width: 22.1rem;
  height: 37.2rem;
  background: url(../img/bg-warning.svg) no-repeat center / contain;
}
.warning__final-text{
  position: relative;
  margin-bottom: 4.8rem;
  text-align: center;
  font-size: 4.8rem;
  color: #F87171;
  font-weight: 900;
}
.warning__final-text::before{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -2.4rem;
  width: 8rem;
  height: 3px;
  background: #F87171;
}
.warning__final-text *{
  font-weight: 900;
}
.warning__final-note{
  text-align: center;
  color: rgba(255,255,255,0.5);
}

@media screen and ( max-width:750px){
  .warning__bridge{
    top: -3.2rem;
    width: 26rem;
  }
  .warning__title{
    line-height: 1.3;
    font-size: 2.8rem;
  }
  .warning__title::after{
    top: -4.8rem;
    width: 3.8rem;
    height: 3.4rem;
    background: url(../img/icon-warning.svg) no-repeat center / contain;
  }
  .warning__title .u-text-small{
    font-size: 70%;
  }
  .prediction__title-em{
    padding: 0.4rem 0.3rem;
  }
  .warning__cards{
    width: min(100%,960px);
    margin: 0 auto 6.4rem;
    margin-bottom: 6.4rem;
  }
  .warning__card{
    padding: 3.2rem 2rem;
  }
  .warning__card + .warning__card{
    margin-top: 4rem;
  }
  .warning__label{
    width: 16rem;
    margin: 0 auto 2.4rem;
    padding: 0.5rem 2rem 0.6rem;
    font-size: 1.4rem;
  }
  .warning__label .u-text-num{
    top: 0.1rem;
  }
  .warning__content{
    gap: 1.6rem;
    align-items: center;
  }
  .warning__card-title{
    margin-bottom: 1.6rem;
    text-align: center;
    font-size: 2rem;
  }
  .warning__icon{
    width: 55%;
    margin: 0 auto;
  }
  .warning__text{
    width: 100%;
  }
  .warning__trigger{
    width: 84%;
    margin: 0 auto 4.8rem;
    padding: 1rem 2rem;
  }
  .warning__trigger-text{
    font-size: 1.8rem;
  }
  .warning__final{
    padding: 3.2rem 0.8rem 6.4rem;
  }
  .warning__final::before{
    top: -6rem;
    right: -1.2rem;
    width: 19rem;
    height: 37.2rem;
  }
  .warning__final-text{
    margin-bottom: 3.2rem;
    font-size: 2rem;
  }
  .warning__final-text::before{
    bottom: -1.6rem;
    width: 6.4rem;
    height: 2px;
  }
  .warning__final-note{
    font-size: 1.4rem;
  }

}

/*
#fear
--------------------------------------------------------*/
.fear{
  position: relative;
  margin-top: -25rem;
  padding-top: 26rem;
}
.fear__title{
  font-size: 4.8rem;
}
.fear__content{
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.fear__list{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.fear__list--left{
  gap: 7.2rem;
}
.fear__list--right{
  gap: 4.8rem;
}
.fear__item{
  padding: 1.6rem 4rem;
  background: var(--white-color);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border-radius: 80px;
  font-weight: 700;
}
.fear__item--resource{
  margin-left: 4.8rem;
}
.fear__item--seo{
  margin-left: 13rem;
}
.fear__item--cost{
  margin-left: 2rem;
}
.fear__item--priority{
  margin-left: 8rem;
}
.fear__item--time{
  margin-left: 2rem;
}

@media screen and ( max-width:750px){
  .fear{
    margin-top: -12rem;
    padding-top: 10rem;
  }
  .fear__title{
    font-size: 2.8rem;
  }
  .fear__content{
    gap: 3.2rem;
  }
  .fear__figure{
    width: 8rem;
  }
  .fear__list--left{
    gap: 1.6rem;
    justify-content: center;
    align-items: center;
  }
  .fear__list--right{
    gap: 1.6rem;
    justify-content: center;
    align-items: center;
  }
  .fear__item{
    padding: 1.6rem 2.4rem;
  }
  .fear__item--resource{
    margin-left: 0;
  }
  .fear__item--seo{
    margin-left: 0;
  }
  .fear__item--cost{
    margin-left: 0;
  }
  .fear__item--priority{
    margin-left: 0;
  }
  .fear__item--time{
    margin-left: 0;
  }
}



/*
#cta-main
--------------------------------------------------------*/
.cta{
  position: relative;
  padding-top: 12rem;
  padding-bottom: 2.4rem;
}
.cta__bridge{
  position: absolute;
  z-index: 10;
  top: -4.4rem;
  left: 50%;
  transform: translateX(-50%);
  width: 39rem;
}
.cta__content{
  background: var(--main-color);
  border-radius: 5.6rem;
  padding: 8rem;
}
.cta__title{
  position: relative;
  margin-bottom: 2.4rem;
  padding-right: 16rem;
  text-align: left;
  font-size: 5.2rem;
  color: var(--white-color);
  font-weight: 900;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  letter-spacing: 0.06em;
}
.cta__title::before{
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 13.5rem;
  height: 19.6rem;
  background: url(../img/cta-img.svg) no-repeat center / contain;
}
.cta__lead{
  margin-bottom: 3.2rem;
  padding-right: 16rem;
  color: var(--white-color);
}
.cta__questions{
  border-top: 2px solid #668DD5;
  padding: 3.2rem 0 4rem;
  gap: 1.2rem 4.8rem;
}
.cta__question{
  position: relative;
  width: calc((100% - 4.8rem) / 2);
  padding-left: 3rem;
  color: var(--white-color);
}
.cta__question::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: #60A5FA;
}
.cta__actions{
  gap: 2.4rem;
  justify-content: center;
  align-items: flex-start;
}
.cta__actions > *{
  width: calc((100% - 2.4rem) / 2);
}
.cta__micro-copy{
  position: relative;
  margin-bottom: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  color: var(--white-color);
}
.cta__micro-copy::before,
.cta__micro-copy:after{
  content: "";
  background: var(--white-color);
  width: 2px;
  height: 1.8rem;
}
.cta__micro-copy::before{
  transform: rotate(-30deg);
}
.cta__micro-copy:after{
  transform: rotate(30deg);
}
.cta__micro-copy-text{
  margin: 0 1rem;
}
.cta__tel-number{
  position: relative;
  display: block;
  margin-left: 4rem;
  padding: 0.6rem 0 0 0;
  text-align: center;
  line-height: 1;
  font-size: 5rem;
  font-family: "Josefin Sans", sans-serif;
  color: var(--white-color);
}
.cta__tel-number::before{
  position: absolute;
  left: -3.2rem;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 3rem;
  height: 3.3rem;
  background: url(../img/icon-tel-cta.svg) no-repeat center / contain;
}
.cta__tel-note{
  display: block;
  line-height: 1;
  font-size: 1.2rem;
  color: var(--white-color);
  text-align: center;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
}
.cta__button{
  display: block;
  position: relative;
  padding: 2.6rem 5.6rem;
  border-radius: 80px;
  line-height: 1.2;
  font-size: 2.4rem;
  font-weight: 900;
  text-shadow: 0 0 12px rgba(89, 53, 14, 0.4);
  transition-duration: .4s;
  text-align: center;
  letter-spacing: 0.04em;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
  transition: all 0.3s;
  color: var(--white-color);
}
.cta__button--document{
  background: var(--sub-color);
}
.cta__button--contact{
  background: var(--orange-grad);
}

.cta__button::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  background: var(--white-color);
}
.cta__button--contact::before{
  width: 1.7rem;
  height: 1rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.cta__button--document::before{
  width: 1rem;
  height: 1.7rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
/* .cta__button--document::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  width: 1.7rem;
  height: 1rem;
  background: var(--white-color);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
} */
.cta__button:hover{
  transform: scale(1.05);
}

@media screen and ( max-width:750px){
  .cta{
    padding-top: 5.6rem;
    padding-bottom: 2rem;
  }
  .cta__bridge{
    top: -3.2rem;
    width: 26rem;
  }
  .cta__content{
    border-radius: 32px;
    padding: 4.8rem 2rem 3.2rem;
  }
  .cta__title{
    margin-bottom: 0.8rem;
    padding-right: 6rem;
    font-size: 3rem;
  }
  .cta__title::before{
    top: -0.5rem;
    right: -2.7rem;
    width: 8.8rem;
    height: 12.5rem;
    background: url(../img/cta-img.svg) no-repeat center / contain;
  }
  .cta__lead{
    margin-bottom: 1.6rem;
    padding-right: 0;
    font-size: 1.4rem;
  }
  .cta__questions{
    border-top: 2px solid #668DD5;
    padding: 1.6rem 0 4rem;
    gap: 0.8rem;
  }
  .cta__question{
    width: 100%;
    padding-left: 2rem;
    font-size: 1.2rem;
  }
  .cta__question::before{
    width: 1rem;
    height: 1rem;
  }
  .cta__actions{
    gap: 2rem;
  }
  .cta__actions > *{
    width: 100%;
  }
  .cta__micro-copy{
    margin-bottom: 0.62rem;
    font-size: 1.1rem;
    font-weight: 400;
  }
  .cta__micro-copy-text{
    margin: 0 0.6rem;
  }
  .cta__tel-number{
    margin-left: 3rem;
    padding: 0.6rem 0 0 0;
    font-size: 3.6rem;
  }
  .cta__micro-copy::before,
  .cta__micro-copy:after {
    width: 1px;
    height: 1.6rem;
  }
  .cta__tel-number::before{
    position: absolute;
    left: -3rem;
    width: 2.6rem;
    height: 2.8rem;
    background: url(../img/icon-tel-cta.svg) no-repeat center / contain;
  }
  .cta__tel-note{
    font-size: 1.1rem;
  }
  .cta__contact{
    flex: 1;
  }
  .cta__button{
    padding: 2.4rem 3rem;
    font-size: 2rem;
    width: 100%;
    margin: 0 auto;
  }
  .cta__button::before{
    right: 1rem;
  }
  .cta__button--contact::before{
    width: 0.8;
    height: 1.5rem;
  }
  .cta__button--contact::before{
    width: 1.5rem;
    height: 0.8rem;
  }

}



/*
#quality
--------------------------------------------------------*/
.quality{
  padding-top: 24rem;
}
.quality__inner{
  width: min(100%,880px);
}
.quality__alert{
  margin-bottom: 3.2rem;
  text-align: center;
}
.quality__alert-text{
  position: relative;
  display: inline-block;
  border: 2px solid #2563EB;
  padding: 1rem 3.2rem;
  color: #2563EB;
  font-weight: 700;
}
.quality__alert-text::before{
  position: absolute;
  top: -4rem;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 2.8rem;
  height: 2.5rem;
  background: url(../img/icon-warning.svg) no-repeat center / contain;
}
.quality__body{
  margin-bottom: 5.6rem;
}
.quality__achievements{
  position: relative;
  align-items: center;
  gap: 1.6rem;
}
.quality__achievements::before{
  content: "";
  position: absolute;
  right: -1.6rem;
  width: 15.4rem;
  height: 19.6rem;
  background: url(../img/quality-img.svg) no-repeat center / contain;
}
.quality__achievement{
  position: relative;
  padding: 2.8rem 6rem;
  text-align: center;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}
.quality__achievement::before,
.quality__achievement::after{
  content: "";
  position: absolute;
  top: 0;
  width: 6.5rem;
  height: 14.3rem;
}
.quality__achievement::before{
  background: url(../img/laurel-left.svg) no-repeat center / contain;
  left: 0.8rem;
}
.quality__achievement::after{
  background: url(../img/laurel-right.svg) no-repeat center / contain;
  right: 0.8rem;
}
.quality__achievement *{
  line-height: 1.1;
  font-weight: 900;
}
.quality__achievement-label{
  display: block;
}
.quality__achievement-value-num{
  font-size: 300%;
}
.quality__achievement-value-num .u-text-small{
  font-size: 50%;
  letter-spacing: -0.08em;
}

@media screen and ( max-width:750px){
  .quality{
    padding-top: 12rem;
  }
  .quality__inner{
    padding-inline: 2.4rem;
  }
  .quality__alert{
    margin-bottom: 1.6rem;
    text-align: center;
  }
  .quality__alert-text{
    padding: 0.8rem 2.4rem;
    font-size: 1.4rem;
  }
  .quality__body{
    margin-bottom: 2rem;
  }
  .quality__achievements{
    gap: 2rem;
  }
  .quality__achievements::before{
    top: -0.4rem;
    right: -1rem;
    width: 10.6rem;
    height: 13.4rem;
    background: url(../img/quality-img.svg) no-repeat center / contain;
  }
  .quality__achievement{
    padding: 1.3rem 4.8rem;
    font-size: 1.6rem;
  }
  .quality__achievement::before,
  .quality__achievement::after{
    top: 0;
    width: 4.8rem;
    height: 10.4rem;
  }
  .quality__achievement::before{
    background: url(../img/laurel-left.svg) no-repeat center / contain;
    left: 0.8rem;
  }
  .quality__achievement::after{
    background: url(../img/laurel-right.svg) no-repeat center / contain;
    right: 0.8rem;
  }
}



/*
#results
--------------------------------------------------------*/
.results__content {
  margin-bottom: 6.4rem;
  background: #F9FAFB;
  border-radius: 24px;
  border: 4px solid rgba(0, 0, 0, 0.06);
}
.results__content-inner{
  gap: 3.2rem;
  justify-content: center;
  padding: 4.8rem 4rem 0;
  border-radius: 24px;
}
.results__item-title{
  margin-bottom: 1.2rem;
  line-height: 1;
  text-align: center;
  font-size: 2.4rem;
  font-family: "Josefin Sans", sans-serif;
}
.results__item{
  width: 34rem;
}
.results .ai-compare{
  margin-bottom: 0;
}



/*
.cta-sub
--------------------------------------------------------*/
.cta-sub{
  background: var(--main-color);
  color: var(--white-color);
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.cta-sub__inner{
  position: relative;
}
.cta-sub__title{
  margin-bottom: 2.4rem;
  text-align: center;
  font-size: 4.8rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.cta-sub__lead{
  margin-bottom: 4.8rem;
  justify-content: center;
  text-align: center;
}
.cta-sub__figure{
  position: absolute;
  top: -2rem;
  right: 0;
  width: 13.5rem;
  height: 19.6rem;
}

@media screen and ( max-width:750px){
  .cta-sub{
    padding-top: 5.6rem;
    padding-bottom: 5.6rem;
  }
  .cta-sub__inner{
    padding-inline: 2.4rem;
  }
  .cta-sub__title{
    margin-bottom: 1.6rem;
    padding-right: 8.8rem;
    text-align: left;
    font-size: 2.8rem;
  }
  .cta-sub__lead{
    margin-bottom: 3.2rem;
    text-align: left;
    font-size: 1.4rem;
  }
  .cta-sub__figure{
    top: -1rem;
    right: 2rem;
    width: 7.5rem;
    height: 12.6rem;
  }
}


/*
#service
--------------------------------------------------------*/
.service__card{
  align-items: center;
  border-radius: 24px;
}
.service__card-col--price{
  width: 50%;
  padding: 9.4rem 8rem;
  border-radius: 24px 0 0 24px;
  background: var(--bg-light-blue);
}
.service__eyebrow{
  margin-bottom: 4rem;
  line-height: 1;
  font-size: 2.4rem;
  color: var(--sub-color);
}
.service__name{
  margin-bottom: 2rem;
  font-size: 2rem;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.service__price{
  line-height: 1;
}
.service__price-value{
  font-size: 7.2rem;
}
.service__price-value .u-text-small{
  font-size: 50%;
  letter-spacing: -0.08em;
}
.service__price-unit{
  font-weight: 900;
}
.service__card-col--detail{
  width: 50%;
  padding: 0 6.4rem;
  border-radius: 24px 0 0 24px;
}
.service__subtitle{
  margin-bottom: 2.4rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid #EEEFF0;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.service__list{
  margin-bottom: 2.4rem;
}
.service__item{
  position: relative;
  padding-left: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.service__item::before{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: var(--sub-color);
}
.service__item + .service__item{
  margin-top: 1rem;
}
.service__note{
  font-size: 1.1rem;
  color: var(--gray-color);
  letter-spacing: 0.06em;
}


@media screen and ( max-width:750px){
  .service__card{
    flex-direction: column;
  }
  .service__card-col--price{
    width: 100%;
    padding: 5.6rem 3.2rem 2.4rem;
    border-radius: 24px 24px 0 0;
  }
  .service__eyebrow{
    margin-bottom: 2.4rem;
    font-size: 2.2rem;
  }
  .service__name{
    margin-bottom: 0.8rem;
    font-size: 1.4rem;
  }
  .service__price-value{
    font-size: 5rem;
  }
  .service__card-col--detail{
    width: 100%;
    padding: 2.4rem 3.2rem 3.2rem;
    border-radius: 0 0 24px 24px;
  }
  .service__subtitle{
    margin-bottom: 1.6rem;
    padding-bottom: 1.2rem;
  }
  .service__list{
    margin-bottom: 1.2rem;
  }
  .service__item{
    padding-left: 1.6rem;
    font-size: 1.4rem;
  }
  .service__item + .service__item{
    margin-top: 0.8rem;
  }
  .service__note{
    font-size: 0.8rem;
  }
}






/*
#faq
--------------------------------------------------------*/
.faq{
  background: var(--bg-light-blue);
}
.faq .c-sec-heading::before {
  color: rgba(0, 102, 255, 0.04);
}
.faq__item{
  background: var(--white-color);
  border-radius: 24px;
}
.faq__item + .faq__item{
  margin-top: 2.4rem;
}
.faq__question{
  position: relative;
  padding: 4rem 6rem 4rem 9.6rem;
  text-align: left;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.faq__question::before,
.faq__answer::before{
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 4rem;
  height: 4rem;
  border-radius: 0.8rem;
  left: 4rem;
  font-size: 1.6rem;
  font-family: "Josefin Sans", sans-serif;
  font-style: 700;
}
.faq__question::before{
  top: 50%;
  transform: translateY(-50%);
  content: "Q";
  color: var(--white-color);
  background: var(--sub-color);
}
.faq__answer{
  position: relative;
  line-height: 1.8;
}
.faq__answer::before{
  top: 0;
  content: "A";
  color: #E65100;
  background: #FDEBE1;
}
.faq__answer{
  padding: 0.5rem 8.8rem 4rem 9.6rem;
}
.faq__toggle {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 2px solid var(--bg-light-blue);
  padding: 0.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-radius: 100%;
  top: 50%;
  transform: translateY(-50%);
  right: 1.6rem;
  transition: all 0.3s;
}
.faq__toggle.open{
  transform: translateY(-50%) rotate(-180deg);
}

.js-accordion__body{
  display: none;
}

@media screen and ( max-width:750px){
  .faq__item {
    border-radius: 16px;
  }
  .faq__item + .faq__item{
    margin-top: 2.4rem;
  }
  .faq__question{
    padding: 2.4rem 5.6rem 2.4rem 6.4rem;
    font-size: 1.6rem;
  }
  .faq__question::before,
  .faq__answer::before{
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 8px;
    left: 2rem;
    font-size: 1.6rem;
  }
  .faq__answer{
    padding: 0.5rem 2rem  2.4rem 6.4rem;
    line-height: 1.5;
  }
  .faq__toggle{
    width: 3.2rem;
    height: 3.2rem;
  }
}


/*
#form
--------------------------------------------------------*/
.form{
  background: var(--main-color);
}
.form__inner{
  width: min(100%,960px);
}
.form__title{
  color: var(--white-color);
}
.form__title::before{
  color: rgba(255,255,255,0.08);
}
.form__title .u-text-blue{
  display: inline-block;
  color: #93C5FD;
  font-size: 80%;
}
.form__body{
  background: var(--white-color);
  padding: 6.4rem 8rem;
  border-radius: 24px;
}
.form__grid{
  gap: 2.4rem 4rem;
}
.form__field{
  width: calc((100% - 4rem) / 2);
}
.form__field--full{
  width: 100%;
}
.form__label{
  display: block;
  margin-bottom: 0.4rem;
}
.form__label-text{
  display: inline-block;
  font-weight: 700;
}
.form__required,
.form__any{
  position: relative;
  top: -2px;
  display: inline-block;
  margin-left: 0.4rem;
  border-radius: 4px;
  padding: 2px 4px;
  line-height: 1;
  font-size: 1.2rem;
  color: var(--white-color);
}
.form__required{
  background: var(--orange-grad);
}
.form__any{
  background: #aaa;
}
#bottom-message{
  min-height: 20rem;
  margin-bottom: 2.4rem;
}
.form__privacy-text{
  margin-bottom: 2.4rem;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 400;
}
.form__privacy-text a{
  text-decoration: underline;
  font-weight: 400;
}
.form__privacy-text a:hover{
  text-decoration: none;
}
.form__submit-btn{
  display: block;
  background: var(--orange-grad);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
  width: min(100%,36rem);
  margin: auto;
  padding: 2.4rem 2rem;
  border-radius: 60px;
  line-height: 1;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: var(--white-color);
  transition: all 0.3s;
}
.form__submit-btn:hover{
  transform: scale(1.05);
}

@media screen and ( max-width:750px){
  .form__title{
    font-size: 3rem;
  }
  .form__body{
    padding: 4rem 2rem 4rem;
  }
  .form__grid{
    gap: 1rem;
  }
  .form__field{
    width: 100%;
  }
  .form__field--full{
    width: 100%;
  }
  #bottom-message{
    min-height: 16rem;
    margin-bottom: 1.2rem;
  }
  .form__privacy-text{
    margin-bottom: 1.2rem;
    font-size: 1rem;
  }
  .form__privacy-text a{
    text-decoration: underline;
    font-weight: 400;
  }
  .form__submit-btn{
    padding: 2.4rem 2rem;
    font-size: 1.8rem;
  }
}
