@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;
}
@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: 6.2rem;
    letter-spacing: -0.02em;
    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 .txt_wrap {
  width: 55.5555555556vw;
  margin: 4.1666666667vw auto 0;
}
@media screen and (max-width: 767px) {
  #sec_mv .mv_contents .txt_wrap {
    width: 100%;
    margin-top: 2.3rem;
  }
}
#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 .block_ttl .en {
  display: block;
  font-style: italic;
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block .block_ttl .en {
    font-size: 1.4rem;
    margin-bottom: 0.8rem;
  }
}
#sec_business .business_block .block_ttl .en .num {
  display: inline-block;
  font-size: 2.4rem;
  letter-spacing: 0.02em;
  margin-left: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_business .business_block .block_ttl .en .num {
    font-size: 1.8rem;
  }
}
#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%;
}

/* ---------------------------------------
    都市土木工事 下層
-----------------------------------------*/
#page_ttl._under .en {
  padding-left: 0;
}
#page_ttl._under .en::before, #page_ttl._under .en::after {
  content: none;
}
#page_ttl._under .en > span {
  display: flex;
  align-items: center;
}
#page_ttl._under .en .sub {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
}
#page_ttl._under .en .method {
  position: relative;
  font-style: italic;
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.02em;
  padding-left: 0;
}
#page_ttl._under .en .method::before {
  content: "";
  display: inline-block;
  vertical-align: 0.8rem;
  width: 4.8rem;
  height: 1px;
  background: rgba(122, 120, 117, 0.4);
  margin: 0 1.6rem;
}
#page_ttl._under .en .method .num {
  display: inline-block;
  font-size: 2.4rem;
  letter-spacing: 0.02em;
  margin-left: 0.8rem;
}
@media screen and (max-width: 767px) {
  #page_ttl._under .en .method .num {
    font-size: 1.8rem;
  }
}

