@charset "UTF-8";
/* ==========================================================================
  lease
========================================================================== */
/* --------------------------------------------------------------------------
  p-ap-new 共通
-------------------------------------------------------------------------- */
/* h2やh3等の共通パーツ的なものがあればここに記載してください */
.heading01 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .heading01 {
    font-size: 6.1538461538vw;
    letter-spacing: 0.05em;
  }
}
.heading01 .blue {
  color: #2193e0;
}
.heading01 .border {
  border-bottom: 5px solid #2193e0;
}
@media screen and (max-width: 640px) {
  .heading01 .border {
    border-bottom: 0.7692307692vw solid #2193e0;
  }
}

.heading02 {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .heading02 {
    font-size: 6.1538461538vw;
    letter-spacing: 0.05em;
  }
}
.heading02 .heading02__sub {
  display: block;
  font-size: 20px;
  font-family: "Quicksand", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #2193e0;
}
@media screen and (max-width: 640px) {
  .heading02 .heading02__sub {
    font-size: 3.5897435897vw;
  }
}
.heading02 .blue {
  color: #2193e0;
}

.page-new img {
  width: 100%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #323232;
  min-width: 1000px;
}
@media screen and (max-width: 640px) {
  body {
    min-width: initial;
  }
}

/* --------------------------------------------------------------------------
  header
-------------------------------------------------------------------------- */
@-webkit-keyframes fixAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fixAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-ap-new-header {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  width: 100%;
}
.p-ap-new-header.is-fix {
  position: fixed;
  top: 0;
  right: 0;
  opacity: 1;
  -webkit-animation: fixAnimation 0.3s forwards;
          animation: fixAnimation 0.3s forwards;
}

.header__logo {
  position: absolute;
  width: 166px;
  height: 59px;
  bottom: -59px;
  left: 35px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__logo:hover {
  opacity: 0.6;
}
@media screen and (max-width: 640px) {
  .header__logo {
    width: 29.7435897436vw;
    height: 10.7692307692vw;
    bottom: -10.7692307692vw;
    left: 5.1282051282vw;
  }
}

.header__contact {
  position: absolute;
  right: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 290px;
  height: 80px;
  border-radius: 0px 0px 0px 20px;
  border: 1px solid #ff9900;
  font-size: 20px;
  font-weight: 700;
  color: white;
  background-color: #ff9900;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .header__contact {
    width: 43.5897435897vw;
    height: 12.8205128205vw;
    padding-left: 2.5641025641vw;
    bottom: -12.8205128205vw;
    border-radius: 0 0 0 2.5641025641vw;
    font-size: 3.5897435897vw;
  }
}
.header__contact:before {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/header-contact01.png);
  width: 30px;
  height: 29px;
  left: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .header__contact:before {
    width: 4.8717948718vw;
    height: 4.358974359vw;
    left: 3.8461538462vw;
  }
}
.header__contact:after {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/header-contact02.png);
  width: 14px;
  height: 8px;
  right: 35px;
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .header__contact:after {
    width: 2.0512820513vw;
    height: 1.0256410256vw;
    right: 3.8461538462vw;
  }
}
.header__contact:hover {
  color: #ff9900;
  background-color: white;
}
.header__contact:hover:before {
  background-image: url(../img/index/header-contact01-2.png);
}
.header__contact:hover:after {
  background-image: url(../img/index/header-contact02-2.png);
}

.wrap {
  background-color: white;
}
.mv {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .mv {
    padding: 15.3846153846vw 5.1282051282vw 10.2564102564vw 5.1282051282vw;
  }
}
.mv:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -350px;
  left: 0;
  width: 100%;
  aspect-ratio: 8/5;
  background-image: url(../img/index/mv-bg@2x.png);
  background-repeat: no-repeat;
  background-position: 50% bottom;
  background-size: cover;
  z-index: 1;
}
@media screen and (max-width: 1320px) {
  .mv:after {
    bottom: -200px;
  }
}
@media screen and (max-width: 640px) {
  .mv:after {
    aspect-ratio: 10/21;
    background-image: url(../img/index/sp/mv-bg-sp@2x.png);
    bottom: 7.6923076923vw;
  }
}

