html {
 }

body {
  font-family: 'Noto Sans', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif, 'Font Awesome', 'Font Awesome 5 Free','Font Awesome 5 Brands', 'Font Awesome';
  font-weight: 300;
  margin: 0 auto;
  padding: 0;
  max-width: 800px;       /* 最大幅を800pxに制限 */
  width: 100%;            /* 画面サイズに合わせて可変 */
  margin: 0 auto;         /* 中央寄せ */
  padding: 20px;          /* 周囲に余白 */
  box-sizing: border-box; /* パディングを含めた幅計算 */
  background-color: #ffffff;
  text-align:center;
 }

img.responsive {
  width: 100%;     /* 親要素（bodyなど）の幅に合わせる */
  height: auto;    /* 縦横比を維持して縮小 */
  display: block;  /* 余計な隙間を消す（特に中央寄せ時に有効） */
  margin: 0 auto;  /* 中央に配置 */
}

h1.prd_title_bs,
h1.prd_title_af,
h1.prd_title_ma1 {
  margin-top:1em;
  padding:10px;
  color:#ffffff;
  font-size:140%;
  line-height:130%;
  text-align:center;
 }

h1.prd_title_bs {
  background-color:#004ea2;
  border-bottom: 5px #3498db solid; /* 明るめのブルーに変更 */
 }

h1.prd_title_af {
  background-color:#29b187;
  border-bottom: 5px #77dfbf solid; /* 明るめのブルーに変更 */
 }

h1.prd_title_ma1 {
  background-color:#007ba0;
  border-bottom: 5px #6db5cb solid; /* 明るめのブルーに変更 */
 }


h3 {
  margin-top:2em;
  background-color:#eeeeee;
  border-bottom:5px #cccccc solid;
  padding: 5px;
 }

table {
  width: 100%;
 }

th {
  width:25%;
 }

td {
  text-align:left;
 }

input {
  font-size:100%;
 }

input[type="button"],
input[type="submit"] {
  background-color: #e19d34; /* 背景色 */
  color: white;              /* 文字色 */
  border: none;              /* 枠線なし */
  padding: 15px 30px;        /* 内側余白 */
  border-radius: 25px;        /* 角を丸くする */
  font-size: 16px;           /* 文字サイズ */
  font-weight: bold;
  cursor: pointer;           /* ホバー時に指カーソル */
  transition: background-color 0.2s ease; /* 色変化を滑らかに */
}

/* マウスオーバー時（少し明るく） */
input[type="button"]:hover {
  background-color: #eeb255; /* 明るめのブルーに変更 */
}

select {
  font-size:100%;
  font-family: 'Noto Sans', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif, 'Font Awesome', 'Font Awesome 5 Free','Font Awesome 5 Brands', 'Font Awesome';
  font-weight: 300;
 }

.q_lead {
  color:#888888;
  font-weight:bold;
  font-size:85%;
  line-height:120%;
  border-bottom:1px #bbbbbb solid;
  padding-bottom:0.3em;
  margin-bottom:0.3em;
 }

.caut_red {
  color:#ee0000;
  font-size:85%;
 }

.caut {
  font-size:85%;
  margin-bottom:0.5em;
 }

.error_blue {
  font-weight:bold;
  color:blue;
}

.copyright {
  text-align:center;
  color:#666666;
  margin:40px 0 20px 0;
  font-size:12px;
 }

table.responsive {
  width: 100%;
  border-collapse: collapse; /* ← これが重要！ */
  border-top: 1px dotted #888888; /* 線は1pxで統一 */
  margin-bottom: 20px;
}

table.responsive th,
table.responsive td {
  border-bottom: 1px dotted #888888; /* 線は1pxで統一 */
  padding: 10px;
  text-align: left;
  box-sizing: border-box;
}

/* ======== PC時（横並び） ======== */
table.responsive tr {
  display: flex;
  flex-direction: row;
}

table.responsive th {
  width: 30%;
  background-color: #f0f0f0;
}
table.responsive td {
  width: 70%;
}

/* ======== スマホ時（上下） ======== */
@media (max-width: 600px) {
  table.responsive tr {
    display: flex;
    flex-direction: column;
  }

  table.responsive th,
  table.responsive td {
    width: 100%;
    display: block;
  }

  table.responsive th {
    background-color: #eaeaea;
    border-bottom: none; /* thとtdの間の線を整える */
  }

  table.responsive td {
    border-top: none;
  }
}



/* スマホ・小画面向け微調整 */
@media (max-width: 600px) {
  body {
    padding: 10px;
  }

  th, td {
    font-size: 14px;
    padding: 6px;
  }
}



