@charset "utf-8";


/* ---------------------------------------- */

.hero .hero-text {
  top: 82%;

  @media (width < 768px) {
    top: 86%;

    .qa1 span:last-of-type {
      margin-left: 1em;
    }
  }
}

.hero .qa-h1 {
  /* font-size: clamp(40px, 5.12vw, 50px); */
  font-size: var(--font-xxl);
  width: max-content;
  text-align: center;
  line-height: 1.5;

  @media (width < 768px) {
    font-size: 19px;

    span {
      display: block;
    }
  }
}

/* ---------------------------------------- */

.qa-content {
  /* background-color: #F5F5F0; */
  background-color: #E3E2DD;
  padding: 100px 0;
  margin: auto;
  font-size: var(--font-s);

  /* text-align: center; */
  section {
    max-width: var(--width);
    margin-inline: auto;
  }

  @media (width < 768px) {
    padding: 80px 0;
  }
}

.section-01 {
  h2 {
    text-align: center;
    line-height: 1.5;
  }

  .block {
    display: flex;
    gap: 1em;
    align-items: center;
    max-width: 1060px;
    margin: 120px auto;

    img {
      width: min(38.65vw, 528px);
    }
  }

  .block1 {
    flex-flow: row nowrap;
  }

  .block2 {
    flex-flow: row-reverse nowrap;
    text-align: right;
  }

  @media (width < 768px) {
    h2 {
      font-size: 16px;
    }

    .block {
      flex-flow: column nowrap;
      margin: 60px auto;
      padding: 0 2em;

      img {
        width: min(64vw, 528px);
      }
    }

    .block1 {
      align-items: flex-start;
    }

    .block2 {
      align-items: flex-end;
    }
  }
}

/* ---------------------------------------- */

.section-02 {
  max-width: calc(768px + 4em) !important;
  margin: 120px auto;

  h2 {
    text-align: center;
    line-height: 1.5;
    margin: 1em auto;
  }

  p {
    padding: 0 2em;
  }
}

/* ---------------------------------------- */

.section-03 {
  margin: 120px auto;

  h2 {
    text-align: center;
    line-height: 1.5;
    margin: 1em auto;
  }

  ul.elements {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* gap: 1em; */
    max-width: 1280px;
    margin: 3em auto 0 auto;
    text-align: center;

    h3 {
      font-size: 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 4em;
      height: 4em;
      border-radius: 50%;
      color: #fff;
      margin: 0 0 .5em 0;
      line-height: 1.25;
    }
  }

  ul.qa1 h3 {
    background-color: #C4D49A;
  }

  ul.qa2 h3 {
    background-color: #E8CC69;
  }

  ul.qa3 h3 {
    background-color: #9D9666;
  }

  ul.qa4 h3 {
    background-color: #C79872;
  }

  ul.qa5 h3 {
    background-color: #8D7D87;
  }

  ul.qa6 h3 {
    background-color: #97AA58;
  }

  ul.qa7 h3 {
    background-color: #8A7A22;
  }

  ul.qa8 h3 {
    background-color: #A89B57;
  }

  ul.qa9 h3 {
    background-color: #BBAC80;
  }

  ul.qa10 h3 {
    background-color: #899FA5;
  }

  .links {
    display: flex;
    gap: 2em;
    width: max-content;
    margin: 3em auto 0 auto;

    ul {
      display: flex;
      flex-flow: row wrap;
      gap: 1em;
    }

    a,
    a:visited {
      color: #AC804D;
    }
  }

  @media (width < 768px) {
    ul.elements {
      grid-template-columns: repeat(2, 1fr);
      gap: 3em 1em;
      width: max-content;
      max-width: 100%;

      h3 {
        font-size: 16px;
      }

      p {
        line-height: 2;
      }
    }

    .links {
      flex-flow: column nowrap;
      align-items: center;
      gap: 0;
    }
  }
}

/* ---------------------------------------- */

.section-04 {
  margin: 120px auto;
  padding: 0 2em;
  width: min(100%, calc(768px + 4em));

  p {
    margin: 2em 0 4em 0;
  }
}

/* ---------------------------------------- */

.section-05 {
  padding: 0;
  margin: 0 auto;
}

/* ---------------------------------------- */



/* ---------------------------------------- */

.qa-catalog {
  width: 100%;
  padding: 100px 30px;
  margin: auto;
  text-align: center;

  h2 {
    margin: 0 0 .75em 0;
    line-height: 1.5;
  }

  p {
    margin: 0 0 2.5em 0;
  }

  @media (width < 768px) {
    padding: 60px 20px;

    h2 {
      font-size: var(--font-l);
    }
  }
}

/* ---------------------------------------- */
.qa-list {
  background-color: #E3DECC;
  width: 100%;
  padding: 80px 30px;
  margin: auto;
  text-align: center;

  h2 {
    line-height: 1.5;
    margin: 0 0 .25em 0;
  }

  p {
    margin: 0 0 2.5em 0;
  }

  @media (width < 768px) {
    padding: 60px 20px;

    p {
      font-size: var(--font-l);
    }
  }
}