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: 4vw;
}

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

.format01 {
  padding-top: 8vw;
}
.format01 .imgs {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.format01 .imgs .img.img-about {
  width: 94.5333333333vw;
  margin-bottom: 2.5333333333vw;
}
.format01 .imgs .img.img01 {
  width: 32.2666666667vw;
  height: 25.3333333333vw;
  margin-left: 2.6666666667vw;
}
.format01 .imgs .img img {
  display: block;
}

.format02 {
  margin-top: 8.9333333333vw;
  position: relative;
}
.format02 .sec01_02 {
  width: 88.6666666667vw;
  margin: 0 auto;
}
.format02 .sec01_02 img {
  display: block;
}
.format02 .imgs {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.format02 .imgs .img {
  width: 29.5733333333vw;
  height: 36.0533333333vw;
}
.format02 .imgs .img img {
  display: block;
}

.format03 {
  margin: 5.6vw auto 0;
  position: relative;
}
.format03 .imgs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.format03 .imgs .img {
  position: relative;
}
.format03 .imgs .img.img01 {
  width: 38.3866666667vw;
  height: 46.0666666667vw;
}
.format03 .imgs .img.img02 {
  width: 38.6666666667vw;
  height: 46.2666666667vw;
}
.format03 .imgs .img.img03 {
  width: 26.4533333333vw;
  height: 34.96vw;
  margin-top: 5.6vw;
  margin-left: 13.3333333333vw;
}
.format03 .imgs .img.img03::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%);
}
.format03 .imgs .img.img04 {
  width: 26.4533333333vw;
  height: 34.9333333333vw;
  margin-top: 5.6vw;
  margin-left: 3.3066666667vw;
  margin-right: 13.3333333333vw;
}
.format03 .imgs .img.img04::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%);
}
.format03 .imgs .img.img05 {
  width: 16.2666666667vw;
  height: 34.9333333333vw;
  margin-top: 4.6533333333vw;
}
.format03 .imgs .img.img06 {
  width: 46.76vw;
  height: 34.7333333333vw;
  margin-left: 1.6vw;
  margin-top: 4.6533333333vw;
}
.format03 .imgs .img.img07 {
  width: 16.2666666667vw;
  height: 34.9333333333vw;
  margin-left: 1.6vw;
  margin-top: 4.6533333333vw;
}
.format03 .imgs .img img {
  display: block;
}

.format04 {
  position: relative;
  margin: 6.2666666667vw auto 0;
}
.format04 .imgs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.format04 .imgs .img {
  position: relative;
}
.format04 .imgs .img.img01 {
  width: 46.12vw;
  height: 55.44vw;
}
.format04 .imgs .img.img02 {
  width: 46.12vw;
  height: 55.44vw;
}
.format04 .imgs .img.img03 {
  width: 61.9333333333vw;
  height: 41.5333333333vw;
  margin-top: 7.2933333333vw;
  margin-left: 6.6666666667vw;
  margin-right: 6.6666666667vw;
}
.format04 .imgs .img.img04 {
  width: 27.7333333333vw;
  height: 35.6933333333vw;
  margin-top: 12.3733333333vw;
}
.format04 .imgs .img.img05 {
  width: 33.7333333333vw;
  height: 35.7333333333vw;
  margin-top: 12.3733333333vw;
  margin-left: 6.6666666667vw;
}

.format05 {
  position: relative;
  margin: 15.2vw auto 0;
}
.format05 .imgs {
  position: relative;
}
.format05 .imgs.chunk01 {
  display: grid;
}
.format05 .imgs.chunk01 .img.img01 {
  width: 28.88vw;
  height: 45.5866666667vw;
  grid-area: 1/1/2/2;
  margin-left: 10.4vw;
}
.format05 .imgs.chunk01 .img.img02 {
  width: 37.48vw;
  height: 29.4933333333vw;
  grid-area: 2/1/3/2;
  margin-top: 5.9466666667vw;
  margin-left: 5.4vw;
}
.format05 .imgs.chunk01 .img.img03 {
  width: 40.92vw;
  height: 72.84vw;
  grid-area: 1/2/3/3;
}
.format05 .imgs.chunk02 {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 7.4933333333vw;
}
.format05 .imgs.chunk02 .img {
  width: 22.0266666667vw;
  height: 38.88vw;
}
.format05 .imgs.chunk02 .img + .img {
  margin-left: 3.04vw;
}
.format05 .imgs.chunk03 {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 8.2666666667vw;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.format05 .imgs.chunk03 .img.img07 {
  width: 31.04vw;
  height: 31.04vw;
}
.format05 .imgs.chunk03 .img.img08 {
  width: 38.4266666667vw;
  height: 44.1733333333vw;
  margin-left: 3.7066666667vw;
}
.format05 .imgs.chunk03 .img.img09 {
  width: 29.9866666667vw;
  height: 45.28vw;
  margin-top: 9.3733333333vw;
}
.format05 .imgs.chunk03 .img.img10 {
  width: 29.9866666667vw;
  height: 45.28vw;
  margin-left: 2.3466666667vw;
  margin-top: 9.3733333333vw;
}
.format05 .imgs.chunk04 {
  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;
}
.format05 .imgs.chunk04 .img.img11 {
  width: 31.24vw;
  height: 36.6533333333vw;
}
.format05 .imgs.chunk04 .img.img12 {
  width: 32.3333333333vw;
  height: 25.44vw;
  margin-left: 3.6666666667vw;
  margin-top: 1.3733333333vw;
}
.format05 .imgs.chunk04 .img.img13 {
  width: 33.4266666667vw;
  height: 34.8933333333vw;
  margin-top: 4.4533333333vw;
  margin-left: 2.96vw;
}
.format05 .imgs.chunk04 .img.img14 {
  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%;
  object-fit: cover;
}
#instagram .link {
  display: block;
  width: 16.8vw;
  height: 2.1333333333vw;
  margin: 4.2666666667vw auto 0;
}
