@charset "utf-8";

.index:before{
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-position: center center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  background-image: url(../images/index/top-01.jpg);
}

/* ---------------------------------------------------------
header
----------------------------------------------------------*/
header{
  position: absolute;
  top: auto;
}
header.fixed{
  position: fixed;
  top: 0;
}

/* ---------------------------------------------------------
firstview
----------------------------------------------------------*/
.first_view{
  background-color: #fff;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.first_view .swiper-slide{
  width: 100%;
  overflow: hidden;
}
.first_view .slide-img img{
  width: 100%;
  height: calc(100vh - var(--pc-header));
  max-width: initial;
  object-fit: cover;
}
.first_view .swiper-slide-active .slide-img,
.first_view .swiper-slide-duplicate-active .slide-img,
.first_view .swiper-slide-prev .slide-img{
  animation: zoomUp 10s linear 0s 1 normal both;
}

/* ---------------------------------------------------------
headline
----------------------------------------------------------*/
.headline{
  padding: 20rem 2rem;
}
.headline .inner{
  max-width: 150rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  font-size: 2.6rem;
  align-items: center;
  position: relative;
}
.headline .inner .text{
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 0 2rem;
}
.headline .inner .logo{
  font-size: 9.6rem;
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 0 2rem;
  font-family: 'Anton', sans-serif;
  letter-spacing: .1rem;
}
.headline .inner .js_line{
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  background-color: #000;
}
.headline.black{
  background-color: #000;
  color: #fff;
 }
.headline.black .inner .logo{
  background: #000;
  text-align: right;
  order: 2;
}
.headline.black .inner .text{
  order: 1;
  background: #000;
}
.headline.black .js_line{
  background-color: #fff;
}

/* ---------------------------------------------------------
feature
----------------------------------------------------------*/
.feature{
  text-align: center;
  padding-bottom: 12rem;
}
.feature .heading{
  margin-bottom: 5rem;
}
.feature .lead{
  font-size: 2.4rem;
  margin-bottom: 4rem;
  font-weight: bold;
}
.feature.black{
  background-color: #000;
  color: #fff;
}
.feature .tag_table{
  margin-top: 2rem;
}



/* ---------------------------------------------------------
design
----------------------------------------------------------*/
.design{
  padding-bottom: 0!important;
  padding-right: 0;
  padding-left: 0;
}
.design ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.design ul li{
  width: 50%;
}
.design ul li a{
  display: block;
  position: relative;
}
.design ul li a span{
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  color: #fff;
  flex-direction: column;
}
.design ul li a span .title{
  font-size: 9rem;
  font-family: 'Anton', sans-serif;
  margin-bottom: 2rem;
  line-height: 1;
}
.design ul li a:hover span{
  background-color: rgba(0,0,0,0.5);
}

/* ---------------------------------------------------------
slider
----------------------------------------------------------*/
.top_sllider img {
  max-width: none;
  width: 100%;
}

/* 微調整 */
.sp_view2{
  display: none;
}
.pc_view2{
  display: block;
}
@media screen and (max-width:1200px){
  .sp_view2{
    display: block;
  }
}


/* ---------------------------------------------------------
ONLY PC
----------------------------------------------------------*/
@media screen and (min-width:1001px){
  .design ul li a:hover{
    opacity: 1;
  }
  .design ul li a span{
    -webkit-transition: .3s;
            transition: .3s;
  }
}


/* ---------------------------------------------------------
ONLY SP(TOPはブレークポイント大きめ)
----------------------------------------------------------*/
@media screen and (max-width:1000px){
  .pc_view2{
    display: none;
  }

  /* ---------------------------------------------------------
  first view
  ----------------------------------------------------------*/
  .first_view .slide-img img{
    height: calc(100vh - var(--sp-header));
  }

  /* ---------------------------------------------------------
  headline
  ----------------------------------------------------------*/
  .headline{
    padding: 8rem 2rem;
  }
  .headline.black{
    padding-top: 14rem;
  }
  .headline .inner{
    max-width: none;
    display: flex;
    justify-content: space-between;
    font-size: 1.7rem;
    align-items: center;
    flex-direction:column;
  }
  .headline .inner .text{
    width: 100%;
  }
  .headline .inner .logo{
    width: 100%;
    font-size: 4.5rem;
  }
  .headline .inner .logo::before{
    display: none;
  }
  .headline.black .inner .logo{
    width: 100%;
    text-align: left;
    order: 0;
  }
  .headline.black .inner .logo::before{
    display: none;
  }
  .headline.black .inner .text{
    order: 0;
  }
  .headline .inner .js_line{
    display: none;
  }

  /* ---------------------------------------------------------
  feature
  ----------------------------------------------------------*/
  .feature{
    padding-bottom: 8rem;
  }
  .feature .heading{
    margin-bottom: 2.5rem;
  }
  .feature .lead{
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
  .feature .text{
    text-align: left;
  }
  .feature .tag_table{
    margin-top: 1rem;
  }

  /* ---------------------------------------------------------
  design
  ----------------------------------------------------------*/
  .design{
    padding: 0;
  }
  .design ul{
    justify-content: space-between;
    flex-wrap: nowrap;
    flex-direction: column;
  }
  .design ul li{
    width: 100%;
  }
  .design ul li a span .title{
    font-size: 5rem;
    margin-bottom: 1rem;
  }
}