A dereverberation device comprising: an input instantaneous value calculation unit configured to calculate an input instantaneous value Xa(j,k) based on an input signal (X(j,k)), where j and k are integers, j relating to a frame on a time axis and k relating to a frequency band; a reverberation estimation unit configured to calculate a moving average of the input instantaneous value as a reverberation component Za(j,k); a gain calculation unit configured to calculate, with the input instantaneous value and the reverberation component, a first gain Ga(j,k) as a basic gain for the input signal by Formula Ga j k = Xa j k a − Za j k a Xa j k a b where a and b are values set as necessary according to the method for calculating the input instantaneous value Xa(j,k); a gain control unit configured to calculate a second gain Gs(j,k) by formula Gs j k = α 1 Gs j − 1, k + 1 − α 1 max η low k, P j k β when a ratio P(j,k) between the input instantaneous value and the reverberation component of Formula P j k = Xa j k Za j k is less than 1, wherein ηlow(k) is the lower limit of the second gain set for each frequency band k, α1 is a coefficient setting the time rate of change in the second gain of Formula, β is a coefficient adjusting the value of the second gain of Formula according to the ratio P(j,k), and max() is a function returning the maximum value of elements, or by Formula Gs j k = α 2 Gs j − 1, k + 1 − α 2 η up k when P j k = Xa j k Za j k is larger than 1, wherein ηup(k) is the upper limit of the second gain set for each frequency band k, and α2 is a coefficient setting the time rate of change in the second gain of Formula, and to output a larger one of the first gain or the second gain as a third gain (Gb(j,k)), and a gain processing unit configured to multiply the input signal (X(j,k)) by the third gain (Gb(j,k)). an input instantaneous value calculation unit configured to calculate an input instantaneous value Xa(j,k) based on an input signal (X(j,k)), where j and k are integers, j relating to a frame on a time axis and k relating to a frequency band; a reverberation estimation unit configured to calculate a moving average of the input instantaneous value as a reverberation component Za(j,k); a gain calculation unit configured to calculate, with the input instantaneous value and the reverberation component, a first gain Ga(j,k) as a basic gain for the input signal by Formula Ga j k = Xa j k a − Za j k a Xa j k a b where a and b are values set as necessary according to the method for calculating the input instantaneous value Xa(j,k); a gain control unit configured to calculate a second gain Gs(j,k) by formula Gs j k = α 1 Gs j − 1, k + 1 − α 1 max η low k, P j k β when a ratio P(j,k) between the input instantaneous value and the reverberation component of Formula P j k = Xa j k Za j k is less than 1, wherein ηlow(k) is the lower limit of the second gain set for each frequency band k, α1 is a coefficient setting the time rate of change in the second gain of Formula, β is a coefficient adjusting the value of the second gain of Formula according to the ratio P(j,k), and max() is a function returning the maximum value of elements, or by Formula Gs j k = α 2 Gs j − 1, k + 1 − α 2 η up k when P j k = Xa j k Za j k is larger than 1, wherein ηup(k) is the upper limit of the second gain set for each frequency band k, and α2 is a coefficient setting the time rate of change in the second gain of Formula, and to output a larger one of the first gain or the second gain as a third gain (Gb(j,k)), and a gain processing unit configured to multiply the input signal (X(j,k)) by the third gain (Gb(j,k)).