.c-cta {
  background-image: url('../../../img/common/cta_bg.webp');
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  display: flex;

  .c-cta__catch-image {
    display: none;
  }

  .c-cta__link {
    display: block;
    width: 840px;
    height: 540px;
    text-decoration: none;
  }

  .c-cta__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: linear-gradient(270deg, rgba(32, 181, 208, 0.80) 0%, #20B5D0 100%);
    height: 100%;
    align-items: center;
    justify-content: center;

    .c-cta__content-message {
      text-align: center;

      .c-title-h2 {
        color: var(--color-font-03);
      }

      .c-title-h3 {
        display: none;
      }
    }

    .c-cta__content-icon {
      transition: all 0.1s linear;
    }
  
    .c-cta__content-title {
      color: var(--color-font-03);
      font-size: 1.6rem;
      letter-spacing: 1.6px;
    }
  }
}

.c-cta-message {
  display: grid;
  gap: 30px;
}

.c-cta-message-wrap {
  background-image: url('../../../img/common/cta_message_bg.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 100px 0;
}

/* PCのみ */
@media (hover: hover) and (pointer: fine) {
  .c-cta {
    .c-cta__link {
      &:hover {
        .c-cta__content {
          .c-cta__content-icon {
            transform: translateX(10px);
          }
        }    
      }
    }
  }
}

/* TAB and */
@media screen and (max-width: 1024px) {
  .c-cta {
    background-image: none;
    display: block;

    .c-cta__catch-image {
      display: block;

      .c-cta__catch-image-media {
        width: 100%;
      }
    }
  
    .c-cta__link {
      display: block;
      width: auto;
      height: auto;
      text-decoration: none;
    }
  
    .c-cta__content {
      height: auto;
      padding: 100px var(--device-tab-padding);

      .c-cta__content-message {
        .c-title-h2 {
          display: none;
        }

        .c-title-h3 {
          display: block;
          color: var(--color-font-03);
        }
      }
    }
  }

  .c-cta-message {
    .c-cta-message__button {
      text-align: center;
    }
  }
  
  .c-cta-message-wrap {
    background-image: url('../../../img/common/cta_message_bg_sp.webp');

    .l-container {
      margin: 0 var(--device-tab-padding);
    }
  }
}

/* SP */
@media screen and (max-width: 768px) {
  .c-cta {
    .c-cta__content {
      padding: 100px 30px;
    }
  }

  .c-cta-message-wrap {
    .l-container {
      margin: var(--layout-sp-container-margin);
    }
  }
}