@charset "UTF-8";
/* ---------------------------------------
    開発・製造販売｜事業紹介
-----------------------------------------*/
/* sec_mv
--------------------------------*/
#sec_mv .mv_slider .slick-slide {
  width: 40rem;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_slider .slick-slide {
    width: 20rem;
  }
}
#sec_mv .mv_contents {
  padding: 0 0 6.6666666667vw;
  background: linear-gradient(180deg, rgba(99, 96, 93, 0) 4.73%, rgba(98, 96, 93, 0.5) 21.25%, #615F5C 57.18%);
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents {
    padding: 0 0 5.6rem;
  }
}
#sec_mv .mv_contents .wrap {
  max-width: 100%;
  padding: 0 3.1944444444vw;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .wrap {
    padding: 0 1.2rem;
  }
}
#sec_mv .mv_contents .sec_ttl {
  margin-top: -12.8472222222vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .sec_ttl {
    margin: -5.4rem -0.2rem 0;
  }
}
#sec_mv .mv_contents .sec_ttl .poppins {
  display: block;
  text-transform: uppercase;
  font-size: 12.7777777778vw;
  line-height: 0.8;
  letter-spacing: -0.01em;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .sec_ttl .poppins {
    font-size: 5.1rem;
    letter-spacing: 0;
    white-space: nowrap;
    margin: 0 -0.4rem;
  }
}
#sec_mv .mv_contents .sec_ttl .poppins span {
  display: block;
  text-align: center;
  width: 18.3333333333vw;
  line-height: 1;
  font-size: 0;
  padding: 0.2rem 0;
  background-color: #D0CDCC;
  margin-left: 0.6944444444vw;
  margin-bottom: 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .sec_ttl .poppins span {
    width: 7.7rem;
    padding: 0.1rem 0;
    margin-left: 0.4rem;
    margin-bottom: 0.5rem;
  }
}
#sec_mv .mv_contents .sec_ttl .poppins span img {
  width: 17.9166666667vw;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .sec_ttl .poppins span img {
    width: 7.5rem;
  }
}
#sec_mv .mv_contents .sec_ttl .ja {
  font-size: 2.2222222222vw;
  margin-top: 0.4166666667vw;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .sec_ttl .ja {
    font-size: 2rem;
    line-height: 1.6;
    margin-top: 0.4rem;
  }
}
#sec_mv .mv_contents .img {
  position: relative;
  width: 66.5625vw;
  margin-left: auto;
  margin-top: -11.1111111111vw;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .img {
    width: 100%;
    margin-top: -3.6rem;
  }
}
#sec_mv .mv_contents .txt_wrap {
  width: 55.5555555556vw;
  margin: 2.2222222222vw auto 0;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .txt_wrap {
    width: 100%;
    margin-top: 4rem;
  }
}
#sec_mv .mv_contents .txt_wrap .txt {
  font-size: 1.1111111111vw;
  line-height: 2.375;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .txt_wrap .txt {
    font-size: 1.5rem;
    line-height: 2.2;
  }
}
#sec_mv .mv_contents .txt_wrap .txt + .txt {
  margin-top: 3.3333333333vw;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .txt_wrap .txt + .txt {
    margin-top: 2.4rem;
  }
}

/* sec_business
--------------------------------*/
#sec_business {
  padding: 8rem 0 0;
}
#sec_business .business_mv {
  height: 46.9rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #sec_business .business_mv {
    height: 27.3rem;
  }
}
#sec_business .business_mv .ttl {
  color: #181414;
  font-style: italic;
  font-weight: 7000;
  font-size: 67.1rem;
  line-height: 1;
  letter-spacing: -0.08em;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-49.8%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #sec_business .business_mv .ttl {
    font-size: 39.11rem;
  }
}
#sec_business .business_mv .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#sec_business .business_mv .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#sec_business .business_block {
  padding: 12rem 0;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block {
    padding: 4.8rem 0 6.2rem;
  }
}
#sec_business .business_block + .business_block {
  border-top: 1px solid rgba(122, 120, 117, 0.4);
}
#sec_business .business_block .block_ttl {
  font-size: 3.2rem;
  line-height: 1.8125;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block .block_ttl {
    font-size: 2rem;
    line-height: 1.6;
  }
}
#sec_business .business_block .txt_wrap {
  width: 48.8rem;
  margin-left: auto;
  margin-top: 2.2rem;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block .txt_wrap {
    width: 100%;
    margin-top: 3.2rem;
  }
}
#sec_business .business_block .txt_wrap .btn {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block .txt_wrap .btn {
    margin-top: 2.4rem;
  }
}
#sec_business .business_block .txt_wrap .btn a {
  min-width: 24rem;
  margin-left: auto;
  border-color: #7A7875;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block .txt_wrap .btn a {
    min-width: 15.2rem;
    margin-left: 0;
  }
}
#sec_business .business_block .img_wrap {
  display: flex;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block .img_wrap {
    margin-top: 4.8rem;
  }
}
#sec_business .business_block .img_wrap .img {
  width: 50%;
}
#sec_business .business_block .img_wrap.col4 .img {
  width: 25%;
}
#sec_business .business_block .img_wrap.w100 .img {
  width: 100%;
}

