This paper investigates a hazardous materials network design problem through a bi-modal transportation network consisting of road and rail. Due to the different concerns of the government and carriers in transportation of these materials, we propose a bi-level formulation for the considered problem. The government in the upper level seeks to a fair distribution of risk by minimising the maximum network risk. On the other hand, the carrier in the lower level aims to minimise the transportation cost. The bi-level problem is transformed into a single-level mixed-integer programming problem by replacing the lower-level by Karush-Kuhn-Tucker (KKT) conditions. We also propose a heuristic algorithm, which can find appropriate solutions to the realistic size problem with acceptable computation time. Our analysis of solving two case studies including Iranian multimodal network indicates that the algorithm finds acceptable solutions with reasonable computation time.