@charset "UTF-8";

/* =====================
  MV
===================== */
.mv {
  background-image: url('/assets/img/business/bg_2x.png');
}

.mv::after {
  background-image: url('/assets/img/business/mv_2x.png');
}

/* =====================
  事業内容アバウト
===================== */
.article[data-id='1'] {
  padding-top: 16.8vw;
  padding-bottom: 19.2vw;
  position: relative;
}

.article[data-id='1']::after {
  content: '';
  display: block;
  background-repeat: repeat-x;
  background-size: cover;
  background-position: center;
  background-image: url('/assets/img/business/about_bg_2x.png');
  width: 100%;
  height: 54vw;
  position: absolute;
  left: 0;
  top: 136.4vw;
}

.article[data-id='1'] .about-wrap {
  position: relative;
}

.article[data-id='1'] .about-wrap h2 {
  width: fit-content;
  font-size: 5.333333333333333vw;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #002a87;
  flex-shrink: 0;
}

.article[data-id='1'] .about-wrap .about {
  margin-top: 3.4vw;
}

/* ==== リスト ==== */
.article[data-id='1'] .about-list {
  margin-top: 16.8vw;
}

.article[data-id='1'] .about-list ol li + li {
  margin-top: 11.7vw;
}

.article[data-id='1'] .about-list ol li .list-title {
  border-bottom: solid 1px #002a87;
  padding-bottom: 0.8vw;
}

.article[data-id='1'] .about-list ol li .list-title .list-no {
  font-family: Taviraj;
  font-size: 4vw;
  font-weight: 600;
  color: #002a87;
}

.article[data-id='1'] .about-list ol li .list-title h3 {
  font-size: 6.4vw;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #002a87;
}

.article[data-id='1'] .about-list ol li .list-p {
  margin-top: 9.7vw;
}

.article[data-id='1'] .about-list ol li .list-p .list-img img {
  width: 90.66666666666667vw;
  height: 53.733333333333334vw;
}

.article[data-id='1'] .about-list ol li .list-p p {
  margin-top: 7.6vw;
}

/* =====================
  実績一覧
===================== */
.article[data-id='2'] {
  padding-top: 14.4vw;
  padding-bottom: 21.4vw;
}

.article[data-id='2'] .h2-title span {
  line-height: 1.2;
}

.article[data-id='2'] .h2-title h2 {
  margin-top: 2.8vw;
}

.article[data-id='2'] .achi-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.266666666666667vw 4.533333333333333vw;
  margin-top: 66px;
}

.article[data-id='2'] .achi-list li picture img {
  width: 43.06666666666666vw;
  height: 45.06666666666666vw;
}

.article[data-id='2'] .link-btn2 {
  width: 55.333333333333336vw;
  margin-top: 12.7vw;
  margin-inline: auto;
}

/* =====================
  SDGs
===================== */
.article[data-id='3'] .sdgs-box {
  padding-block: 21.3vw;
}

.article[data-id='3'] .sdgs-box .img picture img {
  width: 90.66666666666667vw;
  height: 53.06666666666666vw;
}

.article[data-id='3'] .sdgs-box .sdgs-p {
  background-color: #0099d9;
  padding: 6.4vw 5.333333333333333vw 14vw;
  color: #fff;
}

.article[data-id='3'] .sdgs-box .sdgs-p .h2-title span {
  color: #fff;
}

.article[data-id='3'] .sdgs-box .sdgs-p .h2-title h2 {
  color: #fff;
}

.article[data-id='3'] .sdgs-box .sdgs-p p {
  margin-top: 6.933333333333334vw;
}

.article[data-id='3'] .sdgs-box .sdgs-p .link-btn2 {
  width: 55.333333333333336vw;
  border: solid 1px #fff;
  margin-top: 11vw;
}

.article[data-id='3'] .sdgs-box .sdgs-p .link-btn2 .link-anchor::after {
  background-image: url('/assets/img/common/arrow.png');
}

.article[data-id='3'] .sdgs-box .sdgs-p .link-btn2 span {
  color: #fff;
}

/* =====================
  list-contents
===================== */
.list-contents {
  margin-top: calc((100 / 750) * 96 * 1vw);
  padding-bottom: 8px;
}
.list-contents + .list-contents {
  margin-top: calc((100 / 750) * 96 * 1vw);
}
.list-contents h4 {
  color: #002a87;
  border: 1px solid currentColor;
  width: fit-content;
  font-weight: bold;
  line-height: 1;
  padding-block: calc((100 / 750) * 27 * 1vw);
  padding-inline: calc((100 / 750) * 27 * 1vw);
  font-size: calc((100 / 750) * 38 * 1vw);
}
.list-contents .ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  margin-top: calc((100 / 750) * 56 * 1vw);
  gap: calc((100 / 750) * 32 * 1vw);
}
.list-contents:not(:has(h4)) {
  margin-top: 0;
}


.sub-img{
  margin-top: calc((100 / 750) * 56 * 1vw);
  display: grid;
  grid-template-columns: 1fr;
  gap: calc((100 / 750) * 32 * 1vw);
}
.sub-img img{
  max-width: 100%;
  height: auto;
}
