main {
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 0vw;
}

section {
  padding: 0 3.8666666667vw;
}
section .inner {
  margin: 0 auto;
}

/*-----------------------------------------------------------------
xxx
-----------------------------------------------------------------*/
.logo {
  width: 29.3333333333vw;
  margin: 0 auto;
  padding-top: 6.6666666667vw;
}

#main-image {
  position: relative;
  padding: 4.6666666667vw 0 0;
  width: 94.4vw;
  margin: 0 auto;
  overflow: hidden;
}
#main-image ul li img {
  width: 100%;
}

#sec01 {
  padding-top: 8vw;
}
#sec01 .imgs {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
#sec01 .imgs .img:nth-of-type(1) {
  width: 94.5333333333vw;
  margin-bottom: 2.5333333333vw;
}
#sec01 .imgs .img:nth-of-type(2) {
  width: 32.2666666667vw;
  height: 25.3333333333vw;
  margin-left: 2.6666666667vw;
}
#sec01 .imgs .img img {
  display: block;
}

#sec02 {
  margin-top: 8.9333333333vw;
  position: relative;
}
#sec02 .imgs {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
#sec02 .imgs .img {
  width: 29.5733333333vw;
  height: 36.0533333333vw;
}
#sec02 .imgs .img img {
  display: block;
}

#sec03 {
  margin: 5.6vw auto 0;
  position: relative;
}
#sec03 .imgs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#sec03 .imgs .img {
  position: relative;
}
#sec03 .imgs .img:nth-of-type(1) {
  width: 38.3866666667vw;
  height: 46.0666666667vw;
}
#sec03 .imgs .img:nth-of-type(2) {
  width: 38.6666666667vw;
  height: 46.2666666667vw;
}
#sec03 .imgs .img:nth-of-type(3) {
  width: 26.4533333333vw;
  height: 34.96vw;
  margin-top: 5.6vw;
  margin-left: 13.3333333333vw;
}
#sec03 .imgs .img:nth-of-type(3)::before {
  content: "";
  display: block;
  width: 12.4vw;
  height: 41.7333333333vw;
  background: url(../img/sec03-left.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: -8vw;
  transform: translateY(-50%);
}
#sec03 .imgs .img:nth-of-type(4) {
  width: 26.4533333333vw;
  height: 34.9333333333vw;
  margin-top: 5.6vw;
  margin-left: 3.3066666667vw;
  margin-right: 13.3333333333vw;
}
#sec03 .imgs .img:nth-of-type(4)::before {
  content: "";
  display: block;
  width: 12.4vw;
  height: 41.7333333333vw;
  background: url(../img/sec03-right.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: -8vw;
  transform: translateY(-50%);
}
#sec03 .imgs .img:nth-of-type(5) {
  width: 16.2666666667vw;
  height: 34.9333333333vw;
  margin-top: 4.6533333333vw;
}
#sec03 .imgs .img:nth-of-type(6) {
  width: 46.76vw;
  height: 34.7333333333vw;
  margin-left: 1.6vw;
  margin-top: 4.6533333333vw;
}
#sec03 .imgs .img:nth-of-type(7) {
  width: 16.2666666667vw;
  height: 34.9333333333vw;
  margin-left: 1.6vw;
  margin-top: 4.6533333333vw;
}
#sec03 .imgs .img img {
  display: block;
}

#sec04 {
  position: relative;
  margin: 6.2666666667vw auto 0;
}
#sec04 .imgs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#sec04 .imgs .img {
  position: relative;
}
#sec04 .imgs .img:nth-of-type(1) {
  width: 46.12vw;
  height: 55.44vw;
}
#sec04 .imgs .img:nth-of-type(2) {
  width: 46.12vw;
  height: 55.44vw;
}
#sec04 .imgs .img:nth-of-type(3) {
  width: 61.9333333333vw;
  height: 41.5333333333vw;
  margin-top: 7.2933333333vw;
  margin-left: 6.6666666667vw;
  margin-right: 6.6666666667vw;
}
#sec04 .imgs .img:nth-of-type(4) {
  width: 27.7333333333vw;
  height: 35.6933333333vw;
  margin-top: 12.3733333333vw;
}
#sec04 .imgs .img:nth-of-type(5) {
  width: 33.7333333333vw;
  height: 35.7333333333vw;
  margin-top: 12.3733333333vw;
  margin-left: 6.6666666667vw;
}

