/* --------------------------------------------------
	section size
-------------------------------------------------- */
.concept_ttl01 {
  font-size: 3.5rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 7rem;
}
@media screen and (max-width: 768px) {
  .concept_ttl01 {
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: 3rem;
  }
}

.concept_ttl02 {
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .concept_ttl02 {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.9444444444;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: 2rem;
  }
}

/* sec-concept
---------------------------------------------------------------------------- */
.sec-concept {
  padding-bottom: 80px;
  background: #fff;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .sec-concept {
    padding-bottom: 0;
  }
}
.sec-concept .l-wrapper {
  max-width: 1455px;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .sec-concept .l-wrapper {
    max-width: inherit;
  }
}
.sec-concept .concept-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  padding: 7.4rem 7.5rem 8.5rem 7.4rem;
  background: #fff;
  border-radius: 2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 1200px) {
  .sec-concept .concept-box {
    gap: 4.5rem 0;
    padding: 5rem 4rem 6rem 4rem;
    border-radius: 0;
  }
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box {
    flex-direction: column;
    padding: 4rem 2rem 5.2rem 2rem;
    border-radius: 0;
  }
}
.sec-concept .concept-box + .concept-box {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box + .concept-box {
    margin-top: 0;
  }
}
.sec-concept .concept-box.bgColor {
  background: #F0F5F5;
}
.sec-concept .concept-box.-reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-reverse {
    flex-direction: column;
  }
}
.sec-concept .concept-box .box-txt {
  position: relative;
  padding-right: 4rem;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box .box-txt {
    width: 100% !important;
    padding-right: 0;
  }
}
.sec-concept .concept-box .box-txt .text {
  font-size: 1.8rem;
  line-height: 2.6666666667;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 1200px) {
  .sec-concept .concept-box .box-txt .text {
    font-size: 1.7rem;
    line-height: 2.5882352941;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box .box-txt .text {
    font-size: 1.5rem;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
.sec-concept .concept-box .box-img {
  border-radius: 2rem;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box .box-img {
    width: 100% !important;
  }
}
.sec-concept .concept-box.-box01 .box-txt {
  width: calc(100% - 65rem);
}
@media screen and (max-width: 1200px) {
  .sec-concept .concept-box.-box01 .box-txt {
    width: calc(100% - 50rem);
    margin-right: -10rem;
  }
}
.sec-concept .concept-box.-box01 .box-img {
  margin-right: -5rem;
  width: 69rem;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-box01 .box-img {
    width: calc(100% + 4rem) !important;
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
.sec-concept .concept-box.-box02 {
  display: block;
}
.sec-concept .concept-box.-box02 .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-box02 .flex {
    flex-direction: column;
    gap: 4.5rem 0;
  }
}
.sec-concept .concept-box.-box02 .box-txt {
  width: calc(100% - 59.9rem);
}
@media screen and (max-width: 1200px) {
  .sec-concept .concept-box.-box02 .box-txt {
    width: calc(100% - 52.9rem);
  }
}
.sec-concept .concept-box.-box02 .box-img {
  width: 52.9rem;
}
.sec-concept .concept-box.-box03 {
  display: block;
}
.sec-concept .concept-box.-box03 .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-box03 .flex {
    flex-direction: column;
    gap: 4.5rem 0;
  }
}
.sec-concept .concept-box.-box03 .concept_ttl02 {
  width: calc(100% - 54.1rem);
  padding-left: 9.5rem;
  margin: 0 0 4rem auto;
}
@media screen and (max-width: 1200px) {
  .sec-concept .concept-box.-box03 .concept_ttl02 {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-box03 .concept_ttl02 {
    width: 100%;
    padding-left: 0;
    margin: 0 0 2rem 0;
  }
}
.sec-concept .concept-box.-box03 .box-txt {
  padding-left: 9.5rem;
  padding-right: 0;
  width: calc(100% - 54.1rem);
}
@media screen and (max-width: 1200px) {
  .sec-concept .concept-box.-box03 .box-txt {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-box03 .box-txt {
    padding-left: 0;
  }
}
.sec-concept .concept-box.-box03 .box-img {
  width: 54.1rem;
}
.sec-concept .concept-box.-box04 .box-txt {
  width: calc(100% - 39.6rem);
}
.sec-concept .concept-box.-box04 .box-img {
  width: 39.6rem;
}
.sec-concept .concept-box.-box05 .box-txt {
  width: calc(100% - 54rem);
}
.sec-concept .concept-box.-box05 .box-img {
  width: 54rem;
}
.sec-concept .concept-box.-values {
  flex-direction: column;
  justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values {
    gap: 0 0;
  }
}
.sec-concept .concept-box.-values .concept_ttl02 {
  width: 100%;
  text-align: center;
  font-family: "BIZ UDGothic", sans-serif;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .concept_ttl02 {
    margin-bottom: 1.5rem;
  }
}
.sec-concept .concept-box.-values .lead-txt {
  width: 100%;
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.6666666667;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .lead-txt {
    text-align: left;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    font-weight: 400;
    margin-bottom: 2rem;
  }
}
.sec-concept .concept-box.-values .flex {
  margin-top: 4rem;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  align-content: stretch;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .flex {
    margin-top: -1.2rem;
    flex-direction: column;
  }
}
.sec-concept .concept-box.-values .flex .flex-box {
  width: 25%;
  padding: 0 2.6rem;
  border-left: 1px solid #CCCCCC;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .flex .flex-box {
    width: 100%;
    padding: 1rem 0 2rem 0;
    border-left: none;
    border-bottom: 1px solid #CCCCCC;
  }
}
.sec-concept .concept-box.-values .flex .flex-box__img {
  width: auto;
  height: 14.2rem;
  text-align: center;
  margin: 0 auto 1rem auto;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .flex .flex-box__img {
    height: 11.2rem;
    margin-bottom: -1rem;
  }
}
.sec-concept .concept-box.-values .flex .flex-box__img img {
  width: auto;
  max-width: inherit;
  height: 100%;
}
.sec-concept .concept-box.-values .flex .flex-box__txt .ttl {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.6666666667;
  font-weight: 700;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .flex .flex-box__txt .ttl {
    font-size: 1.6rem;
    line-height: 3;
    font-weight: 700;
    margin-bottom: 0;
  }
}
.sec-concept .concept-box.-values .flex .flex-box__txt .txt {
  font-size: 1.7rem;
  line-height: 1.7647058824;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .flex .flex-box__txt .txt {
    font-size: 1.5rem;
    line-height: 1.6666666667;
    font-weight: 400;
  }
}
.sec-concept .concept-box.-values .flex .flex-box:last-of-type {
  border-right: 1px solid #CCCCCC;
}
@media screen and (max-width: 768px) {
  .sec-concept .concept-box.-values .flex .flex-box:last-of-type {
    border-right: none;
    border-bottom: none;
  }
}