/* ----------------------------------------------------------------------------------------------------
*  houji.css
* --------------------------------------------------------------------------------------------------*/
body {
  min-width: inherit;
}

/* ------------------------------
  page-ttl_wrap
------------------------------ */
.page-ttl_wrap {
  background: url("../img/houji/page-img.jpg") no-repeat center center;
}

/* ------------------------------
  sec-mv_wrap
------------------------------ */
.sec-mv_wrap {
  height: 32.4vw;
  max-height: 700px;
  background: url("../img/houji/mv.png") no-repeat center center/100% auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec-mv_wrap {
    height: 67vw;
    background: url("../img/houji/mv.png") no-repeat center bottom/auto 100%;
  }
}
.sec-mv_wrap h2 {
  padding-top: 64px;
  font-size: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec-mv_wrap h2 {
    font-size: 3.46vw;
  }
}
.sec-mv_wrap p {
  padding-top: 48px;
  font-size: 2rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec-mv_wrap p {
    font-size: 2.8vw;
  }
}

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

------------------------------ */
.sec-ttl {
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  margin-bottom: 30px;
}

.img {
  text-align: center;
  margin: 0 auto 30px auto;
}

.text {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05rem;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .sec-ttl {
    font-size: 5.778vw;
    margin-bottom: 4.444vw;
  }
  .img {
    margin: 0 auto 4.444vw auto;
  }
  .text {
    text-align: left;
    font-size: 3.556vw;
  }
}
/* ------------------------------
  sec01
------------------------------ */
.sec01 {
  padding-top: 100px;
  padding-bottom: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec01 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
}
.sec01 .sec-ttl {
  margin-bottom: 50px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec01 .sec-ttl {
    margin-bottom: 4.444vw;
  }
}
.sec01 .flex-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sec01 .flex-box figure {
  width: 50%;
  font-size: 0;
}
.sec01 .flex-box figure img {
  font-size: 0;
}
.sec01 .flex-box .txtbox {
  width: 50%;
  background: #EBEBEB;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sec01 .flex-box .txtbox .txtinbox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.sec01 .flex-box .txtbox h3, .sec01 .flex-box .txtbox p {
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.05rem;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .sec01 .flex-box .txtbox h3, .sec01 .flex-box .txtbox p {
    font-size: 2.88vw;
  }
}
.sec01 .flex-box .txtbox h3 {
  font-weight: 700;
}
.sec01 .flex-box .txtbox p {
  padding-top: 10px;
}
.sec01 .btm {
  padding: 70px 20px;
  background: #5D318E;
}
@media screen and (max-width: 767px) {
  .sec01 .btm {
    padding: 35px 20px;
  }
}
.sec01 .btm .text {
  color: #fff;
  font-size: 3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec01 .btm .text {
    font-size: 2.88vw;
  }
}

/* ------------------------------
  sec02
------------------------------ */
.sec02 {
  position: relative;
  margin-top: 100px;
  margin-bottom: 140px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec02 {
    margin-top: 15.556vw;
    margin-bottom: 23vw;
  }
}
.sec02::before {
  position: absolute;
  content: "";
  width: 427px;
  height: 605px;
  background: url(../img/houji/woman.png) no-repeat center bottom/100% auto;
  bottom: 0;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec02::before {
    width: 38vw;
    height: 50vw;
  }
}
.sec02 .ttl_wrap {
  padding: 70px 20px 60px 427px;
  background: #D8CDE4;
}
@media screen and (max-width: 767px) {
  .sec02 .ttl_wrap {
    padding: 35px 20px 30px 38vw;
  }
}
.sec02 .ttl_wrap h2 {
  margin-bottom: 30px;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .sec02 .ttl_wrap h2 {
    margin-bottom: 10px;
    font-size: 3vw;
    letter-spacing: 0.05em;
  }
}
.sec02 .ttl_wrap p {
  font-size: 2.8rem;
  text-align: left;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .sec02 .ttl_wrap p {
    font-size: 2.692vw;
    letter-spacing: 0.05em;
  }
}
.sec02 .btm {
  padding: 10px 20px 10px 427px;
  background: #5D318E;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .sec02 .btm {
    padding: 10px 20px 10px 38vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec02 .btm .tel-link {
  position: relative;
  color: #fff;
  font-size: 6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.5rem;
}
@media screen and (max-width: 767px) {
  .sec02 .btm .tel-link {
    font-size: 2.88vw;
    letter-spacing: 0.05em;
  }
}
.sec02 .btm .tel-link::before {
  position: relative;
  top: -2px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
  content: "";
  background: url(../img/common/ico_tel_white.svg) no-repeat center center;
  background-size: 100% auto;
  width: 46px;
  height: 30px;
}
@media screen and (max-width: 767px) {
  .sec02 .btm .tel-link::before {
    width: 23px;
    height: 15px;
  }
}
.sec02 .btm .tel-link a {
  color: #fff;
  font-size: 6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.5rem;
}
@media screen and (max-width: 767px) {
  .sec02 .btm .tel-link a {
    font-size: 2.88vw;
    letter-spacing: 0.05em;
  }
}
.sec02 .btm .open {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 767px) {
  .sec02 .btm .open {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
}