@charset "utf-8";
/* CSS Document */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* ビューポートの高さに合わせる */
    margin: 0;
  }

h2 {
  text-align: center;
}

hr {
	width: 90%;
  margin-top: 30px;
  margin-bottom: 30px;
}

  @media (min-width: 768px) {
  .center-wrapper {
    width: 1000px; /* 必要に応じて調整 */
    /* さらにスタイルを追加 */
  }
.box1 {
    background-color: white;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
    width: auto;
    display: inline-block; /* コンテンツの幅に合わせる */
    border-left:1px solid;
    border-right:1px solid;
  }

  .box2 {
    width: 1000px;
  }

.centtop {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.cent {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
  }

	  .madori {
      margin-left: 50px;
	  }
	  
  table {
    width: 900px;
    margin-left: auto;
    margin-right: auto;
  }

  table, td, th {
    border: none;
  }

  td {
    vertical-align: top;
  }

td.w50 {
		  width:50%;
      vertical-align: middle;
	  }
	  
td.w60 {
		  width:60%;
	  }
td.w40 {
		  width:40%;
	  }
	  
td.w70 {
		  width:70%;
	  }
td.w30 {
		  width:30%;
	  }
	  
  .vcen {
    vertical-align: middle;
  }

.sp {
  display: none;
}

p.catch {
    width: 100%;
	text-align: center;
	  }
	  
  p.caution {
    width: 90%;
    margin: 0px auto;
    font-size: small;
  }

  .imgs {
    width: 600px;
    height: auto;
  }
	  
ul {
	text-align: left;
}

  .left {
    display: block;
    text-align: left;
  }
  }

  @media (max-width: 767px) {

    table, thead, tbody, th, td, tr {
      display: block;
    }
    tr { margin: 0 0 0.5rem 0; }
  
    td {
      /* ブロック要素としてのセルにマージンやパディングを追加 */
      margin: 0;
      padding: 0.5rem 1rem;
      border: none;
  
      /* セルを区別するためのボーダー（オプション） */
      border-bottom: 1px solid #eee;
    }

    .center-wrapper {
      margin-left: 5%;
      margin-right: 5%;
    }

    .box2,
    table {
      width: 100%; /* コンテナの幅を画面幅に合わせる */
    }

    table, td, th {
      border: none;
    }
  
    td {
      vertical-align: top;
    }
  
    .vcen {
      vertical-align: middle;
    }

    body {
      display: block; /* Flexboxの設定を解除 */
    }
  
    img {
      width: 100%;
      height: auto; /* アスペクト比を維持 */
    }

    img.madori {
      display: block;
      width: auto; /* 画像を画面幅に合わせる */
      margin-left: 10px; /* 左右のマージンを自動で調整して中央揃えに */
    }

    .box1 {
      display: block; /* コンテンツの幅に合わせる設定を解除し、幅を100%に */
      margin: 0 auto; /* 中央揃え */
    }
  
    .cent {
      margin-top: 20px; /* 画像の上のマージンを調整 */
    }

    .centtop {
      margin-top: 20px;
    }

  .pc {
    display: none;
  }

    p.caution {
      width: 100%; /* パラグラフの幅を画面幅に合わせる */
    }
	  
	  	  p.catch {
	  }
  }