@charset "UTF-8";
.sp {
  display: none !important;
}

header,
footer,
main,
nav,
article,
aside,
section {
  display: block;
}

body {
  font-family: YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif !important;
}

.flex {
  display: flex;
}

.flex_around {
  justify-content: space-around;
}

.flex_between {
  justify-content: space-between;
}

.flex_wrap {
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

.flex_center {
  align-items: center;
}

.bold {
  font-weight: bold;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  display: block;
}

#bg {
  background: url(../images/bg.jpg) no-repeat center/cover;
  background-attachment: fixed;
  z-index: -1000;
}

#wrpper {
  margin: 0 auto;
  max-width: 750px;
}

a {
  display: block;
  transition: 1.5s;
}

a:hover {
  opacity: 0.7;
}

/* --------------------------
  popup
-------------------------- */
.popup-area {
  display: none;
  width: 80vw;
  padding: 20px;
  position: fixed;
  z-index: 9999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.popup-area img {
  margin: 0 auto;
}

.cover-eml {
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.close-btn {
  display: block;
  margin: 20px auto 0;
  background: #fff;
  border: none;
  border-radius: 5px;
  padding: 0.3em 1em;
  font-size: 1em;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .close-btn {
    font-size: 1.5em;
  }
}
.cv_img01 {
  position: relative;
}
.cv_img01 .cv_btn01 {
  position: absolute;
  width: 414px;
  bottom: 18px;
  right: 40px;
}

.cv_img02 {
  position: relative;
}
.cv_img02 .cv_btn02 {
  position: absolute;
  width: 686px;
  margin: 0 auto;
  bottom: 690px;
  right: 0;
  left: 0;
}
.cv_img02 .cv_btn03 {
  position: absolute;
  width: 686px;
  margin: 0 auto;
  bottom: 140px;
  right: 0;
  left: 0;
}

/*アニメーション*/
.animation {
  -webkit-animation: fuwafuwa 2s linear infinite;
          animation: fuwafuwa 2s linear infinite;
  scale: 1;
}

@-webkit-keyframes fuwafuwa {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-25px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-25px);
  }
  100% {
    transform: translateY(0);
  }
}
#cnt05 {
  position: relative;
}
#cnt05 .cnt05_img01 {
  position: relative;
  z-index: 3;
}
#cnt05 .video {
  position: absolute;
  width: 702px;
  bottom: 269px;
  margin: 0 auto;
  left: 0;
  right: 0;
}
#cnt05 .video video {
  width: 702px;
  margin: 0 auto;
}

.ac01 {
  padding: 60px 0 40px;
  background: #e5e4e2;
  color: #43250a;
}
.ac01 .ac input {
  display: none;
}
.ac01 .ac .ac_box {
  position: relative;
  max-width: 702px;
  margin: 0 auto 46px;
}
.ac01 .ac label {
  display: block;
  font-size: 40px;
  border: 2px solid #43250a;
  border-radius: 10px;
  padding: 24px 16px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.ac01 .ac label img {
  width: 483px;
}
.ac01 .ac label::after,
.ac01 .ac label::before {
  content: "";
  position: absolute;
  right: 40px;
  top: 33%;
  width: 4px;
  height: 28px;
  background-color: #43250a;
  transition: all 0.3s;
}
.ac01 .ac label::after {
  transform: rotate(90deg);
}
.ac01 .ac .ac_open {
  max-height: 0;
  overflow: hidden;
  transition: all 0.5s;
}
.ac01 .ac .ac_open dl {
  margin: 18px 0 0;
  line-height: 1.9;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
}
.ac01 .ac .ac_open dl dt {
  font-size: 24px;
  font-weight: bold;
}
.ac01 .ac .ac_open dl dd {
  font-size: 20px;
  font-weight: 500;
}
.ac01 .ac .ac_open p {
  font-size: 20px;
  margin: 18px 0 0;
  line-height: 1.9;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
}
.ac01 .ac .ac_open p a {
  display: inline-block;
  color: #0789ee;
  border-bottom: 1px solid #0789ee;
}
.ac01 .ac input:checked + label + .ac_open {
  max-height: 500px;
  transition: all 1.5s;
}
.ac01 .ac input:checked + label::before {
  transform: rotate(90deg) !important;
}

.ft {
  background: #43250a;
  padding: 27px 0;
}
.ft p {
  text-align: center;
  font-size: 26px !important;
  font-weight: 500;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none;
  }
  img {
    width: 100%;
  }
  #bg {
    background: none;
  }
  #wrpper {
    box-shadow: none;
  }
  .tel {
    color: #43250a !important;
    pointer-events: none;
    text-decoration: none !important;
  }
  .ft {
    padding: 3.6vw 0;
  }
  .ft .cpy {
    font-size: 13px !important;
  }
  #popup-banner .content {
    width: 80%;
    max-width: 69.333vw;
  }
  #popup-banner .button {
    width: 8vw;
    height: 8vw;
  }
  #popup-banner .button img {
    width: 8vw;
    height: 8vw;
  }
  .cv_img01 .cv_btn01 {
    width: 55.2vw;
    bottom: 2.4vw;
    right: 5.333vw;
  }
  .cv_img02 .cv_btn02 {
    width: 91.467vw;
    bottom: 92vw;
  }
  .cv_img02 .cv_btn03 {
    width: 91.467vw;
    bottom: 18.667vw;
  }
  #cnt05 .video {
    width: 93.6vw;
    bottom: 35.867vw;
  }
  #cnt05 .video video {
    width: 93.6vw;
  }
  .ac01 {
    padding: 8vw 0 5.333vw;
  }
  .ac01 .ac .ac_box {
    max-width: 93.6vw;
    margin: 0 auto 6.133vw;
  }
  .ac01 .ac label {
    font-size: 5.333vw;
    border: 2px solid #43250a;
    border-radius: 1.333vw;
    padding: 3.2vw 2.133vw;
  }
  .ac01 .ac label img {
    width: 64.4vw;
  }
  .ac01 .ac label::after,
.ac01 .ac label::before {
    content: "";
    right: 5.333vw;
    top: 33%;
    width: 0.533vw;
    height: 3.733vw;
  }
  .ac01 .ac .ac_open dl {
    margin: 2.4vw 0 0;
  }
  .ac01 .ac .ac_open dl dt {
    font-size: 3.2vw;
  }
  .ac01 .ac .ac_open dl dd {
    font-size: 2.667vw;
  }
  .ac01 .ac .ac_open p {
    font-size: 2.667vw;
    margin: 2.4vw 0 0;
  }
  .ac01 .ac input:checked + label + .ac_open {
    max-height: 66.667vw;
  }
}
/*# sourceMappingURL=style.css.map */