section#cover {
  background: url('../img/tcdoctor_top-min.webp') no-repeat center;
  background-size: auto 100%;
}

#movie {
  aside {
    background: url('../img/tcdoctor_movie1-min.webp') no-repeat right;
    background-size: contain;
    text-align: center;

    @media screen and (max-width: 575px) {
      background-position: center;
      background-size: cover;
    }

    a {
      position: relative;
      top: 65%;
      width: 80%;

      @media screen and (max-width: 575px) {
        width: 90%;
        max-width: 400px;
      }
    }

    img {
      width: 100%;
    }
  }

  div {
    background: url('../img/tcdoctor_movie2-min.webp') no-repeat center left;
    background-size: contain;

    @media screen and (max-width: 575px) {
      background-size: cover;
    }
  }
}

main {
  section.features {
    div.support-items {
      width: 90% !important;
      flex-wrap: wrap;
      max-width: 1300px !important;

      figure {
        background-color: #fff;
        flex: none !important;
        width: calc((100% - (30px * 3)) / 4);

        @media (width < 992px) {
          width: calc((100% - 30px) / 2);
        }

        @media (width < 740px) {
          width: 100%;
        }

        h3 {
          color: #3B3B3B;
        }

        img {
          height: 170px;
          object-fit: cover;
          object-position: center;
        }
      }
    }
  }

  section#tc-doctor-features {
    background-color: #F5F5F5;
    padding: 100px 0 140px;

    @media (width < 575px) {
      padding: 30px 0 50px;
    }

    h2 {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      gap: 20px;
      text-align: center;

      img {
        width: 240px;

        @media (width < 575px) {
          width: 150px;
        }
      }
    }



    div.comming-soon {
      background-color: #999;
      color: #fff;
      padding: 5px 0;
      font-size: 18px;
      font-weight: bold;
      text-align: center;
      margin-top: 10px;
    }
  }

  section#tc-mechanic {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    margin-top: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 2880 / 820;
    background-image: url('../img/tcmechanic.webp');
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top;

    @media (width < 992px) {
      aspect-ratio: 200 / 57;
      background-image: url('../img/tcmechanic_m.webp');
    }

    @media (width < 575px) {
      aspect-ratio: 600 / 293;
      background-image: url('../img/tcmechanic_s.webp');
    }


    #tc-mechanic-user {
      font-size: 15px;
      text-align: center;
      display: inline-block;
      border: 1px solid #fff;
      padding: 5px 20px;
    }

    h2 {
      color: #fff;
      font-size: 40px;
      font-weight: bold;
      text-align: center;
      margin-top: 10px;
    }

    h3 {
      color: #fff;
      font-size: 15px;
    }

    #tc-mechanic-description {
      font-size: 15px;
      text-align: center;
      margin-top: 20px;
      line-height: 2;
    }

    #tc-mechanic-note {
      font-size: 20px;
      text-align: center;
      font-weight: bold;
      margin-top: 20px;
    }
  }


  section#tc-mechanic-features {
    background-color: #E7F0F6;
    margin-top: 0;
    padding: 70px 0 100px;

    @media (width < 575px) {
      padding: 35px 0 50px;
    }

    h3#four-features {
      font-size: 32px;

      @media (width < 575px) {
        font-size: 16px;
      }

      font-weight: bold;
      color: #8C1E23;
      margin: 20px auto 30px;
      text-align: center;
      letter-spacing: 10px;
    }
  }

  #dashboard {
    background-color: #F5F5F5;
    padding: 60px 20px;
    text-align: center;
    color: black;
    margin: 0;

    .login-container {
      max-width: 1000px;
      margin: 0 auto;

      h2 {
        font-weight: bold;
      }

      .header-group {
        margin-bottom: 40px;

        .title-login {
          color: #8C1E23;
          font-size: 28px;
          margin-bottom: 15px;
          letter-spacing: 0.1em;
        }

        .text-login {
          font-size: 14px;
          color: #666;
        }
      }

      .content-grid {
        display: flex;
        justify-content: center;
        gap: 40px;

        @media (width< 992px) {
          flex-direction: column;
          align-items: center;
        }
      }

      .screen-item {
        flex: 1;
        max-width: 450px;
        margin: 0;

        h3 {
          font-weight: bold;
          font-size: 18px;
          margin-bottom: 20px;
          letter-spacing: 0.05em;
        }

        .image-wrapper img {
          width: 100%;
          height: auto;
        }
      }
    }
  }

  #how-to-use {
    padding: 60px 20px;
    background-color: #fff;
    color: black;
    font-family: sans-serif;

    .container {
      max-width: 800px;
      margin: 0 auto;
    }

    .header-group {
      text-align: center;
      margin-bottom: 60px;

      .title-use {
        color: #8a2b2b;
        font-size: 30px;
        margin-bottom: 20px;
        font-weight: bold;
      }

      .text-use {
        font-size: 16px;
        letter-spacing: 0.1em;
      }
    }

    .step-list {
      list-style: none;
      padding: 0;
      counter-reset: my-step-counter;
    }

    .step-item {
      position: relative;
      padding-left: 60px;
      padding-bottom: 40px;
      counter-increment: my-step-counter;

      &:not(:last-child)::before {
        content: "";
        position: absolute;
        left: 20px;
        top: 40px;
        bottom: 0;
        width: 2px;
        background-color: #f2e2e2;
      }

      /* 数字アイコン */
      &::after {
        content: counter(my-step-counter);
        position: absolute;
        left: 0;
        top: 0;
        width: 40px;
        height: 40px;
        background-color: #8a2b2b;
        color: #fff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        font-size: 18px;
        z-index: 1;
      }
    }

    .step-content {
      h3{
        font-weight: bold;
      }

      .step-heading {
        font-size: 20px;
        color: #8a2b2b;
        margin: 0 0 10px 0;
        line-height: 40px;
      }

      .step-description {
        font-size: 14px;
        line-height: 1.6;
        margin: 0;

        /* span {
          font-size: 13px;
        } */
      }
    }
  }

  div.button-container {
    @media (width < 500px) {
      flex-direction: column;
    }
  }
}