/*===========================================================================
unique
単一ページで使用するCSS
接頭辞【.u-】

【予測変換用 _base.css記述】
:root {
	--font-color-base: #000;
	--font-family-base: "Noto Sans JP", sans-serif;
	--back-color-base: #fff;
	--design-size-pc: 1400;
	--design-size-sp: 750;
}
===========================================================================*/
.u-subTtl + * {
  margin-top: 50rem;
}
.u-img {
  margin-top: 50rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-subTtl + * {
    margin-top: 30rem;
  }
  .u-img {
    margin-top: 30rem;
  }
}


.u-strength {
  margin-top: 100rem;
}
.u-feature {
  margin-top: 60rem;
  border-radius: 10rem;
  padding: 26rem 30rem 40rem;
  background-color: #fff;
}
.u-feature__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 200rem));
  gap: 0 20rem;
  justify-content: center;
}
.u-feature__item {
  padding: 24rem 10rem 26rem;
}
.u-feature__icn {
  width: 90rem;
  margin: 0 auto;
}
.u-feature__ttl {
  margin-top: 14rem;
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 15rem;
  line-height: 1.53;
  text-align: center;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-feature {
    margin: 60rem -10rem 0;
    padding: 40rem 20rem 20rem;
  }
  .u-feature__list {
    margin: 10rem -10rem 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }
  .u-feature__item {
    padding: 17rem 10rem 22rem;
  }
  .u-feature__icn {
    width: 82rem;
  }
  .u-feature__ttl {
    margin-top: 15rem;
    font-size: 12rem;
    line-height: 1.5;
  }
}


.u-business {
  margin-top: 140rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-business {
    margin-top: 100rem;
  }
}


.u-service {
  margin-top: 120rem;
  padding: 70rem 80rem 80rem;
  border-radius: 10rem;
  background-color: #fff;
}
.u-service__anchor {
  margin-top: 30rem;
}
.u-serviceItem {
  margin-top: 100rem;
}
.u-serviceItem__ttl {
  padding-bottom: 17rem;
  border-bottom: 1px solid #dedfe6;
  font-weight: 600;
  font-size: 32rem;
  line-height: 1.5;
  text-align: center;
}
.u-serviceItem__ttl + * {
  margin-top: 60rem;
}
p + .u-serviceItem__img {
  margin-top: 20rem;
}
.u-serviceItem__img.--size-s {
  max-width: 740rem;
  margin-right: auto;
  margin-left: auto;
}
.u-serviceItem__lead {
  margin-top: 60rem;
}
.u-serviceItem__txt {
  margin-top: 30rem;
}
/* PC
----------------------------------*/
@media screen and (min-width: 768px) {
  .u-serviceItem__ttl.--size-m-pc {
    padding-bottom: 15rem;
    font-size: 34rem;
    line-height: 1.41;
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-service {
    margin: 60rem -10rem 0;
    padding: 50rem 20rem;
  }
  .u-serviceItem {
    margin-top: 80rem;
  }
  .u-serviceItem__ttl {
    padding-bottom: 9rem;
    font-size: 22rem;
    line-height: 1.55;
  }
  .u-serviceItem__ttl + * {
    margin-top: 50rem;
  }
  .u-serviceItem__img.--size-s {
    max-width: 275rem;
  }
}


.u-needs {
  margin-top: 80rem;
}
.u-needs__ttl + * {
  margin-top: 30rem;
}
.u-needs__cts {
  margin-top: 50rem;
}
.u-needs__cts > * + .m-ttl05 {
  margin-top: 50rem;
}
.u-needs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem;
  max-width: 600rem;
  margin-top: 20rem;
}
.u-needs__list > li {
  padding: 5rem 10rem 7rem;
  border-radius: 5rem;
  background-color: #fff;
  font-weight: 600;
  font-size: 12rem;
  line-height: 1.42;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-needs {
    margin-top: 60rem;
  }
  .u-needs__cts {
    margin-top: 40rem;
  }
  .u-needs__cts > * + .m-ttl05 {
    margin-top: 40rem;
  }
  .u-needs__list {
    max-width: initial;
  }
}
