A fuel cell system in which power generation is performed by a fuel cell for use with a secondary battery, comprising: a power generation controller that is configured to perform: first control in which at least one control is performed of: power control for preventing generated power from exceeding an upper limit power value (Pmax) determined to protect the secondary battery; voltage control for preventing generated voltage from falling below a lower limit voltage value (Vmin) determined to protect the fuel cell and prevent power generation efficiency from being lowered; and current control for preventing generated current from exceeding an upper limit current value (ImaxA) selected as the minimum value of current values respectively based on the upper limit power value (Pmax), based on the lower limit voltage value (Vmin), and a rated current (Ir) which is a predetermined fixed value to protect individual components through which current flows; and second control in which the generated voltage is prevented from exceeding an upper limit voltage value (Vmax) for suppressing degradation of cells of the fuel cell; and a priority instructor that is configured to instruct the power generation controller to prioritize the first control (S500, S510, S520) over the second control when the first control (S500, S510, S520) and the second control collide with each other. a power generation controller that is configured to perform: first control in which at least one control is performed of: power control for preventing generated power from exceeding an upper limit power value (Pmax) determined to protect the secondary battery; voltage control for preventing generated voltage from falling below a lower limit voltage value (Vmin) determined to protect the fuel cell and prevent power generation efficiency from being lowered; and current control for preventing generated current from exceeding an upper limit current value (ImaxA) selected as the minimum value of current values respectively based on the upper limit power value (Pmax), based on the lower limit voltage value (Vmin), and a rated current (Ir) which is a predetermined fixed value to protect individual components through which current flows; and second control in which the generated voltage is prevented from exceeding an upper limit voltage value (Vmax) for suppressing degradation of cells of the fuel cell; and first control in which at least one control is performed of: power control for preventing generated power from exceeding an upper limit power value (Pmax) determined to protect the secondary battery; voltage control for preventing generated voltage from falling below a lower limit voltage value (Vmin) determined to protect the fuel cell and prevent power generation efficiency from being lowered; and current control for preventing generated current from exceeding an upper limit current value (ImaxA) selected as the minimum value of current values respectively based on the upper limit power value (Pmax), based on the lower limit voltage value (Vmin), and a rated current (Ir) which is a predetermined fixed value to protect individual components through which current flows; and second control in which the generated voltage is prevented from exceeding an upper limit voltage value (Vmax) for suppressing degradation of cells of the fuel cell; and a priority instructor that is configured to instruct the power generation controller to prioritize the first control (S500, S510, S520) over the second control when the first control (S500, S510, S520) and the second control collide with each other.