.home #main_v {
  height: 90vh;
}

.home #main_v .in,
.home #main_v .main_v_w {
  height: 100%;
}

.home #main_v .main_v_w {
  align-items: center;
}

.home #main_v .main_v_w .txtarea {
  margin-top: calc(-100 / 1400 * 100vw);
}

.home #main_v .main_v_w .txtarea .l_txt {
  filter: url(#dilate);
  font-size: calc(80 / 1400 * 100vw);
  font-weight: 700;
  text-shadow: calc(1 / 1400 * 100vw) calc(1 / 1400 * 100vw) 0 #000, calc(-1 / 1400 * 100vw) calc(1 / 1400 * 100vw) 0 #000, calc(-1 / 1400 * 100vw) calc(-1 / 1400 * 100vw) 0 #000, calc(1 / 1400 * 100vw) calc(-1 / 1400 * 100vw) 0 #000;
  line-height: 1.3;
  margin-bottom: calc(30 / 1400 * 100vw);
}

.home #main_v .main_v_w .txtarea .s_txt {
  font-size: calc(25 / 1400 * 100vw);
  font-weight: 900;
  letter-spacing: calc(4 / 1400 * 100vw);
}

.home #main_v .imgarea {
  position: absolute;
  bottom: calc(40 / 1400 * 100vw);
  right: 0;
}

.home #main_v .imgarea img {
  width: calc(550 / 1400 * 100vw);
}

@media screen and (max-width: 750px) {
  .home #main_v .main_v_w .txtarea {
    margin-top: -65vw;
  }

  .home #main_v .main_v_w .txtarea .l_txt {
    font-size: 5.2rem;
    text-shadow: calc(2 / 1400 * 100vw) calc(2 / 1400 * 100vw) 0 #000, calc(-2 / 1400 * 100vw) calc(2 / 1400 * 100vw) 0 #000, calc(-2 / 1400 * 100vw) calc(-2 / 1400 * 100vw) 0 #000, calc(2 / 1400 * 100vw) calc(-2 / 1400 * 100vw) 0 #000;
    line-height: 1.1;
    margin-bottom: 20px;
  }

  .home #main_v .main_v_w .txtarea .s_txt {
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: 2px;
  }

  .home #main_v .imgarea {
    position: absolute;
    bottom: 40px;
    right: 0;
    width: 100%;
  }

  .home #main_v .imgarea img {
    width: 100%;
  }
}

.home #about {
  padding: calc(140 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  position: relative;
  overflow: hidden;
}

.home #about .sec_ttl_w {
  text-align: center;
  margin-bottom: calc(50 / 1400 * 100vw);
}

.home #about .sec_ttl_w .sec_ttl {
  font-size: calc(45 / 1400 * 100vw);
  text-align: left;
  line-height: 1.25;
}

.home #about .sec_ttl_w .s_txt {
  font-size: calc(100 / 1400* 100vw);
  left: 0;
  transform: translate(0, 0);
  top: calc(-60 / 1400* 100vw);
}

.home #about .txt_w {
  margin-bottom: calc(50 / 1400 * 100vw);
}

.home #about .txt_w .txt {
  margin-bottom: calc(15 / 1400 * 100vw);
}

.home #about .txt_w .txt:nth-last-of-type(1) {
  margin-bottom: 0;
}

.home #about .imgarea {
  position: absolute;
  width: 60%;
  top: calc(-120 / 1400 * 100vw);
  right: calc(-140 / 1400 * 100vw);
}

@media screen and (max-width: 750px) {
  .home #about {
    padding: 80px 0 60px;
  }

  .home #about .sec_ttl_w .sec_ttl {
    font-size: 3rem;
    text-align: left;
    line-height: 1.25;
  }

  .home #about .sec_ttl_w .s_txt {
    font-size: 5rem;
    left: 0;
    transform: translate(0, 0);
    top: -32px;
  }

  .home #about .txt_w {
    margin-bottom: 40px;
  }

  .home #about .txt_w .txt {
    margin-bottom: 15px;
  }
}

.home #service {
  padding: calc(120 / 1400 * 100vw) 0 calc(80 / 1400 * 100vw);
  position: relative;
  overflow: hidden;
}

.home #service .lead_area {
  text-align: center;
  margin-bottom: calc(70 / 1400 * 100vw);
}

