CSS:親要素の幅を超えて画面幅いっぱいに表示させる方法

<div class="container">
 <div class="inner">インナー
  <div class="contants">コンテンツ</div>
 </div>
</div>
.container {
  background-color: #ccc;
  overflow: hidden;/*横スクロール対策*/
  text-align: center;
  width: 100%;
}
.inner {
  margin-inline: auto;
  max-width: 400px;
  width: 100%;
}
.contents {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

背景のみ画面幅いっぱいにしたい場合

.contents {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  /*背景のみ*/
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

参考サイト
https://junpei-sugiyama.com/width-full/