.top_keyvisual_section{
  margin-top: 13.7vw;
}

.top_keyvisual_midashi_wrapper{
  position: relative;
}

.top_keyvisual_midashi{
  font-size: 55px;
  margin: 0;
  font-family: "noto_b";
}

.top_keyvisual_midashi_line{
  margin: 0;
}

/* .top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(1),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(2),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(3),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(4),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(5),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(6),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(7),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(8),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(9),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(10),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(1) .txtUpTrigger_children:nth-child(11) {
  animation-delay: 0.6s;
}

.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(1),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(2),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(3),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(4),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(5),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(6),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(7),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(8),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(9),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(10),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(11),
.top_keyvisual_midashi .txtUpTrigger_parents:nth-child(2) .txtUpTrigger_children:nth-child(12) {
  animation-delay: 0.7s;
} */

.top_keyvisual_scroll_wrapper{
  position: absolute;
  right: 0;
  top: 35px;
  writing-mode: vertical-rl;
  color: #307672;
}

.top_keyvisual_scroll_wrapper span{
  letter-spacing: 0.1em;
  font-family: "proximanova_b";
  font-size: 13px;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
}

.top_keyvisual_scroll_wrapper::after{
  content: "";
  position: absolute;
  width: 3px;
  height: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: #307672;
  animation: pathmove 1.5s ease-in-out infinite;
  opacity:0;
}

@keyframes pathmove{
  0%{
    height: 0;
    top: 58px;
    opacity: 0;
  }
  30%{
    height: 40px;
    opacity: 1;
  }
  100%{
    height: 0;
    top: 138px;
    opacity: 0;
  }
}

.top_keyvisual_img_wrapper{
  position: relative;
  margin-top: 50px;
}

.top_keyvisual_img_wrapper::before{
  content: "";
  display: block;
  padding-top: calc(600/1200*100%);
}

.top_keyvisual_img_wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 30px;
}


.top_origin_section{
  padding: 100px 0 0;
}

.top_origin_wrapper{
  position: relative;
  overflow: hidden;
}

.top_origin_bg_txt{
  font-size: 280px;
  font-family: "proximanova_l";
  color: #F7F7F7;
  line-height: 0.8;
  margin: 0;
}

.top_origin_bg_txt:first-child{
  display: flex;
  justify-content: flex-start;
}

.top_origin_bg_txt:last-child{
  display: flex;
  justify-content: flex-end;
}

.top_origin_txt_wrapper{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  text-align: center;
}

.top_origin_midashi{
  margin: 0;
  font-size: 100px;
  font-family: "noto_b";
}

.top_origin_submidashi{
  font-size: 23px;
  line-height: 1.8;
  margin-top: 25px;
}

.top_origin_submidashi_line{
  margin: 0;
}


.top_service_wrapper{
  display: flex;
  align-items: flex-start;
}

.top_service_left_wrapper{
  width: 30%;
  margin-top: 80px;
}

.top_service_left_txt{
  font-size: 23px;
  line-height: 1.8;
}

.top_service_right_img_wrapper{
  width: 57vw;
  margin: 0 calc(50% - 50vw) 0 13vw;
  position: relative;
}

.top_service_right_img_wrapper::before{
  content: "";
  display: block;
  padding-top: calc(600/800*100%);
}

.top_service_right_img_wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 30px 0 0 30px;
}


.top_company_wrapper{
  display: flex;
  align-items: flex-start;
}

.top_company_left_img_wrapper{
  width: 57vw;
  margin: 0 13vw 0 calc(50% - 50vw);
  position: relative;
}

.top_company_left_img_wrapper::before{
  content: "";
  display: block;
  padding-top: calc(600/800*100%);
}

.top_company_left_img_wrapper img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0 30px 30px 0;
}

.top_service_right_wrapper{
  width: 30%;
  margin-top: 80px;
}

.top_company_right_txt{
  font-size: 23px;
  line-height: 1.8; 
}


.top_news_section{
  background: #f7f7f7;
  margin-top: 150px;
  padding-bottom: 150px;
}

.top_news_wrapper{
  display: flex;
  align-items: flex-start;
}

.top_news_midashi_wrapper{
  width: 40%;
}

.top_news_item_wrapper{
  width: 60%;
}

.top_news_midashi.midashi{
  margin-bottom: 0;
}


.top_news_item{
  border-bottom: 1px solid transparent;
  transition: 0.3s;
}

.top_news_item a{
  text-decoration: none;
  color: #000;
  padding: 30px 35px 30px 15px;
  box-sizing: border-box;
  display: block;
  border-bottom: 1px solid #BDBDBD;
  position: relative;
  transition: 0.3s;
}

.top_news_item a::before,
.top_news_item a::after{
  content: "";
  width: 20px;
  border-top: 3px solid #000;
  position: absolute;
  right: 15px;
  border-radius: 5px;
  transition: 0.3s;
}

.top_news_item a::before{
  top: 42%;
  transform: rotate(45deg);
}

