#mainvisual {
  width: 100%;
  position: relative;
  padding-top: 45.7%;
}
@media screen and (max-width: 1200px) {
  #mainvisual {
    padding-top: 900px;
  }
}
@media screen and (max-width: 1200px) and (max-width: 750px) {
  #mainvisual {
    padding-top: 120vw;
  }
}
#mainvisual:before {
  content: "";
  display: block;
  position: absolute;
  width: 83%;
  height: 100%;
  top: 0;
  bottom: 0;
  background: url(../images/top/mv.jpg) top right no-repeat;
  background-size: 100% auto;
}
@media screen and (max-width: 1200px) {
  #mainvisual:before {
    background-size: auto 100%;
    overflow: hidden;
  }
}
@media screen and (max-width: 1200px) and (max-width: 750px) {
  #mainvisual:before {
    background-size: auto 100%;
  }
}
#mainvisual .mv-caption {
  background: #fff;
  padding: 30px;
  position: absolute;
  bottom: 0;
  left: 5%;
  transform: translateY(25%);
}
@media screen and (max-width: 1200px) and (max-width: 750px) {
  #mainvisual .mv-caption {
    padding: 5% 3%;
  }
}
#mainvisual .mv-caption h2 {
  font-weight: 500;
  font-size: 2.5em;
  line-height: 1.5em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  #mainvisual .mv-caption h2 {
    font-size: 1.6666666667em;
  }
}
#mainvisual .mv-caption .text {
  margin-top: 2em;
  font-size: 0.8888888889em;
}
@media screen and (max-width: 750px) {
  #mainvisual .mv-caption .text {
    letter-spacing: 0;
  }
}

#global-navi {
  width: 17%;
  position: absolute;
  right: 0;
  top: 230px;
  padding-right: 5%;
}
#global-navi .navi li {
  text-align: right;
}
#global-navi .navi li:nth-child(n+2) {
  margin-top: 20px;
}
@media screen and (max-width: 750px) {
  #global-navi .navi li:nth-child(n+2) {
    margin-top: 2.6666666667vw;
  }
}

.section-contents {
  padding-top: 60px;
}
@media screen and (max-width: 1200px) {
  .section-contents {
    padding-top: 100px;
  }
}
@media screen and (max-width: 750px) {
  .section-contents {
    padding-top: 20vw;
  }
}

#section1 .text {
  text-align: center;
}
#section1 .text p {
  line-height: 2;
}
#section1 .text p:nth-child(n+2) {
  margin-top: 1em;
}
#section1 {
  position: relative;
}
#section1:after {
  content: "";
  display: block;
  width: 100%;
  height: 400px;
  background: url(../images/top/s1-kv.jpg) no-repeat center;
  background-size: 100% auto;
  margin-top: 70px;
}
@media screen and (min-width: 1201px), print {
  #section1:after {
    background-attachment: fixed;
  }
}
@media screen and (max-width: 1200px) {
  #section1:after {
    background-size: 1500px auto;
    background-position: bottom -100px center;
  }
}
@media screen and (max-width: 1200px) and (max-width: 750px) {
  #section1:after {
    margin-top: 9.3333333333vw;
    height: 53.3333333333vw;
    background-size: 1000px;
    background-position: bottom -33.3333333333vw center;
  }
}

