@charset "UTF-8";
.main {
  position: relative;
}

.main .kv {
  position: absolute;
  top: 0; 
  right: 0;
  width: 760px;
}

.main h1 {
  position: absolute;
  top: 16.7%;
  left: 13.7%;
  z-index: 1000; 
  width: 18.6%;
}

.main .bg {
  position: absolute;
  bottom: 0; 
  left: 0;
  width: 614px;
  height: 180px;
}

.main .bg img {
  position: absolute;
  top: 0; 
  left: 0;
}

.main .bg h2 {
  position: absolute;
  top: 45px; 
  left: 136px;
  letter-spacing: .26em;
  font-weight: 200;
  font-size: 36px;
}

.main .bg h3 {
  position: absolute;
  top: 96px; 
  left: 136px;
  letter-spacing: .20em;
  font-size: 18px;
}

.guide_navi {
  position: relative;
}

.guide_navi ul {
  position: absolute;
  top: 115px;
  left: 300px;
  margin: 0 auto; 
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
}

.guide_navi ul li {
  display: inline-block; 
  -webkit-box-sizing: border-box; 
          box-sizing: border-box;
  margin: 0 30px;
  letter-spacing: .05em;
}

.guide_navi ul li a {
  position: relative; 
  display: block;
  padding-right: 26px;
}

.guide_navi ul li a img {
  position: absolute;
  top: 5px; 
  right: 0;
}

.guide_navi ul li a:hover img {
  top: 10px;
  -webkit-transition: all .5s;
  transition: all .5s;
}

.guide_navi .mirable-plus-logo {
  position: absolute;
  top: 243px; 
  left: 500px;
  width: 300px;
}

.feature {
  position: relative;
}

.feature .bg {
  position: absolute;
  top: 0; 
  right: 0;
  width: 988px;
}

.feature .bd {
  position: absolute;
  top: 0; 
  left: 115px;
  width: 12px;
}

.feature .text {
  position: absolute;
  top: 304px;
  left: 200px;
  width: 440px;
  text-align: left;
}

.feature .text h2 {
  letter-spacing: .2em; 
  font-size: 39px;
  line-height: 1.65em;
}

.feature .text p {
  margin-top: 30px;
  letter-spacing: .1em;
  font-size: 13px;
  line-height: 2.46em;
}

.feature .movie {
  position: absolute;
  top: 318px;
  left: 700px;
  width: 462px;
  background-color: #fff;
}

/* イメージ画像 1 */
.space-image-1 {
  position: relative;
}

.space-image-1 .image-1 {
  float: left; 
  width: 650px;
}

.space-image-1 .image-2 {
  float: right;
  margin-top: 74px; 
  width: 650px;
}

/* アプローチ */
.approache {
  position: relative;
}

.approache .bd {
  position: absolute;
  top: 62px; 
  right: 107px;
  width: 12px;
}

.approache .text {
  position: absolute;
  top: 65px;
  left: 354px;
  width: 560px;
  text-align: center;
}

.approache .text h2 {
  letter-spacing: .2em; 
  font-size: 32px;
  line-height: 1.55em;
}

.approache .text p {
  margin-top: 23px;
  letter-spacing: .1em;
  font-size: 13px;
  line-height: 2.70em;
}

.approache .point {
  position: absolute;
  top: 342px; 
  left: 133px;
  width: 1032px;
}

.approache .point .point-1,
.approache .point .point-2,
.approache .point .point-3,
.approache .point .point-4 {
  float: left;
  width: 245px;
}

.approache .point .point-1 {
  margin-top: 0; 
  margin-left: 0;
}

.approache .point .point-2 {
  margin-top: 70px; 
  margin-left: 17px;
}

.approache .point .point-3 {
  margin-top: 0; 
  margin-left: 17px;
}

.approache .point .point-4 {
  margin-top: 70px; 
  margin-left: 18px;
}

/* アプローチ 01 */
.approache-01 {
  position: relative;
}

.approache-01 .bg {
  position: absolute;
  top: 164px;
  left: 0;
  z-index: -1; 
  width: 963px;
}

.approache-01 .icon {
  position: absolute;
  top: .0%; 
  left: 1092px;
  width: 86px;
}

.approache-01 .bd {
  position: absolute;
  top: 13px; 
  left: 105px;
  width: 12px;
}

