@media (max-width: 767.98px) {
  .section-business .my-text-area {
    line-height: var(--leading-lg);
  }
}

.section-business:nth-child(even) {
  background-color: #f0f2f5;
}

.section-business-title {
  margin-bottom: 50px;
  display: flex;
  gap: 16px;
  position: relative;
  padding-bottom: 30px;
  letter-spacing: 0.08em;
  color: var(--color-primary-lighter2);
  font-size: clamp(3.2rem, 2.0603268945rem + 1.485884101vw, 4.2rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
}
.section-business-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.5em);
  width: 20px;
  height: 20px;
  background-color: currentColor;
}
.section-business-title::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 1px;
  background-color: #e3e3e3;
  margin-inline: calc(50% - 50cqw);
}
@media (max-width: 767.98px) {
  .section-business-title::after:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (max-width: 767.98px) {
  .section-business-title {
    margin-bottom: 32px;
  }
}

:is(.section-business-description-title, .section-business-example-title) {
  margin-bottom: 20px;
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
}
:is(.section-business-description-title, .section-business-example-title)::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}
@media (max-width: 767.98px) {
  :is(.section-business-description-title, .section-business-example-title) {
    margin-bottom: 12px;
  }
}

.section-business-example-list {
  display: grid;
  gap: 24px;
}

:is(.section-business-example-list-item,
.section-business-description-list-item) {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px 16px;
}
:is(.section-business-example-list-item,
.section-business-description-list-item) .ttl {
  font-size: clamp(1.8rem, 1.1161961367rem + 0.8915304606vw, 2.4rem);
  line-height: var(--leading-sm);
}
:is(.section-business-example-list-item,
.section-business-description-list-item):has(.img) {
  grid-template-areas: "ttl ttl" "img txt";
  grid-template-columns: 300px 1fr;
}
:is(.section-business-example-list-item,
.section-business-description-list-item):has(.img) .ttl {
  grid-area: ttl;
}
:is(.section-business-example-list-item,
.section-business-description-list-item):has(.img) .img {
  grid-area: img;
  position: relative;
}
:is(.section-business-example-list-item,
.section-business-description-list-item):has(.img) .img .caption {
  margin-top: 8px;
  padding: 8px 4px;
  text-align: center;
  font-size: var(--text-2xs);
  line-height: var(--leading-md);
  background-color: #eee;
}
:is(.section-business-example-list-item,
.section-business-description-list-item):has(.img) .txt {
  grid-area: txt;
}
@media (max-width: 767.98px) {
  :is(.section-business-example-list-item,
  .section-business-description-list-item):has(.img) {
    grid-template-areas: "ttl" "img" "txt";
    grid-template-columns: 1fr;
  }
}

.section-business-description-list {
  display: grid;
  gap: 24px;
  margin-bottom: clamp(2.4rem, -0.3352154532rem + 3.5661218425vw, 4.8rem);
}

body.page-business .scroll-area {
  margin-top: clamp(4rem, -1.6983655275rem + 7.4294205052vw, 9rem);
}
body.page-business #clickable-map {
  position: relative;
  width: 767px;
}
@media (min-width: 768px) {
  body.page-business #clickable-map {
    width: auto;
  }
}
body.page-business #clickable-map .clickable-map-list {
  position: absolute;
  inset: 0;
  list-style: none;
}
body.page-business #clickable-map .clickable-map-list-item {
  display: inline-block;
}
body.page-business #clickable-map .clickable-map-list-item a {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  padding: 0.6em 2em;
  padding-right: 0.6em;
  border: 1px solid var(--color-white);
  border-radius: 30px;
  text-decoration: none;
  letter-spacing: var(--tracking-widest);
  color: var(--color-white);
  font-size: clamp(1rem, 0.1029239766rem + 1.1695906433vw, 1.6rem);
  line-height: var(--leading-none);
  background-color: var(--color-primary);
}
body.page-business #clickable-map .clickable-map-list-item .icon-chevron {
  width: 19px;
  height: 19px;
  font-size: 8px;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=roads-transportation]) {
  position: absolute;
  right: 10%;
  bottom: 10%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=bridges]) {
  position: absolute;
  bottom: 27%;
  left: 44%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=tunnels]) {
  position: absolute;
  top: 5%;
  left: 38%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=rivers-sabo-1]) {
  position: absolute;
  top: 45%;
  right: 29%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=rivers-sabo-2]) {
  position: absolute;
  top: 10%;
  left: 11%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=infrastructure-management]) {
  position: absolute;
  top: 24%;
  left: 16%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=urban-regional-planning]) {
  position: absolute;
  top: 45%;
  left: 23%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=disaster-response]) {
  position: absolute;
  top: 13%;
  right: 13%;
}
body.page-business #clickable-map .clickable-map-list-item:is([data-business-page=new-business-initiatives]) {
  position: absolute;
  bottom: 15%;
  left: 15%;
}