.mv__container {
  position: relative;
  display: grid;
  grid-template-columns: 50% 50%;
  z-index: 2;
}
@media screen and (max-width: 1320px) {
  .mv__container {
    grid-template-columns: 50% 50%;
  }
}
@media screen and (max-width: 640px) {
  .mv__container {
    grid-template-columns: 1fr;
  }
}

.mv-left {
  padding: 100px 15px 0px 15px;
}
@media screen and (max-width: 640px) {
  .mv-left {
    padding: 0;
  }
}

.mv-left__textarea {
  width: 100%;
  max-width: 554px;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .mv-left__textarea {
    max-width: initial;
  }
}

.mv-left__sub {
  width: 100%;
  max-width: 301px;
  margin-left: 15px;
}
@media screen and (max-width: 640px) {
  .mv-left__sub {
    width: 65.3846153846vw;
    max-width: initial;
    margin: auto;
  }
}

.mv-left__heading {
  width: 100%;
  max-width: 334px;
}
@media screen and (max-width: 640px) {
  .mv-left__heading {
    width: 65.1282051282vw;
    max-width: initial;
    margin: auto;
  }
}

.mv-left__img {
  width: 100%;
  max-width: 450px;
  margin-top: 1px;
}
@media screen and (max-width: 640px) {
  .mv-left__img {
    width: 65.1282051282vw;
    margin: auto;
    margin-top: 0.2564102564vw;
  }
}

.mv-left__text {
  width: 100%;
  margin-top: 34px;
}
@media screen and (max-width: 640px) {
  .mv-left__text {
    width: 85.641025641vw;
    margin: auto;
    margin-top: 2.5641025641vw;
  }
}

.mv-left__circlearea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .mv-left__circlearea {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 2.5641025641vw;
       -moz-column-gap: 2.5641025641vw;
            column-gap: 2.5641025641vw;
    margin-top: 2.5641025641vw;
  }
}

.mv-left__circle {
  width: 90px;
  height: 90px;
  line-height: 90px;
  border-radius: 50%;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: white;
  background-color: #ff9900;
}
@media screen and (max-width: 640px) {
  .mv-left__circle {
    width: 17.9487179487vw;
    height: 17.9487179487vw;
    line-height: 17.9487179487vw;
    font-size: 4.1025641026vw;
  }
}
.mv-left__circle .star {
  font-size: 0.5em;
  top: -0.8em;
}

.mv-left__caution {
  margin-top: 15px;
  font-size: 10px;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 640px) {
  .mv-left__caution {
    width: 87.1794871795vw;
    margin: auto;
    margin-top: 2.0512820513vw;
    font-size: 2.5641025641vw;
  }
}
.mv-left__caution .mv-left__sup {
  font-size: 0.5em;
  top: -0.8em;
}

.mv-right {
  width: 100%;
  padding-left: 100px;
}
@media screen and (max-width: 1320px) {
  .mv-right {
    padding-left: 50px;
  }
}
@media screen and (max-width: 640px) {
  .mv-right {
    padding-left: 0;
  }
}

.mv__img {
  width: 100%;
  height: 245px;
}
@media screen and (max-width: 640px) {
  .mv__img {
    height: auto;
    margin-top: 2.5641025641vw;
  }
}
.mv__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
  border-radius: 20px 0 0 20px;
}
@media screen and (max-width: 640px) {
  .mv__img img {
    -o-object-fit: unset;
       object-fit: unset;
    border-radius: 0;
  }
}

.mv__img03 {
  width: 85%;
  margin-left: auto;
}
@media screen and (max-width: 640px) {
  .mv__img03 {
    width: 100%;
  }
}

.effect {
  position: relative;
  margin-top: -280px;
  padding: 0px 15px;
  z-index: 2;
}
@media screen and (max-width: 640px) {
  .effect {
    margin-top: -33.3333333333vw;
    padding: 0 5.1282051282vw;
  }
}

.worries {
  position: relative;
  padding: 80px 15px;
  background-color: #e0f2ff;
}
@media screen and (max-width: 640px) {
  .worries {
    padding: 10.2564102564vw 2.5641025641vw;
  }
}
.worries:after {
  content: "";
  display: block;
  background-image: url(../img/index/worries-bg@2x.png);
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: auto;
  aspect-ratio: 8/3;
  bottom: -30%;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .worries:after {
    background-image: url(../img/index/sp/worries-bg-sp@2x.png);
    background-size: contain;
    height: 44.1025641026vw;
    bottom: -44.1025641026vw;
  }
}

