/*  #area
-------------------------------------------------------------------------------*/
.area-map {
  margin: 10.6666666667vw auto 0 auto;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .area-map {
    margin-top: 2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .area-map {
    margin-top: 40px;
  }
}

/*  #concept
-------------------------------------------------------------------------------*/
.concept {
  padding: 32vw 0 13.3333333333vw 0;
}
@media screen and (min-width: 751px) {
  .concept {
    padding: 11.1111111111vw 0 5.5555555556vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .concept {
    padding: 160px 0 80px 0;
  }
}

.concept-image {
  margin-left: -5.3333333333vw;
  width: 100vw;
}
@media screen and (min-width: 751px) {
  .concept-image {
    margin-left: -1.7361111111vw;
    width: 41.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .concept-image {
    margin-left: -25px;
    width: 600px;
  }
}

.concept-content {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 751px) {
  .concept-content {
    margin: 3.4722222222vw auto 0 auto;
    width: 32.3611111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .concept-content {
    margin-top: 50px;
    width: 466px;
  }
}

.concept-ttl {
  margin-bottom: 1em;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 2.8em;
  letter-spacing: 0.1em;
}

.concept-text p {
  letter-spacing: 0.1em;
}

/*  #company
-------------------------------------------------------------------------------*/
@media screen and (min-width: 751px) {
  .company {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .company {
    margin-bottom: 80px;
  }
}

.company-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 88vw;
  background-image: url(../img/company/bg_sp.jpg);
  background-size: cover;
}
@media screen and (min-width: 751px) {
  .company-head {
    height: 36.8055555556vw;
    background-image: url(../img/company/bg.jpg);
    background-image: image-set(url(../img/company/bg.jpg) 1x, url(../img/company/bg-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/company/bg.jpg) 1x, url(../img/company/bg-2x.jpg) 2x);
  }
}
@media screen and (min-width: 1441px) {
  .company-head {
    height: 530px;
  }
}
.company-head .heading {
  margin: 0;
}
.company-head .heading-ja,
.company-head .heading-en {
  color: #ffffff;
}

.company-text {
  margin: 21.3333333333vw auto;
  width: 89.3333333333vw;
}
@media screen and (min-width: 751px) {
  .company-text {
    margin: 6.9444444444vw auto;
    width: 32.3611111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .company-text {
    margin: 100px auto;
    width: 466px;
  }
}

.company-main {
  margin-left: auto;
  width: 84.1333333333vw;
}
@media screen and (min-width: 751px) {
  .company-main {
    width: 29.7222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .company-main {
    width: 428px;
  }
}

.company-sub {
  width: 50vw;
}
@media screen and (min-width: 751px) {
  .company-sub {
    width: 20.8333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .company-sub {
    width: 300px;
  }
}

.company-btn {
  margin-top: 16vw;
}
@media screen and (min-width: 751px) {
  .company-btn {
    margin-top: 6.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .company-btn {
    margin-top: 100px;
  }
}

/*  #fv
-------------------------------------------------------------------------------*/
.fv {
  position: relative;
}
@media screen and (min-width: 751px) {
  .fv {
    height: 100dvh;
  }
}

.fv-inner {
  margin: 0 auto;
  padding: 32vh 0 11vh 0;
  width: 89.3333333333vw;
}
@media screen and (min-width: 751px) {
  .fv-inner {
    position: absolute;
    left: 50%;
    bottom: 4.1666666667vw;
    padding: 0;
    width: 38.1944444444vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (min-width: 751px) {
  .fv-inner {
    bottom: 60px;
    width: 550px;
  }
}

.fv-text {
  margin: 0 auto 26.6666666667vw auto;
  width: 72vw;
}
@media screen and (min-width: 751px) {
  .fv-text {
    margin-bottom: 7.6388888889vw;
    width: 32.3611111111vw;
  }
}
@media screen and (min-width: 751px) {
  .fv-text {
    margin-bottom: 110px;
    width: 466px;
  }
}
.fv-text p {
  color: #ffffff;
  font-weight: 700;
  line-height: 4em;
  letter-spacing: 0.1em;
}

/*  #spec
-------------------------------------------------------------------------------*/
.spec-text {
  margin-top: 8vw;
}
@media screen and (min-width: 751px) {
  .spec-text {
    margin-top: 2.4305555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .spec-text {
    margin-top: 35px;
  }
}
.spec-text p {
  text-align: center;
  line-height: 2.4em;
  letter-spacing: 0.1em;
}