body {
  display: flex;
  flex-direction: column;
  align-items: center;
  }

p {
  padding: .33em 1em; /*  これは関係ない */ 
  }

h2 {
  padding-left: 1em; /*  これは関係ない */ 
  }

/* ----- hamburger ----------------------------------------------------- */

.sidebar {
  height: 100%; /*100% */
  width: 0;
  position: fixed;
  z-index: 1;
  left: 0;
  background-color: #F0F0F0;
  overflow-x: hidden; /* */
  transition: 0.5s;
  padding-top: 20px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .3); /* 影をつける */
  }

.sidebar a {
  padding: 10px 20px; /* 上下左右のパディングを適切に調整 */
  text-decoration: none;
  font-size: 20px;
  color: #818181; /* #818181 */
  display: block; /* inline ブロックではなくインライン要素に変更 */
  transition: 0.3s;
  border-bottom: 1px solid #ccc;
  }

.sidebar a:hover {
  color:#ccc;  /* #f1f1f1,#A0A0A0 */
  }

.sub ul {
  padding: 10px 20px;
  }

.sub a {
  font-size: 16px;
  }

#hamburger-button {
  position: fixed;
  right: 10px;
  top: 5px;
  font-size: 30px;
  border: none;
  outline: none;
  cursor: pointer;
  /* padding: 10px 20px;  */
  /* border-radius: 5px;  */
  color: #333;
  background-color: #fff;
  }

.info {
  padding-top: 30px;
  padding-bottom:50px;
  }

.info a {
  font-size: 14px;
  border: none;
  }

/*-----------------------------------------------------------------------*/

.container {
  display: flex;
  max-width: 1200px; /* 800px */
  width: 100% ;
  /* margin: 0 auto;margin: 20px 1em; から変更、センター揃え */
  margin: 20px auto 0;
  padding: 70px 10px 20px; /* ヘッダーの高さと同じ余白を本文に追加 */
  text-align: left; /* 追加 */
  background: #fff; /* ここで判断 */
  }

/*-----------------------------------------------------------------------*/

.left {
  width: 15%; /* ここが肝 */
  /* padding: 10px;　左右は設定するとバーが出てくる */;
  /* border-radius: 15px; 角丸 */
  /* background-color: #f5f5f5; */
  }

.content {
  width: 70%; /* ここが肝 */
  padding: 30px 0;　/* 左右は設定するとバーが出てくるので0を死守 */
  background-color: #fff; /* ここで判断 */
  }

.category {
  width: 15%; /* ここが肝 */
  padding: 10px;　/* 左右は設定するとバーが出てくる */;
  border-radius: 15px; /* 角丸 */
  background-color: #f5f5f5;
  }

.category h2 {
  text-align: center;
  margin: .5em 0;
  padding: 0;
  }

.category ul {
  margin: auto;
  width: 80%;
  }

.category a { text-decoration: none; color: #333; }
.category a:hover { text-decoration: none; color: red; }
.category a:active { text-decoration: none; color: red; }
.category a:visited { text-decoration: none; color: #333; }


/* ----- main ---------------------------------------------------------- */

main {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0px; /*これが大きく影響*/
  padding-top: 20px;
  }

main img { 
  display: block;
  margin: auto;
  }

main h1 {
  font-size: 30px;
  text-align: center;
  padding: 0 10px;
  margin-top:50px;
  }

main ul { 
  margin: auto;
  max-width:90%;
  }

/* ----- ex ------------------------------------------------------------ */

.ex {
  margin: 10px;
  padding: 10px 20px;
  border: 1px solid #ccc;
  border-radius: 20px; /* 角丸 */
  background-color: #f5f5f5;
  }

/* ----- シェアボタンのスタイル ----------------------------------------------- */

.sharethis-inline-share-buttons {
  margin: 0 auto 2em;
  background-color: #fff;
  }

/* ----- トップへ戻るボタンのスタイル ------------------------------------------ */

#scrollToTopBtn {
  display: none; /* 最初は非表示 */
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 5px 20px;
  background-color: #333;
  color: #fff;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  }

/* ----- レスポンシブデザイン用 ---------------------------------------------- */
/* ----- body,header,footer以外 ---------------------------------------- */

@media only screen and (max-width: 800px) {
/* 800pxより小さい画面用のスタイル */
  }

@media only screen and (max-width: 768px) {
/* 768pxより小さい画面用のスタイル */
  }

@media (max-width: 600px) {
/* 600pxより小さい：スマホ用の1カラムレイアウト */

 .container {
    flex-direction: column;
    padding: 0;
    margin: 0 auto;
    text-align: left;
    background: #fff;
    }

  main h1{
    font-size: 20px;
    margin-bottom: .5em;
    }

  main ul { 
    margin: auto;
    width:90%;
    }

  .ex h3 {
    font-size: 14px;
    }

  .category {
    padding: 0;
    }

 .left, .content, .category {
    width: 95%;
    margin: auto;
    }

  }

@media only screen and (max-width: 480px) {
  /* 非常に小さい画面用のスタイル */
  }

/* --------------------------------------------------------------------- */
