.nc-button {
  color: var(--color) !important;
  background: var(--color-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Sans JP', sans-serif;
  box-sizing: border-box;
  box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0;
  width: fit-content;

  &::after {
    content: '';
    width: 16px;
    height: 16px;
    background-image: var(--arrow-image);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 0.2rem;
    position: relative;
    top: 0.1rem;
  }

  &:hover,
  &:focus {
    opacity: 0.8;
    text-decoration: none;
  }
}

.nc-button-primary {
  --color: var(--white);
  --color-bg: linear-gradient(90deg, #1F8CA6 0%, #41B1B7 77%, #41B1B7 100%);
  --arrow-image: url('/img/common/button-arrow-white.svg');
}

.nc-button-emphasize {
  --color: var(--white);
  --color-bg: linear-gradient(90deg, #BF0014 0%, #FF3139 78%);
  --arrow-image: url('/img/common/button-arrow-white.svg');
}

.nc-button-black {
  --color: var(--white);
  --color-bg: linear-gradient(90deg, #181818 0%, #303030 78%, #303030 100%);
  --arrow-image: url('/img/common/button-arrow-white.svg');
}

.nc-button-white {
  --color: var(--gray-900);
  --color-bg: linear-gradient(to right, rgba(219, 229, 230, 1) 0%, rgba(255, 255, 255, 1) 78%, rgba(255, 255, 255, 1) 100%);
  --arrow-image: url('/img/common/button-arrow-black.svg');
}

/* size */
.nc-button-xl {
  height: 100px;
  padding: 0 var(--space-lvl4);
  font-size: var(--font-size-x-large);

  @media screen and (max-width: 39.9375em) {
    height: 75px;
    padding: 0 var(--space-lvl4);
    width: 100%;
    font-size: var(--font-size-large);
  }
}

.nc-button-lg {
  height: 65px;
  padding: 0 var(--space-lvl3) 0 var(--space-lvl4);
  font-size: var(--font-size-large);

  @media screen and (max-width: 39.9375em) {
    font-size: var(--font-size-medium);
  }
}

.nc-button-md {
  height: 50px;
  padding: 0 var(--space-lvl2) 0 var(--space-lvl4);
  font-size: var(--font-size-large);
}

.nc-button-sm {
  height: 40px;
  padding: 0 12px 0 var(--space-lvl2);
  font-size: var(--font-size-medium);
}