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

#wrapper {
  overflow: hidden;
}

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

.inner {
  width: 100%;
  margin: 0 auto;
}

/*-----------------------------------------------------------------
xxx
-----------------------------------------------------------------*/
#slider {
  padding: 0;
  position: relative;
  margin: 0 auto;
  overflow: visible;
  z-index: 1;
}
#slider .swiper-container {
  z-index: 1;
  height: 100%;
}
#slider .swiper-container .swiper-wrapper .swiper-slide img {
  width: 100%;
}

#top-banners {
  margin-top: 1.3333333333vw;
  padding: 0 4vw;
}
#top-instagram {
  margin-top: 5.3333333333vw;
  padding: 0 4vw;
}
#top-instagram .title {
  display: flex;
  justify-content: center;
}
#top-instagram .title img {
  height: 7.7333333333vw;
}
#top-instagram .list {
  width: 85.0666666667vw;
  margin: 3.8666666667vw auto 0;
}
#top-instagram .list ul {
  display: flex;
  flex-wrap: wrap;
}
#top-instagram .list ul li {
  width: 39.7333333333vw;
  height: 39.7333333333vw;
}
#top-instagram .list ul li:nth-of-type(2n) {
  margin-left: 5.6vw;
}
#top-instagram .list ul li:nth-of-type(n + 3) {
  margin-top: 4vw;
}
#top-instagram .list ul li a img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
#top-instagram .link {
  display: flex;
  justify-content: center;
  margin-top: 5.3333333333vw;
}
#top-instagram .link a {
  width: 37.3333333333vw;
  height: 6.6666666667vw;
  border-radius: 3.3333333333vw;
}

.top-boxes {
  width: 92vw;
  margin: 0vw auto 0;
}
.top-boxes .box + .box {
  margin-top: 6.6666666667vw;
}

#top-construction {
  background: url(../img/top/sec02-construction-sp.png) center top no-repeat;
  background-size: contain;
  height: 136vw;
  padding-top: 106.6666666667vw;
}
#top-construction .text {
  font-size: 3.4666666667vw;
  font-weight: bold;
  text-align: center;
  color: #333;
  line-height: 1.23;
}
#top-construction .link {
  margin-top: 5.2vw;
  display: flex;
  justify-content: center;
}
#top-construction .link a {
  width: 66.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 5.3333333333vw;
  background-color: #692500;
  font-size: 3.7333333333vw;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
#top-construction .link a::before {
  right: 4vw;
  border-left: 2.9333333333vw solid #ffd800;
  border-top: 1.7333333333vw solid transparent;
  border-bottom: 1.7333333333vw solid transparent;
}

#top-results {
  width: 100%;
}
#top-results h2 {
  background-color: #009000;
  font-size: 4.5333333333vw;
  font-weight: bold;
  text-align: left;
  color: #fff;
  padding: 1.3333333333vw;
}
#top-results .copy {
  margin-top: 4.9333333333vw;
  font-size: 6.1333333333vw;
  font-weight: 900;
  text-align: center;
  color: #006100;
  line-height: 1.09;
}
#top-results .copy small {
  font-size: 5.0666666667vw;
}
#top-results .list {
  margin: 4vw auto 0;
  width: 92vw;
}
#top-results .list ul {
  display: flex;
  flex-wrap: wrap;
}
#top-results .list ul li {
  width: 44vw;
  margin-left: 4vw;
}
#top-results .list ul li:nth-of-type(2n + 1) {
  margin-left: 0;
}
#top-results .list ul li:nth-of-type(n + 3) {
  margin-top: 5.3333333333vw;
}
#top-results .list ul li .img {
  width: 44vw;
  height: 44vw;
}
#top-results .list ul li .title {
  margin-top: 1.0666666667vw;
}
#top-results .list ul li .title a {
  font-size: 3.7333333333vw;
  line-height: 1.65;
  font-weight: bold;
  text-align: left;
  color: #0048dc;
}
#top-results .link {
  margin-top: 6.6666666667vw;
  display: flex;
  justify-content: center;
}
#top-results .link a {
  width: 66.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 5.3333333333vw;
  background-color: #009000;
  font-size: 3.7333333333vw;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
