Сделать ширину окошка 100vw, но установить лимит в 400px. Тогда влезет во всё, что меньше (с поправкой на содержимое и отступы)
function openPost() {
document.getElementById("mySidepost").style.width = "100vw";
document.getElementById("mySidepost").style.maxWidth = "400px";
[...]
}
Если установлен margin, то будет переполнение по ширине. Нужно вычитать:
document.getElementById("mySidepost").style.width = "calc(100vw - 10px)";
А вообще, немного странно скриптами выполнять работу CSS. Намного лучше эти параметры перенести в стили.