/* top page */
.p-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}
.p-top .l-blocks .c-title {
  margin-bottom: 37px;
}
.p-top .l-blocks.l-news {
  position: relative;
  padding-top: 84px;
  padding-bottom: 132px;
}
.p-top .l-blocks.l-news .c-title {
  margin-bottom: 0;
}
.p-top .l-blocks.l-news .bg {
  z-index: -1;
  position: absolute;
  bottom: -125px;
  left: 0;
  width: 100%;
  height: 1229px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-top .l-blocks.l-top-1 {
  position: relative;
  padding-top: 92px;
  padding-bottom: 111px;
}
.p-top .l-blocks.l-top-1 .l-block:not(:last-child) {
  margin-bottom: 30px;
}
.p-top .l-blocks.l-top-1 .l-banner-6 {
  margin-bottom: 54px;
}
.p-top .l-blocks.l-top-1 .bg {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1149px;
  background-position: center;
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-top .l-blocks.l-top-2 {
  position: relative;
}
.p-top .l-blocks.l-top-2 .l-contents {
  padding-top: 53px;
  padding-bottom: 110px;
}
.p-top .l-blocks.l-top-2 .bg {
  z-index: -1;
  position: absolute;
  left: 0;
  width: 100%;
  background-position: center;
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-top .l-blocks.l-top-2 .bg-top {
  top: 479px;
  height: 1901px;
}
.p-top .l-blocks.l-top-2 .bg-bottom {
  bottom: 348px;
  height: 2151px;
}
.p-top .l-blocks.l-top-3 {
  position: relative;
}
.p-top .l-blocks.l-top-3 .l-contents {
  padding-top: 50px;
  padding-bottom: 101px;
}
.p-top .l-blocks.l-top-3 .bg {
  z-index: -1;
  position: absolute;
  left: 0;
  width: 100%;
  background-position: center;
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-top .l-blocks.l-top-3 .bg-top {
  top: 842px;
  height: 1034px;
}
.p-top .l-blocks.l-top-3 .bg-bottom {
  bottom: 121px;
  height: 1105px;
}
.p-top .l-blocks.l-top-4 {
  position: relative;
  padding-top: 60px;
  padding-bottom: 110px;
}
.p-top .l-blocks.l-top-4 .l-contents {
  padding-top: 60px;
}
.p-top .l-blocks.l-top-4 .bg {
  z-index: -1;
  position: absolute;
  bottom: -42px;
  left: 0;
  width: 100%;
  height: 2082px;
  background-position: center;
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-top .l-blocks.l-top-4 .c-instagram {
  margin-top: 105px;
}
.p-top .l-blocks.l-instagram {
  position: relative;
  padding-bottom: 110px;
}
.p-top .l-blocks.l-instagram .l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.p-top .l-blocks.l-instagram .bg {
  z-index: -1;
  position: absolute;
  bottom: 14px;
  left: 0;
  width: 100%;
  height: 1757px;
  background-position: center;
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (min-width: 992px) {
  .p-top .l-blocks.l-top-1 .c-cols.c-col-2.special {
    margin-bottom: 95px;
  }
  .p-top .l-blocks.l-top-1 .c-cols.c-col-2.special .contents .c-title strong {
    font-size: 6.4rem;
  }
}
@media screen and (max-width: 991px) {
  .p-top .l-blocks.l-news {
    margin-bottom: 53px;
    padding-top: 70px;
  }
  .p-top .l-blocks.l-top-1 {
    padding-top: 50px;
    padding-bottom: 70px;
  }
  .p-top .l-blocks.l-top-2 .l-contents {
    padding-top: 50px;
    padding-bottom: 70px;
  }
  .p-top .l-blocks.l-top-3 .l-contents {
    padding-top: 50px;
    padding-bottom: 70px;
  }
  .p-top .l-blocks.l-top-4 .l-contents {
    padding-top: 50px;
    padding-bottom: 70px;
  }
  .p-top .l-blocks.l-instagram .l-contents {
    margin-bottom: 70px;
    padding-top: 70px;
  }
}