/**
	Message
*/
.section-message-list {
  display: grid;
  gap: clamp(4rem, 1.720653789rem + 2.9717682021vw, 6rem);
}

.section-message-list-item {
  display: grid;
  grid-template-areas: "ttl" "img" "txt";
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 768px) {
  .section-message-list-item {
    --img-width: clamp(32rem, 21.7429420505rem + 13.3729569094vw, 41rem);
    grid-template-areas: "img ttl" "img txt";
    grid-template-rows: auto 1fr;
    grid-template-columns: var(--image-width) 1fr;
    gap: clamp(1.6rem, 0.6882615156rem + 1.1887072808vw, 2.4rem) clamp(3.2rem, -0.9028231798rem + 5.3491827637vw, 6.8rem);
  }
  .section-message-list-item:nth-child(even) {
    grid-template-areas: "ttl img" "txt img";
    grid-template-columns: 1fr var(--image-width);
  }
}

.section-message-list-item-img {
  grid-area: img;
  text-align: center;
}

.section-message-list-item-ttl {
  grid-area: ttl;
  letter-spacing: --tracking-wide;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.2rem, 0.3765230312rem + 2.3774145617vw, 3.8rem);
  line-height: 1.4210526316;
}

.section-message-list-item-txt {
  display: grid;
  grid-area: txt;
  gap: clamp(2.4rem, 1.4882615156rem + 1.1887072808vw, 3.2rem);
}

.section-message-from {
  display: flex;
  gap: clamp(2rem, 0.8603268945rem + 1.485884101vw, 3rem);
  justify-content: flex-end;
  align-items: center;
}

.section-philosophy-mission-title {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
  margin-bottom: 15px;
}
.section-philosophy-mission-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-philosophy-mission-text {
  display: grid;
  gap: 2em;
  max-width: 870px;
}

.section-philosophy-vision-title {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
  margin-bottom: 40px;
}
.section-philosophy-vision-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-philosophy-vision-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2.4rem, -1.2469539376rem + 4.7548291233vw, 5.6rem);
}
@media (min-width: 768px) {
  .section-philosophy-vision-content {
    grid-template-columns: 1fr clamp(28rem, 7.9417533432rem + 26.1515601783vw, 45.6rem);
  }
}

.section-philosophy-vision-list {
  display: grid;
  gap: 32px;
  list-style: none;
}

.section-philosophy-vision-list-item-title {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
  color: var(--color-primary-lighter2);
  line-height: var(--leading-none);
}
.section-philosophy-vision-list-item-title .num {
  font-family: var(--font-alphanumeric);
  font-size: 3.6rem;
  font-weight: var(--font-regular);
  text-box: trim-end cap alphabetic;
}
@media (max-width: 767.98px) {
  .section-philosophy-vision-list-item-title .num {
    font-size: var(--text-3xl);
  }
}
.section-philosophy-vision-list-item-title .txt {
  letter-spacing: 0.06em;
  font-size: var(--text-3xl);
}
@media (max-width: 767.98px) {
  .section-philosophy-vision-list-item-title .txt {
    font-size: var(--text-2xl);
  }
}

:is(.section-philosophy-vision-image, .section-philosophy-cycle-image) {
  text-align: center;
}

.section-philosophy-cycle-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2.4rem, 0.3485884101rem + 2.6745913819vw, 4.2rem);
}
@media (min-width: 768px) {
  .section-philosophy-cycle-content {
    grid-template-columns: 1fr clamp(36rem, 23.4635958395rem + 16.3447251114vw, 47rem);
  }
  .section-philosophy-cycle-content .section-philosophy-cycle-image {
    grid-area: 1/2/2/3;
  }
  .section-philosophy-cycle-content .section-philosophy-cycle-text {
    grid-area: 1/1/2/2;
  }
}
@media (max-width: 767.98px) {
  .section-philosophy-cycle-content .section-philosophy-cycle-image {
    order: 99;
  }
}

@media (min-width: 768px) {
  .section-profile-staff .grid-table-body {
    text-align: right;
  }
}

