@charset "UTF-8";
/* --------------------------------------------------
	section size
-------------------------------------------------- */
/* business-nav
---------------------------------------------------------------------------- */
.business-nav {
  padding: 12rem 0;
  background-color: transparent;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .business-nav {
    padding: 8rem 0 12rem 0;
  }
}
.business-nav .txt-wrap {
  margin-bottom: 4rem;
  padding: 3.2rem;
  border-radius: 0.4rem;
  border: 1px solid #224589;
  background: #fff;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .business-nav .txt-wrap {
    padding: 2.4rem;
  }
}
.business-nav .txt-wrap .txt, .business-nav .txt-wrap li {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  color: #224589;
}
@media screen and (max-width: 767px) {
  .business-nav .txt-wrap .txt, .business-nav .txt-wrap li {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
  }
}
.business-nav .txt-wrap .list {
  margin-left: 0.4rem;
  counter-reset: number 0;
}
.business-nav .txt-wrap .list li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  margin-right: 0.4rem;
}
.business-nav .box-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 4.2rem;
}
@media screen and (max-width: 767px) {
  .business-nav .box-wrap {
    flex-direction: column;
    gap: 4rem 0;
  }
}
.business-nav .box-wrap .box {
  width: calc((100% - 8.4rem) / 3);
}
@media screen and (max-width: 767px) {
  .business-nav .box-wrap .box {
    width: 100%;
  }
}
.business-nav .box-wrap .box-links {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
}
@media screen and (min-width: 768px) {
  .business-nav .box-wrap .box-links:hover .c-button {
    text-decoration: none;
    padding: 0.8rem 8rem 0.8rem 1.6rem;
    background: #D73030;
  }
}
.business-nav .box-wrap .box-ttl {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.00048em;
  font-weight: 700;
  color: #fff;
  background: #224589;
  border-bottom: 2px solid #D73030;
  padding: 2rem 1.6rem;
  border-radius: 0.4rem 0.4rem 0 0;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .business-nav .box-wrap .box-ttl {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.0004em;
    font-weight: 700;
    padding: 1.6rem;
  }
}
.business-nav .box-wrap .box-img {
  aspect-ratio: 372/248;
  border-radius: 0 0 0.4rem 0.4rem;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .business-nav .box-wrap .box-img {
    aspect-ratio: 361/248;
  }
}
.business-nav .box-wrap .box-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.business-nav .box-wrap .box .btn_wrap {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .business-nav .box-wrap .box .btn_wrap {
    margin-top: 0.8rem;
  }
  .business-nav .box-wrap .box .btn_wrap .c-button {
    padding: 1rem 1.6rem;
    font-size: 2rem;
    line-height: 1;
    font-weight: 500;
  }
}

