1個のボタンをPCでは最大480px、狭い領域では親要素の幅に合わせる例です。
メディアクエリやGridを使わず、CSSのmin()で上限を決めます。
旧例のminmax(250px, 1fr)は250px未満の領域でははみ出すため撤回しました。
動くサンプル
WAZAのトップページへPCの1280px幅とスマホ相当の390px幅で、Tabで選択すると3pxの青いフォーカス枠が表示されることを確認しました。
以下はスマホ幅での実画面です。

HTMLとCSSの貼付先
HTMLは記事のカスタムHTMLブロック、CSSは追加CSS欄に貼り付けます。
リンク先は自分のページへ変更してください。
この専用クラスを付けたリンクだけに適用されます。
<a class="waza-fluid-button" href="https://motoki-design.co.jp/wordpress/">WAZAのトップページへ</a>.waza-fluid-button {
display: block;
box-sizing: border-box;
width: min(100%, 480px);
margin: 3em auto;
padding: 0.9em 1em;
border: 1px solid #333;
border-radius: 5px;
background: #fff;
color: #333;
text-align: center;
text-decoration: none;
overflow-wrap: anywhere;
}
.waza-fluid-button:hover { background: #333; color: #fff; }
.waza-fluid-button:focus-visible { outline: 3px solid #075b9e; outline-offset: 3px; }幅の決まり方
width: min(100%, 480px)は親要素の幅と480pxの小さい方を選びます。
box-sizing: border-boxにより、内側の余白(padding)と枠線を指定幅に含めます。
外側の余白(margin)は含まれません。
複数ボタンの列数を変える例ではありません。
長い文字は折り返します。
確認と戻し方
PC幅とスマホ幅で横にはみ出さないこと、Tabで枠が表示されEnterでリンク先へ移動できることを確認します。
見た目の変更を解除する場合は、追加したCSSとwaza-fluid-buttonクラスを取り除きます。
a要素とhrefを残すと通常のリンクになるため、リンク自体も不要なら追加したHTMLを削除してください。
min()の仕様も参照してください。
外部GitHubに保存された旧例は同期していません。



