@charset "utf-8";

/*============================
#profile
============================*/

#profile {
  position: relative;
  overflow: hidden;
}

#profile::before {
  content: '';
  display: block;
  width: 80%;
  height: 1px;
  background-color: #d7d7d7;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 20;
}

#profile .scroll-text {
  width: 110vw;
  display: block;
  position: absolute;
  top: -380px;
  left: -260px;
  animation: 60s linear infinite rotation;
}

#profile .scroll-text img {
  display: block;
  width: 100%;
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

#profile .inner {
  z-index: 10;
}

#profile dl {
  max-width: 760px;
  width: 100%;
}

#profile dt {
  display: flex;
  align-items: center;
  line-height: 1;
  border-bottom: 1px solid #111;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

#profile dt .eng {
  font-size: 40px;
  letter-spacing: 0.02em;
  font-weight: 600;
}

#profile dt .jp {
  font-size: 18px;
  font-weight: 700;
  padding-left: 10px;
}

@media only screen and (max-width: 1040px) {
  #profile::before {
    display: none;
  }

  #profile .scroll-text {
    width: 140vw;
    top: -120px;
    left: auto;
    right: 20px;
  }

  #profile dl {
    max-width: 100%;
  }

  #profile dt {
    display: block;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  #profile dt .eng {
    font-size: 30px;
  }

  #profile dt .jp {
    font-size: 16px;
  }

  #profile dd {
    font-size: 16px;
    letter-spacing: 0;
  }
}

/*============================
#message
============================*/

#message .text {
  width: 56%;
}

#message .name {
  font-family: "Noto Serif", serif;
  font-weight: 700;
  font-size: 18px;
  text-align: right;
}

@media only screen and (max-width: 1040px) {
  #message {
    padding-top: 0;
  }
  #message .text {
    width: 100%;
  }

  #message .name {
    font-size: 16px;
  }

}

/*============================
#office-gallary
============================*/

#office-gallary {
  position: relative;
}

#office-gallary p {
  position: absolute;
  font-size: 26px;
  letter-spacing: 0.02em;
  color: #fff;
  line-height: 1;
  left: 30px;
  bottom: 20px;
}

#office-gallary img {
  width: 100%;
}

@media only screen and (max-width: 1040px) {
  #office-gallary p {
    position: absolute;
    font-size: 20px;
    letter-spacing: 0.02em;
    color: #fff;
    line-height: 1;
    left: 10px;
    bottom: 10px;
  }
}



/*============================
#company
============================*/

#company .flex {
  align-items: stretch;
}

#company .flex .box {
  width: 47%;
}

#company .flex dl {
  border-bottom: 1px solid #111;
  padding: 16px 0;
}

#company .flex dl dt {
  font-weight: 600;
  margin-bottom: 6px;
}

#company .flex dl dd {
  font-weight: 400;
}

@media only screen and (max-width: 1040px) {
  #company .flex {
    display: block;
  }

  #company .flex .box {
    width: 100%;
  }
}