/* sec_intro
--------------------------------*/
#sec_intro {
  border-top: 1px solid rgba(122, 120, 117, 0.4);
}
#sec_intro .bg {
  padding: 12rem 0 9rem;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  position: relative;
}
@media screen and (max-width: 767px) {
  #sec_intro .bg {
    padding: 4.8rem 0 5.6rem;
  }
}
#sec_intro .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #181414 10%, rgba(24, 20, 20, 0.7) 50%, #181414 90%);
  position: absolute;
  left: 0;
  top: 0;
}
#sec_intro .inner {
  display: flex;
  align-items: center;
  gap: 0 10.4rem;
  padding-left: 7.2rem;
  margin-left: auto;
  margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .inner {
    display: block;
    padding-left: 0;
    margin-top: 5.6rem;
  }
}
#sec_intro .inner .img {
  width: 44.8rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .inner .img {
    width: 21.4rem;
    margin: 0 auto;
  }
}
#sec_intro .inner .txt_wrap {
  flex: 1;
  padding-bottom: 6.4rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .inner .txt_wrap {
    padding-bottom: 0;
    margin-top: 4.8rem;
  }
}
#sec_intro .inner .txt_wrap .txt {
  line-height: 2.375;
}
@media screen and (max-width: 767px) {
  #sec_intro .inner .txt_wrap .txt {
    line-height: 1.7333333333;
  }
}
#sec_intro .inner .txt_wrap .txt + .txt {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .inner .txt_wrap .txt + .txt {
    margin-top: 2.4rem;
  }
}
#sec_intro .intro_list {
  color: #FFF8F6;
  padding-left: 9.2rem;
  padding-bottom: 9rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list {
    padding-left: 1.2rem;
    padding-bottom: 4rem;
  }
}
#sec_intro .intro_list .item {
  display: flex;
  align-items: flex-start;
  gap: 0 4.8rem;
  padding: 4rem 0 0;
  border-top: 1px solid rgba(122, 120, 117, 0.4);
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item {
    display: block;
  }
}
#sec_intro .intro_list .item + .item {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item + .item {
    margin-top: 4.8rem;
  }
}
#sec_intro .intro_list .item .circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 17.6rem;
  height: 17.6rem;
  padding: 4rem;
  border-radius: 50%;
  border: 1px solid #7A7875;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .circle {
    width: 12rem;
    height: 12rem;
    padding: 1.5rem;
    margin: 0 auto;
  }
}
#sec_intro .intro_list .item .circle .txt {
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .circle .txt {
    font-size: 1.8rem;
    line-height: 1.6111111111;
    letter-spacing: 0.1em;
  }
}
#sec_intro .intro_list .item .txt_wrap {
  flex: 1;
  padding-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .txt_wrap {
    margin-top: 0.8rem;
  }
}
#sec_intro .intro_list .item .txt_wrap *:first-child {
  margin-top: 0 !important;
}
#sec_intro .intro_list .item .txt_wrap .ttl {
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5833333333;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .txt_wrap .ttl {
    font-size: 1.8rem;
    line-height: 1.6111111111;
  }
}
#sec_intro .intro_list .item .txt_wrap .sub {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .txt_wrap .sub {
    font-size: 1.5rem;
    line-height: 1.7333333333;
    margin-top: 0.8rem;
  }
}
#sec_intro .intro_list .item .txt_wrap ul {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .txt_wrap ul {
    margin-top: 1.6rem;
  }
}
#sec_intro .intro_list .item .txt_wrap ul li {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  padding-left: 1.5rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .txt_wrap ul li {
    font-size: 1.3rem;
    line-height: 1.6923076923;
  }
}
#sec_intro .intro_list .item .txt_wrap ul li + li {
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .txt_wrap ul li + li {
    margin-top: 0.4rem;
  }
}
#sec_intro .intro_list .item .txt_wrap ul li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  background: #D9D9D9;
  position: absolute;
  left: 0;
  top: 1rem;
  rotate: 45deg;
}
@media screen and (max-width: 767px) {
  #sec_intro .intro_list .item .txt_wrap ul li::before {
    top: 0.9rem;
  }
}
#sec_intro.diaphragm-wall .bg {
  background-size: 100% auto;
  background-position: center top;
  background-image: url(../img/business/civil-engineering/diaphragm-wall/intro_bg_pc.jpg);
}
@media screen and (max-width: 767px) {
  #sec_intro.diaphragm-wall .bg {
    background-image: url(../img/business/civil-engineering/diaphragm-wall/intro_bg_sp.jpg);
  }
}
#sec_intro.cast-in-place-pile .bg {
  background-image: url(../img/business/civil-engineering/cast-in-place-pile/intro_bg_pc.jpg);
}
@media screen and (max-width: 767px) {
  #sec_intro.cast-in-place-pile .bg {
    background-image: url(../img/business/civil-engineering/cast-in-place-pile/intro_bg_sp.jpg);
  }
}
#sec_intro.ground-improvement .bg {
  background-image: url(../img/business/civil-engineering/ground-improvement/intro_bg_pc.jpg);
}
@media screen and (max-width: 767px) {
  #sec_intro.ground-improvement .bg {
    background-image: url(../img/business/civil-engineering/ground-improvement/intro_bg_sp.jpg);
  }
}

