@charset "UTF-8";
.en-font {
  font-family: "Arimo", sans-serif;
}
.text-center {
  text-align: center;
}
.primary-heading {
  font-size: 2.8rem;
  margin-bottom: 20px;
  font-style: italic;
  font-weight: 700;
}
.note {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.fit-img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.caption {
  font-size: 1.4rem;
}
.btn {
  margin-top: 48px;
  &.-l {
    a {
      width: 430px;
      height: 67px;
      font-size: 2.6rem;
      &::before {
        width: 15px;
      }
    }
  }
  &.-sp {
    a {
      width: 100%;
      height: 53px;
      font-size: 1.3rem;
      border: none;
      &::before {
        width: 15px;
      }
    }
  }
  &.-plan {
    a {
      background-color: #e6e4df;
      color: #4a4a47;
    }
  }
  &.-contact {
    a {
      background-color: #fff;
      color: #4a4a47;
    }
  }
  a {
    position: relative;
    font-size: 1.6rem;
    width: min(100%, 200px);
    height: 50px;
    display: grid;
    place-content: center;
    color: #fff;
    margin-inline: auto;
    border: 1px solid #fff;
    transition: 0.3s ease;
    &::before {
      content: "";
      position: absolute;
      width: 7.5px;
      aspect-ratio: 1/1;
      position: absolute;
      top: 50%;
      right: 7.5px;
      transform-origin: top right;
      rotate: 45deg;
      transform: skew(15deg, 15deg);
      border-top: 1px solid currentColor;
      border-right: 1px solid currentColor;
    }
  }
}
@media screen and (max-width: 1600px) {
  .btn {
    margin-top: 48px;
    &.-l {
      a {
        width: 240px;
        height: 50px;
        font-size: 1.6rem;
      }
    }
  }
}
@media screen and (max-width: 1024px) {
  .btn {
    margin-top: 48px;
    &.-l {
      a {
        width: 180px;
        height: 40px;
        font-size: 1.2rem;
        &::before {
          width: 8px;
        }
      }
    }
  }
}
@media screen and (max-width: 767px) {
  .note {
    font-size: 1.4rem;
  }
  .btn {
    a {
      font-size: 1.2rem;
      width: min(100%, 140px);
      height: 30px;
    }
  }
}
.general-section .inner {
  margin: 0 auto;
  padding: 80px 16px;
}
@media screen and (max-width: 767px) {
  .general-section .inner {
    padding: 40px 16px;
  }
}
@media screen and (max-width: 767px) {
  .sp-none {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .pc-none {
    display: none !important;
  }
}
