@charset "utf-8";
/*================================
top
================================*/
.mv {
  position: relative;
  margin-bottom: 300px;
}
.mv::before {
  content: "";
  position: absolute;
  background: #faa708;
  width: 75%;
  height: 80vh;
  right: 0;
  z-index: -1;
}
.mv .mv_img {
  background: url("../img/company/mv.jpg") no-repeat top center / cover;
  position: relative;
  width: 100%;
  height: 60vh;
  margin-left: auto;
}
.mv .ttl_box {
  width: 50%;
  padding: 40px 0 40px 10%;
  background: #fff;
  position: absolute;
  bottom: -100px;
  left: 0;
}
.mv .sub_ttl {
  font-size: 14px;
  letter-spacing: 2px;
}
.mv .ttl_box h2 {
  font-size: 60px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 5px;
  margin-bottom: 10px;
}
.mv .pan_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mv .pan_list li {
  margin-right: 20px;
  position: relative;
}
.mv .pan_list li::after {
  content: "/";
  position: absolute;
  font-size: 16px;
  right: -13px;
}
.mv .pan_list li:last-child {
  border-bottom: 1px solid #cc5d00;
}
.mv .pan_list li:last-child:after {
  display: none;
}
.sec01 {
  margin-bottom: 200px;
}
.sec01 .ttl01 {
  position: absolute;
  width: 580px;
  top: -170px;
  right: 0;
}
.sec01 h2 {
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 6px;
  margin-bottom: 20px;
}
.sec01 .txt01 {
  line-height: 2;
  margin-bottom: 40px;
}
.sec01 ul {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.sec01 ul li {
  width: 24%;
}
.sec01 ul li .shadow {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
.sec01 ul li:nth-child(2) .list_img {
  margin-top: 50px;
}
.sec01 ul li:nth-child(3) .list_img {
  margin-top: 100px;
}

.sec01 ul li:nth-child(4) .list_img {
  margin-top: 150px;
}
.sec01 ul li .list_img {
  position: relative;
  margin-top: auto;
}
.sec01 ul li .list_img p {
  position: absolute;
  background: #fe7d4b;
  bottom: 0;
  right: 0;
  padding: 5px 40px 5px 15px;
}
.sec01 ul li .list_img p span {
  position: relative;
}
.sec01 ul li .list_img p span::after {
  content: "";
  position: absolute;
  background: url("../common/img/arrow02_black.png") no-repeat center center /
    contain;
  width: 15px;
  height: 15px;
  top: 4px;
  right: -28px;
}
.sec01 ul li .bg_w {
  background: #fff;
  padding: 25px 20px;
}
.sec01 ul li .bg_w h3 {
  font-size: 20px;
  margin-bottom: 10px;
}
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 75px;
  bottom: 25px;
  /*全体の高さ*/
  height: 50px;
}
/*Scrollテキストの描写*/
.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -12px;
  top: -55px;
  /*テキストの形状*/
  color: #000;
  font-size: 1rem;
  letter-spacing: 0.1em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
/* 線の描写 */
.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 1px;
  height: 60px;
  background: #000;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 45px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 65px;
    opacity: 0;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media only screen and (max-width: 1024px) {
  .mv {
    width: 100%;
    margin: 0 auto 180px;
    position: relative;
  }
  .mv::before {
    height: 62vh;
  }
  .mv .mv_img {
    height: 45vh;
  }
  .mv .ttl_box {
    width: 85%;
    padding: 30px 0 30px 5%;
  }
  .mv .ttl_box h2 {
    font-size: 34px;
    letter-spacing: 3px;
    margin-bottom: 5px;
  }
  .scrolldown1 {
    left: 20px;
    bottom: 8.5%;
    height: 50px;
  }
  .scrolldown1 span {
    font-size: 0.8rem;
  }
  /* 線の描写 */
  .scrolldown1::after {
    left: -3px;
    height: 40px;
  }
  /*高さ・位置・透過が変化して線が上から下に動く*/
  @keyframes pathmove {
    0% {
      height: 0;
      top: 0;
      opacity: 0;
    }
    30% {
      height: 35px;
      opacity: 1;
    }
    100% {
      height: 0;
      top: 50px;
      opacity: 0;
    }
  }
  .news {
    padding-top: 80px;
    margin-right: -80px;
    margin-bottom: 120px;
  }
  .mv h2 {
    font-size: 24px;
    letter-spacing: 3px;
    left: -20px;
    bottom: 25%;
  }
  .sec01 {
    margin-bottom: 120px;
  }
  .sec01 .ttl01 {
    position: absolute;
    width: 80%;
    top: -75px;
    right: 0;
  }
  .sec01 h2 {
    font-size: 34px;
    margin-bottom: 10px;
  }
  .fade::before {
    height: calc(100vh + 58%);
    top: -200px;
  }
  .sec01 .sec01_bg02::after {
    width: calc(50vw + 50%);
    top: -30px;
    bottom: -70px;
  }
  .sec01 ul {
    display: block;
  }
  .sec01 ul li {
    width: 94%;
    margin: 0 auto;
  }
  .sec01 .txt01 {
    margin-bottom: 40px;
    width: 94%;
  }
  .btn01 a {
    width: 94%;
  }
}
