
.main_visual {
  text-align: center;
  margin-bottom: 0.1em;
  position: relative;
  /*overflow: hidden;*/
}


.swiper-container {
  width: 100%;

}

.swiper-slide img {
  width: 100vw;
}

@media (max-width: 1023px) {
  .swiper-container {
  padding-top: -5em;
}
}

/* ------------------------------------- */
/*   上書き共通要素
/* ------------------------------------- */
.no_bg {
  background: none !important;
}
a:hover img {
  opacity: 1;
}
.fixed {
  position: fixed;
}
.clear {
  clear: both;
}
.sp_br {
  display: none;
}
.sp_only {
  display: none;
}
@media (max-width: 1023px) {
  .sp_br {
    display: block;
  }
  .sp_only {
    display: block;
  }
  .sp_only.inline {
    display: inline;
  }
  .pc_only {
    display: none;
  }
  .pc_br {
    display: none;
  }
  .sp_left {
    text-align: left;
  }
}

/*page-top*/
.block-page-top {
  position: fixed;
  top: auto;
  bottom: 10px;
  right: 26px;
  /*display: none;*/
  z-index: 100;
}
.block-page-top a::after {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(-45deg);
  left: 50%;
  top: 50%;
  margin-top: -4px;
  margin-left: -8px;
}

.block-page-top a {
  position: relative;
  display: block;
  width: 54px;
  height: 54px;
  background-color: #444;
}
