@charset "UTF-8";
main {
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 4.7584187408vw;
}

section .inner {
  width: 73.2064421669vw;
  margin: 0 auto;
}

/*-----------------------------------------------------------------
xxx
-----------------------------------------------------------------*/
#main-image.front {
  display: block;
  position: relative;
}
#main-image.front .copy {
  width: 73.2064421669vw;
  position: absolute;
  top: 10.1756954612vw;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 2.196193265vw;
  line-height: 1.4666666667;
  z-index: 100;
}
#main-image.front .copy p {
  font-size: 1.317715959vw;
  line-height: 1;
  font-weight: bold;
  color: #0099ff;
  letter-spacing: 0.1317715959vw;
  margin-bottom: 1.8301610542vw;
}
#main-image.front .copy h2 {
  font-weight: bold;
  font-size: 2.9282576867vw;
  line-height: 1.5;
}
#main-image.front .copy h2 img {
  width: 54.39238653vw;
}
#main-image.front .slider {
  position: relative;
}
#main-image.front .slider ul li .img {
  width: 100%;
}
#main-image.front .slider ul li .img img {
  width: 100%;
  display: block;
}
#main-image.front .swiper {
  width: 100%;
  height: 100%;
}
#main-image.front .swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}
#main-image.front .swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#main-image.front .swiper .swiper-pagination {
  bottom: 2.1229868228vw;
}
#main-image.front .swiper .swiper-pagination .swiper-pagination-bullet {
  width: 2.9282576867vw;
  height: 0.3660322108vw;
  border-radius: 0;
  opacity: 1;
  background: #fff;
  margin: 0 0.3660322108vw;
}
#main-image.front .swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #0099ff;
}
#main-image.front .scroll {
  position: absolute;
  bottom: -2.4158125915vw;
  left: 2.9282576867vw;
  width: 0.9516837482vw;
}
#main-image.front .scroll:before {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  bottom: 5.1244509517vw;
  left: 50%;
  width: 0.0732064422vw;
  height: 7.3206442167vw;
  background: #fff;
  -webkit-animation: scroll 1.5s cubic-bezier(1, 0, 0, 1) infinite;
          animation: scroll 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@-webkit-keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
#message {
  background: url(../img/top/message-bg-dot.png) left top no-repeat, url(../img/top/message-bg-cloud.png) right top no-repeat;
  background-size: 36.6032210835vw auto, 76.2079062958vw auto;
  padding-top: 7.3206442167vw;
  padding-bottom: 26.1346998536vw;
}
#message .inner {
  position: relative;
  padding-left: 36.6032210835vw;
}
#message .inner h3 {
  font-size: 2.4890190337vw;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.2489019034vw;
  color: #09f;
  margin-bottom: 1.9033674963vw;
}
#message .inner .message p {
  font-size: 1.0980966325vw;
  line-height: 1.6;
}
#message .inner .message p + p {
  margin-top: 1.4641288433vw;
}
#message .inner .btns {
  display: flex;
  margin-top: 2.9282576867vw;
}
#message .inner .btns .btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.3733528551vw;
  height: 3.3674963397vw;
  border: solid 0.0732064422vw #09f;
  color: #0099ff;
  font-weight: bold;
  background-color: #fff;
  text-decoration: none;
  font-size: 1.1713030747vw;
  line-height: 1;
}
#message .inner .btns .btn:hover {
  border: solid 0.0732064422vw #09f;
  background-color: #cdebff;
  opacity: 1;
}
#message .inner .btns .btn + .btn {
  margin-left: 1.4641288433vw;
}
#message .inner .btns .btn:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.7320644217vw;
  content: "";
  display: block;
  width: 1.0980966325vw;
  height: 0.5124450952vw;
  background: url(../img/common/arrow-s-blue.png) center center no-repeat;
  background-size: contain;
}
#message .inner .imgs {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
}
#message .inner .imgs .img:nth-of-type(1) {
  width: 32.9428989751vw;
}
#message .inner .imgs .img:nth-of-type(2) {
  position: absolute;
  width: 21.9619326501vw;
  top: 29.6486090776vw;
  left: 5.1244509517vw;
}
#message .inner .imgs .img:nth-of-type(3) {
  position: absolute;
  width: 43.9238653001vw;
  top: 29.6486090776vw;
  left: 29.2825768668vw;
}
#message .inner .imgs .img img {
  width: 100%;
}

#company {
  display: flex;
  height: 40.9956076135vw;
  background: url(../img/top/company-bg.jpg) center top no-repeat;
  background-size: cover;
  padding-top: 5.8565153734vw;
  position: relative;
}
#company h3 {
  font-size: 1.9033674963vw;
  line-height: 1;
  color: #fff;
  text-align: center;
  margin-bottom: 2.5622254758vw;
}
#company h3:after {
  content: "";
  display: block;
  width: 0.1464128843vw;
  height: 5.1244509517vw;
  background-color: #09f;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
#company h3 span {
  font-size: 1.0248901903vw;
  line-height: 1;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 0.102489019vw;
  color: #0099ff;
  display: block;
  margin-top: 0.7320644217vw;
}
#company p {
  width: 53.074670571vw;
  margin: 0 auto 2.5622254758vw;
  font-size: 1.0980966325vw;
  line-height: 1.6;
  text-align: left;
  color: #fff;
}
#company .btns {
  display: flex;
  justify-content: center;
}
#company .btns .btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 21.9619326501vw;
  height: 3.3674963397vw;
  border: solid 0.0732064422vw #fff;
  color: #fff;
  font-weight: bold;
  background-color: transparent;
  text-decoration: none;
  font-size: 1.1713030747vw;
  line-height: 1;
}
#company .btns .btn:hover {
  background: rgba(255, 255, 255, 0.3);
  opacity: 1;
}
#company .btns .btn + .btn {
  margin-left: 1.4641288433vw;
}
#company .btns .btn:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.7320644217vw;
  content: "";
  display: block;
  width: 1.0980966325vw;
  height: 0.5124450952vw;
  background: url(../img/common/arrow-s-white.png) center center no-repeat;
  background-size: contain;
}

#news {
  z-index: 100;
  padding-bottom: 3.6603221083vw;
  margin-top: -8.78477306vw;
}
#news .copy {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: 2.7818448023vw;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 0.63;
  text-align: center;
  color: #fff;
}
#news .inner {
  position: relative;
  background: #fff;
  padding: 0 2.9282576867vw;
}
#news .description .link a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.0980966325vw;
  text-decoration: none;
  background: url(../img/common/arrow-l-blue.png) center bottom no-repeat;
  background-size: 12.5183016105vw auto;
  width: 12.5183016105vw;
  padding-bottom: 0.7320644217vw;
  padding-left: 0.5856515373vw;
}