:root {
  /* main border size  */
  --mbs: 50px;
  /* main border width  */
  --mbw: 100px;
  /* section margin top  */
  --smt: 80px;
  /* container width  */
  --cw: 80%;
}
@media (max-width: 768px) {
  :root {
    --mbs: 30px;
    --mbw: 60px;
    --cw: 90%;
    --smt: 50px;
  }
}
@media (max-width: 480px) {
  :root {
    --mbs: 20px;
    --mbw: 40px;
    --smt: 20px;
  }
}
html, body {
  height: 100%;
  margin: 0;
}
.swiper, .swiper-container, .main-container {
  height: 100%;
}
.main-container {
  position: relative;
  max-width: 1400px;
  margin: auto;
}
.border {
  padding: var(--mbs);
  height: calc( 100% - var(--mbw) );
  position: relative;
}
.swiper-slide {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}
.swiper-slide img {
  position: absolute;
  left: calc( calc( 100% - var(--cw) ) / 2 + 10px );
  bottom: var(--smt);
}
.swiper-slide:nth-child(1) img {
  width: 28.6%;
}
.swiper-slide:nth-child(2) img {
  width: 41.8%;
}
.swiper-slide:nth-child(3) img {
  width: 52.3%;
}
.nav {
  position: absolute;
  right: var(--mbs);
  bottom: 10px;
}
.nav-arrow {
  cursor: pointer;
  margin-left: 10px;
}
@media (max-width: 768px){
  .nav {
    bottom: 0px;
  }
}
@media (max-width: 480px) {
  .border {
    height: calc( 300px - var(--mbw) );
  }
  .nav {
    bottom: 2px;
  }
  .nav-arrow {
    margin-left: 0px;
    width: 8px;
  }
}
.logo {
  width: 10%;
  position: absolute;
  left: calc( calc( 100% - var(--cw) ) / 2 + var(--mbs) );
  top: 0px;
  z-index: 10;
}
.container {
  padding: 0 var(--mbs);
  max-width: calc( var(--cw) - var(--mbw) );
  margin: auto;
}

.container > div {
  position: relative;
  margin-top: var(--smt);
}
.container > .section1 {
  z-index: 10;
  margin-top: 0px;
  margin-bottom: calc( 120px + var(--smt) * 2 );
}
.section1 .img01 {
  margin-top: calc( var(--smt) * -1 - 20px );
  max-width: 50%;
}
.section1 .img02 {
  max-width: 48%;
  position: absolute;
  right: 0px;
  bottom: 0px;
  margin-bottom: calc( var(--smt) * -2 - 40px);
}
.section1 .img03 {
  margin: 10px 8%;
  width: 84%;
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width: 768px) {
  .section1 .img02 {
    margin-bottom: calc( var(--smt) * -2 );
  }
  .container > .section1 {
    margin-bottom: calc( 60px + var(--smt) * 2 );
  }
}
@media (max-width: 480px) {
  .container > .section1 {
    margin-bottom: calc( 60px + var(--smt) * 2 - 50px );
  }
  .section1 .img01 {
    margin-top: calc( var(--smt) * -1 - 10px );
  }
  .section1 .img02 {
    max-width: 46%;
    margin-bottom: calc( var(--smt) * -2 + 10px );
  }
  .section1 .img03 {
    margin-top: 0px;
  }
}

.section2 .img01 {
  width: 100%;
}
.section4 .img01 {
  width: 100%;
}
.section3 .img01 {
  width: 30%;
  margin-bottom: var(--smt);
  position: relative;
  clear: both;
}
.section3 .img02 {
  max-width: calc( 38.8% + var(--mbw) );
  position: absolute;
  left: 0px;
  top: 0px;
  margin-left: calc( -10% - var(--mbw) );
}
.section3 .img03 {
  width: 65%;
  margin-left: 3%;
}
.section5 .img01 {
  width: 14%;
}
.section5 .img02 {
  width: 80%;
  margin-left: 4%;
  margin-bottom: 1%;
}
.section6, .section7, .section8, .section9, .section10, .section11, .section12 {
  background-color: #ece7d9;
}
.container > .section6 {
  margin-top: calc( var(--smt) * 2 );
}
.section6 .img01 {
  width: 70%;
  margin-left: -7%;
  margin-top: 30px;
  z-index: 2;
  position: relative;
}
.section6 .img02 {
  width: 34%;
  margin-right: -100px;
  margin-left: 7%;
  margin-top: -100px;
  margin-bottom: 60px;
}
.section6 .img03 {
  position: absolute;
  z-index: 1;
  left: 0px;
  top: 100px;
  margin-left: calc( -10% - var(--mbw) );
  width: 55%;
}
.section6 .img04 {
  margin: 10px 8%;
  width: 84%;
}
@media (max-width: 768px){
  .section6 .img03 {
    top: 70px;
  }
}
@media (max-width: 480px){
  .section6 .img03 {
    top: 50px;
  }
}
.container > .section7, .container > .section8, .container > .section9, .container > .section10 {
  margin-top: 0px;
  padding-top: var(--smt);
}
@media (max-width: 480px) {
  .container > .section7, .container > .section9, .container > .section10 {
    padding-top: 0px;
  }
  .container > .section8 {
    padding-top: 10px;
  }
}