.worries__inner {
  position: relative;
  width: 100%;
  z-index: 2;
}

.worries__heading .heading01 {
  text-align: center;
  line-height: 1.8;
}

.worries__img {
  width: 100%;
  max-width: 978px;
  margin: auto;
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .worries__img {
    margin-top: 7.6923076923vw;
  }
}

.resolve {
  position: relative;
  padding: 0px 15px 170px 15px;
  z-index: 2;
}
@media screen and (max-width: 640px) {
  .resolve {
    overflow: hidden;
    padding: 4.6153846154vw 5.1282051282vw 17.9487179487vw 5.1282051282vw;
  }
}

.resolve-bg__top {
  position: absolute;
  width: 452px;
  height: 419px;
  right: -100px;
  top: 650px;
  z-index: -1;
}
@media screen and (max-width: 640px) {
  .resolve-bg__top {
    width: 46.4102564103vw;
    height: 35.8974358974vw;
    top: 146.1538461538vw;
    right: -21.7948717949vw;
  }
}

.resolve-bg__middle {
  position: absolute;
  width: 422px;
  height: 419px;
  left: -80px;
  top: 1200px;
  z-index: -1;
}
@media screen and (max-width: 640px) {
  .resolve-bg__middle {
    width: 42.3076923077vw;
    height: 37.9487179487vw;
    top: 264.1025641026vw;
    left: -19.2307692308vw;
  }
}

.resolve-box {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 50px 15px 100px 15px;
  border-radius: 40px;
  background-color: white;
}
@media screen and (max-width: 640px) {
  .resolve-box {
    padding: 10.2564102564vw 3.8461538462vw;
    border-radius: 5.1282051282vw;
  }
}

.resolve-box__sub {
  position: absolute;
  width: 362px;
  height: 65px;
  right: 0;
  left: 0;
  top: -25px;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .resolve-box__sub {
    width: 49.2307692308vw;
    height: 10.2564102564vw;
    top: -3.8461538462vw;
  }
}

.resolve-box__heading {
  width: 100%;
  max-width: 805px;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .resolve-box__heading {
    width: 69.4871794872vw;
  }
}

.resolve-set {
  width: 100%;
  max-width: 806px;
  margin: auto;
  margin-top: 80px;
}
@media screen and (max-width: 640px) {
  .resolve-set {
    margin-top: 10.2564102564vw;
    padding: 0 6.4102564103vw;
  }
}
.resolve-set .star {
  font-size: 0.5em;
  top: -0.8em;
}
.resolve-set.resolve-set01 {
  margin-top: -60px;
}
@media screen and (max-width: 640px) {
  .resolve-set.resolve-set01 {
    margin-top: 0;
  }
}

.resolve-set__heading {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 80px;
  margin: auto;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 640px) {
  .resolve-set__heading {
    padding-left: 12.8205128205vw;
    font-size: 5.1282051282vw;
    margin: 0;
  }
}
.resolve-set__heading:before {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/resolve-heading-icon01@2x.png);
  width: 60px;
  height: 60px;
  left: 0px;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .resolve-set__heading:before {
    width: 9.7435897436vw;
    height: 9.7435897436vw;
  }
}
.resolve-set__heading.resolve-heading02:before {
  background-image: url(../img/index/resolve-heading-icon02@2x.png);
}
.resolve-set__heading.resolve-heading03:before {
  background-image: url(../img/index/resolve-heading-icon03@2x.png);
}

.resolve-set__sub {
  margin-top: 40px;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .resolve-set__sub {
    margin-top: 5.1282051282vw;
    font-size: 4.6153846154vw;
    text-align: left;
  }
}

.resolve-set__text01 {
  margin-top: 20px;
  text-align: center;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .resolve-set__text01 {
    margin-top: 2.5641025641vw;
    font-size: 3.5897435897vw;
    text-align: left;
  }
}

.resolve-set__text02 {
  margin-top: 20px;
  text-align: center;
  font-size: 10px;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}