.approache-01 .image {
  position: absolute;
  top: 1.7%; 
  left: 11.8%;
  width: 36.3%;
}

.approache-01 .bt {
  position: absolute;
  top: 314px; 
  left: 193px;
  width: 385px;
  height: auto;
}

.approache-01 .text {
  position: absolute;
  top: 12.0%;
  left: 54.5%;
  width: 48.2%;
  text-align: left;
}

.approache-01 .text h2 {
  letter-spacing: .2em; 
  font-size: 33px;
  line-height: 1.55em;
}

.approache-01 .text p {
  margin-top: 23px;
  padding-left: 1em; 
  width: 90%;
  letter-spacing: .025em;
  font-size: 14px;
  line-height: 2.50em;
}

.approache-01 .bt-2 {
  position: absolute;
  top: 428px; 
  left: 711px;
  width: 478px;
}

/* アプローチ 02 */
.approache-02 {
  position: relative;
}

.approache-02 .icon {
  position: absolute;
  top: 0; 
  left: 112px;
  width: 90px;
}

.approache-02 .bg {
  position: absolute;
  top: 120px;
  right: 0;
  z-index: -1; 
  width: 963px;
}

.approache-02 .bd {
  position: absolute;
  top: 8px; 
  right: 107px;
  width: 12px;
}

.approache-02 .image {
  position: absolute;
  top: 10px; 
  left: 650px;
  width: 501px;
}

.approache-02 .text {
  position: absolute;
  top: 27.2%;
  left: 8.6%;
  width: 40.2%;
  text-align: left;
}

.approache-02 .text h2 {
  letter-spacing: .2em; 
  font-size: 33px;
  line-height: 1.55em;
}

.approache-02 .text p {
  margin-top: 33px;
  padding-left: 1.5em; 
  width: 77%;
  letter-spacing: .025em;
  font-size: 14px;
  line-height: 2.40em;
}

/* イメージ画像 2 */
.space-image-2 .image {
  float: right;
  margin-right: 100px; 
  width: 586px;
}

/* アプローチ 03 */
.approache-03 {
  position: relative;
}

.approache-03 .icon {
  position: absolute;
  top: 104px; 
  left: 1077px;
  width: 100px;
}

.approache-03 .bg {
  position: absolute;
  top: -129px;
  left: 0;
  z-index: -1; 
  width: 963px;
}

.approache-03 .bd {
  position: absolute;
  top: 75px; 
  left: 105px;
  width: 12px;
}

.approache-03 .graph {
  position: absolute;
  top: 81px; 
  left: 145px;
  width: 557px;
}

.approache-03 .text {
  position: absolute;
  top: 220px;
  left: 775px;
  width: 400px;
  text-align: left;
}

.approache-03 .text h2 {
  word-break: keep-all; 
  letter-spacing: .21em;
  font-size: 33px;
}

.approache-03 .text p {
  margin-top: 2.2em;
  padding-left: 6px;
  width: 85%;
  font-size: 14px;
  line-height: 2.25em;
}

.approache-04 {
  position: relative;
}

.approache-04 .icon {
  position: absolute;
  top: 138px; 
  left: 120px;
  width: 90px;
}

.approache-04 .bg {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1; 
  width: 963px;
}

.approache-04 .bd {
  position: absolute;
  top: 145px; 
  right: 106px;
  width: 12px;
}

.approache-04 .graph {
  position: absolute;
  top: 145px; 
  left: 610px;
  width: 556px;
}

.approache-04 .text {
  position: absolute;
  top: 260px;
  left: 122px;
  width: 500px;
  text-align: left;
}

.approache-04 .text h2 {
  letter-spacing: .21em; 
  font-size: 33px;
}

.approache-04 .text p {
  margin-top: 40px;
  padding-left: 15px;
  width: 85%;
  font-size: 14px;
  line-height: 2.25em;
}

.approache-04 .text p .link_external {
  text-decoration: underline;
}

.approache-04 .text p .link_external::after {
  display: inline-block;
  margin: 0 0 0 3px; 
  width: 12px;
  height: 9px;
  background: url("../images/icn_link.svg") no-repeat;
  background-size: cover;
  content: "";
}

.approache-04 .text p .link_external:hover {
  text-decoration: none;
}

