/* concept
======================================= */
.concept__inner {
  padding-top: 7.25em;
  padding-bottom: 7.25em;
}
@media (max-width: 768px) {
  .concept__inner {
    padding-bottom: 2.5em;
  }
}
.concept__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 10em;
}
@media (max-width: 768px) {
  .concept__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2em;
    margin-bottom: 2em;
  }
}
.concept__catch {
  width: 47.222%;
  font-family: "M PLUS 1p", sans-serif;
  font-size: 3em;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .concept__catch {
    width: 100%;
    font-size: 1.5em;
  }
}
.concept__right {
  width: 47.222%;
}
@media (max-width: 768px) {
  .concept__right {
    width: 100%;
  }
}
.concept__text {
  font-size: 1.125em;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  .concept__text {
    font-size: 0.9375em;
  }
}
.concept__btn {
  max-width: 500px;
}
.concept__btn:nth-child(n+2) {
  margin-top: 2rem;
}
.concept__btn a {
  font-size: 1.125em;
  padding: 1.375em;
}
@media (max-width: 768px) {
  .concept__btn a {
    font-size: 1em;
    padding: 0.75rem;
    gap: 0.375em;
    white-space: nowrap;
  }
}
.concept__images {
  padding: 0 10vw 8em;
  position: relative;
}
@media (max-width: 768px) {
  .concept__images {
    padding: 0 3.381333vw 2em;
  }
}
.concept__image-02, .concept__image-03 {
  position: absolute;
  width: 20vw;
  height: auto;
}
@media (max-width: 768px) {
  .concept__image-02, .concept__image-03 {
    width: 26.15vw;
  }
}
.concept__image-02 {
  left: 0;
  bottom: 0;
}
.concept__image-03 {
  right: 0;
  top: 5em;
}
@media (max-width: 768px) {
  .concept__image-03 {
    top: 1.27em;
  }
}
.concept__bg {
  font-family: "Barlow Condensed", sans-serif;
  font-size: min(11.9879vw, 13.4375em);
  font-weight: 600;
  color: #F5F9FF;
  line-height: 1;
  text-align: right;
  position: absolute;
  bottom: -0.1em;
  right: 0;
  z-index: -1;
}
@media (max-width: 768px) {
  .concept__bg {
    font-size: 3.9em;
  }
}