/* sec_strengths
--------------------------------*/
#sec_strengths {
  padding: 0 0 7.2rem;
}
@media screen and (max-width: 767px) {
  #sec_strengths {
    padding: 0 0 4.8rem;
  }
}
#sec_strengths .ttl_wrap {
  width: 100.4rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  #sec_strengths .ttl_wrap {
    width: 100%;
  }
}
#sec_strengths .ttl_wrap .sec_ttl {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
@media screen and (max-width: 767px) {
  #sec_strengths .ttl_wrap .sec_ttl {
    position: static;
    translate: 0 0;
  }
}
#sec_strengths .ttl_wrap .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #sec_strengths .ttl_wrap .list {
    justify-content: center;
    gap: 0.8rem;
    margin-top: 1.6rem;
  }
}
#sec_strengths .ttl_wrap .list .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 29.2rem;
  height: 29.2rem;
  padding: 4rem 4rem 5rem;
  border-radius: 50%;
  border: 1px solid #D0CDCC;
}
@media screen and (max-width: 767px) {
  #sec_strengths .ttl_wrap .list .item {
    width: 16rem;
    height: 16rem;
    padding: 2rem 3rem 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  #sec_strengths .ttl_wrap .list .item:first-child, #sec_strengths .ttl_wrap .list .item:last-child {
    margin: 0 35.6rem;
  }
  #sec_strengths .ttl_wrap .list .item:not(:first-child):not(:last-child) {
    margin: -1.5rem 0;
  }
}
#sec_strengths .ttl_wrap .list .item .ico {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 16rem;
}
@media screen and (max-width: 767px) {
  #sec_strengths .ttl_wrap .list .item .ico {
    width: 8.8rem;
  }
}
#sec_strengths .ttl_wrap .list .item .txt {
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  #sec_strengths .ttl_wrap .list .item .txt {
    font-size: 1.5rem;
    line-height: 1.8666666667;
    margin-top: 0.8rem;
  }
}
#sec_strengths .strengths_list {
  margin-top: 10.4rem;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list {
    margin-top: 4rem;
  }
}
#sec_strengths .strengths_list .item {
  display: flex;
  align-items: center;
  gap: 0 4.8rem;
  padding: 4rem 0 4.8rem 1.6rem;
  border-top: 1px solid #7A7875;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list .item {
    display: block;
    padding: 4rem 0.8rem 4.8rem;
  }
}
#sec_strengths .strengths_list .item .img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 17.2rem;
  height: 17.2rem;
  padding: 3rem;
  border-radius: 50%;
  border: 1px solid #7A7875;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list .item .img {
    width: 12rem;
    height: 12rem;
    padding: 2rem;
    margin: 0 auto;
  }
}
#sec_strengths .strengths_list .item .img .ico {
  width: 10rem;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list .item .img .ico {
    width: 7rem;
  }
}
#sec_strengths .strengths_list .item .txt_wrap {
  flex: 1;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list .item .txt_wrap {
    margin-top: 2.4rem;
  }
}
#sec_strengths .strengths_list .item .txt_wrap .ttl {
  color: #FFF8F6;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list .item .txt_wrap .ttl {
    font-size: 1.5rem;
    line-height: 1.7333333333;
    letter-spacing: 0;
  }
}
#sec_strengths .strengths_list .item .txt_wrap .txt {
  color: #D0CDCC;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list .item .txt_wrap .txt {
    margin-top: 1.6rem;
  }
}
#sec_strengths .strengths_list .item .txt_wrap .btn {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_strengths .strengths_list .item .txt_wrap .btn {
    margin-top: 1.6rem;
  }
}
#sec_strengths .strengths_list .item .txt_wrap .btn a {
  border-color: #7A7875;
}

/* 英語ページ
--------------------------------*/
html[lang=en] #sec_mv .mv_contents .txt_wrap .txt {
  line-height: 2.0625;
}
html[lang=en] #sec_business .business_block .block_ttl {
  line-height: 1.5;
  letter-spacing: 0.1em;
}
html[lang=en] #sec_business .business_block .txt_wrap .txt {
  letter-spacing: 0.05em;
}
html[lang=en] #sec_strengths .ttl_wrap .sec_ttl {
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[lang=en] #sec_strengths .ttl_wrap .list .item .txt {
  letter-spacing: 0.05em;
  text-transform: uppercase;
}