body {
  margin: auto 0;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  width: 100%;
}

.contents {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.7;
  }
}

/********** ボタンアニメーション **********/
.button img.float {
  animation: btn_animation 0.5s ease 0s infinite alternate;
}
.button img.shrink {
  animation: btn_animation02 1.4s linear infinite;
}

@keyframes btn_animation {
  from {
    transform: scale(1, 1);
  }
  to {
    transform: scale(1.03, 1.03);
  }
}

@keyframes btn_animation02 {
  60% {
    transform: scale(1, 1);
  }
  65% {
    transform: scale(0.85, 1.15);
  }
  75% {
    transform: scale(1.1, 0.9);
  }
  85% {
    transform: scale(0.95, 1.08);
  }
  9% {
    transform: scale(0.98, 1.02);
  }
  100% {
    transform: scale(1, 1);
  }
}
/********** ボタンアニメーション **********/

.cv_wrap {
  position: relative;
}
.cv_wrap .cv_button {
  position: absolute;
  bottom: 230px;
  left: 3%;
}
.cv_wrap .cv_button a {
  display: block;
}
.cv_wrap .cv_button .btn01 {
  width: 96%;
  margin: 0 auto;
}
.cv_wrap .cv_text {
  position: absolute;
  bottom: 170px;
  right: 10%;
}
.cv_wrap .cv_text a {
  font-size: 24px;
  text-decoration: underline;
}
@media screen and (max-width: 999px) {
  .cv_wrap .cv_button {
    bottom: 23vw;
  }
  .cv_wrap .cv_text {
    bottom: 17vw;
  }
  .cv_wrap .cv_text a {
    font-size: 3vw;
  }
}

/********** Faq Accordion =========*/
.faq {
  background: #77c8cb;
  padding: 135px 60px 122px;
}
.faq-ttl {
  width: 232px;
  margin: 0 auto 74px;
}
.faq-ttl img {
  display: block;
}
.accordion {
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-weight: 500;
  line-height: 2;
}
.accordion + .accordion {
  margin-top: 40px;
}
.accordion-ttl {
  background: #0bb5b2;
  color: #FFFFFF;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 28px 103px 24px 50px;
  cursor: pointer;
  position: relative;
  z-index: 1;
  margin-bottom: -2px;
  border-radius: 10px;
}
.accordion-ttl.active {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.accordion-ttl:before,
.accordion-ttl:after {
  content: '';
  background: #d0f3ef;
  position: absolute;
  top: 0;
  right: 44px;
  bottom: 0;
  margin: auto;
}
.accordion-ttl:before {
  width: 38px;
  height: 2px;
}
.accordion-ttl:after {
  width: 2px;
  height: 38px;
  margin-right: 18px;
  transition: transform 0.3s;
}
.accordion-ttl.active:after {
  transform: rotate(90deg);
}
.accordion-ttl span:before {
  content: '';
  width: 29px;
  height: 32px;
  background: url('../images/faq_q.png') no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin-top: 42px;
  margin-left: 45px;
}
.accordion-ctn {
  position: relative;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
.accordion-ctn:before {
  content: '';
  width: 26px;
  height: 29px;
  background: url('../images/faq_a.png') no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin-top: 45px;
  margin-left: 47px;
}
.accordion-ctn p {
  background: #FFFFFF;
  font-size: 28px;
  letter-spacing: 0.03em;
  padding: 31px 60px;
  margin: 0;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
@media screen and (max-width: 999px) {
  .faq {
    padding: 13.5vw 6vw 12vw;
  }
  .faq-ttl {
    width: 23vw;
    margin: 0 auto 7.4vw;
  }
  .accordion + .accordion {
    margin-top: 4vw;
  }
  .accordion-ttl {
    font-size: 3.6vw;
    padding: 2.8vw 10vw 2.4vw 6vw;
    margin-bottom: -0.2vw;
  }
  .accordion-ttl:before,
  .accordion-ttl:after {
    right: 4.4vw;
  }
  .accordion-ttl:before {
    width: 3.8vw;
    height: 0.2vw;
  }
  .accordion-ttl:after {
    width: 0.2vw;
    height: 3.8vw;
    margin-right: 1.8vw;
  }
  .accordion-ttl span:before {
    width: 2.9vw;
    height: 3.2vw;
    margin-top: 4.2vw;
    margin-left: 4.5vw;
  }
  .accordion-ctn:before {
    width: 2.6vw;
    height: 2.6vw;
    margin-top: 4.5vw;
    margin-left: 4.7vw;
  }
  .accordion-ctn p {
    font-size: 3.3vw;
    padding: 3vw 6vw;
  }
}
/********** //Faq Accordion =========*/

