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

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

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


/*-------------------------------
---.page_head
-------------------------------*/

.page_head h1::after {
  content: '\02015\020挑戦は続く';
  margin-left: .5em;
}


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

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

.intro dt span .logo_iiie-jp {
  width: 10rem;
  margin-bottom: 1rem;
}

.intro dt .subtitle {
  display: block;
  font-size: var(--font-size-xxl);
}

.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;
}


/*-------------------------------
---.belief-to-create
-------------------------------*/

.belief-to-create {
  position: relative;
}

.belief-to-create h3 {
  position: absolute;
  top: 0;
  left: 0;
}

.belief-to-create h3 .subject {
  display: block;
  font-size: var(--font-size-xxl);
  font-weight: 500;
  margin-top: 1rem;
  
}

.belief-to-create h3 .subtitle {
  font-size: var(--font-size-exl);
  color: var(--main-color);
  line-height: 1.125;
  letter-spacing: 0.05em;
}

.belief-to-create .image {
  text-align: center;
  margin-bottom: 9rem;
}

.belief-to-create .image img {
  width: 66.7%;
}

.belief-to-create dt {
  font-size: var(--font-size-xxxl);
  font-weight: 500;
  text-align: center;
  margin-bottom: 3rem;
}

.belief-to-create dt span {
  display: inline-block;
}


/*-------------------------------
---.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: var(--font-size-exl);
  letter-spacing: 0.075em;
  
}

.common_layout .section_head h3 .subtitle {
  font-size: var(--font-size-xxl);
  letter-spacing: 0.05em;
}

.common_layout .section_head .catch_copy {
  position: absolute;
  bottom: 1.5vw;
  right: 1.5vw;
  text-align: right;
}

.common_layout .section_head .catch_copy span {
  display: block;
  width: fit-content;
  width: -moz-fit-content;
  font-size: var(--font-size-xxl);
  background-color: var(--main-color);
  padding: 0.5rem 2.5rem;
  margin-left: auto;
}

.common_layout .section_head .catch_copy span + span {
  margin-top: 1.5rem;
}

.common_layout .contents {
  display: grid;
  grid-template-columns: 4.16fr 4.72fr;
  grid-gap: 9rem;
}

.common_layout .contents dt {
  font-size: var(--font-size-xxl);
  font-weight: 500;
  margin-bottom: 3rem;
}


/*-------------------------------
---.location
-------------------------------*/

.location .contents {
  grid-template-columns: 4.72fr 4.16fr;
}
