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

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

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

/*-------------------------------
---.title
-------------------------------*/
.page_head .page_title {
  color: rgb(150, 190, 205);
  text-shadow: none;
}

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

.intro {
  margin-bottom: 5rem;
}

.intro dt span {
  display: inline-block;
}

.intro dt .subtitle {
  display: block;
  font-size: 1.8rem;
}

.intro p+p {
  margin-top: 1em;
}

.intro .caption {
  font-size: 1rem;
  font-weight: lighter;
  text-align: right;
  margin-top: 1.5rem;
  margin-bottom: 4.5rem;
}

.intro .image {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 1.5rem;
}

.about-sdgs {
  border: 1px solid silver;
  padding: 2rem 3rem;
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 2rem;
}

.about-sdgs h2 {
  font-size: 1.75rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.policy {
  text-align: center;
  margin-bottom: 8rem;
}

.policy .section_title {
  margin-bottom: 3rem;
}

.policy article:not(:first-of-type) {
  margin-top: 5rem;
}

.policy h3+p {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 3rem;
}

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

.common_layout .section_head {
  position: relative;
  color: #fff;
  margin-bottom: 6rem;
}

.common_layout .section_head h3 {
  position: absolute;
  top: 1vw;
  left: 2vw;
  text-shadow: 0px 0px 6px #00000090;
}

.common_layout .section_head h3 .subject {
  display: block;
  font-size: 4rem;
  letter-spacing: 0.075em;
}

.common_layout .section_head h3 .subtitle {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}

.common_layout .contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 7rem;
}

.common_layout .contents dt {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 3rem;
}

.common_layout a {
  color: revert;
  text-decoration: revert;
}

@media screen and (max-width: 1279px) {
  .common_layout .contents dt {
    text-align: justify;
  }

  .common_layout .contents dt br {
    display: none;
  }
}

/* concrete, goals */
.concrete,
.goals {
  margin-top: 1.5rem;
}

.concrete::before,
.goals::before {
  font-weight: 500;
  display: block;
  margin-bottom: 0.25rem;
}

.concrete::before {
  content: "＜具体的な取り組み＞";
}

.goals::before {
  content: "＜関連ゴール＞";
}

.concrete ul li {
  display: inline;
}

.concrete ul li:not(:last-child)::after {
  content: "／";
}

.common_layout .contents .image.goals img {
  width: calc(20% - 0.25rem);
  padding: 0.25rem;
  display: inline-block;
}