.grid-table-personal-wrapper {
  display: grid;
  gap: 0 clamp(2rem, -0.7352154532rem + 3.5661218425vw, 4.4rem);
}
@media (min-width: 768px) {
  .grid-table-personal-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

.section-profile-staff-title {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
  margin-bottom: 30px;
}
.section-profile-staff-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-profile-staff-sections {
  display: grid;
  gap: clamp(3.2rem, 0.0089153046rem + 4.1604754829vw, 6rem);
}

@media (min-width: 768px) {
  .grid-table-qualified-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 clamp(2rem, -0.7352154532rem + 3.5661218425vw, 4.4rem);
  }
}
.grid-table-qualified-wrapper .grid-table {
  --head-width: 210px;
}
.grid-table-qualified-wrapper .grid-table-body p {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.grid-table-qualified-wrapper .grid-table-body p:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .grid-table-qualified-wrapper .grid-table-body p span:nth-child(1) {
    flex: 1;
  }
}
@media (max-width: 767.98px) {
  .grid-table-qualified-wrapper .grid-table-body p {
    gap: 16px;
    justify-content: flex-start;
  }
}

.section-profile-access-text {
  display: grid;
  gap: 1.5em;
  margin-top: 36px;
}

.section-group-company-wrapper {
  display: grid;
  gap: clamp(6.4rem, 4.5765230312rem + 2.3774145617vw, 8rem);
}

.section-group-company-header {
  display: flex;
  gap: clamp(2rem, 0.6323922734rem + 1.7830609212vw, 3.2rem);
  align-items: center;
  margin-bottom: 24px;
}
@media (max-width: 767.98px) {
  .section-group-company-header {
    flex-direction: column;
    gap: 10px;
  }
}

.section-group-company-logo {
  height: 48px;
}

.section-group-company-name {
  font-size: clamp(2.4rem, 1.4882615156rem + 1.1887072808vw, 3.2rem);
  line-height: var(--leading-md);
}

.section-group-company-text {
  margin-bottom: 24px;
}

.section-awards-sections {
  display: grid;
  gap: clamp(3.2rem, 0.0089153046rem + 4.1604754829vw, 6rem);
}

.section-awards-headline {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
  margin-bottom: 30px;
}
.section-awards-headline::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-awards-years .section-awards-year-row {
  border-top: 1px solid #eee;
}
.section-awards-years .section-awards-year {
  align-items: flex-start;
}
.section-awards-years .section-awards-item {
  display: grid;
  gap: 16px;
}
@media (min-width: 768px) {
  .section-awards-years .section-awards-item {
    grid-template-columns: 1fr 150px;
  }
}
.section-awards-years .section-awards-item:not(:last-child) {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eee;
}
.section-awards-years .section-awards-item-title {
  margin-bottom: 8px;
}
.section-awards-years .section-awards-desc {
  margin-top: 10px;
}
.section-awards-years .section-awards-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 767.98px) {
  .section-awards-years .section-awards-image {
    width: 150px;
  }
}

.section-awards-modal.remodal {
  padding: 30px;
}
.section-awards-modal.remodal .remodal-close {
  right: 0;
  left: initial;
}

.section-iso-child-sections {
  display: grid;
  gap: clamp(3.2rem, 0.0089153046rem + 4.1604754829vw, 6rem);
}

.section-iso-text {
  margin-bottom: 48px;
}

.section-iso-child-section-title {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
}
.section-iso-child-section-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-iso-child-section-subhead {
  margin-block: 24px;
  padding: 12px 16px;
  text-align: center;
  font-size: clamp(2rem, 1.0882615156rem + 1.1887072808vw, 2.8rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-sm);
  background-color: var(--color-gray-2);
}

.section-iso-child-section-list {
  list-style: none;
}
.section-iso-child-section-list li {
  position: relative;
  padding-left: 1em;
}
.section-iso-child-section-list li::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.9em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7591c3;
}

.section-iso-child-section-sign {
  margin-block: 24px;
  text-align: right;
  font-size: var(--text-xs);
  line-height: var(--leading-md);
}

.section-period-subttl {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
  margin-bottom: 30px;
}
.section-period-subttl::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-period-inner {
  display: grid;
  gap: clamp(3.2rem, -0.4469539376rem + 4.7548291233vw, 6.4rem);
}
@media (min-width: 768px) {
  .section-period-inner {
    grid-template-columns: 1fr 320px;
    align-items: flex-start;
  }
}

.section-period-history .grid-table-body {
  padding-left: 36px;
}

.section-period-images {
  display: flex;
  gap: clamp(1rem, -0.1396731055rem + 1.485884101vw, 2rem);
}
@media (min-width: 768px) {
  .section-period-images {
    flex-direction: column;
  }
}

