/*******************************************************************************
  メインコンテンツ
*******************************************************************************/

.seinou-page {
  padding-top: 80px;
  padding-bottom: 120px;
  overflow-x: hidden;
}

@media (max-width: 1128px) {
  .seinou-page {
    padding-top: 60px;
  }
}

@media (max-width: 648px) {
  .seinou-page {
    padding-bottom: 60px;
  }
}

.seinou-page img {
  height: auto;
  max-width: 100%;
  display: block;
  vertical-align: bottom;
}

.seinou-page p {
  font-size: 1.6rem;
  line-height: 1.8;
}

@media (max-width: 648px) {
  .seinou-page p {
    font-size: 1.4rem;
  }
}

.seinou-page h2,
.seinou-page h3,
.seinou-page h4,
.seinou-page p,
.seinou-page small {
  text-box: trim-both cap alphabetic;
  text-align: justify;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.seinou-page p.btn {
  text-box: initial;
}

/*******************************************************************************
  ページヘッダー
*******************************************************************************/

.seinou-page-header {
  display: grid;
  justify-items: center;
  padding: 100px 0
}

@media (max-width: 648px) {
  .seinou-page-header {
    padding: 40px 0 60px;
  }
}

.seinou-page-header__txt {
  margin-top: 20px;
}

@media (max-width: 648px) {
  .seinou-page-header__txt {
    margin-top: 40px;
  }
}

.seinou-page-header__img {
  margin-top: 40px;
}

@media (max-width: 648px) {
  .seinou-page-header__img {
    grid-row: 2/3;
  }
}

.seinou-page-header__title {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

@media (max-width: 648px) {
  .seinou-page-header__title {
    row-gap: 12px;
  }
}

.seinou-page-header__title::before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  background: center/contain no-repeat;
  margin: 0 auto;
}

@media (max-width: 648px) {
  .seinou-page-header__title::before {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 648px) {
  .seinou-page-header__title img {
    height: 20px;
  }
}

/***************************************
  行き届いた快適性
***************************************/

.seinou-page-header__title.--comfort::before {
  background-image: url(/ie/assets/images/top/feature_list_1.svg);
}

.seinou-page-header__title.--comfort img {
  width: min(100%, 267px);
}

.seinou-page-header__img.--comfort {
  width: min(100%, 744px);
}

/***************************************
  大地震でも倒れない耐震性
***************************************/

.seinou-page-header__title.--taishin::before {
  background-image: url(/ie/assets/images/top/feature_list_2.svg);
}

.seinou-page-header__title.--taishin img {
  width: min(100%, 398px);
}

.seinou-page-header__img.--taishin {
  width: min(100%, 744px);
}

/***************************************
  暮らしに対応する可変性
***************************************/

.seinou-page-header__title.--variable::before {
  background-image: url(/ie/assets/images/top/feature_list_3.svg);
}

.seinou-page-header__title.--variable img {
  width: min(100%, 353px);
}

.seinou-page-header__img.--variable {
  width: min(100%, 744px);
}

/***************************************
  自然の力を活かす省エネ性
***************************************/

.seinou-page-header__title.--saving::before {
  background-image: url(/ie/assets/images/top/feature_list_4.svg);
}

.seinou-page-header__title.--saving img {
  width: min(100%, 385px);
}

.seinou-page-header__img.--saving {
  width: min(100%, 744px);
}

/***************************************
  安住できるメンテナンス性
***************************************/

.seinou-page-header__title.--maintenance::before {
  background-image: url(/ie/assets/images/top/feature_list_5.svg);
}

.seinou-page-header__title.--maintenance img {
  width: min(100%, 386px);
}

.seinou-page-header__img.--maintenance {
  width: min(100%, 744px);
}

/*******************************************************************************
  メインコンテンツ（ラッパー）
*******************************************************************************/

.seinou-page-sec-wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 240px;
}

@media (max-width: 648px) {
  .seinou-page-sec-wrapper {
    row-gap: 100px;
  }
}

/*******************************************************************************
  メインコンテンツ（タイトル）
*******************************************************************************/

.seinou-page-sec-header {
  display: flex;
  justify-content: center;
  padding: 48px 0;
  background: var(--c-bg);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

@media (max-width: 648px) {
  .seinou-page-sec-header {
    padding: 30px 0;
  }
}

.seinou-page-sec-header__title img {
  height: 28px;
  width: 100%;
}

@media (max-width: 648px) {
  .seinou-page-sec-header__title img {
    height: 20px;
  }
}

/*******************************************************************************
  メインコンテンツ（コンテンツ）
*******************************************************************************/

.seinou-page-sec-body {
  padding-top: 160px;
}

@media (max-width: 648px) {
  .seinou-page-sec-body {
    padding-top: 80px;
  }
}

.seinou-page-sec-body>*+* {
  margin-top: 60px;
}

@media (max-width: 648px) {
  .seinou-page-sec-body>*+* {
    margin-top: 40px;
  }
}

.seinou-page-sec-body h3 {
  font-size: 2.4rem;
  font-weight: bold;
}

@media (max-width: 648px) {
  .seinou-page-sec-body h3 {
    font-size: 2rem;
  }
}

.seinou-page-sec-body *+h3 {
  margin-top: 120px;
}

@media (max-width: 648px) {
  .seinou-page-sec-body *+h3 {
    margin-top: 60px;
  }
}

.seinou-page-sec-body small {
  display: block;
  font-size: 1.2rem;
  color: var(--c-font60);
}

.seinou-page-sec-body *+small {
  margin-top: 24px;
}

@media (max-width: 648px) {
  .seinou-page-sec-body *+small {
    margin-top: 20px;
  }
}

.seinou-page-sec-body *+figure {
  margin-top: 60px;
}

@media (max-width: 648px) {
  .seinou-page-sec-body *+figure {
    margin-top: 40px;
  }
}

.seinou-page-sec-body figure+figure {
  margin-top: 20px;
}

@media (max-width: 648px) {
  .seinou-page-sec-body figure+figure {
    margin-top: 12px;
  }
}

.seinou-page-sec-body figcaption {
  font-size: 1.2rem;
  margin-top: 12px;
}

.seinou-page-sec-body video {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

.seinou-page-sec-body video+figure {
  margin-top: 20px;
}

@media (max-width: 648px) {
  .seinou-page-sec-body video+figure {
    margin-top: 12px;
  }
}

/*******************************************************************************
  用語辞典
*******************************************************************************/

.seinou-page-dict {
  display: flex;
}

@media (max-width: 648px) {
  .seinou-page-dict {
    flex-direction: column;
    row-gap: 16px;
  }
}

.seinou-page-dict__title {
  font-size: 1.4rem;
  flex-shrink: 0;
  margin-right: 12px;
}

.seinou-page-dict__title a {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--c-crimson);
}

.seinou-page-dict__title a::before,
.seinou-page-dict__title a::after {
  content: "";
  display: block;
  filter: var(--c-crimson-filter);
}

.seinou-page-dict__title a::before {
  width: 17.2px;
  height: 20px;
  background: url(/ie/assets/images/seinou/icon_dict.svg) center/contain no-repeat;
  margin-right: 6px;
}

.seinou-page-dict__title a::after {
  width: 9px;
  height: 9px;
  border-top: 1px solid var(--c-font);
  border-right: 1px solid var(--c-font);
  transform: rotate(45deg);
  margin-left: 6px;
}

.seinou-page-dict__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 18px;
  font-size: 1.4rem;
}

@media (max-width: 648px) {
  .seinou-page-dict__list {
    column-gap: 12px;
    font-size: 1.2rem;
  }
}

.seinou-page-dict__list a {
  text-decoration: underline;
  color: var(--c-crimson);
}