/* sec-business
---------------------------------------------------------------------------- */
.sec-business {
  padding: 8rem 0;
  box-sizing: border-box;
  /* 土木工事事業 */
  /* 建築事業 */
  /* 不動産事業 */
}
.sec-business .c-title .en-ttl {
  display: inline-block;
  color: #fff;
  background: #D73030;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Public Sans", sans-serif;
  padding: 0.4rem 1.6rem;
  border-radius: 0.4rem;
  margin-bottom: 1.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-business .c-title .en-ttl {
    padding: 0.2rem 1.2rem 0.3rem;
    font-size: 1.2rem;
    line-height: 1.6;
    font-weight: 500;
    margin-bottom: 0.8rem;
  }
}
.sec-business .c-title .jp-ttl {
  font-size: 5.6rem;
  line-height: 1.5;
  font-weight: 700;
  display: block;
  color: #224589;
  background: none;
  padding: 0;
  border-radius: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec-business .c-title .jp-ttl {
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: 700;
  }
}
.sec-business .c-title.-white .jp-ttl {
  color: #fff;
}
.sec-business .flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
}
@media screen and (max-width: 767px) {
  .sec-business .flex {
    flex-direction: column;
    gap: 4rem 0;
  }
}
.sec-business .flex-slider {
  width: 56.8rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex-slider {
    width: 100%;
  }
}
.sec-business .flex-slider .slick-slider {
  padding-bottom: 3rem;
  margin-bottom: 0;
}
.sec-business .flex-slider .slick-slider .slide-item {
  border-radius: 0.4rem;
  overflow: hidden;
}
.sec-business .flex-slider .slick-slider .slide-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-business .flex-slider .slick-dots {
  bottom: 0;
}
.sec-business .flex-slider .slick-dots li {
  width: 0.8rem;
  height: 0.8rem;
  background: rgba(0, 0, 0, 0.3);
  margin: 0 0.8rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex-slider .slick-dots li {
    width: 0.4rem;
    height: 0.4rem;
    margin: 0 0.4rem;
  }
}
.sec-business .flex-slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  background: none;
}
.sec-business .flex-slider .slick-dots li button:before {
  display: none;
}
.sec-business .flex-slider .slick-dots li.slick-active {
  background: #1202BD;
}
.sec-business .flex-box {
  width: calc(100% - 56.8rem);
  padding-left: 6.4rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex-box {
    width: 100%;
    padding-left: 0;
  }
}
.sec-business .flex-box .box-ttl {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.00048em;
  font-weight: 700;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex-box .box-ttl {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.00032em;
    font-weight: 700;
    margin-bottom: 2.4rem;
  }
}
.sec-business .flex-box .box-txt {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex-box .box-txt {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
    margin-bottom: 2.4rem;
  }
}
.sec-business .flex-box .ttl_detail {
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  padding: 0.4rem 1.6rem;
  border-radius: 0.4rem;
  margin-bottom: 1.6rem;
  color: #fff;
  background: #224589;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-business .flex-box .ttl_detail {
    font-size: 1.2rem;
    line-height: 1.6;
    font-weight: 500;
    padding: 0.2rem 1.6rem;
  }
}
.sec-business .flex-box .list-content li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  color: #224589;
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex-box .list-content li {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
  }
}
.sec-business .flex-box .list-content li:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "・";
}
.sec-business .flex02 {
  margin-top: 12rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 4.2rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex02 {
    margin-top: 8rem;
    flex-direction: column;
    gap: 6.4rem 0;
  }
}
.sec-business .flex02-box {
  width: calc((100% - 8.4rem) / 3);
}
@media screen and (max-width: 767px) {
  .sec-business .flex02-box {
    width: 100%;
  }
}
.sec-business .flex02-box .box-ttl {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.00048em;
  font-weight: 700;
  color: #fff;
  background: rgba(0, 0, 0, 0.3);
  padding: 1.6rem 2rem;
  border-radius: 0.4rem 0.4rem 0 0;
  border-bottom: 2px solid #D73030;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-business .flex02-box .box-ttl {
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.00036em;
    font-weight: 700;
    padding: 1.6rem 1.6rem;
  }
}
.sec-business .flex02-box .flex02-slider .slick-slider {
  padding-bottom: 3rem;
  margin-bottom: 0;
}
.sec-business .flex02-box .flex02-slider .slick-slider .slide-item {
  aspect-ratio: 372/248;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec-business .flex02-box .flex02-slider .slick-slider .slide-item {
    aspect-ratio: 361/248;
  }
}
.sec-business .flex02-box .flex02-slider .slick-slider .slide-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-business .flex02-box .flex02-slider .slick-dots {
  bottom: 0;
}
.sec-business .flex02-box .flex02-slider .slick-dots li {
  width: 0.8rem;
  height: 0.8rem;
  background: #fff;
  margin: 0 0.8rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex02-box .flex02-slider .slick-dots li {
    width: 0.4rem;
    height: 0.4rem;
    margin: 0 0.4rem;
  }
}
.sec-business .flex02-box .flex02-slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  background: none;
}
.sec-business .flex02-box .flex02-slider .slick-dots li button:before {
  display: none;
}
.sec-business .flex02-box .flex02-slider .slick-dots li.slick-active {
  background: #D73030;
}
.sec-business .flex02-box .txt_wrap {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .sec-business .flex02-box .txt_wrap {
    margin-top: 2.4rem;
  }
}
.sec-business .flex02-box .txt_wrap .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sec-business .flex02-box .txt_wrap .txt {
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
  }
}
.sec-business.bgcol01 .flex-slider .slick-dots li {
  background: #fff;
}
.sec-business.bgcol01 .flex-slider .slick-dots li.slick-active {
  background: #D73030;
}
.sec-business.bgcol01 .flex-box .box-ttl {
  color: #fff;
}
.sec-business.bgcol01 .flex-box .box-txt {
  color: #fff;
}
.sec-business.bgcol01 .flex-box .ttl_detail {
  color: #224589;
  background: #fff;
}
.sec-business.bgcol01 .flex-box .list-content li {
  color: #fff;
}
.sec-business.-construction {
  padding: 12rem 0;
}
@media screen and (max-width: 767px) {
  .sec-business.-construction {
    padding: 6.4rem 0;
  }
}
.sec-business .estate-info {
  margin-top: 8rem;
  padding: 0;
}
.sec-business .estate-info .bnr .bnr-button {
  background: #183060;
}
.sec-business .estate-info .bnr .bnr-button .arrow {
  background: #183060;
}

