@charset "UTF-8";
.sp {
  display: none !important;
}

.flex {
  display: flex;
}

img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

video {
  max-width: 100%;
  vertical-align: bottom;
}

body {
  margin: 0px;
  background: url(../img/pc_bg.jpg) no-repeat center/cover;
  background-attachment: fixed;
  z-index: -1000;
}

div, p {
  margin: 0;
  padding: 0px;
}

.fs-small {
  font-size: 24px;
}

a {
  transition: all 0.5s ease 0s;
  cursor: pointer;
}

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.7;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/*--------------------
* wrap
--------------------*/
#wrap {
  text-align: center;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

/*--------------------
* fv
--------------------*/
.fv {
  position: relative;
}
.fv_mov01 {
  position: absolute;
  width: 670px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 100px;
  z-index: -1;
}

/*--------------------
* cv01
--------------------*/
.cv_img03 {
  position: relative;
}
.cv_img03 .cv_btn01 {
  position: absolute;
  width: 339px;
  right: 45px;
  top: 200px;
  cursor: pointer;
  z-index: 3;
}
.cv_img04 {
  position: relative;
}
.cv_img04 .cv_btn02 {
  position: absolute;
  width: 339px;
  right: 45px;
  top: 162px;
}
.cv_img05 {
  position: relative;
}
.cv_img05 .cv_btn03 {
  position: absolute;
  width: 339px;
  right: 45px;
  top: 74px;
}

/*--------------------
* cv_tel
--------------------*/
.cv_tel {
  position: relative;
}
.cv_tel .cv_tel_btn {
  position: absolute;
  width: 660px;
  left: 0;
  right: 0;
  top: 352px;
  margin: 0 auto;
}

/*--------------------
* cnt04
--------------------*/
.cnt04 {
  position: relative;
}
.cnt04_mov01 {
  position: absolute;
  width: 670px;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 551px;
  z-index: -1;
}
.cnt04_mov02 {
  position: absolute;
  width: 320px;
  top: 1039px;
  right: 55px;
  z-index: -1;
}

/*--------------------
* qa
--------------------*/
.ac {
  background: url(../img/faq_bg.jpg) repeat center/contain;
  padding-bottom: 50px;
}
.ac .ac_box {
  width: 670px;
  margin: 0 auto 30px;
}
.ac .ac_box:not(:last-child) {
  margin: 0 auto 20px;
}
.ac .ac_box input {
  display: none;
}
.ac .ac_box input:checked + label div::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: #fff 2px solid;
  border-right: #fff 2px solid;
  transform: rotate(-45deg);
  position: absolute;
  right: 30px;
  top: 7%;
  top: 0;
  margin: auto;
}
.ac .ac_box input:checked + label + .ac_open {
  max-height: 100%;
  transition: all 1.5s;
}
.ac .ac_box label {
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.ac .ac_box label div::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: #fff 2px solid;
  border-right: #fff 2px solid;
  transform: rotate(135deg);
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 15%;
  margin: auto;
}
.ac .ac_box .ac_open {
  max-height: 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none;
  }
  /*--------------------
  * wrap
  --------------------*/
  #wrap {
    width: 100%;
    max-width: 100%;
  }
  /*--------------------
  * fv
  --------------------*/
  .fv_mov01 {
    width: 89.333vw;
    bottom: 13.333vw;
  }
  .fv_mov01 video {
    width: 89.333vw;
  }
  /*--------------------
  * cv01
  --------------------*/
  .cv_img03 .cv_btn01 {
    width: 45.2vw;
    right: 6vw;
    top: 26.667vw;
  }
  .cv_img04 .cv_btn02 {
    width: 45.2vw;
    right: 6vw;
    top: 21.6vw;
  }
  .cv_img05 .cv_btn03 {
    width: 45.2vw;
    right: 6vw;
    top: 9.867vw;
  }
  /*--------------------
  * cv_tel
  --------------------*/
  .cv_tel .cv_tel_btn {
    width: 88vw;
    top: 46.933vw;
  }
  /*--------------------
  * cnt04
  --------------------*/
  .cnt04_mov01 {
    width: 89.333vw;
    top: 73.467vw;
  }
  .cnt04_mov01 video {
    width: 89.333vw;
  }
  .cnt04_mov02 {
    width: 42.667vw;
    top: 138.533vw;
    right: 7.333vw;
  }
  .cnt04_mov02 video {
    width: 42.667vw;
  }
  /*--------------------
  * qa
  --------------------*/
  .ac {
    background: url(../img/faq_bg.jpg) repeat center/contain;
    padding-bottom: 6.667vw;
  }
  .ac .ac_box {
    width: 89.333vw;
    margin: 0 auto 30px;
  }
  .ac .ac_box input {
    display: none;
  }
  .ac .ac_box input:checked + label div::after {
    content: "";
    display: block;
    width: 1.733vw;
    height: 1.733vw;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(-45deg);
    position: absolute;
    right: 4vw;
    top: 7%;
    top: 0;
    margin: auto;
  }
  .ac .ac_box input:checked + label + .ac_open {
    max-height: 100%;
    transition: all 1.5s;
  }
  .ac .ac_box label {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  .ac .ac_box label div::after {
    content: "";
    display: block;
    width: 1.733vw;
    height: 1.733vw;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(135deg);
    position: absolute;
    right: 4vw;
    top: 0;
    bottom: 15%;
    margin: auto;
  }
  .ac .ac_box .ac_open {
    max-height: 0;
    overflow: hidden;
  }
}
/*# sourceMappingURL=style.css.map */x-height: 0;
    overflow: hidden;
  }
}
