/* 全体 */
body {
  font-family: "Noto Sans JP", Meiryo, "Hiragino Kaku Gothic Pro", sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.8;
  color: #333;
  background: #FAFAFA;
}
a {
  color: #004B8D;
  text-decoration: none;
  transition: color 0.25s;
}
a:hover { color: #002B5C; text-decoration: underline; }

/* ヘッダー */
header {
  background: #004B8D;
  color: #fff;
  text-align: center;
  padding: 20px 15px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
header h1 {
  margin: 0;
  font-size: 1.6em;
  font-weight: bold;
  letter-spacing: 1px;
}
.logo-wrapper img {
  max-height: 55px;
  vertical-align: middle;
}

/* 本文 */
main {
  max-width: 900px;
  margin: 30px auto;
  padding: 0 20px;
}
p, ul { 
  margin-bottom: 16px; 
  font-size: 1.05em; 
  color: #444; 
}
ul { padding-left: 1.8em; list-style-type: disc; }

.kifu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  width: fit-content;        /* 中身の幅に合わせて縮む */
  margin-left: auto;         /* 右寄せ */
  text-align: left;          /* テキストは左揃え（行頭を揃える） */
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
}

.kifu-list li {
  padding: 4px 0;
}

.kifu-list a {
  color: #333;
  text-decoration: none;
}

.kifu-list a:hover {
  text-decoration: underline;
  color: #0066cc;
}

.center {
  text-align: center;
}

img {
  max-width: 100%;
  height: auto;
  margin-top: 10px; 
  margin-bottom: 16px; 
}

/* h2:章タイトル（左ラインなし） */
h2 {
  background: #004B8D;
  color: #fff;
  font-size: 1.35em;
  font-weight: bold;
  padding: 12px 18px;
  border-radius: 4px;
  margin: 35px 0 20px;
  position: relative;
}

/* h3:小見出し（下線） */
h3 {
  color: #004B8D;
  font-size: 1.15em;
  font-weight: bold;
  margin: 20px 0 10px;
  padding-bottom: 4px;
  border-bottom: 2px solid #004B8D; /* 下線で強調 */
}

/* ボックス（左ライン・ホバーなし） */
.simulator-box, .tax-box {
  background: #F7F8FA;
  padding: 22px;
  border-radius: 8px;
  margin: 30px 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.07);
}

.box-secondary {
  background: #fff; /* 落ち着いた白系グレー */
  padding: 20px;
  border-radius: 6px;
  margin: 20px 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08); /* 控えめ影で軽やか */
}

/* ボタン */
.button-primary {
  display: inline-block;
  margin: 14px 0;
  padding: 16px 32px; /* 主要ボタンは大きめ */
  background: linear-gradient(135deg, #003366, #004B8D);
  color: #fff;
  font-weight: bold;
  font-size: 1.1em;
  border-radius: 4px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
  transition: all 0.25s ease-in-out;
  text-align: center;
}

.button-primary:hover {
  background: linear-gradient(135deg, #0052A0, #0066C0); /* 明度を上げて目立つ */
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
  transform: translateY(-2px);
}

.button-secondary {
  display: inline-block;
  margin: 12px 0;
  padding: 12px 24px; /* 補助ボタンは少し小さめ */
  background: #004B8D; 
  color: #fff;
  font-weight: bold;
  font-size: 1em;
  border-radius: 4px;
  border: 1px solid #003366;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12);
  transition: all 0.25s ease-in-out;
  text-align: center;
}

.button-secondary:hover {
  background: #0055AA; /* 明度を少し上げて押せる感を出す */
  border-color: #004B8D;
  box-shadow: 0 3px 8px rgba(0,0,0,0.18);
  transform: translateY(-1px);
}

/* フッター */
footer {
  text-align: center;
  font-size: 0.9em;
  color: #666;
  padding: 20px 0;
  border-top: 1px solid #ddd;
  background: #FAFAFA;
}

/* レスポンシブ */
@media(max-width:600px){
  .logo-wrapper img { max-height: 45px; }
  main { padding: 0 12px; }
  h2 { font-size: 1.2em; padding: 10px 14px; }
  h3 { font-size: 1em; padding: 6px 10px; }
  .button { padding: 10px 20px; font-size: 0.95em; }
}