@charset "utf-8";
* {
  margin:0;
  padding:0;
  box-sizing: border-box;
}
body {
  font-family:"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color:#000;
  line-height: 1.5em;
}
ul,ol {
  list-style-type:none;
}
a:hover {
  opacity:1.0;
}
a:focus {
  outline: none;
}
.content_wrap {
  max-width: 750px;
  margin:0 auto;
  overflow: hidden;
}
.content_wrap img {
  height:auto;
  display: block;
  height: auto;
  vertical-align:top;
  border: 0;
  max-width: 100%;
  margin:0;
}
.content_wrap video {
  width: 100%;
  display: block;
  height: auto;
  vertical-align:top;
  border: 0;
  outline: none;
}
.content_wrap a {
  display: block;
}
.content_wrap .rl {
  position: relative;
}
.content_wrap .fadeup {
  transition: 0.8s 0s;
  transform: translateY(40px);
  opacity: 0;
}
.content_wrap .fadeup.inview_active{
  transform: translateY(0px);
  opacity: 1;
}
.content_wrap .pt01 {
  position: absolute;
  width: 88%;
  top:17.04%;
  left:4.93%;
  z-index: 2;
}
.content_wrap .btn01 {
  width: 96.53%;
  margin-left:2.26%;
  padding:28px 0 46px 0;
}
.content_wrap .btn_ani {
  -webkit-animation: anmCVbtn 2s infinite ease-out;
  animation: anmCVbtn 2s infinite ease-out;
}
@-webkit-keyframes anmCVbtn { 0% { transform: scale(0.9); }
  25% { transform: scale(1); }
  50% { transform: scale(0.9); }
  75% { transform: scale(1); }
  100% { transform: scale(0.9); } }

@keyframes anmCVbtn { 0% { transform: scale(0.9); }
  25% { transform: scale(1); }
  50% { transform: scale(0.9); }
  75% { transform: scale(1); }
  100% { transform: scale(0.9); } }

.content_wrap .pt02 {
  position: absolute;
  top:32.81%;
  left:19.4%;
  width: 41.2%;
  z-index: 2;
  transition: 0.7s 0s;
}
.content_wrap .pt03 {
  position: absolute;
  width: 100%;
  top:17.46%;
  left:0;
  z-index: 2;
}
.content_wrap .btn02 {
  position: absolute;
  width: 94.66%;
  top:81.94%;
  left:3.46%;
  z-index: 2;
}
.content_wrap .sld {
  opacity: 0;
  transition: opacity .3s linear;
}
.content_wrap .sld.slick-initialized {
  opacity: 1;
}
.content_wrap .slider_wrap {
  position: absolute!important;
  width: 100%;
  top:41.7%;
  left:0;
}
.content_wrap .slider_wrap img {
  width: 94%!important;
}
.content_wrap .slider_wrap.nrvs {
  top:68.5%;
}
.content_wrap .vsp {
  display: none;
}
.content_wrap .btn03 {
  position: absolute;
  width: 87.2%;
  top:3.58%;
  left:6.1%;
  z-index: 2;
}
.content_wrap .accordionlist {
  background: #f2dada url(../images/b_pic03.jpg) top left/100% no-repeat;
  padding:40px 10% 50px 10%;
  margin-top:-1px;
}
.content_wrap .accordionlist dt {
  position: relative;
  cursor: pointer;
}
.content_wrap .accordionlist dt:before {
  position: absolute;
  content: "";
  top: 0;
  width: 20px;
  background: #fff;
  height: 1px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  top: 50%;
  right: 4%;
  transition: .3s all;
}
.content_wrap .accordionlist dt:after {
  position: absolute;
  content: "";
  top: 0;
  width: 20px;
  background: #fff;
  height: 1px;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  top: 50%;
  right: 4%;
  transition: .3s all;
}
.content_wrap .accordionlist dt.active:before {
  display: none;
}
.content_wrap .accordionlist dt.active:after {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}
.content_wrap .accordionlist dd {
  display: none;
}
.content_wrap .video01 {
  position: absolute;
  width: 93.8%;
  top:5.2%;
  left:3.1%;
  z-index: -1;
}
.content_wrap .pt04 {
  position: absolute;
  width: 89.06%;
  top:4.5%;
  left:4.26%;
  z-index: 2;
  transition: 1s 0s;
  clip-path: inset(0% 100% 0% 0%);
}
.content_wrap .pt04.inview_active {
  clip-path: inset(0%);
}
.content_wrap .video02 {
  position: absolute;
  width: 86.6%;
  top:4.3%;
  left:6.7%;
}
.content_wrap .fnavi {
  padding:30px 0 60px 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.fnavi a {
  color:#000;
  display: block;
  opacity: 1;
  text-decoration: none;
  line-height: 2.2em;
  font-size:24px;
  font-weight: bold;
}
.fnavi a:hover {
  text-decoration: underline;
}
@media(max-width:749px) {
  .content_wrap img {
    width: 100%;
  }
  .content_wrap .btn01 {
    padding:3.73vw 0 6.13% 0;
  }
  .content_wrap .vpc {
    display: none;
  }
  .content_wrap .vsp {
    display: block;
  }
  .content_wrap .accordionlist {
    padding:5.33vw 10% 6.66vw 10%;
  }
  .content_wrap .accordionlist dt:before {
    width: 2.66vw;
  }
  .content_wrap .accordionlist dt:after {
    width: 2.66vw;
  }
  .content_wrap .tel_btn {
    position: absolute;
    width: 84.66%;
    left:8.66%;
    bottom:11.6vw;
  }
  .content_wrap .fnavi {
    padding:4vw 0 8vw 0;
  }
  .fnavi a {
    font-size:3.2vw;
  }
  .fnavi a:hover {
    text-decoration: none;
  }
}


/* --------------------------------------- */
/* フローティングボタン
/* --------------------------------------- */
.f_btn {
  display: none;
}
.f_btn.fixed {
  display: block;
  z-index: 999;
  position: fixed;
  bottom: 30px;
  right:30px;
  background-color: #ea5550;
  padding: 5px 50px 5px 5px;
  border-radius: 30px;
  cursor: pointer;
}
.f_btn.fixed picture img{
  height: 50px;
  width: auto;
  margin-top: auto;
  margin-bottom: auto;
  margin-right: 20px;
}
.f_btn.fixed span {
  background-color: #fff;
  color: #000;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 2px;
  padding: 10px 30px;
  border-radius: 30px;
  vertical-align: middle;
  position: relative;
}
.f_btn.fixed span::after {
  content: "";
  position: absolute;
  top: 63%;
  left: 5px;
  border-style: solid;
  border-width: 8px 19px 0 0;
  border-color: transparent #fff transparent transparent;
  translate: -100% -50%;
}
@media screen and (min-width:721px) {
  .f_btn.fixed:hover {
    opacity: .8;
  }
  .f_btn.fixed:hover span{
  color: #ea5550;
  }
  }
  @media screen and (max-width:720px) {
    .f_btn.fixed {
      bottom: 10px;
      right:10px;
      padding: 5px 10px 5px 5px;
    }
    .f_btn.fixed span {
      background-color: #fff;
      padding: 10px;
      letter-spacing: 0;
      font-size: 4vw;
  }
  .f_btn.fixed picture img{
    margin-right: 5px;
  }
  .f_btn.fixed span::after {
    top: 63%;
    left: 5px;
    border-style: solid;
    border-width: 8px 12px 0 0;
    translate: -100% -50%;
  }
}