/* reason
======================================= */
.reason {
  background-color: #F8F8F8;
}
@media (max-width: 768px) {
  .reason__title {
    white-space: nowrap;
    margin: 0 -5% 2rem;
  }
}
.reason__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .reason__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2em;
  }
}
.reason__item {
  width: 30%;
  max-width: 384px;
}
@media (max-width: 768px) {
  .reason__item {
    width: 100%;
  }
}
.reason__item-title {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .reason__item-title {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.reason__item-title-num {
  font-size: 4.5em;
  line-height: 0.9;
  color: #BCA072;
}
@media (max-width: 768px) {
  .reason__item-title-num {
    font-size: 2.25em;
  }
}
.reason__item-title-text {
  font-size: 3em;
}
@media (max-width: 768px) {
  .reason__item-title-text {
    font-size: 1.5em;
  }
}
.reason__item-image {
  margin-bottom: 1.5em;
}
@media (max-width: 768px) {
  .reason__item-image {
    margin-bottom: 1em;
  }
}
.reason__item-title {
  font-size: 1.5em;
  line-height: 1;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .reason__item-title {
    font-size: 1.25em;
    line-height: 1.5;
  }
}
.reason__item-text {
  font-size: 1.125em;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .reason__item-text {
    font-size: 0.9375em;
  }
}

/* features
======================================= */
.features__inner {
  padding-top: 15em;
  padding-bottom: 7.25em;
  background: url(../img/concept/features_bg.png) no-repeat top center/contain #F8F8F8;
}
@media (max-width: 768px) {
  .features__inner {
    padding-top: 5em;
    padding-left: 5.333%;
    padding-right: 5.333%;
    padding-bottom: 4em;
    background: url(../img/concept/features_bg-sp.png) no-repeat top center/contain #F8F8F8;
  }
}
.features__container {
  background-color: #fff;
  -webkit-box-shadow: 0px 3px 6px 0px rgba(79, 79, 79, 0.1019607843), 0px 10px 10px 0px rgba(79, 79, 79, 0.0901960784), 0px 23px 14px 0px rgba(79, 79, 79, 0.0509803922), 0px 40px 16px 0px rgba(79, 79, 79, 0.0117647059), 0px 63px 18px 0px rgba(79, 79, 79, 0);
          box-shadow: 0px 3px 6px 0px rgba(79, 79, 79, 0.1019607843), 0px 10px 10px 0px rgba(79, 79, 79, 0.0901960784), 0px 23px 14px 0px rgba(79, 79, 79, 0.0509803922), 0px 40px 16px 0px rgba(79, 79, 79, 0.0117647059), 0px 63px 18px 0px rgba(79, 79, 79, 0);
  padding: 5em min(8.333vw, 160px);
}
@media (max-width: 768px) {
  .features__container {
    padding: 3em 5.333vw 5em;
  }
}
.features__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 768px) {
  .features__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25em;
  }
}
.features__item:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .features__item:nth-child(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.features__item:nth-child(n+2) {
  margin-top: 6em;
}
@media (max-width: 768px) {
  .features__item:nth-child(n+2) {
    margin-top: 3em;
  }
}
.features__item-img {
  width: 46.428%;
}
@media (max-width: 768px) {
  .features__item-img {
    width: 100%;
  }
}
.features__item-contents {
  width: 46.428%;
}
@media (max-width: 768px) {
  .features__item-contents {
    width: 100%;
  }
}
.features__item-title {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 2em;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .features__item-title {
    font-size: 1.125em;
    margin-bottom: 1rem;
  }
}
.features__item-text {
  font-size: 1.125em;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .features__item-text {
    font-size: 0.9375em;
  }
}

/* about
======================================= */
.about__inner {
  padding-top: 7.25em;
  padding-bottom: 7.25em;
}
@media (max-width: 768px) {
  .about__inner {
    padding: 4em 5.333%;
  }
}
@media (max-width: 768px) {
  .about__title {
    margin-bottom: 2rem;
  }
}
.about__container {
  background-color: #fff;
  -webkit-box-shadow: 0px 3px 6px 0px rgba(79, 79, 79, 0.1019607843), 0px 10px 10px 0px rgba(79, 79, 79, 0.0901960784), 0px 23px 14px 0px rgba(79, 79, 79, 0.0509803922), 0px 40px 16px 0px rgba(79, 79, 79, 0.0117647059), 0px 63px 18px 0px rgba(79, 79, 79, 0);
          box-shadow: 0px 3px 6px 0px rgba(79, 79, 79, 0.1019607843), 0px 10px 10px 0px rgba(79, 79, 79, 0.0901960784), 0px 23px 14px 0px rgba(79, 79, 79, 0.0509803922), 0px 40px 16px 0px rgba(79, 79, 79, 0.0117647059), 0px 63px 18px 0px rgba(79, 79, 79, 0);
  padding: 5em min(8.333vw, 160px);
}
@media (max-width: 768px) {
  .about__container {
    padding: 2em 5.333vw;
  }
}
.about__hope {
  margin-bottom: 6em;
}
@media (max-width: 768px) {
  .about__hope {
    margin-bottom: 3em;
  }
}
.about__hope-image {
  margin-bottom: 4em;
}
@media (max-width: 768px) {
  .about__hope-image {
    max-width: 126px;
    margin: 0 auto 1em;
  }
}
@media (max-width: 768px) {
  .about__hope-list {
    margin-bottom: 2em;
  }
}
@media (max-width: 768px) {
  .about__hope-item {
    padding: 1em 0;
    border-bottom: 0.5px solid #838383;
  }
}
@media (max-width: 768px) {
  .about__hope-item-title {
    font-size: 0.875em;
    font-weight: bold;
    margin-bottom: 0.25rem;
  }
}
@media (max-width: 768px) {
  .about__hope-item-text {
    font-size: 0.9375em;
    letter-spacing: 0.05em;
  }
}
.about__hope-contents {
  background-color: #E5E5E5;
  padding: 2em 3.571%;
}
@media (max-width: 768px) {
  .about__hope-contents {
    padding: 1.5em 5.333vw;
  }
}
.about__hope-contents-title {
  font-size: 1.5em;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .about__hope-contents-title {
    font-size: 1.125em;
    line-height: 1.5;
  }
}
.about__hope-contents-text {
  font-size: 1.125em;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .about__hope-contents-text {
    font-size: 0.9375em;
  }
}
.about__history-list {
  max-width: 768px;
  margin: auto;
}
.about__history-item {
  padding: 1.5em 0 1.5em 4.1667vw;
  margin-left: 14.5px;
  border-left: 3px solid #D5C5AA;
  position: relative;
  z-index: 0;
}
@media (max-width: 768px) {
  .about__history-item {
    padding: 1em 0 1em 3em;
  }
}
.about__history-item::after {
  content: "";
  width: 0.9375em;
  height: 2em;
  background-color: #fff;
  position: absolute;
  top: 1.5em;
  left: 0;
  z-index: 1;
  -webkit-transform: translateX(calc(-50% - 1px));
          transform: translateX(calc(-50% - 1px));
}
.about__history-item::before {
  content: "";
  width: 0.9375em;
  height: 0.9375em;
  position: absolute;
  left: 0;
  top: 2em;
  z-index: 2;
  -webkit-transform: translateX(calc(-50% - 1px));
          transform: translateX(calc(-50% - 1px));
  background-color: #D5C5AA;
  border-radius: 50%;
}
.about__history-item-year {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2.5em;
  font-weight: 600;
  color: #BCA072;
  line-height: 1.2;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .about__history-item-year {
    font-size: 1.5em;
  }
}
.about__history-item-text {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 1.25em;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .about__history-item-text {
    font-size: 1em;
  }
}