.home #service .service_w {
  justify-content: space-between;
  margin-bottom: calc(70 / 1400 * 100vw);
}

.home #service .service_w .service_i {
  width: 31%;
  padding: calc(40 / 1400 * 100vw);
  box-sizing: border-box;
  border-radius: 20px;
  position: relative;
}

.home #service .service_w .service_i .imgarea {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(90 / 1400 * 100vw);
  margin-bottom: calc(30 / 1400 * 100vw);
}

.home #service .service_w .service_i .imgarea img {
  width: calc(90 / 1400 * 100vw);
}

.home #service .service_w .service_i .txtarea {}

.home #service .service_w .service_i .txtarea .sub_ttl_w {
  justify-content: center;
  align-items: center;
  margin-bottom: calc(25 / 1400 * 100vw);
}

.home #service .service_w .service_i .txtarea .sub_ttl_w .num {}

.home #service .service_w .service_i .txtarea .sub_ttl_w .num img {
  width: calc(70 / 1400 * 100vw);
}

.home #service .service_w .service_i .txtarea .sub_ttl_w .sub_ttl {
  font-size: calc(24 / 1400 * 100vw);
  font-weight: 900;
}

.home #service .service_w .service_i .link_btn_02_w {
  position: absolute;
  bottom: calc(40 / 1400 * 100vw);
  left: 50%;
  transform: translate(-50%, 0);
}

.home #service .service_w .service_i .link_btn_02_w a {
  width: 100%;
  line-height: 1.5;
}

@media screen and (max-width: 750px) {
  .home #service {
    padding: 80px 0 60px;
  }

  .home #service .service_w {
    justify-content: space-between;
    margin-bottom: 50px;
  }

  .home #service .service_w .service_i {
    width: 100%;
    padding: 30px 20px;
    padding-bottom: 30px;
    margin-bottom: 20px;
  }

  .home #service .service_w .service_i:nth-last-of-type(1) {
    margin-bottom: 0;
  }

  .home #service .service_w .service_i .imgarea {
    height: 70px;
    margin-bottom: 30px;
  }

  .home #service .service_w .service_i .imgarea img {
    width: 70px;
  }

  .home #service .service_w .service_i .txtarea {
    margin-bottom: 20px;
  }

  .home #service .service_w .service_i .txtarea .sub_ttl_w {
    margin-bottom: 20px;
  }

  .home #service .service_w .service_i .txtarea .sub_ttl_w .num img {
    width: 70px;
  }

  .home #service .service_w .service_i .txtarea .sub_ttl_w .sub_ttl {
    font-size: 2.2rem;
  }

  .home #service .service_w .service_i .link_btn_02_w {
    position: static;
  }

}

.home #works {
  padding: calc(120 / 1400 * 100vw) 0 calc(120 / 1400 * 100vw);
  position: relative;
  overflow: hidden;
}

.home #works .txtarea {
  width: 50%;
  margin-left: auto;
  padding: calc(50 / 1400 * 100vw) 0;
}

.home #works .txtarea .txt_w {
  margin-bottom: calc(40 / 1400 * 100vw);
}

.home #works .txt_w .txt {
  margin-bottom: calc(15 / 1400 * 100vw);
}

.home #works .txt_w .txt:nth-last-of-type(1) {
  margin-bottom: 0;
}

.home #works .link_btn_02_w.center>a {
  margin-left: 0;
  margin-right: auto;
}

.home #works .imgarea {
  position: absolute;
  width: 42.5%;
  bottom: calc(10 / 1400* 100vw);
  left: calc(50 / 1400* 100vw);
}

@media screen and (max-width: 750px) {
  .home #works {
    padding: 80px 0 60px;
  }

  .home #works .txtarea {
    width: 100%;
    margin-left: auto;
    padding: 0;
  }

  .home #works .txt_w .txt {
    margin-bottom: 15px;
  }

  .home #works .txtarea .txt_w {
    margin-bottom: 30px;
  }

  .home #works .imgarea {
    position: static;
    width: 100%;
    bottom: calc(10 / 1400* 100vw);
    left: calc(50 / 1400* 100vw);
    margin-top: 40px;
    padding: 0 5%;
    box-sizing: border-box;
  }
}