@charset "UTF-8";
/*アニメーション
----------------------------*/
@keyframes sliderPagination {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    opacity: 1;
  }
}
/*共通
----------------------------*/
#feature {
  margin: 0 auto 113px;
  color: #000;
  box-sizing: border-box;
  text-align: center;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  position: relative;
  overflow: clip;
}
#feature * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
#feature a {
  width: 100%;
  height: auto;
  display: block;
  color: #000;
}
#feature a:hover {
  text-decoration: none;
}
#feature figure {
  background-color: #fff;
}
#feature .fadeimg {
  transition: 0.3s;
}
#feature .js_anime.is_hero {
  opacity: 0;
  transition: opacity 1.5s 0.1s;
}
#feature .js_anime.is_fadein {
  opacity: 0;
  transform: translateY(80px);
  transition-duration: 1.2s;
}
#feature .js_anime.is_show.is_hero {
  opacity: 1;
}
#feature .js_anime.is_show.is_fadein {
  opacity: 1;
  transform: translateY(0);
}

#feature {
  /*メインビジュアル（.hero)
  ----------------------------*/
}
#feature .hero {
  position: relative;
}
#feature .hero .hero__img {
  width: fit-content;
  margin: 0 auto;
}
#feature .hero .hero__logo {
  width: fit-content;
  position: absolute;
  bottom: 31px;
  left: 50%;
  transform: translateX(-50%);
}
#feature .swiper-pagination {
  width: 175px;
  height: 2px;
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 2;
}
#feature .swiper-pagination .swiper-pagination-bullet {
  width: 86px;
  height: 2px;
  background-color: #d8d5bf;
  position: relative;
  opacity: 1 !important;
  border-radius: 0 !important;
}
#feature .swiper-pagination .swiper-pagination-bullet::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #7c7a6e;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: 0 0;
}
#feature .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
  animation: sliderPagination 5.8s linear forwards;
}
#feature .sec .sec__no {
  width: 30px;
  height: 30px;
  margin: 0 auto;
  background-color: #d7d5bf;
  display: flex;
  align-items: center;
  justify-content: center;
}
#feature .sec .sec__no span {
  font-family: "arsenal", sans-serif;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
}
#feature .sec .sec__credit {
  width: fit-content;
  margin: 38px auto 0;
  position: relative;
}
#feature .sec .sec__credit .credit {
  width: fit-content;
}
#feature .sec .sec__credit .credit .item {
  width: fit-content;
}
#feature .sec .sec__credit .credit .item .link {
  width: fit-content;
  transition: 0.3s;
}
#feature .sec .sec__credit .credit .item .link:hover {
  opacity: 0.7;
}
#feature .sec .sec__credit .credit .item .link p {
  width: fit-content;
  margin: 0 auto;
  font-family: "arsenal", sans-serif;
  white-space: nowrap;
}
#feature .sec .sec__credit .credit .item .link p.txt {
  font-size: 34px;
  line-height: 1;
  letter-spacing: 0.015em;
  position: relative;
}
#feature .sec .sec__credit .credit .item .link p.txt::after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: 1px;
  left: 0;
}
#feature .sec .sec__credit .credit .item .link p.price {
  margin-top: 15px;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.045em;
  position: relative;
}
#feature .sec .sec__flex {
  display: flex;
  position: relative;
}
#feature .sec .sec__flex.is_reverse {
  flex-direction: row-reverse;
}
#feature .sec .sec__img {
  width: fit-content;
  position: relative;
}
#feature .sec .sec__img.sec__img15 {
  width: 447px;
}
#feature .sec .sec__img.sec__img15 .swiper {
  padding: 0 0 0 88px;
  overflow: hidden;
}
#feature .sec .sec__img.sec__img15 .swiper-slide {
  width: 360px;
  margin-right: 4px;
}
#feature .sec .sec__img.sec__img25 {
  width: 454px;
}
#feature .sec .sec__img.sec__img25 .swiper {
  padding: 0 0 0 94px;
  overflow: hidden;
}
#feature .sec .sec__img.sec__img25 .swiper-slide {
  width: 360px;
  margin-right: 4px;
}
#feature .sec.sec01 {
  margin-top: 150px;
}
#feature .sec.sec01 .sec__img.sec__img01 {
  margin: 50px auto 0;
}
#feature .sec.sec01 .sec__img.sec__img02 {
  margin: 155px 0 0 138px;
}
#feature .sec.sec01 .sec__img.sec__img03 {
  margin: 390px 0 0 130px;
}
#feature .sec.sec01 .sec__img.sec__img04 {
  margin: 25px 0 0 261px;
}
#feature .sec.sec01 .sec__img.sec__img05 {
  margin: 120px 0 0 81px;
}
#feature .sec.sec02 {
  margin-top: 200px;
}
#feature .sec.sec02 .sec__img.sec__img06 {
  margin: 49px auto 0;
}
#feature .sec.sec02 .sec__img.sec__img07 {
  margin: 152px 0 0 147px;
}
#feature .sec.sec02 .sec__img.sec__img08 {
  margin: 10px 0 0 147px;
}
#feature .sec.sec02 .sec__img.sec__img09 {
  margin: 328px 0 0 246px;
}
#feature .sec.sec02 .sec__img.sec__img10 {
  margin: 319px 0 0 210px;
}
#feature .sec.sec02 .sec__img.sec__img11 {
  margin: -40px 0 0 90px;
}
#feature .sec.sec03 {
  margin-top: 200px;
}
#feature .sec.sec03 .sec__img.sec__img12 {
  margin: 49px auto 0;
}
#feature .sec.sec03 .sec__img.sec__img13 {
  margin: 153px 0 0 223px;
}
#feature .sec.sec03 .sec__img.sec__img14 {
  margin: 557px 0 0 120px;
}
#feature .sec.sec03 .sec__img.sec__img15 {
  margin: -104px 0 0 110px;
}
#feature .sec.sec03 .sec__img.sec__img16 {
  margin: 151px 0 0 121px;
}
#feature .sec.sec04 {
  margin-top: 201px;
}
#feature .sec.sec04 .sec__credit {
  margin-top: 39px;
}
#feature .sec.sec04 .sec__img.sec__img17 {
  margin: 50px auto 0;
}
#feature .sec.sec04 .sec__img.sec__img18 {
  margin: 151px 0 0 141px;
}
#feature .sec.sec04 .sec__img.sec__img19 {
  margin: 424px 0 0 112px;
}
#feature .sec.sec04 .sec__img.sec__img20 {
  margin: -104px 0 0 141px;
}
#feature .sec.sec04 .sec__img.sec__img21 {
  margin: 160px 0 0 240px;
}
#feature .sec.sec05 {
  margin-top: 200px;
}
#feature .sec.sec05 .sec__credit {
  margin-top: 39px;
}
#feature .sec.sec05 .sec__img.sec__img22 {
  margin: 52px auto 0;
}
#feature .sec.sec05 .sec__img.sec__img23 {
  margin: 153px 0 0 245px;
}
#feature .sec.sec05 .sec__img.sec__img24 {
  margin: 533px 0 0 130px;
}
#feature .sec.sec05 .sec__img.sec__img25 {
  margin: -102px 0 0 116px;
}
#feature .sec.sec05 .sec__btnarea {
  width: 1102px;
  margin: 219px auto 0;
  display: flex;
  justify-content: space-between;
}