.container > .section11, .container > .section12 {
  margin-top: 0px;
  padding-top: 50px;
}
@media (max-width: 480px) {
  .container > .section11, .container > .section12 {
    padding-top: 10px;
  }
}
.section7 .img01 {
  margin-left: 7%;
  width: 20%;
}
.section7 .img02 {
  margin-left: 35%;
  width: 32%;
  margin-bottom: 40px;
}
.section7 .img03 {
  margin-left: 7%;
  width: 38%;
  margin-bottom: 60px;
}
.section7 .img04 {
  margin-left: 2%;
  margin-right: -12%;
  width: 57%;
}

@media (max-width: 480px) {
  .section7 .img01 {
    margin-bottom: -15px;
  }
  .section7 .img02 {
    margin-bottom: 10px;
  }
  .section7 .img03 {
    margin-bottom: 20px;
  }
}
.section8 .img01 {
  margin-left: 7%;
  width: 32%;
}
.section8 .img02 {
  margin-left: 25%;
  width: 31%;
}
.section8 .img03 {
  margin-left: 6%;
  margin-top: 5%;
  width: 50%;
}
.clear {
  clear: both;
}
.container > .section9 {
  padding-top: 50px;
}

.section9 .img01 {
  margin-right: 5%;
  width: 40%;
  margin-top: calc( var(--smt) * -2 );
}
.section9 .img02 {
  margin-left: 7%;
  width: 20%;
}
.section9 .img03 {
  margin-left: 7%;
  width: 44%;
  margin-top: 50px;
}
@media (max-width: 480px) {
  .container > .section9 {
    padding-top: 20px;
  }
  .section9 .img03 {
    margin-top: 15px;
  }
}


.section10 .img01 {
  width: 62%;
  margin-left: -5%;
  margin-top: 30px;
  z-index: 2;
  position: relative;
}
.section10 .img02 {
  width: 48%;
  margin-right: -15%;
}
.section10 .img03 {
  position: absolute;
  z-index: 1;
  left: 0px;
  top: 100px;
  margin-left: calc( -10% - var(--mbw) );
  width: 65%;
}
@media (max-width: 768px){
  .section10 .img03 {
    top: 80px;
  }
}
@media (max-width: 480px) {
  .section10 .img03 {
    top: 30px;
  }
}

.section11 .img01 {
  margin: 10px 8%;
  width: 84%;
}

.section12 .img01 {
  margin-left: 8%;
  width: 54%;
}
.section12 .img02 {
  margin-right: -15%;
  margin-left: 2%;
  margin-bottom: calc( var(--smt) * -1 - 20px );
  width: 41%;
}
.section12 .img03 {
  margin-left: 8%;
  width: 50%;
  margin-top: calc( var(--smt) - 30px );
  margin-bottom: calc( var(--smt) * -1 - 40px );
}

@media (max-width: 480px) {
  .section12 .img02 {
    margin-bottom: calc( var(--smt) * -1 - 10px );
    width: 41%;
  }
  .section12 .img03 {
    margin-top: calc( var(--smt) );
    margin-bottom: calc( var(--smt) * -1 - 20px );
  }
}

.footer {
  background-image: url(./images/bg05.png);
  background-repeat: no-repeat;
  background-size: 100%;
  margin-top: calc( var(--smt) * 2 + 10px );
  padding: calc( var(--smt) - 30px ) 0px;
  padding-top: calc( var(--smt) - 10px );
}
.footer .right {
  float: right;
  height: 255px;
}

@media (max-width: 480px){
  .footer {
    padding: calc( var(--smt) ) 0px;
    padding-top: calc( var(--smt)  );
  }
}
.container > .section13 {
  margin-top: 0px;
}
.section13 .img01 {
  width: 28%;
}
.section13 .img01.mobile {
  display: none;
  float: right;
}
@media (max-width: 768px){
  .footer .right {
    height: 150px;
  }
}
@media (max-width: 480px) {
  .section13 .img01.mobile {
    display: block;
  }
  .footer .right {
    display: none;
  }
}


.section13 .img02 {
  width: 45%;
}

.section13 .img03 {
  width: 23%;
  margin-top: calc( var(--smt) - 30px );
}