@charset "utf8";


* {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  ._pc{ display: none; }
}

@media screen and (min-width: 768px) {
  ._sp{ display: none; }
}

body {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  background-image: url(../img/bg.png);
  background-repeat: repeat-y;
  background-size: 750px;
  background-position: top center;
}
@media screen and (max-width: 767px) {
  body {
    background-size: 100%;
  }
}

main {
  overflow-x: hidden;
  overflow-y: hidden;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

section {
  width: 100%;
  border: 0px solid;
}

picture {
  display: block;
  height: 100%;
}

.spacer80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .spacer80 {
    margin-bottom: calc(40vw/3.6);
  }
}

.spacer40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .spacer40 {
    margin-bottom: calc(20vw/3.6);
  }
}

/*---------------------------
article
---------------------------*/
.article-container {
  max-width: 750px;
  width: 100%;
  height: auto;
  margin: auto;
  border: 0px solid;
}

.article {
  height: auto;
  margin: auto;
  border: 0px solid;
}

.relative {
  position: relative;
}

.w100 {
  width: 100%;
}

.w94 {
  width: 94%;
}

.w86 {
  width: 86%;
}

.w64 {
  width: 64%;
}

.cta-container--fv {
  position: absolute;
  top: 70%;
  left: 0;
  right: 0;
  margin: auto;
  border: 0px solid #ff0000;
}

.cta-bg {
  left: 0;
  right: 0;
  margin: auto;
  border: 0px solid #ff0000;
}

.cta {
  position: absolute;
  top: 18%;
  left: 0;
  right: 0;
  height: auto;
  margin: auto;
  border: 0px solid #ff0000;
}

/*---------------------------
swiper カスタマイズ
---------------------------*/
.swiper-container {
  position: relative;
  max-width: 750px;
  width: 94%;
  margin: auto;
}

.swiper-button-prev,
.swiper-button-next {
  top: 6%;
}

.swiper-button-prev::after {
  content: "";
  position: absolute;
  left: -35px;
  width: 50px;
  height: 50px;
  background-image: url('../img/left-arrow.png');
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .swiper-button-prev::after {
    left: -25px;
    width: 30px;
    height: 30px;
  }
}

.swiper-button-next::after {
  content: "";
  position: absolute;
  right: -35px;
  width: 50px;
  height: 50px;
  background-image: url('../img/right-arrow.png');
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .swiper-button-next::after {
    right: -25px;
    width: 30px;
    height: 30px;
  }
}

.swiper-wrapper .swiper-slide {
  height: unset;
}

.swiper-wrapper {
  align-items: stretch;
}

.swiper-slide img {
  width: 100%;
  height: auto;
}

.swiper-pagination-bullet {
  width: calc(14vw/19.2);
  height: calc(14vw/19.2);
  margin: 0 10px!important; 
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 5px!important; 
  }  
}

/*---------------------------
floating__menu カスタマイズ
---------------------------*/
.floating__menu {
  display: none;
  opacity: 0;
  position: fixed;
  left: 0;
  right: 0;
  bottom: -100px;
  max-width: 750px;
  width: 100%;
  padding: calc(20vw/19.2) 0px;
  height: auto;
  margin: auto;
  background-color: #496199;
  transition: bottom 0.5s, opacity 0.5s;
  z-index: 9999;
}
@media screen and (max-width: 767px) {
  .floating__menu {
    padding: calc(10vw/3.6) 0px;
  }
}

.cta-floating {
  position: absolute;
  top: 34%;
  left: 0;
  right: 0;
  height: auto;
  margin: auto;
  border: 0px solid #ff0000;
}
