/* feature/
----------------------------------- */
.reasonitem {
  padding-left: clamp(2rem, 8vw, 12rem);
  padding-right: clamp(2rem, 8vw, 12rem);
  padding-right: clamp(2rem, 4vw, 150px);
  padding-left: clamp(2rem, 4vw, 150px);
  padding-right: clamp(2rem, 8.5vw, 8.5vw);
  padding-left: clamp(2rem, 8.5vw, 8.5vw);
}
@media screen and (max-width: 767px) {
  .reasonitem {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.reasonitem {
  max-width: 1400px;
  margin: 0 auto 20rem auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 2.8vw, 4rem) clamp(2rem, 4.2vw, 6rem);
  align-items: start;
}
.reasonitem .photoBlock {
  position: sticky;
  top: 0;
}
.reasonitem hgroup {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-template-areas: "numhead h3" "num h3";
  gap: clamp(1rem, 1.4vw, 2rem) clamp(1rem, 2.8vw, 4rem);
  margin-bottom: 5rem;
}
.reasonitem hgroup .numHead {
  grid-area: numhead;
  font-family: "Castoro Titling", serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  font-size: clamp(1.6rem, 2.1vw, 3rem);
}
.reasonitem hgroup .num {
  grid-area: num;
  font-family: "Castoro Titling", serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  font-size: clamp(6rem, 9.7vw, 14rem);
  margin-block: calc((1cap - 1lh) / 2);
}
.reasonitem hgroup h2 {
  grid-area: h3;
  align-self: center;
  font-size: clamp(2rem, 1.5vw, 2.2rem);
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  font-weight: 500;
}
.reasonitem h3 {
  font-size: clamp(1.8rem, 1.3vw, 1.8rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  margin-bottom: 4rem;
}
.reasonitem section + section {
  border-top: 1px dotted #CCC;
  margin-top: 2rem;
  padding-top: 4rem;
}
.reasonitem .photoimage + .photoimage {
  margin-top: 2rem;
}
.reasonitem p {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .reasonitem {
    margin: 0 auto 10rem auto;
    grid-template-columns: 1fr;
  }
  .reasonitem hgroup {
    margin-bottom: 1.5rem;
    gap: clamp(1rem, 2.8vw, 4rem) clamp(2rem, 2.8vw, 4rem);
  }
  .reasonitem section + section {
    border-top: none;
  }
  .reasonitem .textBlock {
    display: contents;
  }
  .reasonitem .photoBlock {
    display: contents;
  }
}

#reason01 {
  grid-template-columns: minmax(450px, 1fr) 1fr;
}
@media screen and (max-width: 768px) {
  #reason01 {
    grid-template-columns: 1fr;
  }
  #reason01 hgroup {
    order: 1;
  }
  #reason01 .sec01 {
    order: 2;
  }
  #reason01 .photo01 {
    order: 3;
  }
  #reason01 .sec02 {
    order: 4;
  }
  #reason01 .photo02 {
    order: 5;
  }
  #reason01 .sec03 {
    order: 6;
  }
  #reason01 .photo03 {
    order: 7;
  }
}

#reason02 .textBlock {
  order: 2;
}
#reason02 .photoBlock {
  order: 1;
}
#reason02 {
  grid-template-columns: 1fr minmax(450px, 1fr);
}
@media screen and (max-width: 768px) {
  #reason02 {
    grid-template-columns: 1fr;
  }
  #reason02 hgroup {
    order: 1;
  }
  #reason02 .sec01 {
    order: 2;
  }
  #reason02 .photo01 {
    order: 3;
  }
  #reason02 .sec02 {
    order: 4;
  }
  #reason02 .photo02 {
    order: 5;
  }
  #reason02 .sec03 {
    order: 6;
  }
}

#reason03 {
  grid-template-columns: minmax(450px, 1fr) 1fr;
}
@media screen and (max-width: 768px) {
  #reason03 {
    grid-template-columns: 1fr;
  }
  #reason03 hgroup {
    order: 1;
  }
  #reason03 .sec01 {
    order: 2;
  }
  #reason03 .photo01 {
    order: 3;
  }
  #reason03 .sec02 {
    order: 4;
  }
  #reason03 .photo02 {
    order: 5;
  }
}

#reason04 .textBlock {
  order: 2;
}
#reason04 .photoBlock {
  order: 1;
}
#reason04 {
  grid-template-columns: 1fr minmax(450px, 1fr);
}
@media screen and (max-width: 768px) {
  #reason04 {
    grid-template-columns: 1fr;
  }
  #reason04 hgroup {
    order: 1;
  }
  #reason04 .sec01 {
    order: 2;
  }
  #reason04 .photo01 {
    order: 3;
  }
  #reason04 .sec02 {
    order: 4;
  }
  #reason04 .photo02 {
    order: 5;
  }
  #reason04 .sec03 {
    order: 6;
  }
  #reason04 .photo03 {
    order: 7;
  }
}

#reason05 {
  grid-template-columns: minmax(450px, 1fr) 1fr;
}
@media screen and (max-width: 768px) {
  #reason05 {
    grid-template-columns: 1fr;
  }
  #reason05 hgroup {
    order: 1;
  }
  #reason05 .sec01 {
    order: 2;
  }
  #reason05 .photo01 {
    order: 3;
  }
  #reason05 .sec02 {
    order: 4;
  }
  #reason05 .photo02 {
    order: 5;
  }
}

/*# sourceMappingURL=feature.css.map */