You should use cost PATH and a vertical factor, and not cost DISTANCE, because the extra distance is a function of your travel direction.
In your case, you don't need to use any horizontal factor or friction raster, but you need to specify a vertical factor. It will compute the vertical difference between the origin cell and EACH neighbour, then apply a factor to the horizontal distance. In your case, this factor will be, as mentioned by by @JG---, equal to '1/cos(x)'. In practice, you can use the SEC() function (which is the same as 1/cos(x)) or, if you prefer, the cos() function with power -1.
So, the parameter should be (assuming that your DEM Z values are in the same coordinates unit than your coordinate system): 1) no cost raster, 2) maximum distance(optional) = your buffer distance, 3) Input vertical raster = your digital ELEVATION model (do not use the slope!) 4) Vertical factor = Sec (with default settings) or Cos (with power = -1).
Once you have this raster, reclassify it to a binary raster (e.g. with Con(distance_raster < your_buffer_distance, 1) ) then convert to polygon.
Cost path gives you the shortest path, which could differ from accumulated distance along the line that is perpendicular to your line of reference because it will try to avoid obstacles (e.g., it will use the pass instead of going straight to the cliff).