@charset "UTF-8";

/***************************** 
  utility
*****************************/
.ls-normal{letter-spacing: normal;}

/***************************** 
  メインビジュアル
*****************************/
.top_mv{
  max-width: 100%;
  position: relative;
  height: 600px;
  overflow: hidden;
  padding: 0;
}

/* grid */
.top_mv__inner{
  display: grid;
  grid-template-columns: 230px 474px 290px 290px 396px;
  grid-template-columns: 13.69% 28.21% 17.26% 17.26% 23.57%;
  padding: 1.5625em 0; /* 25px */
  height: 100%;
}

/* media layer */
.top_mv__media{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.top_mv__media .top_mv__img:first-of-type{margin-bottom: clamp(20px, 1.78vw, 30px);}
.top_mv__img{
  width: clamp(200px, 15.47vw, 260px);
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 1;
}
.top_mv__img--l1{
  transform: translateX(-5.35vw); /* 90px */
}
.top_mv__img--l2{
  transform: translateX(-1.78vw); /* 30px */
}
.top_mv__img--r2,
.top_mv__img--r4,
.top_mv__img--r6{
  transform: translateX(3.57vw); /* 60px */
}

/* content layer */
.top_mv__content{
  grid-column: 2;
  grid-row: 1 / 2;
}
.top_mv__fv-txtarea{
  position: relative;
  justify-content: center;
}
.top_mv__fv-inside{
  max-width: 384px;
}
.top_mv__title{
  font-size: clamp(32px, 2.678vw, 45px);
  line-height: 1.22;
}
.top_mv__title .highlight{
  display: block;
  font-size: clamp(60px, 5.952vw, 100px);
  line-height: 1.1;
}
@media screen and (max-width: 1550px){
    .top_mv__media{
    justify-content: space-evenly;
  }
}
@media screen and (max-width: 1500px){
  .top_mv__inner{
    grid-template-columns: 11.9% 40% 17.26% 17.26% 13.58%;
  }
  .top_mv__media{
    justify-content: space-evenly;
  }
}
@media screen and (max-width: 1200px){
  .top_mv{
    height: 550px;
  }
  .top_mv__inner {
    grid-template-columns: 50% 25% 25%;
  }
  .top_mv__media:nth-child(1),
  .top_mv__media:nth-child(4){display: none;}
  .top_mv__img{
    width: clamp(200px, 19.166vw, 230px);
  }
  .top_mv__content{grid-column: 1;}
}
@media screen and (max-width: 876px){
  .top_mv{height: 500px;}
  .top_mv__inner {
    grid-template-columns: 60% 30% 10%;
  }
}
@media screen and (max-width: 678px){
  .top_mv__inner {
    grid-template-columns: 70% 30%;
  }
  .top_mv__media:nth-child(3){display: none;}
}
@media screen and (max-width: 570px){
  .top_mv {
      height: 600px;
  }
  .top_mv__inner {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    padding: 0;
  }
  .top_mv__media{
    flex-direction: row;
  }
  .top_mv__img{
    width: clamp(170px, 40.35vw, 230px);
  }
  .top_mv__media .top_mv__img:first-of-type{margin-bottom: 0;}
  .top_mv__media {
      justify-content: space-around;
  }
  .top_mv__img--r1{
    transform: translateY(-2vw);
  }
  .top_mv__img--r2{
    transform: translateY(8vw);
  }
  .top_mv__fv-txtarea{
    padding: 0 1em;
  }
}

/***************************** 
  弘久社の強み
*****************************/
.section_strengths{
  background: url('/dcms_media/image/top_strengths-bg.webp') no-repeat center / cover;
}

@media (min-width: 992px){
    .section_strengths{
        background: url('/dcms_media/image/top_strengths-bg.webp') no-repeat top left / cover;
    }
}

/**************************** 
    お問い合わせ
****************************/
.cta_contact{
  background: url('/dcms_media/image/cta_contact-bg.webp') no-repeat bottom center / cover;
}

/**************************** 
    下層ページ用
****************************/
.lib-hero__outer{
    background: url('/dcms_media/image/child_page-header-bg.webp') no-repeat top right / cover;
}
.lib-breadcrumb__outer{
    background: var(--MAIN);
    color: var(--WHT);
}
.lib-breadcrumb__list li a,
.lib-breadcrumb__list li a[aria-current=location]{
    color: var(--WHT);
}