#sec05 {
  position: relative;
  margin: 15.2vw auto 0;
}
#sec05 .imgs {
  position: relative;
}
#sec05 .imgs:nth-of-type(1) {
  display: grid;
}
#sec05 .imgs:nth-of-type(1) .img:nth-of-type(1) {
  width: 28.88vw;
  height: 45.5866666667vw;
  grid-area: 1/1/2/2;
  margin-left: 10.4vw;
}
#sec05 .imgs:nth-of-type(1) .img:nth-of-type(2) {
  width: 37.48vw;
  height: 29.4933333333vw;
  grid-area: 2/1/3/2;
  margin-top: 5.9466666667vw;
  margin-left: 5.4vw;
}
#sec05 .imgs:nth-of-type(1) .img:nth-of-type(3) {
  width: 40.92vw;
  height: 72.84vw;
  grid-area: 1/2/3/3;
}
#sec05 .imgs:nth-of-type(2) {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 7.4933333333vw;
}
#sec05 .imgs:nth-of-type(2) .img {
  width: 22.0266666667vw;
  height: 38.88vw;
}
#sec05 .imgs:nth-of-type(2) .img + .img {
  margin-left: 3.04vw;
}
#sec05 .imgs:nth-of-type(3) {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 8.2666666667vw;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#sec05 .imgs:nth-of-type(3) .img:nth-of-type(1) {
  width: 31.04vw;
  height: 31.04vw;
}
#sec05 .imgs:nth-of-type(3) .img:nth-of-type(2) {
  width: 38.4266666667vw;
  height: 44.1733333333vw;
  margin-left: 3.7066666667vw;
}
#sec05 .imgs:nth-of-type(3) .img:nth-of-type(3) {
  width: 29.9866666667vw;
  height: 45.28vw;
  margin-top: 9.3733333333vw;
}
#sec05 .imgs:nth-of-type(3) .img:nth-of-type(4) {
  width: 29.9866666667vw;
  height: 45.28vw;
  margin-left: 2.3466666667vw;
  margin-top: 9.3733333333vw;
}
#sec05 .imgs:nth-of-type(4) {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 14vw;
  margin-left: 8.9333333333vw;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}
#sec05 .imgs:nth-of-type(4) .img:nth-of-type(1) {
  width: 31.24vw;
  height: 36.6533333333vw;
}
#sec05 .imgs:nth-of-type(4) .img:nth-of-type(2) {
  width: 32.3333333333vw;
  height: 25.44vw;
  margin-left: 3.6666666667vw;
  margin-top: 1.3733333333vw;
}
#sec05 .imgs:nth-of-type(4) .img:nth-of-type(3) {
  width: 33.4266666667vw;
  height: 34.8933333333vw;
  margin-top: 4.4533333333vw;
  margin-left: 2.96vw;
}
#sec05 .imgs:nth-of-type(4) .img:nth-of-type(4) {
  width: 37.9333333333vw;
  height: 52.2666666667vw;
  margin-left: 3.28vw;
  margin-top: -6.52vw;
}

#instagram {
  margin-top: 15.4666666667vw;
  position: relative;
  padding-bottom: 11.0666666667vw;
}
#instagram::before {
  content: "";
  display: block;
  background: url(../img/text-instagram.png) center center no-repeat;
  background-size: contain;
  width: 22vw;
  height: 2.6666666667vw;
  margin: 0 auto;
}
#instagram .imgs {
  margin-top: 4vw;
}
#instagram .imgs .img {
  width: 25.9066666667vw;
  height: 28.4133333333vw;
  overflow: hidden;
}
#instagram .imgs .img img {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#instagram .link {
  display: block;
  width: 16.8vw;
  height: 2.1333333333vw;
  margin: 4.2666666667vw auto 0;
}