.resolve-set__text02 .resolve-text-sup {
  font-size: 0.5em;
  top: -0.8em;
}
@media screen and (max-width: 640px) {
  .resolve-set__text02 {
    margin-top: 2.5641025641vw;
    font-size: 2.5641025641vw;
    text-align: left;
  }
}

.resolve-set__img {
  width: 100%;
  margin-top: 15px;
}
@media screen and (max-width: 640px) {
  .resolve-set__img {
    margin-top: 2.5641025641vw;
  }
}

.resolve-set__caution {
  margin-top: 80px;
  font-size: 10px;
  line-height: 1.5;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media screen and (max-width: 640px) {
  .resolve-set__caution {
    margin-top: 10.2564102564vw;
    font-size: 2.5641025641vw;
  }
}
.resolve-set__caution.mt5 {
  margin-top: 5px;
}
@media screen and (max-width: 640px) {
  .resolve-set__caution.mt5 {
    margin-top: 1.2820512821vw;
  }
}

.resolve-set__text03 {
  margin-top: 35px;
  font-size: 16px;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .resolve-set__text03 {
    margin-top: 1.2820512821vw;
    font-size: 3.5897435897vw;
    text-align: left;
  }
}

.resolve-set__caution02 {
  margin-top: 20px;
  font-size: 10px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .resolve-set__caution02 {
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 2.5641025641vw;
    font-size: 2.5641025641vw;
    line-height: 1.5;
  }
}

.resolve-block {
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  padding-top: 10px;
}
@media screen and (max-width: 640px) {
  .resolve-block {
    padding-top: 1.2820512821vw;
  }
}

.resolve-block__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.resolve-block__inner {
  width: 32%;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  .resolve-block__inner {
    width: 31%;
    font-size: 2.5641025641vw;
  }
}

.resolve-block__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 26px;
  margin-top: 10px;
  border-radius: 4px;
  font-weight: 700;
  border: 1px solid #323232;
}
@media screen and (max-width: 640px) {
  .resolve-block__title {
    height: 6.1538461538vw;
    margin-top: 1.2820512821vw;
    border-radius: 1.0256410256vw;
    font-size: 3.0769230769vw;
  }
}

.resolve-block__caution {
  margin-top: 8px;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .resolve-block__caution {
    margin-top: 1.2820512821vw;
  }
}

.resolve-block__sup {
  font-size: 0.5em;
  top: -0.8em;
}

.resolve-more {
  width: 100%;
  margin-top: 80px;
  border: 2px solid #2193e0;
  border-radius: 20px;
  padding: 20px;
}
@media screen and (max-width: 640px) {
  .resolve-more {
    margin-top: 10.2564102564vw;
    border: 0.5128205128vw solid #2193e0;
    border-radius: 5.1282051282vw;
    padding: 5.1282051282vw;
  }
}

.resolve-more__text01 {
  text-align: center;
  font-size: 24px;
  letter-spacing: 0.01em;
  font-weight: 700;
  color: #2193e0;
}
@media screen and (max-width: 640px) {
  .resolve-more__text01 {
    font-size: 4.6153846154vw;
  }
}

.resolve-more__text02 {
  margin-top: 10px;
  text-align: center;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .resolve-more__text02 {
    text-align: left;
    margin-top: 2.5641025641vw;
    font-size: 3.5897435897vw;
  }
}

.resolve-more__text03 {
  margin-top: 10px;
  font-size: 10px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .resolve-more__text03 {
    text-align: left;
    margin-top: 2.5641025641vw;
    font-size: 2.5641025641vw;
    text-indent: -1em;
    padding-left: 1em;
  }
}

.resolve-bg__bottom {
  position: absolute;
  width: 459px;
  height: 439px;
  right: -110px;
  bottom: 33px;
  z-index: -1;
}
@media screen and (max-width: 640px) {
  .resolve-bg__bottom {
    width: 49.2307692308vw;
    height: 37.4358974359vw;
    bottom: 7.6923076923vw;
    right: -25.641025641vw;
  }
}

