/* container
----------------------------------------*/
.container {
  background-image: url(../../common/images/bg_main02.jpg);
  background-repeat: repeat-x;
  background-position: top center;
}

/* hero
----------------------------------------*/
.hero {
  position: relative;
}

@media screen and (max-width: 999px) {
  .hero {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.hero__inner {
  padding: 1.625em 0 60px;
}

@media screen and (max-width: 999px) {
  .hero__inner {
    padding: 25px 0;
  }
}

.hero__ttl {
  font-family: "Noto Sans Japanese", sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: .06em;
}

@media screen and (max-width: 999px) {
  .hero__ttl {
    font-size: 1.5rem;
  }
}

.hero__lede {
  margin-top: 20px;
  font-size: .875em;
}

@media screen and (max-width: 999px) {
  .hero__lede {
    margin-top: 10px;
  }
}

/* requirements
----------------------------------------*/
.requirements__inner {
  padding-bottom: 40px;
}

@media screen and (max-width: 999px) {
  .requirements__inner {
    padding-bottom: 0;
  }
}

/* definition
----------------------------------------*/
.definition {
  margin-bottom: 45px;
  border-top: 4px solid #03b5d5;
}

@media screen and (max-width: 999px) {
  .definition {
    margin-bottom: 30px;
  }
}

.definition__ttl {
  padding: .875em 20px;
  border-bottom: 1px solid #e2e3e9;
  font-family: "Noto Sans Japanese", sans-serif;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: .06em;
}

@media screen and (max-width: 999px) {
  .definition__ttl {
    padding: .75em 20px;
    font-size: 1.125rem;
  }
}

.definition__ttl dfn {
  font-style: normal;
}

.definition__cont {
  padding: 1.5em 20px;
  font-size: .875rem;
}

.definition__cont em {
  color: #a00;
}

/* data
----------------------------------------*/
.data {
  display: flex;
}

.data span:nth-child(2) {
  flex: 1;
}
