@charset "utf-8";
/* CSS Document */
html, head, body, header {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
  line-height: 23px;
  color: #404040;
  margin: 0px;
  padding: 0px;
  background: #FFFFFF;
}
footer, ul, li, h1, h2, h3, h4, p {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
  line-height: 23px;
  color: #404040;
  margin: 0px;
  padding: 0px;
}
a {
  text-decoration: none;
}
h1 {
  display: none;
  position: relative;
  height: 100vh;
  width: auto;
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../img/other/worker/mv.jpg);
}
h1 p {
  color: #FFFFFF;
  font-size: 60px;
  text-shadow: 1px 1px 7px #4d4d4d, -1px -1px 7px #4d4d4d;
  text-align: center;
  letter-spacing: -3px;
  line-height: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
}
h2 {
  position: relative;
}
h2 p {
  color: #FFFFFF;
  font-size: 40px;
  text-shadow: 1px 1px 7px #4d4d4d, -1px -1px 7px #4d4d4d;
  text-align: center;
  letter-spacing: 10px;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
}
h4 {
  text-align: center;
  width: 100px;
  padding-bottom: 10px;
  border-bottom: 2px #878787 solid;
  margin: 70px auto 50px;
  font-size: 20px;
  font-weight: bold;
}
.nav {
  width: 1000px;
  margin: 0 auto;
}
.nav:after {
  clear: both;
}
.mt-10 {
  margin-top: 10px;
}
.mt-20 {
  margin-top: 20px;
}
.mt-30 {
  margin-top: 30px;
}
.mt-40 {
  margin0top: 40px;
}
.mt-50 {
  margin-top: 50px;
}
.mt-60 {
  margin-top: 60px;
}
.mt-70 {
  margin-top: 70px;
}
.mt-80 {
  margin-top: 80px;
}
.mt-90 {
  margin-top: 90px;
}
.mt-100 {
  margin-top: 100px;
}
.mb-10 {
  margin-bottom: 210px;
}
.mb-20 {
  margin-bottom: 20px;
}
.mb-30 {
  margin-bottom: 30px;
}
.mb-40 {
  margin-bottom: 40px;
}
.mb-50 {
  margin-bottom: 50px;
}
.mb-60 {
  margin-bottom: 60px;
}
.mb-70 {
  margin-bottom: 70px;
}
.mb-80 {
  margin-bottom: 80px;
}
.mb-90 {
  margin-bottom: 90px;
}
.mb-100 {
  margin-bottom: 100px;
}
.txal-r {
  text-align: right;
}
.logo {
  float: left;
}
.logo a {
  display: inline-block;
  padding: 16px 35px 6px;
  transition: 0.08s;
}
.logo a:hover {
  opacity: 0.3;
}
header .nav ul {
  list-style: none;
  float: right;
  display: flex;
}
header .nav ul li a {
  color: #404040;
  display: inline-block;
  padding: 38px 28px;
  font-size: 22px;
  transition: 0.25s;
}
header .nav ul li a:hover {
  color: #FFFFFF;
  background-color: #878787;
}
.cb {
  clear: both;
}
.container {
  width: 1014px;
  margin: 40px auto 0px;
}
#technique, #philosophy, #performance, #content, #overview {
  margin-top: -100px;
  padding-top: 100px;
}
.content_img_r {
  float: right;
}
.content_img_l {
  float: left;
}
.content_txt_r {
  float: right;
  width: 480px;
  margin-top: 19px;
  margin-right: 27px;
  background-color: #e7e7e7;
  height: 480px;
}
.content_txt_l {
  float: left;
  width: 480px;
  margin-top: 19px;
  margin-left: 27px;
  background-color: #e7e7e7;
  height: 480px;
}
.title01 {
  padding: 25px 20px;
  font-size: 30px;
  font-weight: bold;
}
.title02 {
  padding-right: 20px;
  font-size: 30px;
  font-weight: bold;
  text-align: right;
}
.title03 {
  padding: 50px 15px 25px;
  font-size: 30px;
  font-weight: bold;
}
.title04 {
  padding: 0px 20px 20px;
  font-size: 30px;
  font-weight: bold;
  text-align: right;
  letter-spacing: -2.8px;
}
.title05 {
  padding: 60px 15px 25px;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: -1px;
}
.title06 {
  padding: 0px 15px 15px;
  font-size: 30px;
  font-weight: bold;
  text-align: right;
}
.title07 {
  padding: 60px 25px 25px;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: -1px;
}
.title08 {
  padding: 0px 25px 15px;
  font-size: 30px;
  font-weight: bold;
  text-align: right;
}
.detail01 {
  padding: 30px 30px 30px 32px;
}
.detail02 {
  padding: 30px 17px 30px 32px;
}
.detail03 {
  padding: 30px 17px 30px 32px;
}
.detail04 {
  padding: 30px 40px 30px 50px;
}
.detail-sp {
  font-size: 18px;
  font-weight: bold;
  padding: 30px 30px;
  margin-top: -5px;
  line-height: 30px;
  background-color: #e7e7e7;
}
.employee {
  margin: 90px 0px;
  padding: 0px;
  display: flex;
  width: 100%;
  height: 500px;
  overflow: hidden;
}
.employee img {
  width: auto;
  height: 100%;
}
.employee img:first-child {
  animation: loop 150s -75s linear infinite;
}
.employee img:last-child {
  animation: loop2 150s linear infinite;
}
.container02 {
  width: 1000px;
  margin: 80px auto 0px;
}
.ls01 {
  letter-spacing: 0.6px;
}
.ls02 {
  letter-spacing: 1px;
}
.ls03 {
  letter-spacing: 0.5px;
}
.ls04 {
  letter-spacing: 0.3px;
}
.ls05 {
  letter-spacing: 0.3px;
}
.ls06 {
  letter-spacing: -0.2px;
}
.ls07 {
  letter-spacing: 0.1px;
}
#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 50px;
  bottom: -100px;
  background: #878787;
  border-radius: 50%;
  transition: 0.08s;
}
#page_top:hover {
  opacity: 0.8;
}
#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
footer {
  margin-top: 100px;
  width: 100%;
  background-color: #878787;
}
footer p {
  padding: 50px;
  color: #FFFFFF;
  width: 1000px;
  margin: 0 auto;
  text-align: center;
  background-color: #878787;
  font-size: 14px;
  font-family: Meiryo;
}
/*1.フェードインアニメーションの指定*/
.scrollanime {
  opacity: 0;
} /*一瞬表示されるのを防ぐ*/
.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 2.3s;
  animation-fill-mode: forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
/*2.上下の動きを指定*/
.updown {
  transform: translateY(-100px);
}
.downup {
  transform: translateY(50px);
}
/*3.左右の動きを指定*/
.sect02 {
  overflow: hidden;
} /*横スクロールバーを隠す*/
.slide-right {
  transform: translateX(250px);
}
.slide-left {
  transform: translateX(-250px);
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}