.voice {
  position: relative;
  padding: 60px 15px;
  overflow: hidden;
  background-color: #e0f2ff;
}
@media screen and (max-width: 640px) {
  .voice {
    padding: 10.2564102564vw 5.1282051282vw;
  }
}
.voice:before {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/voice-circle.png);
  width: 516px;
  height: 516px;
  top: -280px;
  left: -110px;
}
@media screen and (max-width: 640px) {
  .voice:before {
    width: 73.8461538462vw;
    height: 73.8461538462vw;
    top: -17.9487179487vw;
    left: -29.4871794872vw;
  }
}
.voice:after {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/voice-circle.png);
  width: 516px;
  height: 516px;
  bottom: -280px;
  right: -110px;
}
@media screen and (max-width: 640px) {
  .voice:after {
    width: 73.8461538462vw;
    height: 73.8461538462vw;
    bottom: -17.9487179487vw;
    right: -29.4871794872vw;
  }
}

.voice__inner {
  position: relative;
  width: 100%;
  max-width: 980px;
  margin: auto;
  z-index: 2;
}

.voice__container {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px;
  margin-top: 24px;
}
@media screen and (max-width: 640px) {
  .voice__container {
    grid-template-columns: 1fr;
    row-gap: 5.1282051282vw;
    margin-top: 10.2564102564vw;
  }
}

.voice-box__name {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #2193e0;
}
@media screen and (max-width: 640px) {
  .voice-box__name {
    font-size: 3.5897435897vw;
  }
}

.voice-box__commentarea {
  position: relative;
  width: 100%;
  margin-top: 10px;
  padding-bottom: 20px;
}
@media screen and (max-width: 640px) {
  .voice-box__commentarea {
    margin-top: 2.5641025641vw;
    padding-bottom: 5.1282051282vw;
  }
}
.voice-box__commentarea:after {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  width: 180px;
  height: 177px;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 640px) {
  .voice-box__commentarea:after {
    width: 28.4615384615vw;
    height: 30.2564102564vw;
  }
}
.voice-box__commentarea.person01:after {
  background-image: url(../img/index/voice-person01@2x.png);
}
.voice-box__commentarea.person02:after {
  background-image: url(../img/index/voice-person02@2x.png);
}

.voice-box__comment {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 300px;
  height: 200px;
  padding: 0px 20px;
  border-radius: 20px;
  background-color: white;
}
@media screen and (max-width: 640px) {
  .voice-box__comment {
    display: block;
    width: 61.5384615385vw;
    height: auto;
    padding: 2.5641025641vw 5.1282051282vw;
    border-radius: 5.1282051282vw;
  }
}
.voice-box__comment:after {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/voice-comment.png);
  right: -24px;
  bottom: 50px;
  width: 24px;
  height: 28px;
}
@media screen and (max-width: 640px) {
  .voice-box__comment:after {
    right: -4.6153846154vw;
    bottom: 6.4102564103vw;
    width: 4.6153846154vw;
    height: 5.3846153846vw;
  }
}

.voice-box__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .voice-box__text {
    font-size: 3.5897435897vw;
    line-height: 1.8;
  }
}

.voice__caution {
  margin-top: 16px;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .voice__caution {
    margin-top: 3.0769230769vw;
    font-size: 2.5641025641vw;
  }
}

.feature {
  position: relative;
  padding: 0px 15px;
  padding-top: 180px;
  padding-bottom: 180px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .feature {
    padding: 0 5.1282051282vw;
    padding-top: 15.3846153846vw;
    padding-bottom: 15.3846153846vw;
  }
}

.feature__inner {
  position: relative;
  z-index: 2;
}

.feature__bg01 {
  position: absolute;
  width: 561px;
  height: 349px;
  left: -150px;
  top: 400px;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .feature__bg01 {
    width: 54.6153846154vw;
    height: 33.8461538462vw;
    left: -31.0256410256vw;
    top: 64.1025641026vw;
  }
}

.feature__bg02 {
  position: absolute;
  width: 431px;
  height: 422px;
  right: 50px;
  bottom: 50px;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .feature__bg02 {
    width: 41.0256410256vw;
    height: 41.0256410256vw;
    right: -12.8205128205vw;
    bottom: 0vw;
  }
}

.feature__container {
  display: grid;
  grid-template-columns: 295px 289px;
  -webkit-column-gap: 100px;
     -moz-column-gap: 100px;
          column-gap: 100px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  max-width: 980px;
  margin: auto;
  margin-top: 50px;
}
@media screen and (max-width: 640px) {
  .feature__container {
    grid-template-columns: 31.5384615385vw 31.5384615385vw;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    margin-top: 10.2564102564vw;
  }
}

