
.lead { font-size:18px;  margin-top:0; margin-bottom:100px; font-family: dnp-shuei-nshogomincho-std, sans-serif;font-style: normal;font-weight: 700; letter-spacing:0.05em; }
.container_top { position:relative; }
.container_top .black { width:100%; position:absolute; bottom:0; z-index:1; }
@media screen and (min-width:768px) {
  .container_top h1 { left:0; width:100%; text-align:center; }
  .container_top h1 img { width:60%; }
  .lead { margin-bottom:180px; }
  .contents_wrap { padding-bottom:0; }
  .lead { font-size:24px; margin-top:100px; }
}


/* 共通 */
.text_wrap { width:90%; margin:0 auto; }
.text_wrap h2 { margin-bottom:50px; }
.text_wrap p { font-size:18px; text-align:justify; font-family: "Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","YuMincho","Noto Serif JP","Noto Serif CJK JP",serif; font-style: normal;font-weight: normal; letter-spacing:0.05em; line-height: 1.9em;}
.text_wrap_inner { width:100%; }
@media screen and (min-width:768px) {
  .text_wrap { width:60%;}
  .text_wrap h2 { margin-bottom:100px; }
  .text_wrap p { line-height:38px; font-size: 20px;}
  .text_wrap_inner { width:auto; margin-left:28%; }
}
@media screen and (min-width:768px) and (max-width:1100px) {
  .text_wrap { width:90%;}
}

/*丁寧に*/
.text_wrap.teinei { position:relative; display:flex; justify-content: space-between;}
.text_wrap.teinei h2 { width:20%; position:absolute; left:0; right: 0; margin: 0 auto; }
.text_wrap.teinei h2 img { width:100%; }
.text_wrap.teinei p { margin-top:200px; }
@media screen and (min-width:768px) {
  .text_wrap.teinei h2 { width:150px; left:5%; right: inherit;}
  .text_wrap.teinei p { margin-top:0px; }
}

.works1 { width:100%; margin:25px 0 100px 0; height:200px; justify-content: center; }
.works1 img { width:auto; height: 100%; }
@media screen and (min-width:768px) {
  .works1 { width:550px; margin: 50px auto 100px 37%; height:280px; }
  .works1 img { width:100%; height: auto; }
}

/* 誠実に */
.text_wrap.seijitsu { position:relative; }
.text_wrap.seijitsu h2 { width:20%; position:absolute; left:0; right: 0; margin: 0 auto;}
.text_wrap.seijitsu h2 img { width:100%; }
.text_wrap.seijitsu p { margin-top:200px; }
@media screen and (min-width:768px) {
  .text_wrap.seijitsu h2 { width:150px; right:10%; left:initial; }
  .text_wrap.seijitsu p { margin-top:120px; }
}

/* 当社は */
/*.text_wrap.end p { margin-top:200px; }*/
@media screen and (min-width:768px) {
  .text_wrap.end p { margin-top:50px; }
}


.parallax {position: relative; width:100%; height:300vw; overflow: hidden;margin:60px auto 0 auto;display:flex; }
.parallax img {position: absolute;will-change: transform;}
.parallax.works2 { width:100%; margin:25px auto; height:200px; justify-content: center; }
.parallax img.works2  { width:auto; height: 100%; }
.parallax .works3 { width:70%; position:absolute; top:0; }
.parallax .works4 { width:90%; position:absolute; top:90vw; right:0; }
.parallax .works5 { width:75%; position:absolute; top:157vw; left:0; }
.parallax .works6 { width:90%; position:absolute; top:214vw; right:0; }
@media screen and (min-width:768px) {
  .parallax { width:90%; height:750px; position: relative; max-width:1000px; overflow:hidden; margin:60px auto 200px auto;display:flex; }
  .parallax.works2 { width: 550px; margin: 50px auto 0px 20%; height: 280px; }
  /*.parallax.works2 { height:500px; }*/
  .parallax .works3 { width:23%; position:absolute; top:0; left:15%; }
  .parallax .works4 { width:56%; position:absolute; top:40px; right:0; }
  .parallax .works5 { width:36%; position:absolute; top:400px; left:0; }
  .parallax .works6 { width:36%; position:absolute; top:500px; right:20%;  }
}


.border {
  width: 100%;
  height: 1px;
  background: #fff;          
  /*transform: scaleX(0);*/
  transform-origin: left center;
  transition: transform 1s ease;
  opacity:1;
  margin-top:60px; 
  margin-bottom:60px; 
}
@media screen and (min-width:768px) {
  .border {
  margin-top:120px; 
  margin-bottom:120px; 
}
}

.border.is-inview {
  transform: scaleX(1);
  opacity: 1;
}

/* 成長サポート体制 */
.text_wrap.support h2{ margin-bottom: 15px;}
.careersupport { width:85%; }
@media screen and (min-width:768px) {
  .text_wrap.support h2{ margin-bottom: 40px;}
  .careersupport { width:55%; }
}

video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* スマホ用：縦中央寄せ */
@media screen and (max-width: 768px) {
  video {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
  }
}



