The following works in either LuaLaTeX or XeLaTeX:
\documentclass{article}
\tracinglostchars=2 % Warn if a character is missing
\usepackage{iftex} % For \ifluatex, \ifxetex
\usepackage[english]{babel}
\usepackage{unicode-math} % For \setmathfont
\usepackage{xcolor, framed} % For shaded*
\defaultfontfeatures{ Scale=MatchLowercase,
Ligatures=TeX }
\babelfont{rm}
[Ligatures=Common,Scale=1.0,Language=Default]{TeX Gyre Termes} % Clone of Times.
\babelfont{sf}
[Ligatures=Common,Language=Default]{TeX Gyre Heros} % Clone of Helvetica.
\babelfont{tt}
[Language=Default]{Libertinus Mono}
\setmathfont{TeX Gyre Termes Math}
\ifluatex
\babelprovide[import, onchar=ids fonts]{japanese}
\else
\babelprovide[import]{japanese}
\usepackage{ucharclasses}
\setTransitionsForJapanese%
{\begin{otherlanguage}{japanese}}%
{\end{otherlanguage}}
\fi
\babelfont[japanese]{rm}
[Renderer=HarfBuzz]{HaranoAjiMincho}
\babelfont[japanese]{sf}
[Renderer=HarfBuzz]{HaranoAjiGothic}
% Define \babelfont[japanese]{tt} here, if needed.
\definecolor{shadecolor}{RGB}{238, 130, 238}
\newenvironment{example}%
{\begin{shaded}}%
{\end{shaded}}
\begin{document}
\begin{example}
{\huge 口} meaning mouth Kun'yomi: くち\ On'yomi: コウ、ク\
\end{example}
\end{document}

Here, I used the framed package, which should be able to deal with page breaks. Ulrike Fischer’s solution based on tcolorbox will also work, and you can configure that package to do fancier things.