#container h2,
#container h3 {
   font-weight: 400;
   line-height: 1.1;
   white-space: nowrap
}

#container .ttl-w {
   color: #fff
}

.fnt-shi {
   font-family: "Shippori Mincho", serif
}

.slick-dots li {
   margin: 0;
   width: auto;
   height: 100%;
   width: 3vw;
   height: 3vw;
   background: rgba(0, 0, 0, 0);
   border: 1px solid #fff;
   box-sizing: border-box
}

.slick-dots li:not(:last-child) {
   margin: 0 4vw 0 0;
   position: relative;
   position: relative
}

.slick-dots li:not(:last-child)::before {
   content: "";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 110%;
   background: #fff;
   width: 4vw;
   height: 1px
}

.slick-dots li button {
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0)
}

#sec1 {
   margin-top: -120vw
}

#sec1 .set1 .ttl {
   font-size: 8vw;
   margin: 0 auto;
   position: relative;
   z-index: 2;
   letter-spacing: .3em
}

#sec1 .set1 .photo1 {
   margin-top: -56vw
}

#sec1 .set1 .txt {
   margin-top: 25vw
}

#sec1 .set1 .txt .left {
   display: block;
   margin-top: 15vw
}

#sec1 .set2 {
   margin-top: 25vw
}

#sec1 .set2 .set2-ttl {
   font-size: 8vw;
   margin: 0 auto;
   position: relative;
   letter-spacing: .3em;
   z-index: 2
}

#sec1 .set2 .set2-ttl small {
   font-size: 7vw
}

#sec1 .set2 .set2-photo {
   margin-top: -93vw
}

#sec1 .set2 .set2-txt {
   margin-top: 25vw
}

#sec1 .set2 .set2-txt .left {
   margin-top: 15vw;
   display: block
}

#sec2 {
   color: #fff;
   margin-top: 30vw
}

#sec2 .gr {
   position: relative
}

#sec2 .ttl {
   font-size: 8vw;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 5vw;
   left: 0;
   letter-spacing: .3em
}

#sec2 .ttl .right {
   position: absolute;
   top: 5vw;
   right: 5vw;
   z-index: 2;
}

#sec2 .ttl .left {
   display: block;
   position: absolute;
   bottom: 5vw;
   left: 5vw;
   letter-spacing: .2em;
   z-index: 3
}

#sec2 .txt {
   margin-top: 20vw
}

#sec2 .txt .left {
   display: block;
   margin-top: 15vw
}

#sec2 .set2 {
   margin-top: 25vw
}

#sec2 .set3 {
   margin-top: 25vw
}

#sec3 {
   color: #fff;
   margin-top: 30vw;
   padding-bottom: 30vw;
}

#sec3 .gr {
   position: relative
}

#sec3 .ttl {
   position: absolute;
   top: 16vw;
   right: 10vw;
   z-index: 3;
   letter-spacing: .2em;
   font-size: 8vw;
}

#sec3 .ttl small {
   font-size: 7vw;
}

#sec3 .txt {
   margin-top: 20vw;
}

#sec3 .txt .left {
   display: block;
   margin-top: 15vw
}

@media(min-width: 768px) {
   .slick-dots {
      padding-top: 20px;
      justify-content: flex-end;
   }

   .slick-dots li {
      width: 12px;
      height: 12px;
   }

   .slick-dots li:not(:last-child) {
      margin: 0 10px 0 0;
   }

   .slick-dots li:not(:last-child)::before {
      left: 110%;
      width: 10px;
      height: 1px
   }

   #sec1 {
      margin-top: 331px
   }

   #sec1 .set1 .ttl {
      font-size: 40px
   }

   #sec1 .set1 .photo1 {
      margin-top: -277px
   }

   #sec1 .set1 .txt {
      width: 100%;
      margin: 293px 0 0 -54px;
      min-height: 584px
   }

   #sec1 .set1 .txt .left {
      margin: 0 70px 0 0
   }

   #sec1 .set2 {
      margin-top: 230px
   }

   #sec1 .set2 .set2-ttl {
      font-size: 40px
   }

   #sec1 .set2 .set2-ttl small {
      font-size: 36px
   }

   #sec1 .set2 .set2-photo {
      margin-top: -472px
   }

   #sec1 .set2 .set2-txt {
      margin: 300px 0 0 84px;
      min-height: 640px
   }

   #sec1 .set2 .set2-txt .left {
      margin: 0 61px 0 0
   }

   #sec2 {
      color: #fff;
      margin-top: 491px
   }

   #sec2 .ttl {
      font-size: 40px;
      bottom: 20px;
      left: 0;
      letter-spacing: .3em
   }

   #sec2 .ttl .right {
      position: absolute;
      top: 64px;
      right: 68px
   }

   #sec2 .ttl .left {
      bottom: 26px;
      left: 47px;
      z-index: 3
   }

   #sec2 .txt {
      margin: 212px 0 0 41px;
      min-height: 600px
   }

   #sec2 .txt .left {
      display: block;
      margin: 0 50px 0 0
   }

   #sec2 .set2 {
      margin-top: 308px
   }

   #sec2 .set2 .ttl .left {
      bottom: 43px;
      left: 50px
   }

   #sec2 .set2 .ttl .right {
      top: 69px;
      right: 62px
   }

   #sec2 .set2 .txt {
      margin-left: 84px
   }

   #sec2 .set2 .txt .left {
      margin-right: 75px
   }

   #sec2 .set3 {
      margin-top: 313px
   }

   #sec2 .set3 .txt {
      margin: 200px 0 0 120px
   }

   #sec3 {
      color: #fff;
      margin-top: 364px;
      padding-bottom: 200px
   }

   #sec3 .ttl {
      top: 98px;
      right: 59px;
      font-size: 40px
   }

   #sec3 .ttl small {
      font-size: 36px
   }

   #sec3 .txt {
      margin: 243px 0 0 12px;
      min-height: 600px
   }

   #sec3 .txt .left {
      display: block;
      margin: 0 50px 0 0
   }
}