/* sec_detail
--------------------------------*/
#sec_detail * {
  word-break: normal;
  overflow-wrap: break-word;
}
#sec_detail .page_nav {
  padding: 6.4rem 0;
  border-top: 1px solid rgba(122, 120, 117, 0.4);
}
@media screen and (max-width: 767px) {
  #sec_detail .page_nav {
    overflow-y: hidden;
    overflow-x: auto;
    padding: 4.8rem 0 2rem;
    margin-bottom: 5.6rem;
  }
}
#sec_detail .page_nav .nav_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .page_nav .nav_list {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
#sec_detail .page_nav .nav_list .item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 20.4rem;
  min-height: 4.8rem;
  font-size: 1.2rem;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
  padding: 1.1rem 3.8rem 1.3rem 1.9rem;
  border: 1px solid #D0CDCC;
  border-radius: 100vh;
  border-radius: 2.4rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #sec_detail .page_nav .nav_list .item a {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  #sec_detail .page_nav .nav_list .item a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  #sec_detail .page_nav .nav_list .item a {
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
  }
}
#sec_detail .page_nav .nav_list .item a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 0.25rem 0 0.25rem;
  border-color: #D0CDCC transparent transparent transparent;
  position: absolute;
  right: 2.4rem;
  top: calc(50% - 0.4rem);
}
#sec_detail .detail_block {
  padding: 4.8rem 0 7.2rem;
  border-top: 1px solid rgba(122, 120, 117, 0.4);
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block {
    padding: 3.2rem 0 6rem;
  }
}
#sec_detail .detail_block .detail_head .ttl {
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 1.8125;
  letter-spacing: 0.2em;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_head .ttl {
    font-size: 2rem;
    line-height: 1.6;
  }
}
#sec_detail .detail_block .detail_head .ttl span {
  display: block;
  color: #7A7875;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_head .ttl span {
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: 0;
  }
}
#sec_detail .detail_block .detail_head .txt {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_head .txt {
    margin-top: 0.8rem;
  }
}
#sec_detail .detail_block .detail_main {
  display: flex;
  align-items: flex-start;
  gap: 0 10.4rem;
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main {
    display: block;
    margin-top: 3.2rem;
  }
}
#sec_detail .detail_block .detail_main .main_left {
  width: 52rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_left {
    width: 100%;
  }
}
#sec_detail .detail_block .detail_main .main_left .business_slider .item .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 520/501;
  background-color: #FFF8F6;
  border: 1px solid #D0CDCC;
}
#sec_detail .detail_block .detail_main .main_left .business_slider .item .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#sec_detail .detail_block .detail_main .main_left .business_slider .item .caption {
  color: #7A7875;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.15em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_left .business_slider .item .caption {
    margin-top: 0.8rem;
  }
}
#sec_detail .detail_block .detail_main .main_left .slider_control {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 2.4rem;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail {
  width: 41.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail {
    width: 25.6rem;
  }
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail .slick-list {
  margin: 0 -0.7rem;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail .slick-slide {
  max-width: 4rem;
  aspect-ratio: 1/1;
  margin: 0 0.7rem;
  opacity: 0.6;
  transition: 0.3s ease-out;
  cursor: pointer;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail .slick-slide.slick-current {
  opacity: 1;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail .thumb {
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: rgba(122, 120, 117, 0.4);
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail.is-center .slick-track {
  display: flex;
  justify-content: center;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .business_thumbnail.is-center .slick-slide {
  float: none;
  margin: 0 0.7rem;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .slider_arrow {
  width: 3.2rem;
  height: 1.5rem;
  font-size: 0;
  border-right: 1px solid #7A7875;
  position: relative;
  top: 1.4rem;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .slider_arrow::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #7A7875;
  position: absolute;
  right: 0;
  top: calc((100% - 1px) / 2);
  transition: width 0.3s ease-out;
  transform-origin: left center;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .slider_arrow.slider_prev {
  scale: -1 1;
}
#sec_detail .detail_block .detail_main .main_left .slider_control .slider_arrow.is-disabled {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #sec_detail .detail_block .detail_main .main_left .slider_control .slider_arrow:hover::before {
    width: 2rem;
  }
}
#sec_detail .detail_block .detail_main .main_left .btn_wrap {
  padding: 3.2rem 3.2rem 3.8rem;
  background-color: rgba(208, 205, 204, 0.39);
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_left .btn_wrap {
    padding: 2.4rem 2.4rem 3rem;
    margin-top: 4rem;
  }
}
#sec_detail .detail_block .detail_main .main_left .btn_wrap .btn + .btn {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_left .btn_wrap .btn + .btn {
    margin-top: 0.8rem;
  }
}
#sec_detail .detail_block .detail_main .main_left .btn_wrap .btn a {
  min-width: inherit;
  width: 100%;
  min-height: 12.4rem;
  background-color: #FFF8F6;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_left .btn_wrap .btn a {
    min-height: 9.9rem;
  }
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_left .btn_wrap .btn a .btn_txt {
    font-size: 1.2rem;
  }
}
#sec_detail .detail_block .detail_main .main_right {
  flex: 1;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right {
    margin-top: 4.8rem;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block {
  display: flex;
  align-items: flex-start;
  gap: 0 1rem;
  padding: 1.3rem 0 1.5rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block {
    display: block;
    padding: 0;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block + .info_block {
  margin-top: 3.2rem;
}
#sec_detail .detail_block .detail_main .main_right .info_block .ttl {
  display: inline-block;
  min-width: 7rem;
  text-align: center;
  color: #7A7875;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  padding: 0.5rem 0.4rem;
  border: 1px solid #7A7875;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt {
  flex: 0 0 auto;
  width: 48.2rem;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt {
    width: 100%;
    margin-top: 1.6rem;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt > p {
  font-size: 1.4rem;
  line-height: 1.7857142857;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt > p {
    font-size: 1.3rem;
    line-height: 1.6923076923;
  }
}
@media screen and (min-width: 768px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt a {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt a:hover {
    opacity: 0.6;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt > *:first-child {
  margin-top: 0 !important;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt > *:last-child {
  margin-bottom: 0 !important;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt ol {
  counter-reset: item;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li {
  font-size: 1.4rem;
  line-height: 1.7857142857;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li {
    font-size: 1.3rem;
    line-height: 1.6923076923;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li + li {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li + li {
    margin-top: 0.4rem;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li .feature_title {
  display: flex;
  font-weight: 500;
  line-height: 1.7857142857;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li .feature_title {
    font-size: 1.3rem;
    line-height: 1.6923076923;
    margin-bottom: 0.4rem;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li .feature_title::before {
  flex-shrink: 0;
  counter-increment: item;
  content: " ( " counter(item) " ) ";
  font-family: "Source Sans 3", sans-serif;
  line-height: 1.7857142857;
  margin-right: 0.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt ol li .feature_title::before {
    line-height: 1.6923076923;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid rgba(208, 205, 204, 0.5);
  margin-top: 1.2rem;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dt, #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd {
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.15em;
  padding: 2.1rem 0 2.2rem;
  border-bottom: 1px solid rgba(208, 205, 204, 0.5);
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dt, #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd {
    padding: 1.6rem 0 1.9rem;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dt {
  width: 18.4rem;
  color: #7A7875;
  padding-right: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dt {
    width: 15.2rem;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd {
  width: calc(100% - 18.4rem);
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd {
    width: calc(100% - 15.2rem);
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd .link {
  display: inline-block;
  width: 1.6rem;
  margin-left: 0.8rem;
}
@media screen and (min-width: 768px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd .link {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd .link:hover {
    opacity: 0.6;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd ul li {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 0.8rem;
  font-family: "Source Sans 3", sans-serif;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.15em;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd ul li + li {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd ul li + li {
    margin-top: 0.8rem;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd ul li .spec_title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #7A7875;
  line-height: 1.3333333333;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd ul li .spec_title {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd ul {
    display: block;
  }
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb dd ul + ul {
  padding-top: 1.6rem;
  border-top: 1px solid rgba(208, 205, 204, 0.5);
  margin-top: 1.6rem;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt .tb + p {
  margin-top: 3.2rem;
}
#sec_detail .detail_block .detail_main .main_right .info_block .cnt iframe, #sec_detail .detail_block .detail_main .main_right .info_block .cnt video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
#sec_detail .detail_block .btn_back {
  padding-top: 3.2rem;
  border-top: 1px solid rgba(122, 120, 117, 0.4);
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_block .btn_back {
    padding-top: 2.4rem;
    margin-top: 4.8rem;
  }
}
#sec_detail .detail_block .btn_back a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14.7rem;
  height: 4.8rem;
  font-family: "Source Sans 3", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background-color: #FFF8F6;
  border: 1px solid #D0CDCC;
  border-radius: 100vh;
  margin: 0 auto;
  transition: background-color 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  #sec_detail .detail_block .btn_back a:hover {
    background-color: rgba(208, 205, 204, 0.5);
  }
}

/* 英語ページ
--------------------------------*/
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;
}
html[lang=en] #page_ttl._under .en .sub {
  text-transform: none;
}
html[lang=en] #sec_intro .inner .txt_wrap .txt {
  line-height: 2.125;
}
@media screen and (max-width: 767px) {
  html[lang=en] #sec_intro .inner .txt_wrap .txt {
    line-height: 1.7333333333;
  }
}
html[lang=en] #sec_intro .intro_list .item .txt_wrap .ttl {
  text-transform: uppercase;
}
html[lang=en] #sec_detail .detail_main .main_right .info_block .ttl {
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.6rem 0.4rem 0.4rem;
}
html[lang=en] #sec_detail .detail_main .main_right .info_block .cnt .tb dt {
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
html[lang=en] #sec_detail .detail_main .main_right .info_block .cnt .tb dd {
  letter-spacing: 0.05em;
}