#top-results .link a::before {
  right: 2.6666666667vw;
  border-left: 2.9333333333vw solid #ffd800;
  border-top: 1.7333333333vw solid transparent;
  border-bottom: 1.7333333333vw solid transparent;
}

#top-voice {
  height: 229.3333333333vw;
  background: url(../img/top/sec02-voice-sp.png) center top no-repeat;
  background-size: contain;
  position: relative;
  margin: 3.3333333333vw auto 0;
}
#top-voice .link {
  position: absolute;
  top: 20.2666666667vw;
  left: 6.6666666667vw;
}
#top-voice .link a {
  width: 40vw;
  height: 7.2vw;
  background-color: #ff7529;
  border-radius: 3.6vw;
  font-size: 3.7333333333vw;
}

#top-company {
  height: 230.8vw;
  background: url(../img/top/sec02-company-sp.png) center top no-repeat;
  background-size: contain;
  position: relative;
  padding: 27.6vw 3.4666666667vw 0;
}
#top-company::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/line01.png) center top repeat-x;
  background-size: contain;
  width: 100%;
  height: 1.2vw;
  top: -2.6666666667vw;
  left: 0;
}
#top-company .imgs .img + .img {
  margin-top: 2.6666666667vw;
}
#top-company .map {
  margin: 4vw auto 0;
  width: 100%;
  text-align: center;
}
#top-company .map iframe {
  width: 100%;
  height: 72vw;
  background-color: #bcbcbc;
}
#top-company .map a {
  display: inline-block;
  margin-top: 2.6666666667vw;
  padding-bottom: 0.5333333333vw;
  font-size: 3.2vw;
  text-align: left;
  color: #fff;
  text-decoration: none;
  border-bottom: 0.1333333333vw solid #fff;
}
#top-company .link {
  display: flex;
  justify-content: center;
  margin-top: 4vw;
}
#top-company .link a {
  width: 66.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 5.3333333333vw;
  background-color: #ffd800;
  font-size: 3.7333333333vw;
  font-weight: bold;
  text-align: center;
  color: #333;
}
#top-company .link a::before {
  right: 4vw;
  border-left: 2.9333333333vw solid #168505;
  border-top: 1.7333333333vw solid transparent;
  border-bottom: 1.7333333333vw solid transparent;
}

#top-area {
  background-color: #e0eded;
}
#top-area h2 {
  background-color: #00908b;
  font-size: 4.5333333333vw;
  font-weight: bold;
  text-align: left;
  color: #fff;
  padding: 1.8666666667vw 1.3333333333vw;
}
#top-area .content {
  background-color: #e0eded;
  padding: 2.6666666667vw 3.3333333333vw 5.3333333333vw;
}
#top-area .img {
  width: 100%;
}
#top-area .info {
  width: 100%;
  margin-top: 3.3333333333vw;
}
#top-area .info h3 {
  font-size: 4.5333333333vw;
  font-weight: bold;
  text-align: left;
  color: #333;
}
#top-area .info p {
  margin-top: 1.8666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.36;
}
#top-area .info p + h3 {
  margin-top: 3.3333333333vw;
}

#top-recruit {
  background: url(../img/top/sec02-recruit-sp.png) center top no-repeat;
  background-size: contain;
  height: 28vw;
  position: relative;
}
#top-recruit .link {
  display: flex;
  justify-content: center;
  position: absolute;
  top: 19.3333333333vw;
  left: 25.8666666667vw;
}
#top-recruit .link a {
  width: 33.6vw;
  height: 6.1333333333vw;
  border-radius: 3.0666666667vw;
  background-color: #ffd800;
  font-size: 3.1333333333vw;
  font-weight: bold;
  text-align: center;
  color: #333;
}
#top-recruit .link a::before {
  right: 2.1333333333vw;
  border-left: 2.4vw solid #333;
  border-top: 1.3333333333vw solid transparent;
  border-bottom: 1.3333333333vw solid transparent;
}