/* リセットスタイル */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100%;
  height: auto !important;
}

body {
  position: relative;
  line-height: 1.5;
  width: 100% !important;
  max-width: 100% !important;
}

body::after {
  content: none !important;
  display: none !important;
}

footer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* メインコンテナ要素が画面幅いっぱいになるよう設定 */
.container,
.container-fluid {
  width: 100%;
  max-width: 100% !important;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/* スクロールバー領域を確保するセレクタ */
.scroll-container {
  scrollbar-gutter: stable; /* スクロールバー用のスペースを確保 */
  overflow-x: clip; /* はみ出し部分をクリップ */
  width: 100%; /* 親要素に対して100% */
  max-width: 100%; /* 最大幅も制限 */
}

/* スクロールバーのカスタマイズ */
/*
::-webkit-scrollbar {
  width: 14px; /* 8pxから14pxに幅を広げる */
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  background: #2c8b80;
  border-radius: 4px;
}
*/

/* ページラッパー */
#page-wrapper {
  min-height: 100%;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-y: visible;
  overflow-x: clip; /* hidden の代わりに clip を使用 */
}
