/*-------------------------------
---Common
-------------------------------*/

section:not(:last-child) {
  margin-bottom: 6rem;
}

section:last-child {
  margin-bottom: 9rem;
}


/*-------------------------------
---.intro
-------------------------------*/

.intro .caption {
  text-align: unset;
  margin-bottom: 3rem;
}

.intro .image {
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0.5rem;
}

.intro dt {
  text-align: justify;
}

.about-sdgs {
  display: block;
}

.policy h3+p {
  font-size: 2rem;
  text-align: justify;
}

.policy h3+p br {
  display: none;
}

/*-------------------------------
---.common_layout
-------------------------------*/

.common_layout .section_head {
  margin-bottom: 3rem;
}

.common_layout .section_head h3 .subject {
  font-size: 3rem;
  line-height: 1em;
  margin-bottom: 0.25rem;
}

.common_layout .section_head h3 .subtitle {
  font-size: 1.5rem;
}

.common_layout .contents dt {
  font-size: 1.8rem;
}


.common_layout .contents dl {
  display: contents;
}

.common_layout .contents .image {
  order: 2;
}

.common_layout .contents .concrete {
  order: 3;
}

.common_layout .contents .image.goals {
  order: 4;
}

/* gap */
section:not(:last-child) {
  margin-bottom: 8rem;
}

.common_layout .contents {
  grid-template-columns: 1fr;
  grid-gap: 0;
}

.txt_body {
  margin-bottom: 1.5rem;
}

.common_layout .section_head {
  margin-bottom: 1.5rem;
}

.common_layout .contents dt {
  margin-bottom: 1.5rem;
}

.common_layout .contents .image.goals {
  margin-top: 0;
}

.common_layout .contents .image.goals img {
  width: calc(25% - 0.25rem);
}