.feature-table {
  border-collapse: separate;
  width: 100%;
  max-width: 980px;
  margin: auto;
  margin-top: 30px;
  border-radius: 20px;
}
@media screen and (max-width: 640px) {
  .feature-table {
    margin-top: 3.8461538462vw;
    border-radius: 2.5641025641vw;
  }
}
.feature-table th {
  height: 80px;
  padding: 0 0.7692307692vw;
  border: 1px solid #a0a0a0;
  vertical-align: middle;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  background-color: white;
}
@media screen and (max-width: 640px) {
  .feature-table th {
    height: 20.5128205128vw;
    font-size: 3.0769230769vw;
  }
}
.feature-table th.border-radius01 {
  border-radius: 0px 0px 0px 20px;
}
@media screen and (max-width: 640px) {
  .feature-table th.border-radius01 {
    border-radius: 0 0 0 2.5641025641vw;
  }
}
.feature-table td {
  height: 80px;
  border: 1px solid #a0a0a0;
  vertical-align: middle;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  background-color: white;
}
@media screen and (max-width: 640px) {
  .feature-table td {
    padding: 0 1.2820512821vw;
    height: 20.5128205128vw;
    font-size: 3.0769230769vw;
  }
}
.feature-table td.border-radius02 {
  border-radius: 0px 0px 20px 0px;
}
@media screen and (max-width: 640px) {
  .feature-table td.border-radius02 {
    border-radius: 0 0 2.5641025641vw 0;
  }
}

.feature-table .feature-table__title {
  height: 104px;
  border: none;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: white;
  background-color: #2193e0;
}
@media screen and (max-width: 640px) {
  .feature-table .feature-table__title {
    height: 19.7435897436vw;
    font-size: 3.5897435897vw;
  }
}
.feature-table .feature-table__title:first-child {
  border-radius: 20px 0px 0px 0px;
}
@media screen and (max-width: 640px) {
  .feature-table .feature-table__title:first-child {
    border-radius: 2.5641025641vw 0 0 0;
  }
}
.feature-table .feature-table__title:last-child {
  border-radius: 0px 20px 0px 0px;
}
@media screen and (max-width: 640px) {
  .feature-table .feature-table__title:last-child {
    border-radius: 0 2.5641025641vw 0 0;
  }
}
.feature-table .feature-table__title:nth-child(even) {
  background-color: #379ee3;
}

.feature-table .feature-table__sub {
  display: block;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .feature-table .feature-table__sub {
    font-size: 2.5641025641vw;
    letter-spacing: 0.05em;
  }
}

.feature-table .feature-table__caution {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.3;
}
@media screen and (max-width: 640px) {
  .feature-table .feature-table__caution {
    margin-top: 1.2820512821vw;
    font-size: 2.0512820513vw;
  }
}

.feature-table .feature-table__icon {
  width: 30px;
}
@media screen and (max-width: 640px) {
  .feature-table .feature-table__icon {
    width: 7.6923076923vw;
  }
}

.lineup {
  position: relative;
  margin-top: 300px;
  background-color: #e0f2ff;
}
@media screen and (max-width: 640px) {
  .lineup {
    margin-top: 51.2820512821vw;
  }
}
.lineup:before {
  content: "";
  display: block;
  background-image: url(../img/index/lineup-bg@2x.png);
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: auto;
  aspect-ratio: 8/3;
  top: -150px;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .lineup:before {
    background-image: url(../img/index/sp/lineup-bg-sp@2x.png);
    background-size: cover;
    top: -25.641025641vw;
  }
}

.lineup__inner {
  position: relative;
  z-index: 2;
  top: -220px;
}
@media screen and (max-width: 640px) {
  .lineup__inner {
    top: -38.4615384615vw;
  }
}

.lineup-set {
  width: 100%;
  max-width: 980px;
  margin: auto;
  margin-top: 80px;
}
@media screen and (max-width: 640px) {
  .lineup-set {
    margin-top: 7.6923076923vw;
  }
}

