結論から言うと、CSSだけだとかなり厳しいと思います。
CSSは画面の幅に応じてスタイルを切り替えることができます。こんな感じに。
CSS
1@media screen and (max-width: 320px) {
2 /* 表示領域が320px以下の場合に適用するスタイル */
3 div#sidebar { width: 100%; }
4}
5@media screen and (min-width: 800px) {
6 /* 表示領域が800px以上の場合に適用するスタイル */
7 div#sidebar { width: 240px }
8}
(https://allabout.co.jp/gm/gc/396404/から引用)
上記の場合でも、要素の位置を変えることはできないので、難しいと思います。
position:fixed; top:10px;
とか言う形で、SP表示の時だけ画面上に固定するなどはできるかと思いますが、
邪魔になると思います。
解決策としては、
CSS
1@media screen and (max-width: 320px) {
2 /* 表示領域が320px以下の場合に適用するスタイル */
3 .sp-only { display: block }
4
5}
6@media screen and (min-width: 800px) {
7 /* 表示領域が800px以上の場合に適用するスタイル */
8 .sp-only { display: none }
9}
みたいな形でSP時のみ表示されるクラスを検索と関連記事のブロックに適用する方法があるかと思います。
(はてなブログでできるかは怪しいですが・・・)