@charset "UTF-8";
/* -----------------------------
    CONTENTS
-------------------------------*/
#contents > div {
  position: relative;
  z-index: 1;
  background-color: #ffffff;
}
#footer {
  position: relative;
  z-index: 1;
}
/* section_top */
#section_top {
  z-index: 0;
  position: relative;
  padding: 0;
}
#section_top .mainVisual img {
  position: fixed;
  top: 0;
  left: 0;
  filter: grayscale(100%) brightness(60%) blur(3px);
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  -webkit-transition: filter 1s linear 3s, -webkit-transform 1s cubic-bezier(.215,.61,.355,1);
  transition: filter 1s linear 3s, transform 1s cubic-bezier(.215,.61,.355,1);
}
#section_top .mainVisual img.is-loaded-first {
  filter: none;
  -webkit-transform: scale(1);
  transform: scale(1);
}
#section_top .mainVisual img.is-loaded {
  filter: none;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: none;
}
#section_top .catch {
  position: absolute;
  top: calc(50% - 48px);
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  z-index: 1000;
  color: #ffffff;
  font-size: 43px;
  font-weight: normal;
  text-align: center;
  width: 100%;
  line-height: 1.744;

}
#section_top .catch {
  -webkit-filter: blur(min(.4081632653vw + 3.4693877551px,10px));
  filter: blur(min(.4081632653vw + 3.4693877551px,10px));
  opacity: 0;
  -webkit-transition: opacity 1s cubic-bezier(.39,.575,.565,1),-webkit-filter 2s cubic-bezier(.39,.575,.565,1);
  transition: opacity 1s cubic-bezier(.39,.575,.565,1),-webkit-filter 2s cubic-bezier(.39,.575,.565,1);
  transition: filter 2s cubic-bezier(.39,.575,.565,1),opacity 1s cubic-bezier(.39,.575,.565,1);
  transition: filter 2s cubic-bezier(.39,.575,.565,1),opacity 1s cubic-bezier(.39,.575,.565,1),-webkit-filter 2s cubic-bezier(.39,.575,.565,1)
}
#section_top .catch>span {
  font-size: 43px !important;
  -webkit-mask-image: -webkit-gradient(linear,right top,left top,from(hsla(0,0%,100%,0)),color-stop(34%,hsla(0,0%,100%,0)),color-stop(34%,hsla(0,0%,100%,.024)),color-stop(38%,hsla(0,0%,100%,.095)),color-stop(42%,hsla(0,0%,100%,.206)),color-stop(46%,hsla(0,0%,100%,.345)),color-stop(50%,hsla(0,0%,100%,.5)),color-stop(54%,hsla(0,0%,100%,.655)),color-stop(58%,hsla(0,0%,100%,.794)),color-stop(62%,hsla(0,0%,100%,.905)),color-stop(66%,hsla(0,0%,100%,.976)),color-stop(66%,#fff),to(#fff));
  -webkit-mask-image: linear-gradient(270deg,hsla(0,0%,100%,0),hsla(0,0%,100%,0) 34%,hsla(0,0%,100%,.024) 0,hsla(0,0%,100%,.095) 38%,hsla(0,0%,100%,.206) 42%,hsla(0,0%,100%,.345) 46%,hsla(0,0%,100%,.5) 50%,hsla(0,0%,100%,.655) 54%,hsla(0,0%,100%,.794) 58%,hsla(0,0%,100%,.905) 62%,hsla(0,0%,100%,.976) 66%,#fff 0,#fff);
  mask-image: -webkit-gradient(linear,right top,left top,from(hsla(0,0%,100%,0)),color-stop(34%,hsla(0,0%,100%,0)),color-stop(34%,hsla(0,0%,100%,.024)),color-stop(38%,hsla(0,0%,100%,.095)),color-stop(42%,hsla(0,0%,100%,.206)),color-stop(46%,hsla(0,0%,100%,.345)),color-stop(50%,hsla(0,0%,100%,.5)),color-stop(54%,hsla(0,0%,100%,.655)),color-stop(58%,hsla(0,0%,100%,.794)),color-stop(62%,hsla(0,0%,100%,.905)),color-stop(66%,hsla(0,0%,100%,.976)),color-stop(66%,#fff),to(#fff));
  mask-image: linear-gradient(270deg,hsla(0,0%,100%,0),hsla(0,0%,100%,0) 34%,hsla(0,0%,100%,.024) 0,hsla(0,0%,100%,.095) 38%,hsla(0,0%,100%,.206) 42%,hsla(0,0%,100%,.345) 46%,hsla(0,0%,100%,.5) 50%,hsla(0,0%,100%,.655) 54%,hsla(0,0%,100%,.794) 58%,hsla(0,0%,100%,.905) 62%,hsla(0,0%,100%,.976) 66%,#fff 0,#fff);
  -webkit-mask-position: 100% center;
  mask-position: 100% center;
  -webkit-mask-size: 300% 100%;
  mask-size: 300% 100%;
  transition: -webkit-mask-position 4s cubic-bezier(.39,.575,.565,1),mask-position 4s cubic-bezier(.39,.575,.565,1)
}
.is-loaded-first #section_top .catch {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}
.is-loaded-first #section_top .catch>span {
  -webkit-mask-position: 0 center;
  mask-position: 0 center;
}
.is-loaded #section_top .catch {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  transition: none;
}
.is-loaded #section_top .catch>span {
  -webkit-mask-position: 0 center;
  mask-position: 0 center;
  transition: none;
}

/* vision     -------------*/
.visionWrap {
  font-size: 16px;
  padding: 80px 0;
  position: relative;
  width: 100%;
}
.tagline {
  font-size: 28px;
  line-height: 1;
  display: block;
  margin-bottom: 40px;
  font-weight: 300;
}
.innerTxt {
  line-height: 1.8125;
  max-width: 90%;
  margin: 0 auto;
  font-weight: 300;
}
.innerTxt table {
  margin: 0 auto;
}
.innerTxt table th {
  text-align: right;
  font-weight: normal;
}
.innerTxt table td {
  text-align: left;
  padding-left: 12px;
}
.slideup {
  opacity: 0;
  transform: translateY(50px);
  transition: transform 0.5s ease 0.5s, opacity 0.5s ease 0.5s;
}
.slideup.show {
  opacity: 1 !important;
  transform: translateY(0px) !important;
}
.innerTxt.slideup {
  animation-delay: 0.5s;
}
.slideleft {
  opacity: 0;
  transform: translateX(-50px);
  transition: transform 0.3s ease 0.3s, opacity 0.3s ease 0.3s;
}
.slideleft.show {
  opacity: 1 !important;
  transform: translateX(0px) !important;
}

/* service     -------------*/
.serviceWrap {
  width: 100%;
  padding: 72px 0;
  background: url(/common/img/service_bk.jpg) no-repeat;
  background-size: cover;
  background-position: 0px -27vw;
}
.serviceWrap .btnWrap a {
  /* width: 178px; */
  margin-bottom: 5%;
}
.serviceDit {
  margin: 0 auto;
  width: 100%;
  max-width: 900px;
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}
.serviceDit li {
  width: 256px;
  margin-top: 40px;
}
.serviceDit li .imgWrap {
  display: flex;
  height: 138px;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.serviceDit li.cloud img {
  width: 208px;
  height: auto;
}
.serviceDit li.silver img {
  width: 132px;
  height: auto;
}
.serviceDit li.global img {
  width: 134px;
  height: auto;
}
.serviceDit .serviceCatTit {
  display: block;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 24px;
}
.serviceDit .serviceCatTxt {
  line-height: 1.8125;
  font-weight: normal;
  font-weight: 300;
}
.serviceDit p span {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  background-color: #393939;
  border-radius: 5px;
  color: #fff;
  font-weight: normal;
  padding: 4px;
  width: 120px;
  margin-left: auto;
  margin-right: auto;
  transition: 0.3s;
}
.serviceDit li a {
  display: block;
}
.serviceDit li a:hover p span {
  opacity: 0.8;
}
#serviceTrigger02 {
  display: none;
}

/* people     -------------*/
.peopleWrap {
  width: 100%;
  padding: 80px 0;
  overflow: hidden;
}
.peopleWrap h2 {
  margin-bottom: 68px;
}

/* recruit     -------------*/
.recruitWrap {
  padding: 120px 0;
  width: 100%;
}
.recruitWrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.3);
  z-index: -1;
}
.recruitTxt {
  color: #fff;
}
.recruitTxt,
.recruitTxt + div {
  width: 480px;
  margin-right: 9.5vw;
  margin-left: auto;
  overflow: hidden;
}
@media screen and (max-width: 1600px) {
  .recruitTxt,
  .recruitTxt + div {
    margin-right: 28px;
  }
}
.recruitWrap h2 {
  margin-bottom: 38px;
}
.recruitTxt p {
  line-height: 1.8125;
}
.recruitWrap .recruitImgWrap {
  background: url("/common/img/recruit_bk_clean.jpg") no-repeat right;
  -moz-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -100;
}

.serviceWrap .btnWrap a,
.peopleWrap .btnWrap a,
.recruitWrap .btnWrap a {
  margin-bottom: 0;
}
.peopleWrap .btnWrap a {
  margin-top: 60px;
}

/* news     -------------*/
.newsWrap {
  padding: 80px 0;
}
.newsWrap h2 {
  margin-bottom: 40px;
}

/* sponsor     -------------*/
#contents > div.sponsorWrap {
  padding: 80px 0;
  background-color: #f5f5f5;
}
.sponsorWrap h2 {
  margin-bottom: 40px;
}
.sponsorList {
  margin-top: 40px;
}
.sponsorList a {
  display: inline-block;
}
.sponsorList a:hover {
  opacity: 0.8;
}
.sponsorList a + a {
  margin-left: 40px;
}
.sponsorList a img {
  width: auto;
  height: 100%;
  max-height: 130px;
}
.sponsorList a span {
  display: block;
  margin-top: 12px;
  font-size: 13px;
}