.lineup-set__sub {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #ff9900;
}
@media screen and (max-width: 640px) {
  .lineup-set__sub {
    font-size: 4.1025641026vw;
  }
}
.lineup-set__sub:before {
  content: "";
  position: absolute;
  background-color: #ff9900;
  width: 2px;
  height: 28px;
  top: 0;
  bottom: 0;
  left: -15px;
  margin: auto;
  -webkit-transform: rotate(315deg);
          transform: rotate(315deg);
}
@media screen and (max-width: 640px) {
  .lineup-set__sub:before {
    width: 0.5128205128vw;
    height: 5.1282051282vw;
    left: -3.8461538462vw;
  }
}
.lineup-set__sub:after {
  content: "";
  position: absolute;
  background-color: #ff9900;
  width: 2px;
  height: 28px;
  top: 0;
  bottom: 0;
  right: -15px;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 640px) {
  .lineup-set__sub:after {
    width: 0.5128205128vw;
    height: 5.1282051282vw;
    right: -3.8461538462vw;
  }
}

.lineup-set__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  margin-top: 20px;
  border-radius: 23px;
  padding: 5px 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: white;
  background-color: #2193e0;
}
@media screen and (max-width: 640px) {
  .lineup-set__heading {
    margin-top: 3.0769230769vw;
    border-radius: 5.1282051282vw;
    padding: 1.2820512821vw 3.0769230769vw;
    font-size: 4.6153846154vw;
  }
}

.lineup-set__text {
  margin-top: 15px;
  position: relative;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .lineup-set__text {
    margin-top: 3.0769230769vw;
    font-size: 4.1025641026vw;
  }
}
.lineup-set__text:after {
  content: "";
  position: absolute;
  width: 96px;
  height: 4px;
  right: 0;
  left: 0;
  bottom: -10px;
  margin: auto;
  background-color: #2193e0;
}
@media screen and (max-width: 640px) {
  .lineup-set__text:after {
    width: 24.6153846154vw;
    height: 0.7692307692vw;
    bottom: -2.5641025641vw;
  }
}

.lineup-set__container {
  margin-top: 40px;
  display: grid;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 640px) {
  .lineup-set__container {
    margin-top: 7.6923076923vw;
    row-gap: 4.1025641026vw;
  }
}
.lineup-set__container.container-2col {
  grid-template-columns: 360px 360px;
}
@media screen and (max-width: 640px) {
  .lineup-set__container.container-2col {
    grid-template-columns: 1fr;
  }
}
.lineup-set__container.container-3col {
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 640px) {
  .lineup-set__container.container-3col {
    grid-template-columns: 1fr;
    row-gap: 10.2564102564vw;
  }
}

@media screen and (max-width: 640px) {
  .lineup-set__item {
    width: 61.5384615385vw;
    margin: auto;
  }
}
@media screen and (max-width: 640px) {
  .lineup-set__item.set-item02 {
    width: 53.8461538462vw;
  }
}

.lineup-set__img.set-img02 {
  height: 279px;
}
@media screen and (max-width: 640px) {
  .lineup-set__img.set-img02 {
    height: auto;
  }
}
.lineup-set__img.set-img02 img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 640px) {
  .lineup-set__img.set-img02 img {
    height: auto;
  }
}
.lineup-set__img.set-img02 .lineup-set__cap {
  font-weight: 400;
  text-align: left;
  font-size: 18px;
}
@media screen and (max-width: 640px) {
  .lineup-set__img.set-img02 .lineup-set__cap {
    margin-top: 7.6923076923vw;
    font-size: 3.5897435897vw;
  }
}
@media screen and (max-width: 640px) {
  .lineup-set__img.set-img02-2 picture {
    display: block;
    width: 34.8717948718vw;
    margin: auto;
  }
}

