In solving this question, I have come up with the following result.
Theorem: Let $X \subset \mathbb R^d$ be non-empty open convex. There is a sequence $(X_n)$ of closed convex subsets of $X$ such that $X_n \nearrow X$, i.e., $X_n \subset X$ and $\bigcup_n X_n = X$.
My attempt: Let $$ X_n := \{x \in \mathbb R^d \mid \inf_{y \in X^c} |x-y| \ge 1/n\} \quad \forall n \in \mathbb N^*. $$
Clearly, $X_n \subset X_{n+1} \subset X$. Let $(x_m) \subset X_n$ such that $x_m \to a \in \mathbb R^d$. Then $$ \inf_{y \in X^c} |a-y| \ge \inf_{y \in X^c} [|x_m-y|-|x_m-a|] = \left [ \inf_{y \in X^c} |x_m-y| \right ] - |x_m-a| \ge \frac{1}{n} - |x_m-a|. $$
It follows that $$ \inf_{y \in X^c} |a-y| \ge \frac{1}{n} - \lim_m|x_m-a| = \frac{1}{n}. $$
Hence $a \in X_n$, and thus $X_n$ is closed. Let $a \in X$. Then $\inf_{y \in X^c} |a-y| >0$ because $X^c$ is closed. Then $a \in X_n$ for sufficiently large $n$. Hence $\bigcup_n X_n = X$.
Let $a,b \in X_n$ and $\lambda \in (0, 1)$. Let $c := \lambda a + (1-\lambda)b$. We have $$ \inf_{y \in X^c} |a-y| \ge \frac{1}{n} \quad \text{and} \quad \inf_{y \in X^c} |b-y| \ge \frac{1}{n}. $$
We want to prove that $c \in X_n$.
In my attempt, I'm stuck at proving that $X_n$ is convex. Could you elaborate on how to proceed?
Update: Let $Y_n := \{x \in \mathbb R^d \mid |x| \le n\}$. Then $Y_n$ is closed convex. Let $Z_n := X_n \cap Y_n$. Then $(Z_n)$ is a sequence of bounded closed convex subsets of $X$ such that $Z_n \nearrow X$.