@charset "utf-8";

.cta {
  background-color: var(--swamp);
  overflow: hidden;



  .column {
    max-width: 1058rem;
    width: 90%;
    margin: 0 auto;
    display: flex;
    gap: 180rem;
    padding: 80rem 0 90rem;

    @media (max-width: 900px) {
      flex-direction: column;
      gap: 37rem;
    }


    .col-head {
      display: flex;
      flex-direction: column;
      align-items: flex-start;

      @media (max-width: 900px) {
        align-items: center;
      }
    }

    .sec-head {

      .line-l,
      .line-r {
        z-index: 1;
      }

      .line-r {
        width: 160rem;
        height: 160rem;
        bottom: calc(100% - 48rem);
        left: calc(100% + 7rem);
        top: auto;

        .diagonal {
          width: 223rem;
        }
      }

      .line-l {
        width: 176rem;
        height: 176rem;
        top: calc(100% - 35rem);

        .diagonal {
          width: 242rem;
        }
      }
    }

    .sec-ttl {
      font-family: var(--font-en);
      font-weight: normal;
      font-size: 101rem;
      color: #fff;
      transform: scaleX(0.9);

      @media (max-width: 1023px) {
        font-size: 92rem;
      }
    }



    .sub-title {
      font-family: var(--font-main);
      font-weight: 700;
      font-size: 24rem;
      color: #fff;

      @media (max-width: 1023px) {
        font-size: 19rem;
      }
    }

    .desc {
      font-family: var(--font-main);
      font-weight: 700;
      line-height: 25rem;
      font-size: max(14px, 17rem);
      color: #fff;

      @media (max-width: 1023px) {
        font-size: 14rem;
      }
    }

    .col-btn {
      max-width: 469rem;
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 28rem;

      @media (max-width: 1023px) {
        flex: 1;
      }

      @media (max-width: 900px) {
        max-width: 310rem;
        gap: 20rem;
        margin: 0 auto;
      }

      .item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 25rem;
        height: 88rem;
        border-radius: 50px;
        transition: all .4s ease;
        padding: 0 40rem 0 47rem;

        @media (max-width: 1023px) {

          gap: 0;
          justify-content: space-around;
        }

        @media (max-width: 900px) {
          height: 58rem;
          padding: 0 20rem 0 31rem;
        }

        .linktext {
          font-family: var(--font-main);
          font-weight: 700;
          font-size: 24rem;

          @media (max-width: 1023px) {
            font-size: 18rem;
          }

          @media (max-width: 900px) {
            font-size: 18px;
          }
        }
      }

      .item:hover {
        filter: opacity(50%);
        transition: all .4s ease;
      }

      .item.btn-contact {
        background-color: #FFFFFF;

        .linktext {
          color: #00141f;
        }
      }

      .item.btn-tel {
        border: 1px solid #FFF;

        .linktext {
          color: #FFF;
        }
      }
    }
  }
}

.footer {
  background-color: var(--tangaroa);
  padding: 70rem 0 40rem;

  @media (max-width: 900px) {
    padding: 40rem 0 30rem;
  }

  .sec-head {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 33rem;
    margin-bottom: 56rem;

    @media (max-width: 900px) {
      flex-direction: column;
      gap: 9rem;
    }

    .f_logo {
      max-width: 511rem;
      width: 100%;

      @media (max-width: 900px) {
        max-width: 310rem;
      }
    }

    a {
      transition: all .4s ease;
    }

    a:hover {
      transition: all .4s ease;
      filter: opacity(80%);
    }
  }

  .sec-menu {
    max-width: 1137rem;
    width: 95%;
    display: flex;
    gap: 50rem;
    justify-content: space-between;
    margin: 0 auto 70rem;

    @media (max-width: 1023px) {
      gap: 0;
      width: 90%;
    }

    @media (max-width: 900px) {
      flex-direction: column;
      gap: 40rem;
      margin-bottom: 80rem;
    }
  }



  .copy {
    font-family: var(--font-main);
    font-weight: 700;
    font-size: max(12px, 14rem);
    text-align: center;
    color: #fff;
  }
}