.section-consultant-title {
  margin-bottom: clamp(3.6rem, 0.8647845468rem + 3.5661218425vw, 6rem);
  display: flex;
  gap: 16px;
  position: relative;
  padding-bottom: 30px;
  letter-spacing: 0.08em;
  color: var(--color-primary-lighter2);
  font-size: clamp(3.2rem, 2.0603268945rem + 1.485884101vw, 4.2rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
}
.section-consultant-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.5em);
  width: 20px;
  height: 20px;
  background-color: currentColor;
}
.section-consultant-title::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 1px;
  background-color: #e3e3e3;
  margin-inline: calc(50% - 50cqw);
}
@media (max-width: 767.98px) {
  .section-consultant-title::after:is(.disable-mobile) {
    margin-inline: 0;
  }
}

.section-consultant-point {
  display: grid;
  gap: clamp(3.6rem, 2.0044576523rem + 2.0802377415vw, 5rem);
  margin-top: clamp(3.6rem, 2.0044576523rem + 2.0802377415vw, 5rem);
}

.section-consultant-point-item {
  display: grid;
  gap: 20px clamp(3.2rem, 0.5787518574rem + 3.4175334324vw, 5.5rem);
}
@media (min-width: 768px) {
  .section-consultant-point-item {
    grid-template-areas: "ttl img" "txt img";
    grid-template-rows: auto 1fr;
    grid-template-columns: 1fr 364px;
  }
  .section-consultant-point-item .section-consultant-point-item-title {
    grid-area: ttl;
  }
  .section-consultant-point-item .section-consultant-point-item-text {
    grid-area: txt;
  }
  .section-consultant-point-item .section-consultant-point-item-image {
    grid-area: img;
  }
}

.section-consultant-point-item-title {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
}
.section-consultant-point-item-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}
.section-consultant-point-item-title span > span {
  font-size: clamp(1.8rem, 1.1161961367rem + 0.8915304606vw, 2.4rem);
}

.section-infrastructure-subtitle {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
  margin-block: clamp(3.6rem, 2.0044576523rem + 2.0802377415vw, 5rem) 20px;
}
.section-infrastructure-subtitle::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-infrastructure-list {
  display: grid;
  gap: 16px;
  margin-bottom: clamp(3.6rem, 2.0044576523rem + 2.0802377415vw, 5rem);
  list-style: none;
}
@media (min-width: 768px) {
  .section-infrastructure-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .section-infrastructure-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.section-infrastructure-list-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  align-items: center;
  padding: 8px;
  height: 89px;
  color: var(--color-primary-lighter2);
  line-height: var(--leading-none);
  background-color: #d8dae5;
}
.section-infrastructure-list-item > span {
  text-align: center;
}
.section-infrastructure-list-item > span:nth-child(1) {
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
}
.section-infrastructure-list-item > span:nth-child(2) {
  font-size: var(--text-sm);
}

.section-consultant-flow-inner {
  display: grid;
  gap: 36px clamp(4rem, -0.558692422rem + 5.9435364042vw, 8rem);
  align-items: flex-start;
  margin-top: clamp(3.6rem, 2.0044576523rem + 2.0802377415vw, 5rem);
}
@media (min-width: 768px) {
  .section-consultant-flow-inner {
    grid-template-columns: max-content 1fr;
  }
}

.section-consultant-flow-list {
  display: grid;
}

.section-consultant-flow-list-item:not(:last-child)::after {
  display: block;
  content: "";
  clip-path: polygon(50% 9px, 0% 0%, 18px 0%);
  width: 18px;
  height: 9px;
  margin-block: 24px 20px;
  background-color: #999da3;
}

.section-consultant-flow-list-item-title {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
  color: var(--color-primary-lighter2);
  line-height: var(--leading-md);
}
.section-consultant-flow-list-item-title .num {
  flex: none;
  text-box: trim-both cap alphabetic;
  font-family: var(--font-alphanumeric);
  font-size: clamp(2.4rem, 1.0323922734rem + 1.7830609212vw, 3.6rem);
}
.section-consultant-flow-list-item-title .txt {
  letter-spacing: 0.06em;
  font-size: clamp(2rem, 1.0882615156rem + 1.1887072808vw, 2.8rem);
}

.section-consultant-flex-box {
  display: flex;
  flex-direction: row-reverse;
  gap: 20px 44px;
}
@media (max-width: 767.98px) {
  .section-consultant-flex-box {
    flex-direction: column;
  }
}

