@charset "UTF-8";
.fit-img {
  height: 70vw;
  max-height: 24rem;
}
@media (min-width: 992px) {
  .fit-img {
    height: 29.283vw;
  }
}
/* ==========================================================================
   MV
========================================================================== */
#mv {
  background: var(--color1);
  color: var(--white);
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#mv .mv__inner {
  margin-top: 68px;
  height: calc(100vh - 68px);
  min-height: 365px;
  padding: 10vh 10vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  opacity: .8;
  text-align: center;
}
#mv .mv__inner .arrow-label {
  padding-left: 2rem;
}
#mv .mv__inner .arrow-label::before {
  left: 0;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221.275%22%20height%3D%223.867%22%20viewBox%3D%220%200%2021.275%203.867%22%3E%3Cpath%20d%3D%22M-20020.725%2C344.818H-20042v-1h18.725l-2.3-2.133.68-.734Z%22%20transform%3D%22translate(20042%20-340.951)%22%20fill%3D%22%23fff%22%20opacity%3D%220.801%22%2F%3E%3C%2Fsvg%3E%0A');
}
#mv .mv__inner .ttl {
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: 1.5;
}
#mv .mv__inner .line {
  display: block;
  width: 1px;
  height: 12vh;
  background: currentColor;
  margin: 1.25em auto 0;
}
#mv .bg-video {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}
#mv .bg-video::before {
  content: '';
  display: block;
  background: rgba(108, 108, 108, 0.5);
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: .6s cubic-bezier(.39, .575, .565, 1);
}
#mv .bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  #mv .mv__inner .ttl {
    font-size: 1.5rem;
    margin-top: .75rem;
    margin-bottom: .75rem;
  }
  #mv .mv__inner .h4 {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  #mv .bg-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #mv .mv__inner {
    padding: 15vh 10vw;
  }
}
/* ==========================================================================
   #reason
========================================================================== */
#reason {
  padding-bottom: 60px;
  position: relative;
  z-index: 2;
}
#reason::before {
  content: '';
  width: 100%;
  height: 20%;
  position: absolute;
  left: 0;
  z-index: -1;
}
#reason::before {
  background: var(--color1);
  bottom: 0;
}
#reason .reason-inner {
  height: 100%;
  position: relative;
}
#reason .imgBox figure .fit-img {
  height: 50vw;
  max-height: 18rem;
}
#reason .imgBox2 figure .fit-img {
  height: 50vw;
  max-height: 18rem;
}

@media (min-width: 768px) {

}
@media (min-width: 992px) {
  #reason {
    padding-top: 60px;
  }
  #reason::before {
    width: 20%;
    height: 100%;
    top: 0;
  }
  #reason .imgBox figure .fit-img {
    height: 29.283vw;
  }
  #reason .imgBox2 .iv {
    height: 100%;
  }
  #reason .imgBox2 .over {
    height: 100%;
    display: flex;
    align-items: flex-end;
    margin-left: 0!important;
    padding-right: 40px;
  }
  #reason .imgBox2 figure {
    margin-bottom: 60px;
  }
  #reason .imgBox2 figure .fit-img {
    height: 46em;
    max-height: inherit;
    object-position: 15% center;
  }
}

/* ==========================================================================
   #service
========================================================================== */
#service .ttlBox {
  position: relative;
}
#service .ttlBox::before {
  content: '';
  display: block;
  width: 100%;
  height: 2.6em;
  background: url(img/service_bg-txt.svg) no-repeat left top / contain;
  position: absolute;
  left: 0;
  bottom: -1.3em;
  z-index: 3;
}
#service .item {
  position: relative;
}
#service .item::before {
  content: '';
  display: block;
  background: var(--l-gray);
  position: absolute;
  top: 25%;
  right: -10px;
  bottom: 0;
  left: -10px;
}
#service .item .card_header {
  padding-right: 2em;
}
#service .item .card_label {
  position: absolute;
  top: 0;
  left: calc(100% + .5em);
  transform: rotate(90deg);
  transform-origin: left top;
  font-size: 1.25em;
  font-weight: 700;
  white-space: nowrap;
}
#service .e-card .card_header .thumbnail {
  padding-top: 80%;
}

@media (min-width: 768px) {
  #service {
    position: relative;
  }
  #service::before {
    content: '';
    display: block;
    height: 32em;
    background: var(--l-gray);
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
  }
  #service .item::before {
    display: none;
  }
  #service .item + .item::after {
    content: '';
    display: block;
    width: 1px;
    background: var(--border1);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 50px;
  }
}
@media (min-width: 992px) {
	#service .ttlBox::before {
	  height: 4em;
	  bottom: 1.2rem;
	}	
  #service .items {
    margin-right: -70px;
    margin-left: -70px;
  }
  #service .item {
    padding: 0 70px;
  }
  #service .item .card_header {
    padding-right: 2.5em;
  }
  #service .item .card_label {
    font-size: 1.5em;
  }
}

/* ==========================================================================
   #casestudy
========================================================================== */
#casestudy {
  position: relative;
}
#casestudy::before {
  content: '';
  display: block;
  background: var(--l-gray);
  position: absolute;
  top: 50%;
  right: 0;
  bottom: 0;
  left: 0;
}
#casestudy .viewmore {
  margin: 40px 0 30px;
}
@media (min-width: 768px) {
  #casestudy {
    padding-bottom: 0;
  }
  #casestudy::before {
    bottom: 2.25em;
  }
  #casestudy .viewmore {
    margin: 50px 0 0;
  }
}

/* ==========================================================================
   #news
========================================================================== */
#news .news {
  position: relative;
}
#news .news-block .lists, #news .news-block ul.s_eirList {
  margin-top: 15px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  #news .news-block .lists, #news .news-block ul.s_eirList {
    margin-top: 0;
  }
  #news .lists .list, #news .news-block ul.s_eirList li.s_eirList_item {
    padding: 1em 0;
    flex-wrap: wrap;
  }
  #news .lists .list a {
    display: block;
  }
  #news .lists .list .ttlBox, #news .news-block ul.s_eirList li.s_eirList_item .s_eirList_item_titleBox {
    flex: 0 0 100%;
    margin-top: .4em;
  }
}

/* ==========================================================================
   #recruit
========================================================================== */
#recruit {
  background: url(img/recruit_bg-txt.svg) no-repeat 2% 41% / 85%;
}
#recruit .fit-img {
  object-position: 50% 100%;
}
@media (max-width: 991px) {
  #recruit .fit-img {
      height: 50vw;
      max-height: 18rem;
  }
}

@media (min-width: 768px) {
  #recruit {
    background-position: 2% 10%;
    background-size: 85%;
  }
}
@media (min-width: 992px) {
  #recruit {
    background-size: 60%;
  }
  #recruit .row {
    padding-top: 3em;
    padding-bottom: 3em;
  }
}

/* ==========================================================================
   #corporate
========================================================================== */
#corporate {
  background: url(img/corporate_bg-txt.svg) no-repeat 98% 41% / 85%;
}
@media (max-width: 991px) {
  #corporate .fit-img {
      height: 50vw;
      max-height: 18rem;
  }
}

@media (min-width: 768px) {
  #corporate {
    background-position: 98% 10%;
    background-size: 85%;
  }
}
@media (min-width: 992px) {
  #corporate {
    background-size: 60%;
  }
  #corporate .row {
    padding-top: 3em;
    padding-bottom: 3em;
  }
}

