@charset "UTF-8";

/* =========================================================
   国政選挙候補者公募ページ（page-national-elections）
   - すべてのセレクタを .national-elections スコープ配下に
     閉じて、他ページへの影響を確実に防ぐ
   ========================================================= */

.national-elections .application_data .application_block + .application_block {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .national-elections .application_data .application_block + .application_block {
    margin-top: 8vw;
  }
}

/* 黄色枠内の見出し（.c-headline02）は黄色枠の上端/ブロック区切りと干渉しないよう
   top margin を 0 にリセット。下線は 4px に細く */
.national-elections .application_data .c-headline02 {
  margin-top: 0;
  border-bottom-width: 4px;
}

/* リスト（ul）
   行間はサイト基本設定（body の line-height: 1.7）に合わせる */
.national-elections .application_data .application_list {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1.7;
}
.national-elections .application_data .application_list > li {
  position: relative;
  padding-left: 1.2em;
  text-align: justify;
  line-height: 1.7;
}
.national-elections .application_data .application_list > li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: #003f82;
  font-size: 0.8em;
  line-height: 1.7;
}
.national-elections .application_data .application_list > li + li {
  margin-top: 0;
}

/* ネストされた ul（資格年齢や住所要件の内訳） */
.national-elections .application_data .application_list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1.7;
}
.national-elections .application_data .application_list ul > li {
  position: relative;
  padding-left: 1em;
  line-height: 1.7;
}
.national-elections .application_data .application_list ul > li::before {
  content: "–";
  position: absolute;
  left: 0;
  top: 0;
  color: #003f82;
  font-weight: 700;
}
.national-elections .application_data .application_list ul > li + li {
  margin-top: 0;
}

/* リスト内の strong（項目ラベル）は本文と同じ line-height を維持 */
.national-elections .application_data .application_list strong {
  line-height: inherit;
}

/* 小論文の3テーマ（ol） */
.national-elections .application_data .application_list ol {
  list-style: none;
  counter-reset: essay-theme;
  margin: 0;
  padding: 0;
  line-height: 1.7;
}
.national-elections .application_data .application_list ol > li {
  position: relative;
  padding-left: 2em;
  counter-increment: essay-theme;
  line-height: 1.7;
}
.national-elections .application_data .application_list ol > li::before {
  content: "（" counter(essay-theme) "）";
  position: absolute;
  left: 0;
  top: 0;
}
.national-elections .application_data .application_list ol > li + li {
  margin-top: 0;
}

/* 履歴書フォーマット ダウンロードボタン（参考ページ準拠） */
.national-elections .application_data .resume-download-buttons {
  display: flex;
  gap: 12px;
  margin: 0.5em 0;
}
.national-elections .application_data .resume-download-btn {
  display: inline-block;
  min-width: 300px;
  padding: 7px 5px;
  background: #003f82;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 0;
  font-size: inherit;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
  box-sizing: border-box;
}
.national-elections .application_data .resume-download-btn:hover,
.national-elections .application_data .resume-download-btn:focus {
  background: #fabe00;
  color: #003f82;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .national-elections .application_data .resume-download-buttons {
    flex-direction: column;
    align-items: flex-start;
    margin: 2vw 0 5vw;
  }
  .national-elections .application_data .resume-download-btn {
    min-width: 0;
    width: 100%;
  }
}

/* 黄色線枠内最下部の CTA ボタン
   上下マージンを揃える */
.national-elections .application_data > .c-btn_wrap {
  margin: 60px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .national-elections .application_data > .c-btn_wrap {
    margin: 10vw 0;
  }
}
