@charset "UTF-8";
/* 基本設定 */
/* --------------------------------------------------
	section size
-------------------------------------------------- */
/* 初期設定 */
/* ----------------------------------------------------------------------
仮
---------------------------------------------------------------------- */
/* ----レスポンシブの表示非表示---- */
.mb480 {
  display: none;
}

@media (max-width: 480px) {
  .pc480 {
    display: none !important;
  }
  .mb480 {
    display: block;
  }
}
/* --------- */
#work-flow {
  margin-bottom: 21rem;
}

/* ----------------------------------------------------------------------
コンセプト
---------------------------------------------------------------------- */
#concept .concept-inner {
  row-gap: 3em;
  font-size: 1.8rem;
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
  font-weight: 800;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
@media screen and (max-width: 1024px) {
  #concept .concept-inner {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 520px) {
  #concept .concept-inner {
    font-size: 1.2rem;
  }
}
#concept .concept-inner .img-box {
  width: 35%;
  border-radius: 1em;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  #concept .concept-inner .img-box {
    width: 33%;
  }
}
@media screen and (max-width: 1024px) and (max-width: 840px) {
  #concept .concept-inner .img-box {
    width: 100%;
    max-width: 63rem;
    margin: 0 auto;
    aspect-ratio: 1;
  }
}
#concept .concept-inner .img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
#concept .concept-inner .txt-box {
  width: 62%;
  max-width: 63rem;
}
@media screen and (max-width: 1024px) {
  #concept .concept-inner .txt-box {
    width: 63%;
  }
}
@media screen and (max-width: 1024px) and (max-width: 840px) {
  #concept .concept-inner .txt-box {
    width: 100%;
    max-width: 63rem;
    margin: 0 auto;
    padding: 0 1%;
  }
}
#concept .concept-inner .txt-box .gre {
  color: #fff;
  background-color: #65CFC9;
}
#concept .concept-inner .txt-box .red {
  color: #C61531;
}

/* ----------------------------------------------------------------------
特徴
---------------------------------------------------------------------- */
#features .features-list {
  font-size: 1.6rem;
  line-height: 1.9375;
  letter-spacing: 0.1em;
  font-weight: 800;
}
@media screen and (max-width: 840px) {
  #features .features-list {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 840px) and (max-width: 520px) {
  #features .features-list {
    font-size: 1.2rem;
  }
}
#features .features-list .features-item {
  margin-bottom: 6rem;
  row-gap: 2em;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
#features .features-list .features-item .img-box {
  width: 23%;
}
@media screen and (max-width: 520px) {
  #features .features-list .features-item .img-box {
    width: 56%;
    margin: 0 auto;
  }
}
#features .features-list .features-item > dl {
  width: 69%;
}
@media screen and (max-width: 840px) {
  #features .features-list .features-item > dl {
    width: 74%;
  }
}
@media screen and (max-width: 840px) and (max-width: 520px) {
  #features .features-list .features-item > dl {
    width: 100%;
  }
}
#features .features-list .features-item > dl dt {
  font-size: 156%;
  line-height: 1.3;
  margin-bottom: 0.5em;
  padding-left: 4em;
  position: relative;
}
#features .features-list .features-item > dl dt .red {
  color: #C61531;
}
#features .features-list .features-item > dl dt:before {
  content: "";
  display: block;
  width: 3em;
  aspect-ratio: 1.7;
  background-size: cover;
  position: absolute;
  inset: 50% auto auto 0;
  transform: translateY(-50%);
}
#features .features-list .features-item > dl dd {
  padding: 2em 5%;
  background-color: #F2F2F2;
  position: relative;
}
#features .features-list .features-item > dl dd .abs-box {
  font-size: 80%;
  margin-top: 1em;
  text-align: right;
}
#features .features-list .features-item:nth-child(1) > dl dt:before {
  background-image: url(../img/website/01.svg);
}
#features .features-list .features-item:nth-child(2) > dl dt:before {
  background-image: url(../img/website/02.svg);
}
#features .features-list .features-item:nth-child(3) > dl dt:before {
  background-image: url(../img/website/03.svg);
}
#features .features-list .features-item:nth-child(4) > dl dt:before {
  background-image: url(../img/website/04.svg);
}
#features .features-list .features-item:nth-child(5) > dl dt:before {
  background-image: url(../img/website/05.svg);
}
#features .features-list .features-item:nth-child(6) > dl dt:before {
  background-image: url(../img/website/06.svg);
}
#features .features-list .features-item:nth-child(7) > dl dt:before {
  background-image: url(../img/website/07.svg);
}
#features .features-list .features-item:last-of-type {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------
保守管理について
---------------------------------------------------------------------- */
#management {
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.1em;
  font-weight: 800;
}
@media screen and (max-width: 840px) {
  #management {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 840px) and (max-width: 520px) {
  #management {
    font-size: 1.2rem;
  }
}
#management .txt-box.middle {
  width: 78%;
  max-width: 82.2rem;
}
@media screen and (max-width: 840px) {
  #management .txt-box.middle {
    width: 100%;
  }
}
#management .img-box {
  margin: -1em 0 3em;
}
@media screen and (max-width: 840px) {
  #management .img-box {
    margin-top: 1em;
  }
}
@media screen and (max-width: 840px) and (max-width: 520px) {
  #management .img-box {
    margin-top: 3em;
  }
}
#management .img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}