.section-consultant-flex-box-primary {
  width: clamp(32rem, 14.9049034175rem + 22.2882615156vw, 47rem);
}
@media (max-width: 767.98px) {
  .section-consultant-flex-box-primary {
    width: 100%;
  }
}

.section-consultant-flex-box-secondary {
  flex: 1;
}

.section-consultant-other-content {
  display: grid;
  gap: 10px;
}

.section-consultant-other-list {
  list-style: none;
}
.section-consultant-other-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.section-consultant-other-list li::before {
  display: block;
  content: "";
  margin-top: 0.9em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-primary-lighter2);
}

.section-sdgs-child {
  container-name: initial;
  container-type: initial;
}
.section-sdgs-child:not(:first-child) {
  margin-top: clamp(4rem, 1.2647845468rem + 3.5661218425vw, 6.4rem);
}
.section-sdgs-child:nth-child(1) .section-sdgs-subtitle {
  margin-block: clamp(3rem, 0.9485884101rem + 2.6745913819vw, 4.8rem) clamp(2.4rem, 1.0323922734rem + 1.7830609212vw, 3.6rem);
}
.section-sdgs-child:nth-child(1) .section-sdgs-image {
  margin-top: clamp(2.4rem, 1.0323922734rem + 1.7830609212vw, 3.6rem);
}
.section-sdgs-child .section-sdgs-works {
  display: grid;
  gap: 20px;
  margin-top: clamp(3rem, 0.9485884101rem + 2.6745913819vw, 4.8rem);
}
.section-sdgs-child .section-sdgs-works ul {
  display: grid;
  gap: clamp(2rem, 0.6323922734rem + 1.7830609212vw, 3.2rem);
  list-style: none;
}
.section-sdgs-child .section-sdgs-works ul ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(2rem, 0.6323922734rem + 1.7830609212vw, 3.2rem);
}
@media (max-width: 767.98px) {
  .section-sdgs-child .section-sdgs-works ul ul {
    grid-template-columns: 1fr;
  }
}
.section-sdgs-child .section-sdgs-works .section-sdgs-sm-title {
  line-height: var(--leading-md);
}
.section-sdgs-child .section-sdgs-works .section-sdgs-works-caption {
  margin-top: 4px;
  text-align: center;
}
.section-sdgs-child .section-sdgs-works img {
  width: 100%;
}
.section-sdgs-child .p-sdgs-certifications {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 16px;
}
@media (max-width: 559.98px) {
  .section-sdgs-child .p-sdgs-certifications {
    grid-template-columns: 1fr;
  }
}
.section-sdgs-child .p-sdgs-certifications a {
  color: currentColor;
}
.section-sdgs-child .p-sdgs-certifications-item {
  text-align: center;
}
.section-sdgs-child .p-sdgs-certifications-label {
  margin-top: 4px;
  font-weight: var(--font-bold);
}

.section-sdgs-title {
  margin-bottom: clamp(3rem, 0.9485884101rem + 2.6745913819vw, 4.8rem);
  display: flex;
  gap: 16px;
  position: relative;
  padding-bottom: 30px;
  letter-spacing: 0.08em;
  color: var(--color-primary-lighter2);
  font-size: clamp(3.2rem, 2.0603268945rem + 1.485884101vw, 4.2rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
}
.section-sdgs-title::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.5em);
  width: 20px;
  height: 20px;
  background-color: currentColor;
}
.section-sdgs-title::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 1px;
  background-color: #e3e3e3;
  margin-inline: calc(50% - 50cqw);
}
@media (max-width: 767.98px) {
  .section-sdgs-title::after:is(.disable-mobile) {
    margin-inline: 0;
  }
}

.section-sdgs-subtitle {
  display: flex;
  gap: 16px;
  position: relative;
  letter-spacing: 0.03em;
  color: var(--color-primary-lighter2);
  font-size: clamp(2.8rem, 1.8882615156rem + 1.1887072808vw, 3.6rem);
  font-weight: var(--font-medium);
  line-height: var(--leading-xs);
}
.section-sdgs-subtitle::before {
  display: block;
  content: "";
  flex: none;
  transform: translateY(0.75em);
  width: 14px;
  height: 1px;
  background-color: currentColor;
}

.section-sdgs-sm-title {
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e3e3e3;
  font-size: clamp(1.8rem, 1.5720653789rem + 0.2971768202vw, 2rem);
  font-weight: var(--font-bold);
}

.section-consultant-role-chapters {
  display: grid;
  gap: 48px;
}

@media (min-width: 768px) {
  .section-consultant-flex-box:nth-child(even) .section-consultant-flex-box-primary {
    order: 1;
  }
}
