@charset "UTF-8";
/* ブレイクポイント設定 */
/* 色設定 */
/* 配置 */
/* 擬似要素の共通基盤 */
/* レスポンシブ */
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

/* transition */
/* 基盤 */
html {
  font-size: 62.5%;
}
@media screen and (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3037809648vw;
  }
}

body {
  color: black;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

li {
  list-style: none;
}

a {
  position: relative;
  text-decoration: none;
  color: black;
  display: block;
  -webkit-tap-highlight-color: transparent;
}

img {
  max-width: 100%;
  vertical-align: middle;
  -o-object-fit: cover;
     object-fit: cover;
}

/* レイアウト */
.l-slide__inner {
  width: 100%;
  max-width: 110rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-slide__inner {
    width: 88%;
  }
}

/* ローディング */
.loader-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background: black;
}
.loader-bg .loader {
  position: relative;
  width: 10rem;
  height: 10rem;
  font-size: 5rem;
  text-indent: -9999rem;
  border-radius: 50%;
  background: #fff;
  background: linear-gradient(to right, #fff 10%, rgba(255, 255, 255, 0) 42%);
  animation: load3 1.4s infinite linear;
  transform: translateZ(0);
  margin: 50px auto;
}
.loader-bg .loader::before, .loader-bg .loader::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
}
.loader-bg .loader:before {
  width: 50%;
  height: 50%;
  background: #fff;
  border-radius: 100% 0 0 0;
}
.loader-bg .loader:after {
  bottom: 0;
  right: 0;
  width: 98%;
  height: 98%;
  background: black;
  border-radius: 50%;
  margin: auto;
}
@keyframes load3 {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(720deg);
  }
}

/* ヘッダー(タイトル) */
.header {
  text-align: center;
  height: 16rem;
  color: #fff;
  background: green;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .header {
    height: 18rem;
    font-size: 2.2rem;
  }
}

.page-title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

/* スライド */
.swiper {
  position: relative;
  height: calc(100vh - 16rem);
}
@media screen and (max-width: 767px) {
  .swiper {
    height: calc(100vh - 18rem);
  }
}

.swiper-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.swiper-wrapper .swiper-slide {
  width: 100%;
  height: calc(100vh - 16rem);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: opacity 0.6s ease;
}
@media screen and (max-width: 767px) {
  .swiper-wrapper .swiper-slide {
    height: calc(100vh - 18rem);
  }
}
.swiper-wrapper .swiper-slide .slide-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 15s ease;
}
.swiper-wrapper .slide01 {
  background-image: url(../images/pexels-asadphoto-1450360.webp);
}
.swiper-wrapper .slide02 {
  background-image: url(../images/pexels-jeff-wiles-2155751648-35192933.webp);
}
.swiper-wrapper .slide03 {
  background-image: url(../images/pexels-pixabay-38238.webp);
}
.swiper-wrapper .slide04 {
  background-image: url(../images/pexels-carolinephoenix-35174812.webp);
}

.swiper-slide.is-anim {
  opacity: 1;
}
.swiper-slide.is-anim .slide-bg {
  transform: scale(1.1);
}

.swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: #6177a4;
}

/* js */
.js-loader {
  opacity: 1;
  visibility: visible;
  transition: 0.6s ease-out;
}

.js-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.js-fadeup {
  transform: translateY(3rem);
  opacity: 0;
  transition: 0.6s ease-out;
}

.js-fadeup.is-active {
  transform: translateY(0);
  opacity: 1;
}/*# sourceMappingURL=style.css.map */