@charset "UTF-8";

header {
  z-index: 1;
}

h1 {
  padding: 0;
  position: relative;
  text-align: center;
  top: 40%;
  font-size: 48px;
}

h2 {
  background: none;
  color: #FFF;
  font-size: 40px;
  transition-duration: 0.5s;
}

.container > div > h2 {
  background: none;
  padding: 0;
  transform: rotate(-60deg);
  position: relative;
  height: 0;
  font-size: 3vw;
}

.box1 h2 {
  top: 19vw;
  left: 37vw;
}

.box2 h2 {
  top: 36vw;
  right: 8vw;
}

.box3 h2 {
  left: 28vw;
}

.box4 h2 {
  bottom: 7vw;
  right: 8vw;
}

.wrapbox {
  height: 42vw;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}

.container {
  width: 130vw;
  height: 130vw;
  margin: 0 auto;
  overflow: hidden;
  position: absolute;
  right: -18vw;
  bottom: -45vw;
  transform: rotate(60deg) translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.container > div {
  height: 50%;
  float: left;
}

.container > div.box1::before, .container > div.box2::before, .container > div.box3::before, .container > div.box4::before {
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  display: block;
  width: 100%;
  height: 100%;
  /* opacity: 0.4; */
}

.container div {
  position: relative;
  transition-duration: 0.5s;
  overflow: hidden;
}

.container > div:hover h2 {
  text-shadow: 1px 1px 1px #333;
  transition-duration: 0.5s;
}

.container > div.box1:hover::before {
  background-color: rgb(113, 202, 1);
}

.container > div.box2:hover::before {
  background-color: rgb(249, 101, 101);
}

.container > div.box3:hover::before {
  background-color: rgb(50, 186, 230);
}

.container > div.box4:hover::before {
  background-color: rgb(255, 212, 0);
}

.container > div.box1::before {
  background-color: rgba(113, 202, 1, 0.4);
  /* border: 1px solid rgba(242, 156, 159, 0.4); */
  transition-duration: 0.5s;
}

.container > div.box2::before {
    background-color: rgba(249, 101, 101, 0.4);
  /* border: 1px solid rgba(139, 195, 68, 0.4); */
  transition-duration: 0.5s;
}

.container > div.box3::before {
   background-color: rgba(50, 186, 230, 0.4);
  /* border: 1px solid rgba(50, 186, 230, 0.4); */
  transition-duration: 0.5s;
}

.container > div.box4::before {
    background-color: rgba(255, 212, 0, 0.4);
  /* border: 1px solid rgba(143, 130, 188, 0.4); */
  transition-duration: 0.5s;
}

.container > div:hover {
  opacity: 1;
}

.wrapbox img {
  width: 100%;
}

.box1 {
  width: 60%;
  animation: boxslide1 2s;
}

.box2 {
  width: 40%;
  animation: boxslide2 2s;
}

.box3 {
  width: 40%;
  animation: boxslide3 2s;
}

.box4 {
  width: 60%;
  animation: boxslide4 2s;
}

article {
  display: flex;
  flex-flow: row-reverse;
  position: relative;
}

article > section > h3 {
  font-size: 1.8vw;
  padding: 1vw 0;
  color: #FFF;
}

article > section {
  position: absolute;
  right: 32vw;
  width: 20vw;
}

article > img {
  width: 80%;
  height: 100%;
}

article > section > div {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 1.7vw;
}

article > section > div > a {
  display: block;
  margin-top: 2vw;
  color: deepskyblue;
}

article > section p, article > section a {
    font-size: 1vw;
}

article::before {
    display: block;
    content: "";
    width: 16vw;
    height: 16vw;

    position: absolute;
    z-index: -1;
    transform: rotate(30deg);
    bottom: 8vw;
    right: 38vw;
    overflow: hidden;
}
#development article::before {
     background-color: rgb(113, 202, 1);
}
#media article::before {
    background-color: rgb(249, 101, 101);
}

#ses article::before {
     background-color: rgb(50, 186, 230);
}

#achivement article::before {
    background-color: rgb(255, 212, 0);
}

#service .modal-content {
  background: transparent;
  width: 50%;
  margin: 0;
  padding: 16px;
  position: fixed;
  display: none;
  z-index: 2;
  overflow: visible;
  height: auto;
}

#service .modal-close {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 25px;
  height: 25px;
  border-radius: 13px;
}

#service a.button-link {
  width: 25px;
  height: 25px;
  padding-top: 2px;
}

#footer {
  z-index: 0;
}

@keyframes boxslide1 {
  0% {
    transform: translate(0px, -1000px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}

@keyframes boxslide2 {
  0% {
    transform: translate(1000px, 0px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}

@keyframes boxslide3 {
  0% {
    transform: translate(-1000px, 0px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}

@keyframes boxslide4 {
  0% {
    transform: translate(0px, 1000px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}

@media screen and (max-width: 1024px) {
  .wrapbox {
    height: 110vw;
    margin: 10px 0;
  }

  .container {
    width: 170vw;
    height: 170vw;
    right: -41vw;
    bottom: -36vw;
    transform: rotate(70deg);
  }

  .container > div > h2 {
    transform: rotate(-70deg);
    font-size: 4vw;
  }
  #service .modal-content {
    width: 100%;
  }

  article > img {
    width: 90%;
    position: relative;
    bottom: 4vw;
  }

  article > section > h3 {
    font-size: 5vw;
    position: relative;
    bottom: 43vw;
    left: 0vw;
    width: 40vw;
    text-align: center;
  }

  article > section {
    left: 0vw;
    width: 100%;
    top: 30vw;
  }

  article::before {
    bottom: 41vw;
    right: 59vw;
    width: 30vw;
    height: 30vw;
  }

  article > section p, article > section a {
    font-size: 2vw;
  }

  #service .modal-close {
    top: -35px;
    right: 3px;
    width: 50px;
    height: 50px;
    border-radius: 25px;
  }

  #service a.button-link{
    width: 50px;
    height: 50px;
    padding-top: 1.7vw;
    font-size: 3vw;
  }

  article > section > div{
    background-color: rgba(255, 255, 255, 0.8);
    padding: 5vw;
  }

}

@media screen and (max-width: 768px) {

}

@media screen and (max-width: 414px) {
  #service .modal-content {
    width: 100%;
  }

  article > img {
    width: 90%;
    position: relative;
    bottom: 19vw;
  }

  article > section > h3 {
    font-size: 5vw;
    position: relative;
    bottom: 43vw;
    left: -3vw;
    width: 40vw;
    text-align: center;
  }

  article > section {
    left: 0vw;
    width: 100%;
    top: 13vw;
  }

  article::before {
    bottom: 53vw;
    right: 59vw;
    width: 30vw;
    height: 30vw;
  }

  article > section p, article > section a {
    font-size: 4vw;
  }

  #service .modal-close {
    top: -71px;
    right: 3px;
  }

  #service a.button-link{
    padding-top: 3vw;
  }

  article > section > div{
    background-color: rgba(255, 255, 255, 0.8);
    padding: 4.5vw;
  }
}
