@charset "UTF-8";
/*************************
***       font         ***
**************************/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&family=Overpass:wght@400;800&display=swap");
.gothic {
  font-family: "Noto Sans JP", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.mincho {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.overpass {
  font-family: "Overpass", sans-serif;
}

/********************************
*******      font-size    *******
*********************************/
/*************************
***       color        ***
**************************/
/********************************
******* page-concept *******
*********************************/
/********************************
******* page-concept-header *******
*********************************/
#page-concept-header {
  padding: 0;
  overflow: hidden;
}

#page-concept-header .pc-only {
  width: 100%;
  height: 500px;
  margin-top: -50px;
  position: relative;
  background-color: #28b487;
}

#page-concept-header .bg-1 {
  width: 100%;
  position: absolute;
  bottom: 0;
  z-index: 1;
}

#page-concept-header .bg-2 {
  width: 100%;
  max-width: 530px;
  position: absolute;
  top: 52%;
  left: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}

#page-concept-header .bg-3 {
  width: 100%;
  bottom: 0;
  position: absolute;
  z-index: 3;
}

#page-concept-header .bg-4 {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 2%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 4;
}

#page-concept-header .bg-4 .wrapper-inner {
  position: relative;
}

#page-concept-header .bg-4 .wrapper-inner img {
  width: 30%;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #page-concept-header .pc-only {
    height: 45vw;
  }
  #page-concept-header .pc-only .bg-2 {
    max-width: 42vw;
  }
}

/********************************
******* page-concept-inventory *******
*********************************/
#page-concept-inventory {
  background-color: #f0f0e6;
}

#page-concept-inventory .summary {
  text-align: center;
  padding: 0 0 2rem;
}

#page-concept-inventory .summary p {
  line-height: 2;
  font-size: 0.85rem;
  font-weight: bold;
}

#page-concept-inventory .rows .row {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 2rem 2rem 2rem 0;
  margin: 0 0 2rem 0;
}

#page-concept-inventory .rows .row::before {
  content: "";
  width: 75%;
  height: 75%;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  right: 0;
  border-radius: 18px;
}

#page-concept-inventory .rows .row .upper,
#page-concept-inventory .rows .row .lower {
  position: relative;
  width: 50%;
  border-radius: 18px;
  z-index: 2;
}

#page-concept-inventory .rows .row .upper {
  padding: 0;
}

#page-concept-inventory .rows .row .lower {
  padding: 1rem 1rem 0 2rem;
}

#page-concept-inventory .rows .row .lower .title {
  font-size: 1.6rem;
  color: #b6b6b6;
  padding-bottom: 2rem;
}

#page-concept-inventory .rows .row .lower .sub-title {
  font-size: 1.1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

#page-concept-inventory .rows .row .lower .letters p {
  font-size: 0.85rem;
  font-weight: bold;
  line-height: 2;
}

#page-concept-inventory .rows .row .lower .btn-red {
  margin-bottom: 0;
  font-size: 0.85rem;
  left: auto;
  -webkit-transform: none;
          transform: none;
}

#page-concept-inventory .rows .row .lower .text-right {
  text-align: right;
}

#page-concept-inventory .rows .reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 2rem 0 2rem 2rem;
}

#page-concept-inventory .rows .reverse::before {
  content: "";
  width: 75%;
  height: 75%;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 18px;
}

#page-concept-inventory .rows .reverse .lower {
  padding: 1rem 2rem 0 1rem;
}

@media only screen and (max-width: 767px) {
  #page-concept-inventory .summary {
    text-align: left;
  }
  #page-concept-inventory .rows .wrapper {
    padding: 0;
  }
  #page-concept-inventory .rows .row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 0 2rem 0;
  }
  #page-concept-inventory .rows .row::before {
    width: calc(100% - 2rem);
    height: 85%;
    border-radius: 18px 0 0 18px;
  }
  #page-concept-inventory .rows .row .upper,
  #page-concept-inventory .rows .row .lower {
    width: 100%;
  }
  #page-concept-inventory .rows .row .upper {
    margin: 0 0 0 -4rem;
  }
  #page-concept-inventory .rows .row .lower {
    padding: 1rem 2rem 0 4rem;
  }
  #page-concept-inventory .rows .row .lower .title,
  #page-concept-inventory .rows .row .lower .sub-title {
    text-align: right;
  }
  #page-concept-inventory .rows .row .lower .title {
    font-size: 2rem;
    padding-bottom: 0;
    line-height: 1.2;
  }
  #page-concept-inventory .rows .row .lower .sub-title {
    font-size: 1.2em;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  #page-concept-inventory .rows .reverse::before {
    border-radius: 0 18px 18px 0;
  }
  #page-concept-inventory .rows .reverse .upper {
    margin: 0 -4rem 0 0;
  }
  #page-concept-inventory .rows .reverse .lower {
    padding: 1rem 4rem 0 2rem;
  }
  #page-concept-inventory .rows .reverse .lower .title,
  #page-concept-inventory .rows .reverse .lower .sub-title {
    text-align: left;
  }
}

/********************************
******* page-concept-sustainability *******
*********************************/
#wave-sustainability-upper {
  background-color: #f0f0e6;
}

#page-concept-sustainability {
  background-color: #ffca3c;
  padding-bottom: 4rem;
}

#page-concept-sustainability .title {
  text-align: center;
}

#page-concept-sustainability .title h1 {
  font-family: "Overpass", sans-serif;
  font-size: 4rem;
  color: #ffffff;
  word-break: break-word;
  line-height: 1;
}

#page-concept-sustainability .title h3 {
  font-size: 1.6rem;
  padding: 1rem 0;
}

#page-concept-sustainability .lists {
  padding: 4rem 0;
}

#page-concept-sustainability .lists ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}

#page-concept-sustainability .lists ul li {
  position: relative;
  width: calc(100% / 3 - 1.4rem);
  background-color: #ffffff;
  border-radius: 10px;
  max-width: 320px;
}

#page-concept-sustainability .lists ul li .icon {
  position: absolute;
  top: -40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80px;
}

#page-concept-sustainability .lists ul li .list-inner {
  padding: 2rem;
}

#page-concept-sustainability .lists ul li .title h3 {
  color: #b6b6b6;
  font-size: 2.2rem;
  line-height: 1;
}

#page-concept-sustainability .lists ul li .sub-title {
  text-align: center;
  padding-bottom: 1rem;
}

#page-concept-sustainability .lists ul li .sub-title h4 {
  font-size: 1.1rem;
}

#page-concept-sustainability .lists ul li .description {
  padding-bottom: 1rem;
  min-height: 11rem;
}

#page-concept-sustainability .lists ul li .description p {
  font-size: 0.8rem;
  line-height: 2;
  font-weight: bold;
}

#page-concept-sustainability .lists ul li .thum img {
  margin: 0 auto;
}

@media only screen and (max-width: 1023px) {
  #page-concept-sustainability .lists ul {
    gap: 4rem;
  }
  #page-concept-sustainability .lists ul li {
    width: calc(50% - 2rem);
  }
}

@media only screen and (max-width: 767px) {
  #page-concept-sustainability .title {
    text-align: center;
  }
  #page-concept-sustainability .title h1 {
    font-size: 2.8rem;
  }
  #page-concept-sustainability .title h3 {
    font-size: 1.6rem;
  }
  #page-concept-sustainability .lists ul li {
    width: 100%;
    max-width: none;
  }
}
/*# sourceMappingURL=page-concept.css.map */