/* イメージ画像 */
.space-image-3 {
  position: relative;
}

.space-image-3 .image {
  margin: 0 auto; 
  width: 872px;
}

/* ANDMORE */
.andomore {
  position: relative;
}

.andomore .bg {
  position: absolute;
  top: 478px; 
  left: 225px;
  width: 850px;
}

.andomore .bd {
  position: absolute;
  top: 93px; 
  left: 105px;
  width: 12px;
}

.andomore .carousel {
  position: absolute;
  top: 144px;
  left: 150px;
  width: 1000px;
  height: 400px;
  pointer-events: all;
}

.andomore .carousel .owl-carousel {
  overflow: hidden;
}

.andomore .carousel .slide {
  margin-left: 34px; 
  width: 600px;
}

.andomore .carousel .customPrevBtn {
  position: absolute;
  top: 174px;
  left: 160px;
  width: 11px;
  cursor: pointer;
}

.andomore .carousel .customNextBtn {
  position: absolute;
  top: 174px;
  right: 160px;
  width: 11px;
  cursor: pointer;
}

.andomore .carousel .customPrevBtn-Hit {
  position: absolute;
  top: 174px;
  left: 160px;
  z-index: 100; 
  width: 11px;
  opacity: .01;
  cursor: pointer;
}

.andomore .carousel .customNextBtn-Hit {
  position: absolute;
  top: 174px;
  right: 160px;
  z-index: 100; 
  width: 11px;
  opacity: .01;
  cursor: pointer;
}

.andomore .carousel .owl-carousel .slide-3 {
  position: relative;
}

.andomore .carousel .owl-carousel .slide .text {
  margin-top: 2em; 
  width: 100%;
  text-align: center;
}

.andomore .carousel .owl-carousel .slide .text h2 {
  text-align: center; 
  letter-spacing: .1em;
  font-size: 30px;
}

.andomore .carousel .owl-carousel .slide .text p {
  margin: 15px auto 0;
  width: 85%;
  text-align: left; 
  font-size: 14px;
  line-height: 2.0em;
}

.andomore .carousel .owl-carousel .slide .text h2 a {
  text-decoration: underline;
}

.andomore .carousel .owl-carousel .slide .text h2 a:hover {
  text-decoration: none;
}

.andomore .carousel .owl-carousel .slide .text .second_link {
  margin-top: 1em; 
  text-align: center;
}

/* User's Voice */
.voice {
  position: relative;
  padding-top: 70px; 
  background-color: #f0fafc;
}

.voice .bd {
  position: absolute;
  top: -30px; 
  right: 107px;
  width: 12px;
}

.voice .text {
  position: relative;
  z-index: 1; 
  margin: 0 auto 30px;
  width: 600px;
  text-align: center;
}

.voice .text h2 {
  letter-spacing: .25em; 
  font-size: 36px;
}

.voice .text p {
  margin-top: 20px;
  font-size: 13px;
}

.voice .voice_wrap {
  position: relative;
  height: 500px;
}

.voice .voice-list {
  position: absolute;
}

.voice .voice-1 {
  top: 0; 
  left: 126px;
  width: 344px;
}

.voice .voice-2 {
  top: 0; 
  left: 486px;
  width: 340px;
}

.voice .voice-3 {
  top: 0; 
  left: 841px;
  width: 341px;
}

.voice .voice-4 {
  top: 249px; 
  left: 303px;
  width: 343px;
}

.voice .voice-5 {
  top: 249px; 
  left: 662px;
  width: 342px;
}

.voice .note {
  margin-top: 20px;
  text-align: center;
  font-size: 13px;
}

