How to set the camera Z to "fit" an object's dimensions MINUS some pixel value?

Let’s assume I have a ThreeJS scene which is full width and full height of the browser viewport:

this.scene = new THREE.Scene();
		//create camera
		this.camera = new THREE.PerspectiveCamera(20, Viewport.aspectRatio, 0.1, 1000);
		this.camera.position.z = ????;

		this.renderer = new THREE.WebGLRenderer({antialias:true, alpha:true});
		this.renderer.setClearColor(0x000000, 0);
		this.renderer.setSize(Viewport.innerWidth, Viewport.innerHeight);

In this scene I have a single plane at 0,0,0 and size of 1x1.

I need a way to position the camera’s Z value so that the plane perfectly fills the height of the scene MINUS 80px of screen pixels. This is because I will have actual 2D DOM elements floating over the canvas layer in my HTML file. I want the camera to always afford some margin at the top and bottom so that the plane fills up as much of the screen as possible aside from that margin area.

How might one calculate the camera Z position for this?