/* sec-bnr
---------------------------------------------------------------------------- */
.sec-bnr {
  padding: 12rem 0 16rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-bnr {
    padding: 8rem 0 12rem 0;
  }
}
.sec-bnr .bnr + .bnr {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr + .bnr {
    margin-top: 2.4rem;
  }
}
.sec-bnr .bnr .bnr-button {
  position: relative;
  display: block;
  background: #224589;
  padding: 3.2rem 4.8rem;
  border-radius: 0.4rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr .bnr-button {
    padding: 1.6rem 0 0 0;
  }
}
.sec-bnr .bnr .bnr-button .lead-txt {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  color: #fff;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr .bnr-button .lead-txt {
    width: 23rem;
    margin: 0 auto 1.6rem auto;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
  }
}
.sec-bnr .bnr .bnr-button .bnr-txt {
  position: relative;
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.00096em;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr .bnr-button .bnr-txt {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.0006em;
    font-weight: 700;
  }
}
.sec-bnr .bnr .bnr-button .bnr-txt:before {
  position: relative;
  top: 0.4rem;
  display: inline-block;
  content: "";
  margin-right: 1.6rem;
  background-size: 100% auto !important;
}
.sec-bnr .bnr .bnr-button .arrow {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  flex-direction: column;
  width: 16rem;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  border-left: 2px solid #D73030;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr .bnr-button .arrow {
    position: relative;
    align-items: flex-start;
    width: 100%;
    height: 5.2rem;
    text-align: left;
    color: #fff;
    padding: 1rem 1.6rem;
    border-left: none;
    border-top: 2px solid #D73030;
  }
}
.sec-bnr .bnr .bnr-button .arrow:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 1rem 0 1rem 2rem;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr .bnr-button .arrow:after {
    left: auto;
    right: 2.2rem;
    transform: translate(0, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    border-width: 0.4rem 0 0.4rem 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr .bnr-button .arrow:before {
    position: absolute;
    right: 5.2rem;
    top: 0;
    display: block;
    content: "";
    width: 1px;
    height: 100%;
    background: #fff;
  }
}
.sec-bnr .bnr.-voice .bnr-button .bnr-txt:before {
  top: 0.6rem;
  background: url("../images/common/ico_voice.svg") no-repeat center center;
  width: 3.7rem;
  height: 3.5rem;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr.-voice .bnr-button .bnr-txt:before {
    width: 2.6rem;
    height: 2.4rem;
  }
}
.sec-bnr .bnr.-contact .bnr-button .bnr-txt:before {
  background: url("../images/common/ico01_formttl.svg") no-repeat center center;
  width: 3.1rem;
  height: 3.1rem;
}
@media screen and (max-width: 767px) {
  .sec-bnr .bnr.-contact .bnr-button .bnr-txt:before {
    width: 2.4rem;
    height: 2.4rem;
  }
}