@media screen and (max-width: 640px) {
  .main .kv {
    position: relative; 
    width: 100%;
  }
  .main h1 {
    position: absolute;
    top: -16.5vw; 
    left: 5.8%;
    width: 29.6%;
  }
  .main .bg {
    position: absolute;
    top: 87.5%;
    left: 0;
    z-index: 1; 
    width: 60.8%;
    height: auto;
  }
  .main .bg h2 {
    top: 20%;
    left: 8.7%;
    letter-spacing: 0; 
    font-size: 5.9vw;
  }
  .main .bg h3 {
    top: 90%; 
    left: 8.7%;
    font-size: 3.0vw;
  }
  .guide_navi ul {
    display: none;
  }
  .guide_navi .mirable-plus-logo {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 90px auto 55px; 
    width: 53.8%;
  }
  .feature .bg {
    position: absolute; 
    width: 80%;
  }
  .feature .bd {
    left: 4.5%; 
    width: 3.2%;
  }
  .feature .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 1em; 
    width: 80%;
  }
  .feature .text h2 {
    padding-top: 6.3em; 
    letter-spacing: .2em;
    font-size: 6.5vw;
    line-height: 1.65em;
  }
  .feature .text p {
    /*リード文*/
    margin-top: .5em;
    font-size: 3.5vw;
    line-height: 2.7em;
  }
  .feature .movie {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 0 auto;
    width: 80%;
  }
  /* イメージ画像 1 */
  .space-image-1 {
    position: relative;
    margin: 80px auto;
  }
  .space-image-1 .image-1 {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    width: 74.6%;
  }
  .space-image-1 .image-2 {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0; 
    width: 74.6%;
  }
  /* アプローチ */
  .approache .bd {
    position: absolute;
    top: 0; 
    right: 4.5%;
    width: 3.2%;
  }
  .approache .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 1em; 
    width: 80%;
  }
  .approache .text h2 {
    margin-bottom: 1em; 
    padding-top: 0;
    letter-spacing: .2em;
    font-size: 5.2vw;
    line-height: 1.65em;
  }
  .approache .text p {
    /*リード文*/
    margin-top: .1em;
    text-align: left; 
    font-size: 3.5vw;
    line-height: 2.0em;
  }
  .approache .point {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 40px auto 80px;
    width: 88.5%;
  }
  .approache .point .point-1,
  .approache .point .point-2,
  .approache .point .point-3,
  .approache .point .point-4 {
    float: left;
    width: 37.9%;
  }
  .approache .point .point-1 {
    margin-top: 0; 
    margin-left: 0;
  }
  .approache .point .point-2 {
    margin-top: 20px; 
    margin-left: 5.1%;
  }
  .approache .point .point-3 {
    margin-top: 0; 
    margin-left: 18.0%;
  }
  .approache .point .point-4 {
    margin-top: 30px; 
    margin-left: 5.1%;
  }
  /* アプローチ 01 */
  .approache-01 {
    margin-bottom: 100px;
  }
  .approache-01 .bg {
    top: 164px; 
    width: 50%;
  }
  .approache-01 .icon {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 55px auto 25px;
    width: 18.6%;
  }
  .approache-01 .bd {
    top: 0; 
    left: 4.5%;
    width: 3.2%;
  }
  .approache-01 .image {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 30px; 
    width: 80.0%;
  }
  .approache-01 .bt {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 0 auto;
    width: 80.0%;
  }
  .approache-01 .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 1em; 
    width: 80.0%;
  }
  .approache-01 .text h2 {
    margin-bottom: 1em; 
    letter-spacing: .2em;
    font-size: 5.2vw;
    line-height: 1.65em;
  }
  .approache-01 .text p {
    /*リード文*/
    margin-top: .1em;
    padding: 0; 
    width: 100%;
    text-align: left;
    font-size: 3.7vw;
    line-height: 2.0em;
  }
  .approache-01 .bt-2 {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 30px auto 100px;
    margin-top: 50px;
    width: 93.3%;
  }
  /* アプローチ 02 */
  .approache-02 .icon {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 55px auto 25px;
    width: 18.6%;
  }
  .approache-02 .bd {
    top: 0; 
    right: 4.5%;
    width: 3.2%;
  }
  .approache-02 .image {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 0 auto;
    width: 81.3%;
  }
  .approache-02 .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 1em; 
    width: 80.0%;
  }
  .approache-02 .text h2 {
    margin-bottom: 1em; 
    letter-spacing: .2em;
    font-size: 5.2vw;
    line-height: 1.65em;
  }
  .approache-02 .text p {
    /*リード文*/
    margin-top: .1em;
    padding: 0; 
    width: 100%;
    text-align: left;
    font-size: 3.7vw;
    line-height: 2.0em;
  }
  /* イメージ画像 2 */
  .space-image-2 {
    margin: 100px 0;
  }
  .space-image-2 .image {
    margin-right: 0; 
    width: 89.3%;
  }
  /* アプローチ 03 */
  .approache-03 {
    margin-bottom: 100px;
  }
  .approache-03 .icon {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 55px auto 25px;
    width: 18.6%;
  }
  .approache-03 .bg {
    position: absolute;
    left: 0; 
    width: 52%;
  }
  .approache-03 .bd {
    top: 0; 
    left: 4.5%;
    width: 3.2%;
  }
  .approache-03 .graph {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 0 auto;
    width: 80.0%;
  }
  .approache-03 .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 1em; 
    width: 80.0%;
  }
  .approache-03 .text h2 {
    margin-bottom: 1em; 
    letter-spacing: .2em;
    font-size: 5.2vw;
    line-height: 1.65em;
  }
  .approache-03 .text p {
    /*リード文*/
    margin-top: .1em;
    padding: 0; 
    width: 100%;
    text-align: left;
    font-size: 3.7vw;
    line-height: 2.0em;
  }
  .approache-04 .icon {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 55px auto 25px;
    width: 18.6%;
  }
  .approache-04 .bg {
    width: 59.7%;
  }
  .approache-04 .bd {
    position: absolute;
    top: 0; 
    right: 4.5%;
    width: 3.2%;
  }
  .approache-04 .graph {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 0 auto;
    width: 80.0%;
  }
  .approache-04 .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 1em; 
    width: 80.0%;
  }
  .approache-04 .text h2 {
    margin-bottom: 1em; 
    letter-spacing: .2em;
    font-size: 5.2vw;
    line-height: 1.65em;
  }
  .approache-04 .text p {
    /*リード文*/
    margin-top: .1em;
    padding: 0; 
    width: 100%;
    text-align: left;
    font-size: 3.7vw;
    line-height: 2.0em;
  }
  /* イメージ画像 */
  .space-image-3 {
    margin: 55px auto 45px;
  }
  .space-image-3 .image {
    width: 100%;
  }
  /* ANDMORE */
  .andomore {
    margin-bottom: 100px; 
    padding-bottom: 4em;
  }
  .andomore .bg {
    position: absolute;
    top: auto;
    bottom: 0; 
    left: 0;
    width: 100%;
  }
  .andomore .bd {
    display: none;
  }
  .andomore .carousel {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 0 auto;
    width: 100.0%;
    height: auto;
  }
  .andomore .carousel .slide {
    margin-left: 0; 
    width: auto;
  }
  .andomore .carousel .customPrevBtn,
  .andomore .carousel .customNextBtn-Hit,
  .andomore .carousel .customPrevBtn,
  .andomore .carousel .customNextBtn-Hit {
    display: none;
  }
  .andomore .carousel .owl-carousel .slide-3 {
    position: relative;
  }
  .andomore .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto; 
    left: auto;
    margin: 0 auto;
    width: 80.0%;
  }
  .andomore .carousel .owl-carousel .slide .text h2 {
    margin-bottom: 1em; 
    letter-spacing: .2em;
    font-size: 6.0vw;
    line-height: 1.65em;
  }
  .andomore .text p {
    /*リード文*/
    margin-top: .1em;
    padding: 0; 
    width: 100%;
    text-align: left;
    font-size: 3.3vw;
    line-height: 2.0em;
  }
  /* User's Voice */
  .voice {
    padding: 4em 0;
  }
  .voice .bd {
    position: absolute;
    top: -2.5em; 
    left: 4.5%;
    width: 3.2%;
  }
  .voice .text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    margin-bottom: 2em; 
    width: 80%;
  }
  .voice .text h2 {
    margin-bottom: 1em; 
    letter-spacing: .2em;
    font-size: 6.0vw;
    line-height: 1.65em;
  }
  .voice .text p {
    /*リード文*/
    margin-top: .1em;
    padding: 0; 
    width: 100%;
    text-align: center;
    font-size: 3.3vw;
    line-height: 2.0em;
  }
  .voice .voice_wrap {
    height: auto;
  }
  .voice .voice-list {
    position: relative;
    margin: 0 auto; 
    width: 82.6%;
  }
  .voice .voice-1,
  .voice .voice-2,
  .voice .voice-3,
  .voice .voice-4,
  .voice .voice-5 {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin-bottom: 15px; 
    width: 82.6%;
  }
  .voice .note {
    margin: 0 auto;
    width: 80%;
    font-size: 3.5vw;
  }
}