.paypay-checkbox {
  display: flex;
  align-items: center;
  padding: 5px;

  &__label {
    flex-shrink: 0;
    margin: 0px 5px;
    padding: 1px;
  }

  &__input {
    position: relative;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    cursor: pointer;
    border: 1px solid $input-border-color;

    &::before {
      content: ' ';
      position: absolute;
      top: 50%;
      right: 50%;
      bottom: 50%;
      left: 50%;
      transition: all 0.1s;
      background: $gray-600;
    }

    &:checked {
      &::before {
        top: 1px;
        right: 1px;
        bottom: 1px;
        left: 1px;
      }
    }

    &:disabled {
      border-color: $input-disabled-border-color;
      cursor: default;

      &::before {
        background-color: $input-disabled-bg;
      }

      + .paypay-checkbox__label {
        color: $input-disabled-bg;
        cursor: default;
      }
    }
  }
}