.lineup-set__cap {
  margin-top: 5px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.lineup-set__cap .lineup-color {
  font-size: 14px;
}
@media screen and (max-width: 640px) {
  .lineup-set__cap .lineup-color {
    font-size: 2.5641025641vw;
  }
}
@media screen and (max-width: 640px) {
  .lineup-set__cap {
    margin-top: 1.2820512821vw;
    font-size: 4.1025641026vw;
  }
}

.lineup-set__itemtext {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .lineup-set__itemtext {
    font-size: 2.5641025641vw;
  }
}
.lineup-set__itemtext.itemtext02 {
  margin-top: 60px;
}
@media screen and (max-width: 640px) {
  .lineup-set__itemtext.itemtext02 {
    margin-top: 2.5641025641vw;
  }
}

.lineup__btn {
  display: block;
  position: relative;
  width: 320px;
  height: 60px;
  line-height: 60px;
  margin: auto;
  margin-top: 80px;
  border: 1px solid black;
  border-radius: 10px;
  text-align: center;
  font-size: 16px;
  color: black;
  background-color: white;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.lineup__btn:hover {
  border: 1px solid #2193e0;
  color: #2193e0;
}
.lineup__btn:hover:after {
  -webkit-transform: translateX(80%);
          transform: translateX(80%);
  background-image: url(../img/index/lineup-btn01-2@2x.png);
}
@media screen and (max-width: 640px) {
  .lineup__btn {
    width: 82.0512820513vw;
    height: 15.3846153846vw;
    line-height: 15.3846153846vw;
    margin-top: 10.2564102564vw;
    border-radius: 2.5641025641vw;
    font-size: 4.1025641026vw;
  }
}
.lineup__btn:after {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/lineup-btn01@2x.png);
  width: 8px;
  height: 14px;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .lineup__btn:after {
    width: 2.0512820513vw;
    height: 3.5897435897vw;
    right: 7.6923076923vw;
  }
}

.contact {
  position: relative;
  margin-top: -100px;
  padding: 50px 15px 30px 15px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 91, 172)), to(rgb(46, 167, 224)));
  background: linear-gradient(90deg, rgb(0, 91, 172), rgb(46, 167, 224));
  z-index: 2;
}
@media screen and (max-width: 640px) {
  .contact {
    margin-top: -25.641025641vw;
    padding: 15.3846153846vw 10.2564102564vw;
  }
}

.contact__container {
  display: grid;
  grid-template-columns: 387px 450px;
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  place-items: center;
}
@media screen and (max-width: 640px) {
  .contact__container {
    grid-template-columns: 1fr;
    row-gap: 2.5641025641vw;
  }
}

.contact-left__word {
  width: 100%;
}

.contact-left__logo {
  width: 100%;
}

.contact-right {
  width: 100%;
}

.contact-right__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
  height: 90px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 10px;
  border: 2px solid #ff9900;
  color: white;
  background-color: #ff9900;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.contact-right__btn:hover {
  color: #ff9900;
  background-color: white;
}
.contact-right__btn:hover:before {
  background-image: url(../img/index/contact-btn01-2.png);
}
.contact-right__btn:hover:after {
  background-image: url(../img/index/contact-btn02-2.png);
}
@media screen and (max-width: 640px) {
  .contact-right__btn {
    text-align: center;
    height: 22.3076923077vw;
    font-size: 5.1282051282vw;
    border-radius: 2.5641025641vw;
  }
}
.contact-right__btn:before {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/contact-btn01.png);
  width: 30px;
  height: 29px;
  top: 0;
  bottom: 0;
  left: 30px;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .contact-right__btn:before {
    width: 7.6923076923vw;
    height: 7.4358974359vw;
    left: 5.1282051282vw;
  }
}
.contact-right__btn:after {
  display: block;
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/index/contact-btn02.png);
  width: 14px;
  height: 9px;
  top: 0;
  bottom: 0;
  right: 30px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 640px) {
  .contact-right__btn:after {
    width: 3.5897435897vw;
    height: 2.3076923077vw;
    right: 5.1282051282vw;
  }
}

/* --------------------------------------------------------------------------
  footer
-------------------------------------------------------------------------- */
.p-ap-new-footer .footer__inner {
  padding: 10px 0px;
  text-align: center;
  font-size: 16px;
  color: #666666;
  background-color: #f2f2f2;
}
@media screen and (max-width: 640px) {
  .p-ap-new-footer .footer__inner {
    padding: 2.5641025641vw 0;
    font-size: 4.1025641026vw;
  }
}

/*==============================================================
# fadeIn
==============================================================*/
.fadeIn_up {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  -webkit-transition: 1s;
  transition: 1s;
}

.fadeIn_up.is-show {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

/* --------------------------------------------------------------------------
  p-ap-new-hero 記入例
-------------------------------------------------------------------------- */