.top_news_item a::after{
  top: 53%;
  transform: rotate(-45deg);
}

.top_news_item a:hover{
  color: #307672;
  font-family: "noto_b";
  border-bottom: 1px solid #307672;
}

.top_news_item:hover{
  border-bottom: 1px solid #307672;
}

.top_news_item a:hover::before,
.top_news_item a:hover::after{
  right: 5px;
  color: #307672;
  border-top: 3px solid #307672;
}

.top_news_item_title{
  margin: 0 0 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.top_news_item_date{
  margin: 0;
  font-size: 15px;
  color: #BDBDBD;
  position: relative;
  padding-left: 45px;
  box-sizing: border-box;
  font-family: "proximanova_r";
}

.top_news_item_date::before{
  content: "";
  width: 30px;
  border-top: 1px solid #bdbdbd;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.top_item_img_sp{
  display: none;
}


@media(max-width: 1200px){

  .top_service_left_wrapper,
  .top_service_right_wrapper{
    margin-top: 50px;
  }

  .top_keyvisual_section{
    margin-top: 22vw;
  }

}


@media(max-width: 1100px){

  .top_service_left_wrapper,
  .top_service_right_wrapper{
    margin-top: 30px;
  }

}


@media(max-width: 1100px) and (orientation: portrait){

  .top_company_left_img_wrapper{
    margin: 0 8vw 0 calc(50% - 50vw);
  }

  .top_service_right_wrapper,
  .top_service_left_wrapper{
    width: 35%;
  }

  .top_service_right_img_wrapper{
    margin: 0 calc(50% - 50vw) 0 8vw;
  }

  .top_keyvisual_section{
    margin-top: 25vw;
  }

}


@media(max-width: 1000px) and (orientation: portrait){

  .top_origin_midashi{
    font-size: 10vw;
  }

  .top_origin_submidashi{
    font-size: 20px;
  }

  .top_service_left_txt,
  .top_company_right_txt{
    font-size: 20px;
  }

  .top_keyvisual_midashi{
    font-size: 6vw;
  }

  .top_origin_bg_txt{
    font-size: 28vw;
  }

  .top_keyvisual_section{
    margin-top: 28vw;
  }

}


@media(max-width: 670px){

  .top_keyvisual_section{
    margin-top: 30px;
  }

  .top_keyvisual_scroll_wrapper{
    right: 0%;
    z-index: 1;
  }

  .top_keyvisual_scroll_wrapper::after{
    height: 50px;
  }

  @keyframes pathmove{
    0%{
      height: 0;
      top: 50px;
      opacity: 0;
    }
    30%{
      height: 25px;
      opacity: 1;
    }
    100%{
      height: 0;
      top: 100px;
      opacity: 0;
    }
  }

  .top_keyvisual_scroll_wrapper span{
    font-size: 12px;
  }

  .top_keyvisual_img_wrapper{
    margin-top: 30px;
  }

  .top_keyvisual_img_wrapper::before{
    padding-top: calc(432/360*100%);
  }

  .top_keyvisual_img_wrapper img{
    border-radius: 15px;
  }

  .top_origin_section{
    padding-top: 50px;
  }

  .top_origin_bg_txt{
    font-size: 33vw;
  }

  .top_origin_txt_wrapper{
    width: 90%;
  }

  .top_origin_submidashi{
    font-size: 15px;
    margin-top: 10px;
  }

  .top_service_wrapper,
  .top_company_wrapper,
  .top_news_wrapper{
    display: block;
  }

  .top_service_right_wrapper,
  .top_service_left_wrapper{
    width: 100%;
  }

  .top_item_img_sp{
    display: block;
    width: 90vw;
  }

  .top_item_img_pc{
    display: none;
  }

  .top_service_left_wrapper,
  .top_service_right_wrapper{
    margin-top: 0;
  }

  .top_service_right_img_wrapper{
    margin: 0 calc(50% - 50vw) 0 0;
  }

  .top_service_right_img_wrapper img{
    border-radius: 15px 0 0 15px;
  }

  .top_company_left_img_wrapper img{
    border-radius: 0 15px 15px 0;
  }

  .top_service_left_txt,
  .top_company_right_txt{
    font-size: 15px;
    margin-top: 30px;
  }

  .top_news_section{
    margin-top: 80px;
    padding-bottom: 80px;
  }

  .top_news_midashi_wrapper{
    width: 100%;
  }

  .top_news_item_wrapper{
    width: 100%;
    margin-top: 50px;
  }

  .top_news_item a{
    padding: 15px 25px 15px 10px;
  }

  .top_news_item a::before,
  .top_news_item a::after{
    width: 13px;
    border-top: 2px solid #000;
    right: 10px;
  }

  .top_news_item a:hover::before,
  .top_news_item a:hover::after{
    border-top: 2px solid #307672;
  }

  .top_news_item_title{
    margin-bottom: 10px;
  }
  
  .top_news_item_date{
    font-size: 13px;
    padding-left: 35px;
  }

  .top_news_item_date::before{
    width: 20px;
  }

}