@media only screen and (min-width: 768px) and (max-width: 1200px){
   #sec1 {
      padding: 120px 0 200px;
   }

   #sec1 .set1 .ttl {
      font-size: 28px;
      top: -70px;
  }

  #sec1 .set1 .txt {
   width: 100%;
   margin: 293px 0 0 0px;
   min-height: 584px;
   }
   #sec1 .set1 .txt .left {
      margin: 0 40px 0 0;
  }
   #sec1 .set2 .set2-ttl {
      font-size: 28px;
      top: -140px;
  }
   #sec1 .set2 .set2-ttl small {
      font-size: 26px;
  }

  #sec1 .set2 .set2-txt {
   margin: 300px 0 0 24px;
   min-height: 640px;
   }
   #sec1 .set2 .set2-txt .left {
      margin: 0 40px 0 0;
  }

  #sec2 {
      margin-top: 0px
   }

   #sec2 .ttl {
      font-size: 28px;
      top: 24px;
      right: 15px;
  }
  #sec2 .ttl .right {
      position: absolute;
      top: 14px;
      right: 18px;
   }
   #sec2 .ttl .left {
      bottom: 0px;
      left: 21px;
      z-index: 3;
   }

   #sec2 .txt {
      margin: 212px 0 0 0px;
      min-height: 600px;
  }
  #sec2 .txt .left {
   display: block;
   margin: 0 30px 0 0;
}

   #sec2 .set2 {
      margin-top: 128px;
   }

   #sec2 .set2 .ttl .right {
      top: 9px;
      right: 19px;
  }

   #sec2 .set2 .ttl .left {
      bottom: 23px;
      left: 26px;
   }
   #sec2 .set2 .txt {
      margin-left: 10px;
   }
   #sec2 .set2 .txt .left {
      margin-right: 55px;
  }
   #sec2 .set3 {
      margin-top: 128px;
  }
  #sec2 .set3 .txt {
      margin: auto;
      margin-top: 200px;
  }
  #sec3 {
      color: #fff;
      margin-top: 128px;
      padding-bottom: 200px;
   }

   #sec3 .ttl {
      top: 48px;
      right: 22px;
      font-size: 28px;
   }
   #sec3 .txt {
      margin: auto;
      margin-top: 200px;
      min-height: 600px;
  }
  #sec3 .txt .left {
   display: block;
   margin: 0 0px 0 0;
}
}

@media only screen and (min-width: 1201px) and (max-width: 1799px){
   #sec1 .set1 .ttl {
      font-size: 30px;
      top: -60px;
   }
   #sec1 .set1 .txt {
      width: auto;
      margin: auto;
      margin-top: 240px;
      min-height: 584px;
  }
  #sec1 .set1 .txt .left {
    margin: 0 50px 0 0;
   }
   #sec1 .set2 .set2-ttl {
      font-size: 30px;
      top: -120px;
  }
  #sec1 .set2 .set2-ttl small {
      font-size: 26px;
   }
   #sec1 .set2 .set2-txt {
      margin: auto;
      margin-top: 240px;
      min-height: 640px;
   }
   #sec1 .set2 .set2-txt .left {
      margin: 0 40px 0 0;
  }
  #sec2 {
      color: #fff;
      margin-top: 250px;
   }
   #sec2 .ttl .right {
      position: absolute;
      top: 30px;
      right: 34px;
      font-size: 30px;
  }
   #sec2 .ttl .left {
      bottom: 6px;
      left: 30px;
      z-index: 3;
      font-size: 30px;
   }
  #sec2 .txt {
      margin: auto;
      margin-top: 240px;
      min-height: 600px;
   }
   #sec2 .txt .left {
      display: block;
      margin: 0 30px 0 0;
   }
   #sec2 .set2 {
      margin-top: 200px;
  }
   #sec2 .ttl {
      font-size: 30px;
      bottom: 20px;
      left: 0;
      letter-spacing: .3em;
   }
   #sec2 .set2 .ttl .right {
      top: 39px;
      right: 42px;
  }
  #sec2 .set2 .ttl .left {
      bottom: 13px;
      left: 30px;
   }
   #sec2 .set2 .txt {
      margin: auto;
      margin-top: 240px;
  }
   #sec2 .set2 .txt .left {
      margin-right: 45px;
   }
  #sec2 .ttl .right {
      position: absolute;
      top: 44px;
      right: 40px;
   }
  #sec2 .ttl .left {
      bottom: 6px;
      left: 17px;
      z-index: 3;
   }
   #sec2 .set3 {
      margin-top: 230px;
  }
   #sec2 .set3 .txt {
      margin: auto;
      margin-top: 240px;
  }
   #sec3 {
      color: #fff;
      margin-top: 200px;
   }
   #sec3 .ttl {
      top: 28px;
      right: 39px;
      font-size: 30px;
  }
   #sec3 .txt {
      margin: auto;
      margin-top: 240px;
      min-height: 660px;
   }
   #sec3 .txt .left {
      margin: 0 30px 0 0;
   }
}