#section2 {
  background: url(../images/common/section-bg.jpg);
  padding-bottom: 100px;
}
@media screen and (max-width: 750px) {
  #section2 {
    padding-bottom: 13.3333333333vw;
  }
}
#section2 li {
  position: relative;
}
@media screen and (min-width: 1201px), print {
  #section2 li {
    padding: 70px 0;
    max-width: 1600px;
    margin-right: auto;
    margin-left: auto;
  }
}
#section2 li:before {
  content: "";
  display: block;
  max-width: 770px;
  width: 95%;
  padding-top: 360px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
}
@media screen and (min-width: 1201px), print {
  #section2 li:before {
    position: absolute;
  }
}
@media screen and (max-width: 750px) {
  #section2 li:before {
    width: 90%;
    padding-top: 46.7%;
  }
}
@media screen and (min-width: 1201px), print {
  #section2 li:nth-child(even):before {
    right: 5%;
  }
}
@media screen and (max-width: 1200px) {
  #section2 li:nth-child(even):before {
    margin-right: 5%;
    margin-left: auto;
  }
}
@media screen and (min-width: 1201px), print {
  #section2 li:nth-child(odd):before {
    left: 5%;
  }
}
@media screen and (max-width: 1200px) {
  #section2 li:nth-child(odd):before {
    margin-left: 5%;
    margin-right: auto;
  }
}
#section2 li:nth-child(n+2) {
  margin-top: 80px;
}
@media screen and (max-width: 750px) {
  #section2 li:nth-child(n+2) {
    margin-top: 5.3333333333vw;
  }
}
#section2 li.box1:before {
  background-image: url(./../images/top/s2-img1.jpg);
}
#section2 li.box2:before {
  background-image: url(./../images/top/s2-img2.jpg);
}
#section2 li.box3:before {
  background-image: url(./../images/top/s2-img3.jpg);
}
#section2 li .wrap {
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
#section2 li:nth-child(odd) .text {
  margin-right: 0;
  margin-left: auto;
}
#section2 li:nth-child(even) .text {
  margin-left: 0;
  margin-right: auto;
}
#section2 li .text {
  background: #fff;
  text-align: center;
  padding: 50px 5%;
  max-width: 560px;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
  z-index: 2;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
}
@media screen and (max-width: 1200px) {
  #section2 li .text {
    transform: translateY(-20%);
  }
}
@media screen and (max-width: 750px) {
  #section2 li .text {
    width: 80%;
    padding: 7% 5%;
  }
}
#section2 li .text div {
  font-weight: 500;
  font-size: 1.3333333333em;
}
#section2 .btnStyle {
  max-width: 1100px;
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 150px;
}
@media screen and (max-width: 750px) {
  #section2 .btnStyle {
    margin-top: 20vw;
  }
}

#news {
  padding-bottom: 100px;
}
@media screen and (max-width: 750px) {
  #news {
    padding-bottom: 13.3333333333vw;
  }
}
#news .news-box {
  background: #f7f7f7;
  border-radius: 20px;
  max-width: 670px;
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  padding: 50px;
}
@media screen and (max-width: 750px) {
  #news .news-box {
    padding: 5%;
    max-width: initial;
  }
}
#news .news-contents li:nth-child(n+2) {
  margin-top: 50px;
}
@media screen and (max-width: 750px) {
  #news .news-contents li:nth-child(n+2) {
    margin-top: 6.6666666667vw;
  }
}
#news .news-contents .date {
  font-weight: 500;
  font-size: 0.8888888889em;
}
#news .news-contents .caption {
  font-size: 0.9444444444em;
  margin-top: 10px;
}
@media screen and (hover: hover) {
  #news .news-contents .caption a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 750px) {
  #news .news-contents .caption {
    margin-top: 1.3333333333vw;
  }
}
#news .btnStyle {
  max-width: 670px;
  margin-right: auto;
  margin-left: auto;
  width: 90%;
  margin-top: 30px;
}
@media screen and (max-width: 750px) {
  #news .btnStyle {
    margin-top: 4vw;
  }
}

#section4 {
  position: relative;
  color: #fff;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 750px) {
  #section4 {
    padding-top: 13.3333333333vw;
    padding-bottom: 13.3333333333vw;
  }
}
#section4:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(./../images/top/s4-bg.jpg) no-repeat center/auto 1062px;
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  left: 0;
}
@media screen and (max-width: 1200px) {
  #section4:before {
    background-size: auto 1062px;
  }
}
@media screen and (max-width: 1200px) and (max-width: 750px) {
  #section4:before {
    background-size: auto 637.2 px;
  }
}
#section4 .text {
  text-align: center;
  font-size: 1.2222222222em;
  line-height: 2;
}
#section4 .heading-style1:before {
  background-image: url(./../images/common/heading2.svg);
}
#section4 .heading-style1 {
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  #section4 .heading-style1 {
    margin-bottom: 4vw;
  }
}
#section4 .btnStyle-more {
  margin-top: 50px;
}
@media screen and (max-width: 750px) {
  #section4 .btnStyle-more {
    margin-top: 6.6666666667vw;
  }
}
#section4 .btnStyle-more .btn {
  color: #fff;
}
#section4 .btnStyle-more .btn:before {
  background-color: #fff;
}
#section4 .btnStyle-more .btn:after {
  border-color: #fff;
}/*# sourceMappingURL=top.css.map */