/*-------------------------------
---.introduction
-------------------------------*/

.introduction {
  max-width: 72rem;
  margin: 5rem auto;
}

.introduction .page_title {
  margin-bottom: 3rem;
}

.introduction .lead {
  font-size: 1.6rem;
  line-height: 2;
}


/*-------------------------------
---.terms
-------------------------------*/

.terms {
  display: grid;
  grid-template-columns: repeat(36, 1fr);
  grid-auto-rows: max-content;
  max-width: 92rem;
  margin-bottom: 5rem;
  margin-left: auto;
  margin-right: auto;
}

.terms .terms_list {
  display: contents;
}

.terms .terms_list .item {
  display: grid;
  align-items: center;
  grid-gap: 1rem 0.5rem;
  background-size: min(8.5rem, 8.5vw);
  background-repeat: no-repeat;
}

.terms .terms_list .item.term01,
.terms .terms_list .item.term02,
.terms .terms_list .item.term03 {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(auto, 12.8rem) max-content;
  grid-row: 1/2;
  background-position: top 4.5rem left 6.5%;
  padding-left: 6.5%;
  padding-right: 6.5%;
  padding-bottom: 17.5%;
}

.terms .terms_title,
.terms .terms_list .item.term04,
.terms .terms_list .item.term05 {
  grid-row: 2/3;
}

.terms .terms_list .item.term04,
.terms .terms_list .item.term05 {
  grid-template-columns: 2.1fr 2.125fr;
  background-position: top left 45%;
}

.terms .terms_list .item.term06,
.terms .terms_list .item.term07 {
  grid-template-columns: 1.87fr 1.67fr;
  grid-row: 3/4;
  background-position: top left 50%;
  padding-top: 12%;
}

.terms .terms_title {
  grid-column: 15/23;
}

.terms .terms_list .item.term01 {
  grid-column: 4/14;
  background-image: url(../image/hiragino-technology/excellent-housing/number_term01.svg);
}

.terms .terms_list .item.term02 {
  grid-column: 14/24;
  background-image: url(../image/hiragino-technology/excellent-housing/number_term02.svg);
}

.terms .terms_list .item.term03 {
  grid-column: 24/34;
  background-image: url(../image/hiragino-technology/excellent-housing/number_term03.svg);
}

.terms .terms_list .item.term04 {
  grid-column: 1/15;
  background-image: url(../image/hiragino-technology/excellent-housing/number_term04.svg);
  padding-right: 5%;
}

.terms .terms_list .item.term05 {
  grid-column: 23/37;
  background-image: url(../image/hiragino-technology/excellent-housing/number_term05.svg);
  padding-right: 5%;
  margin-left: -3.5%;
}

.terms .terms_list .item.term06 {
  grid-column: 3/18;
  background-image: url(../image/hiragino-technology/excellent-housing/number_term06.svg);
}

.terms .terms_list .item.term07 {
  grid-column: 18/33;
  background-image: url(../image/hiragino-technology/excellent-housing/number_term07.svg);
}

.terms .terms_list .item .illustration,
.terms .terms_list .item .illustration img {
  height: 100%;
}

.terms .term_title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  border-bottom: 2px solid #000;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.terms .term_txt {
  font-size: 1.3rem;
  font-weight: 500;
}


/*-------------------------------
---.merits
-------------------------------*/

.merits {
  max-width: 92rem;
  background-color: #8CD2F5;
  border-radius: 2rem;
  padding: 6.25% 2rem 0;
  margin-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
}

.merits .merits_contents {
  max-width: 77rem;
  margin-left: auto;
  margin-right: auto;
}

.merits .merits_contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: max-content;
}

.merits .merits_list {
  display: contents;
}

.merits .merits_list .item {
  background-size: 13.5%;
  background-repeat: no-repeat;
  padding-top: 17%;
  padding-bottom: 9.5%;
}

.merits .merits_list .item:nth-child(odd) {
  background-position: top 14.5% left 8.5%;
  padding-left: calc(8.5% + 7%);
}
.merits .merits_title,
.merits .merits_list .item:nth-child(even) {
  padding-right: 8.5%;
}

.merits .merits_title {
  margin-top: 3rem;
}

.merits .merits_list .item:nth-child(n+2) {
  border-top: 5px dotted #fff;
}

.merits .merits_list .item:nth-child(2n+2) {
  background-position: top 14.5% left;
  border-right: 5px dotted #fff;
  padding-left: 7%;
}

.merits .merits_list .item.merit01 {
  background-image: url(../image/hiragino-technology/excellent-housing/number_merit01.svg);
}

.merits .merits_list .item.merit02 {
  background-image: url(../image/hiragino-technology/excellent-housing/number_merit02.svg);
}

.merits .merits_list .item.merit03 {

  background-image: url(../image/hiragino-technology/excellent-housing/number_merit03.svg);
}

.merits .merits_list .item.merit04 {
  background-image: url(../image/hiragino-technology/excellent-housing/number_merit04.svg);
}

.merits .merits_list .item.merit05 {
  background-image: url(../image/hiragino-technology/excellent-housing/number_merit05.svg);
}

.merits .merits_list .item.merit06 {
  background-image: url(../image/hiragino-technology/excellent-housing/number_merit06.svg);
}

.merits .merits_list .item.merit07 {
  background-image: url(../image/hiragino-technology/excellent-housing/number_merit07.svg);
}

.merits .merit_title {
  position: relative;
  z-index: var(--z-index-low);
  display: inline-block;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

.merits .merit_title::after {
  content: '';
  position: absolute;
  bottom: calc(50% - 0.6em);
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  z-index: -1;
  display: block;
  width: max(5em, 50%);
  height: 0.7rem;
  background-color: #fff;
}

.merits .merit_title.emphasis {
  font-size: 2.8rem;
}

.merits .merit_title.emphasis::after {
  height: 1rem;
  background-color: #FDD000;
}

.merits .reference {
  max-width: 77rem;
  font-size: 1.1rem;
  font-weight: 500;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
}

.merits .decoration {
  position: relative;
  width: min(28rem, 40%);
  overflow: hidden;
  margin-top: -15%;
  margin-left: auto;
}

.merits .decoration::before {
  content: '';
  display: block;
  padding-top: 65%;
}

.merits .decoration .character {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  grid-template-columns: 1.73fr 1.26fr;
  grid-auto-rows: max-content;
  align-items: center;
  width: 100%;
}