@charset "UTF-8";
@-webkit-keyframes loop-slide-x {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop-slide-x {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@-webkit-keyframes loop-slide-y {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-70%);
  }
}
@keyframes loop-slide-y {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-70%);
  }
}
html {
  scroll-behavior: smooth;
}
.sn-election > section + section {
  margin-top: 6rem;
}
.sn-election h2 {
  text-align: center;
  font-size: 2.7rem;
  margin: 2rem 0;
}
.sn-election h3 {
  text-align: center;
  font-size: var(--size_h_l);
  margin: 0 0 2rem;
}
.sn-election h4 {
  text-align: center;
  margin: 0 0 2rem;
}
.sn-election p {
  margin: 0 0 1.5rem;
}
.sn-election .process_num {
  background-color: #003ac9;
  padding: 1rem;
  border-radius: var(--radius_max);
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  font-weight: bold;
  color: #fff;
  margin: 0rem auto 2rem;
  font-size: var(--size_h_l);
}
.sn-election .ribbon {
  font-size: var(--size_txt_s);
  color: #fff;
}
.sn-election .ribbon {
  --r: 1rem;
  margin: auto;
  padding: 1rem calc(var(--r) + 2rem);
  line-height: 1.25em;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - var(--r)) 50%, 100% 100%, 0 100%, var(--r) 50%);
          clip-path: polygon(0 0, 100% 0, calc(100% - var(--r)) 50%, 100% 100%, 0 100%, var(--r) 50%);
  background: #003ac9;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--size_txt_m);
}
.sn-election ul {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.5rem auto;
  list-style: none;
  padding: 0;
}
.sn-election ul li ul {
  list-style: circle;
}
.sn-election .border-top {
  border-top: 1px solid #989898;
  padding-top: 2rem;
}
.sn-election .border__whitebox {
  background-color: #fff;
  border-radius: var(--radius_l);
  box-shadow: 0px 1px 0px 2px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  padding: 3rem 2rem;
}
.sn-election .border__whitebox--linkbox {
  display: flex;
  justify-content: center;
}
.sn-election .border__whitebox--linkbox [class^=sn_btn--custom_] {
  margin: 0 1rem;
}
@media screen and (max-width: 768px ) {
  .sn-election .border__whitebox--linkbox {
    flex-direction: column;
  }
  .sn-election .border__whitebox--linkbox [class^=sn_btn--custom_] {
    margin: 1rem auto;
  }
}
.sn-election .sn_btn--custom_dark {
  background-color: var(--color_ui_dark);
  color: var(--color_font_on);
  margin: auto;
  display: block;
}
.sn-election .btn_vote::before {
  content: "製品ページで投票する";
}
.sn-election .btn_navy {
  background-color: #052450;
}
.sn-election .btn_navy:hover {
  background-color: #003ac9;
  filter: unset;
}
.sn-election .btn_blue {
  background-color: #003ac9;
}
.sn-election .btn_gradation {
  background: linear-gradient(0deg, #0e3c7e 0%, #196de4 100%);
}
.sn-election .bg__white {
  background-color: #fff;
}
.sn-election .bg__blue {
  background: #003ac9;
}
.sn-election .bg__blue + .bg__blue {
  margin-top: 5rem;
}
.sn-election .bg__light-blue {
  background: #eff9ff;
}
.sn-election .bg__light-blue + .bg__light-blue {
  margin-top: 5rem;
}
.sn-election .bg__orange {
  background: #ff6500;
}
.sn-election .bg__orange + .bg__orange {
  margin-top: 5rem;
}
.sn-election .bg__light-orange {
  background: #fffcef;
}
.sn-election .bg__light-orange + .bg__light-orange {
  margin-top: 5rem;
}
.sn-election .sns__btn {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.sn-election .sns__btn [class*=share-btn__] {
  margin: 0;
}
.sn-election .sns__btn [class*=share-btn__]::before {
  margin-right: 1rem;
}
.sn-election .sns__btn [class*=share-btn__]::after {
  font-size: var(--size_txt_s);
}
.sn-election .sns__btn .share-btn__x {
  background-color: #fff;
}
.sn-election .sns__btn .share-btn__x::before {
  background-image: url(/~/media/img/common/icon/icon_sns_x_b_fill.svg);
  width: 2.5rem;
  padding-top: 2.5rem;
}
.sn-election .sns__btn .share-btn__x::after {
  color: #000;
}
.sn-election .vote__term-early::after {
  content: "2024年7月2日(火) ～ 7月17日(水)";
}
.sn-election .vote__term-late::after {
  content: "2024年7月18日(木) ～ 8月4日(日)";
}
.sn-election .sns__application-term::after {
  content: "2024年7月2日(火) ～ 8月4日(日)";
}
.sn-election .result__announce-mid::after {
  content: "2024年7月18日(木)";
}
.sn-election .result__announce-fin::after {
  content: "2024年8月20日(火)";
}

main {
  overflow-x: hidden;
  margin-bottom: 5rem;
}
main input {
  display: none;
}
main > * {
  max-width: calc(var(--width_max_pc_l) - 2rem);
}
main .sn-election .endtxt {
  width: 52rem;
  height: 10rem;
  border-radius: var(--radius_l);
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px ) {
  main .sn-election .endtxt {
    width: 100%;
  }
}
main .sn-election .endtxt__index {
  color: #052450;
  font-size: var(--size_h_m);
  font-weight: bold;
  margin: 1rem 0 0;
}
main .sn-election .endtxt p {
  margin: 0 !important;
}
main .sn-election__kv-main {
  display: grid;
  grid-template-columns: 0.75fr 1fr 0.75fr;
  grid-template-rows: 1fr 0.25fr;
  gap: 0px 0px;
  grid-template-areas: "side_left center_main side_right" "center_under center_under center_under";
  position: relative;
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main {
    grid-template-columns: 0.5fr 1fr 0.5fr;
  }
}
main .sn-election__kv-main::before {
  content: "";
  background-image: url(/~/media/img/contents/2024/sn-election/logo_sn-election_2024.svg);
  display: block;
  padding-top: 20%;
  margin: auto;
  position: absolute;
  max-width: 32rem;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  left: 0;
  right: 0;
  top: 2rem;
  z-index: 9;
  filter: drop-shadow(0px 0px 6px #fff) drop-shadow(0px 0px 6px #fff);
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main::before {
    width: 100%;
    top: 5vh;
    padding-top: 55%;
  }
}
main .sn-election__kv-main .main__side {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__side {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}
main .sn-election__kv-main .main__side img {
  width: 100%;
  aspect-ratio: 1/1;
}
main .sn-election__kv-main .main__side.left {
  grid-area: side_left;
}
main .sn-election__kv-main .main__side.right {
  grid-area: side_right;
}
main .sn-election__kv-main .main__center {
  grid-area: center_main;
  width: 100%;
  position: relative;
  background-color: #003ac9;
  overflow: hidden;
  height: 0;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__center {
    padding-bottom: 75%;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center {
    padding-bottom: 200%;
  }
}
main .sn-election__kv-main .main__center--backimg {
  display: flex;
  flex-direction: column;
  margin: 0 1rem 0;
  opacity: 0.5;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__center--backimg {
    width: 110%;
    margin: 0 0 0 -5%;
  }
}
main .sn-election__kv-main .main__center--backimg-row {
  -webkit-animation: loop-slide-y 200s infinite linear;
          animation: loop-slide-y 200s infinite linear;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  margin: 0 0 1rem;
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--backimg-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
main .sn-election__kv-main .main__center--backimg-item {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
main .sn-election__kv-main .main__center--backimg-item img {
  width: 100%;
  height: auto;
}
main .sn-election__kv-main .main__center--votebox {
  position: absolute;
  bottom: 16rem;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffff00;
  background-color: rgba(0, 58, 201, 0.6);
  width: 30%;
  padding: 1rem 0rem 1rem 0.75rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--votebox {
    width: 45%;
    bottom: 20svh;
  }
}
main .sn-election__kv-main .main__center--votebox .vote__box-index::before {
  content: "現在の\a投票数";
  white-space: pre;
  line-height: 1.25em;
  font-size: var(--size_txt_xs);
}
main .sn-election__kv-main .main__center--votebox .vote__box-item {
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 4rem;
  text-indent: 0.25em;
  display: block;
  line-height: 0.75em;
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--votebox .vote__box-item {
    font-size: 3rem;
  }
}
main .sn-election__kv-main .main__center--votebox .vote__box-term {
  width: 100%;
  text-align: center;
  margin: 0.5rem 0 0;
}
main .sn-election__kv-main .main__center--votebox .vote__box-term::before {
  content: "投票期限：8月4日(日)";
  font-size: var(--size_txt_s);
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__center--votebox.is_totalling {
    bottom: 10rem;
  }
}
@media screen and (min-width: 1400px ) {
  main .sn-election__kv-main .main__center--votebox.is_totalling {
    bottom: 13rem;
  }
}
main .sn-election__kv-main .main__center--votebox.is_totalling .vote__box-totalling_txt {
  display: block;
  width: 100%;
  margin: auto;
  text-align: center;
  font-size: var(--size_txt_xxl);
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--votebox.is_totalling .vote__box-totalling_txt {
    font-size: var(--size_txt_xl);
  }
}
main .sn-election__kv-main .main__center--votebox.is_totalling .vote__box-totalling_txt::before {
  content: "最終結果を集計中";
}
main .sn-election__kv-main .main__center--votebox.is_totalling .vote__box-totalling_term::before {
  content: "発表は8月20日(火)予定";
}
main .sn-election__kv-main .main__center--votebox.is_final {
  background-color: unset;
  padding: 0rem 0 0rem;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__center--votebox.is_final {
    bottom: 1rem;
  }
}
@media screen and (min-width: 1400px ) {
  main .sn-election__kv-main .main__center--votebox.is_final {
    bottom: 3rem;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--votebox.is_final {
    bottom: unset;
    gap: 0;
    top: 55%;
  }
}
main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_txt {
  display: flex;
  width: 100%;
  margin: auto;
  text-align: center;
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  background-color: rgba(0, 58, 201, 0.6);
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_txt {
    font-size: var(--size_txt_xl);
    flex-direction: column;
    gap: 0;
    padding: 0.5rem 0;
  }
}
main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_txt::before {
  content: "総投票数";
  font-size: var(--size_txt_m);
  font-weight: bold;
  line-height: 1.1em;
}
main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_txt::after {
  font-size: 5rem;
  content: "35,483";
  line-height: 1.1em;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_txt::after {
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: yellow;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_txt::after {
    font-size: 4rem;
  }
}
main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_term::before {
  content: "たくさんの投票、ありがとうございました";
  font-size: var(--size_txt_s);
  margin: 0.5rem auto 0;
  display: block;
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__center--votebox.is_final .vote__box-final_term::before {
    content: "たくさんの投票\aありがとうございました";
    white-space: pre;
    text-align: center;
    line-height: 1em;
  }
}
main .sn-election__kv-main .main__info {
  display: none;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 0.25fr;
  gap: 0px 0px;
  grid-template-areas: "info01 info02" "detail detail";
  grid-area: center_under;
  background-color: #052450;
}
main .sn-election__kv-main .main__info--info01 {
  grid-area: info01;
  display: flex;
  align-items: center;
  margin: 0.5rem 0;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__info--info01 {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__info--info01 {
    justify-content: center;
    width: 50vw;
  }
}
main .sn-election__kv-main .main__info--info01 img {
  margin: 0rem 0;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__info--info01 img {
    width: 28rem;
    margin: 0 1rem;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__info--info01 img {
    width: 80%;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__info--info01 img {
    margin: 0 2rem;
  }
}
main .sn-election__kv-main .main__info--info01::after {
  content: "";
  border: 1px solid #fff;
  height: 90%;
}
main .sn-election__kv-main .main__info--info02 {
  grid-area: info02;
  display: flex;
  align-items: center;
  margin: 0.5rem 0;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__info--info02 {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__info--info02 {
    justify-content: center;
    width: 50vw;
  }
}
main .sn-election__kv-main .main__info--info02 img {
  margin: 0rem 0;
}
@media screen and (min-width: 769px ) {
  main .sn-election__kv-main .main__info--info02 img {
    width: 28rem;
    margin: 0 1rem;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__kv-main .main__info--info02 img {
    width: 80%;
  }
}
main .sn-election__kv-main .main__info--detail {
  grid-area: detail;
  border-top: 1px solid #fff;
  padding: 1rem 0;
}
main .sn-election__kv-main .main__info--detail a {
  text-align: center;
  color: #fff;
  display: block;
  text-decoration: none;
}
main .sn-election__kv-main .main__info--detail a:hover {
  text-decoration: underline;
}
main .sn-election__result {
  margin-top: 0 !important;
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px ) {
  main .sn-election__result {
    background-image: url(/~/media/img/contents/2024/sn-election/img_sn-election_bg_pc.svg);
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__result {
    background-image: url(/~/media/img/contents/2024/sn-election/img_sn-election_bg_sp.svg);
  }
}
main .sn-election__result a {
  transition: all 0.3s;
  display: flex;
}
main .sn-election__result a:hover {
  filter: brightness(1.1);
}
main .sn-election__result .result__wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr) 1.35fr;
  grid-template-rows: repeat(4, 1fr);
  gap: 0.5rem;
  max-width: var(--width_max_pc_m);
  padding: 14rem 0 3rem;
  margin: auto;
  width: 55%;
}
@media screen and (min-width: 488px) and (max-width: 768px) {
  main .sn-election__result .result__wrap {
    padding: 30% 0 3rem;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__result .result__wrap {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: 1fr repeat(4, 0.5fr);
    width: 90vw;
    margin: auto;
    gap: 0;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__result .result__wrap [class^=result__rank] {
    --bg_gray_padd_uad: 0.5rem;
    --bg_gray_padd_side: 1rem;
    background-color: #d8dbe0;
    padding: var(--bg_gray_padd_uad) var(--bg_gray_padd_side) 0;
  }
  main .sn-election__result .result__wrap [class^=result__rank]:last-child {
    padding: var(--bg_gray_padd_uad) var(--bg_gray_padd_side);
  }
}
@media screen and (min-width: 769px ) {
  main .sn-election__result .result__rank01 {
    grid-column: span 2/span 2;
    grid-row: span 4/span 4;
  }
}
@media screen and (min-width: 769px ) {
  main .sn-election__result .result__rank02 {
    grid-column: span 2/span 2;
    grid-row: span 2/span 2;
    grid-column-start: 3;
  }
}
main .sn-election__result .result__rank03 {
  grid-row-start: 3;
}
@media screen and (min-width: 769px ) {
  main .sn-election__result .result__rank03 {
    grid-column: span 2/span 2;
    grid-row: span 2/span 2;
    grid-column-start: 3;
  }
}
@media screen and (min-width: 769px ) {
  main .sn-election__result .result__rank04 {
    grid-row: span 2/span 2;
    grid-column-start: 5;
    grid-row-start: 1;
  }
}
@media screen and (min-width: 769px ) {
  main .sn-election__result .result__rank05 {
    grid-row: span 2/span 2;
    grid-column-start: 5;
    grid-row-start: 3;
  }
}
main .sn-election__lead {
  margin-top: 0rem !important;
}
main .sn-election__lead .index-sub {
  color: #052450;
  font-size: var(--size_h_m);
  font-weight: bold;
  margin: 1rem 0 0;
}
main .sn-election__lead .index-sub.thanks {
  text-align: center;
  margin: 4rem auto;
}
@media screen and (max-width: 768px ) {
  main .sn-election__lead .index-sub.thanks {
    font-size: var(--size_txt_l);
  }
}
main .sn-election__lead .index-main {
  color: #fff;
  padding: 1rem 0;
  margin: 1rem auto 3rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #003ac9;
  position: relative;
  width: 95%;
}
@media screen and (max-width: 768px ) {
  main .sn-election__lead .index-main {
    flex-direction: column;
    padding: 1.5rem 0;
    height: unset;
  }
  main .sn-election__lead .index-main .pc_none {
    display: contents;
  }
}
main .sn-election__lead .index-main::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 1.5rem solid transparent;
  border-left: 1.5rem solid transparent;
  border-top: 2rem solid #003ac9;
  border-bottom: 0;
  position: absolute;
  bottom: -1.75rem;
}
main .sn-election__lead .index-main .head_img {
  position: relative;
  height: 100%;
}
main .sn-election__lead .index-main .head_img::after {
  content: "";
  background-image: url(/~/media/img/contents/2024/sn-election/icon_vote.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  width: 10rem;
  right: -11rem;
  top: -2.25rem;
  height: 8rem;
}
main .sn-election__lead .txt-lead {
  margin: 0rem 0 2rem;
}
main .sn-election__candidate {
  margin-top: 0rem !important;
}
main .sn-election__candidate #party1:checked ~ .sn-election__candidate-list--sort label[for=party1] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party2:checked ~ .sn-election__candidate-list--sort label[for=party2] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party3:checked ~ .sn-election__candidate-list--sort label[for=party3] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party4:checked ~ .sn-election__candidate-list--sort label[for=party4] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party5:checked ~ .sn-election__candidate-list--sort label[for=party5] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party6:checked ~ .sn-election__candidate-list--sort label[for=party6] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party7:checked ~ .sn-election__candidate-list--sort label[for=party7] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party8:checked ~ .sn-election__candidate-list--sort label[for=party8] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party9:checked ~ .sn-election__candidate-list--sort label[for=party9] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate #party10:checked ~ .sn-election__candidate-list--sort label[for=party10] {
  color: #fff;
  background-color: #052450;
}
main .sn-election__candidate-index h2 span {
  font-size: var(--size_txt_m);
}
main .sn-election__candidate-list--sort {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin: 1rem 0 3rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px ) {
  main .sn-election__candidate-list--sort {
    width: 85vw;
  }
}
main .sn-election__candidate-list--sort .candidate__group {
  border: 1px solid #052450;
  padding: 0.5rem 1rem;
  border-radius: var(--radius_max);
  color: #052450;
  font-weight: bold;
  transition: all 0.3s;
  font-size: var(--size_txt_m);
  min-width: 7.5rem;
  text-align: center;
  cursor: pointer;
}
main .sn-election__candidate-list--sort .candidate__group:hover {
  color: #fff;
  background-color: #003ac9;
}
@media screen and (max-width: 768px ) {
  main .sn-election__candidate-list--item {
    grid-row-gap: 1rem;
  }
}
main .sn-election__candidate-list--item .poster__wrap {
  display: grid;
  grid-template-rows: 1fr;
}
main .sn-election__candidate-list--item .poster__large_wrap {
  grid-template-columns: repeat(5, 1fr);
  row-gap: 2rem;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px ) {
  main .sn-election__candidate-list--item .poster__large_wrap {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
main .sn-election__candidate-list--item .poster__large_img {
  filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.3));
  cursor: pointer;
}
main .sn-election__candidate-list--item .poster__large_img img {
  -webkit-clip-path: inset(0px 0px round var(--radius_l));
          clip-path: inset(0px 0px round var(--radius_l));
}
main .sn-election__candidate-list--item .poster__small_wrap {
  grid-template-columns: repeat(10, 1fr);
  row-gap: 2rem;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
@media screen and (max-width: 768px ) {
  main .sn-election__candidate-list--item .poster__small_wrap {
    grid-template-columns: repeat(4, 1fr);
    row-gap: 1rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
main .sn-election__candidate-list--item .poster__small_img {
  filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.3));
  cursor: pointer;
}
main .sn-election__candidate-list--item .poster__small_img img {
  -webkit-clip-path: inset(0px 0px round var(--radius_l));
          clip-path: inset(0px 0px round var(--radius_l));
}
main .sn-election__candidate-list--announce .announce__list {
  padding: 3rem 0;
  max-width: 50rem;
  margin: auto;
  border-radius: var(--radius_l);
}
main .sn-election__candidate-list--announce .announce__list dl {
  display: grid;
  grid-template-columns: auto auto;
  width: 90%;
  margin: auto;
  font-size: var(--size_h_l);
  font-weight: bold;
  grid-row-gap: 1rem;
  grid-column-gap: 0.5rem;
}
main .sn-election__candidate-list--announce .announce__list dl dt {
  justify-self: end;
}
main .sn-election__candidate-list--announce .announce__list dl dd {
  justify-self: start;
  margin: 0;
}
@media screen and (max-width: 768px ) {
  main .sn-election__candidate-list--announce .announce__list dl {
    grid-template-columns: 1fr;
    gap: 0;
  }
  main .sn-election__candidate-list--announce .announce__list dl dt,
main .sn-election__candidate-list--announce .announce__list dl dd {
    justify-self: center;
  }
  main .sn-election__candidate-list--announce .announce__list dl dd:first-of-type {
    margin: 0 0 1rem;
  }
}
main .sn-election__candidate-other {
  margin-top: 4rem;
}
main .sn-election__mordal {
  width: calc(100vw - (100vw - 100%));
  display: none;
}
main .sn-election__mordal.is_open {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 100000 !important;
  align-items: center;
}
main .sn-election__mordal-close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 999999;
  border: none;
  border-radius: var(--radius_m);
  width: 4rem;
  height: 4rem;
}
main .sn-election__mordal-close::before {
  content: "";
  background-image: url(/~/media/img/common/icon/icon_delete.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 80%;
  padding-top: 100%;
}
main .sn-election__mordal-left {
  background-color: #052450;
  border: none;
  position: fixed;
  top: auto;
  bottom: auto;
  padding: 5rem 0.5rem;
  color: #fff;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.75rem;
  --triangle: 1rem;
  transition: all 0.3s;
  z-index: 999999;
  left: 0;
  right: auto;
  border-radius: 0 var(--radius_l) var(--radius_l) 0;
}
main .sn-election__mordal-left:hover {
  background-color: #003ac9;
}
main .sn-election__mordal-left::before, main .sn-election__mordal-left::after {
  font-size: var(--size_h_xs);
  line-height: 1em;
}
@media screen and (max-width: 768px ) {
  main .sn-election__mordal-left {
    --triangle: 0.5rem;
    padding: 5rem 1rem;
    gap: 0.25rem;
  }
  main .sn-election__mordal-left::before, main .sn-election__mordal-left::after {
    font-size: var(--size_h_xxs);
  }
  main .sn-election__mordal-left:hover {
    background-color: #052450;
  }
}
main .sn-election__mordal-left::before {
  content: "前の候補者";
}
main .sn-election__mordal-left::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: var(--triangle) solid transparent;
  border-bottom: var(--triangle) solid transparent;
  border-right: var(--triangle) solid #fff;
  border-left: 0;
}
.scrollTo-bottom main .sn-election__mordal-left {
  background-color: var(--color_ui_disable);
}
main .sn-election__mordal-right {
  background-color: #052450;
  border: none;
  position: fixed;
  top: auto;
  bottom: auto;
  padding: 5rem 0.5rem;
  color: #fff;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.75rem;
  --triangle: 1rem;
  transition: all 0.3s;
  z-index: 999999;
  left: auto;
  right: 0;
  border-radius: var(--radius_l) 0 0 var(--radius_l);
}
main .sn-election__mordal-right:hover {
  background-color: #003ac9;
}
main .sn-election__mordal-right::before, main .sn-election__mordal-right::after {
  font-size: var(--size_h_xs);
  line-height: 1em;
}
@media screen and (max-width: 768px ) {
  main .sn-election__mordal-right {
    --triangle: 0.5rem;
    padding: 5rem 1rem;
    gap: 0.25rem;
  }
  main .sn-election__mordal-right::before, main .sn-election__mordal-right::after {
    font-size: var(--size_h_xxs);
  }
  main .sn-election__mordal-right:hover {
    background-color: #052450;
  }
}
main .sn-election__mordal-right::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: var(--triangle) solid transparent;
  border-bottom: var(--triangle) solid transparent;
  border-left: var(--triangle) solid #fff;
  border-right: 0;
}
main .sn-election__mordal-right::after {
  content: "次の候補者";
}
.scrollTo-top main .sn-election__mordal-right {
  background-color: var(--color_ui_disable);
}
main .sn-election__mordal-contentwrap {
  --gap-size: 20px;
  height: 100vh;
  width: 100%;
  display: flex;
  gap: var(--gap-size);
  align-items: center;
  background-color: var(--color_modal-mid);
  z-index: 999998;
  position: relative;
  overflow-x: hidden;
  padding: 0 calc(50% + var(--gap-size) * 0.5 - var(--item-width) * 0.5);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
@media screen and (max-width: 768px ) {
  main .sn-election__mordal-contentwrap {
    overflow-x: scroll;
  }
}
main .sn-election__mordal-item {
  padding: 2rem;
  border-radius: var(--radius_l);
  background-color: var(--color_ui_light);
  box-shadow: var(--shadow_light);
}
main .sn-election__mordal-item--main {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 0.25fr 0.5fr 0.1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0;
  margin: 0 0 1rem;
}
main .sn-election__mordal-item--main p {
  margin: 0;
  padding: 0 1.6rem;
}
main .sn-election__mordal-item--main img {
  display: block;
  margin: auto;
  width: 60%;
}
main .sn-election__mordal-item--main .p-name {
  font-size: var(--size_txt_m);
  font-weight: bold;
  min-height: 4em;
  align-items: center;
  justify-content: center;
  display: flex;
}
main .sn-election__mordal-item--main .p-name + p {
  min-height: 7em;
}
main .sn-election__mordal-item--main .sn_btn--custom_dark {
  margin: 0rem auto;
  display: block;
}
main .sn-election__mordal-item--under .sns__txt {
  padding: 0 0;
  border-top: 1px solid #eee;
}
main .sn-election__application-contents {
  padding: 0 0 3rem;
  margin-top: 6rem !important;
}
main .sn-election__application-contents .main-index {
  color: #fff;
  padding: 1rem 0;
  margin: 0;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px ) {
  main .sn-election__application-contents .main-index {
    display: flex;
    flex-direction: column;
  }
  main .sn-election__application-contents .main-index .pc_none {
    display: contents;
  }
}
main .sn-election__application-contents .main-index .head_img {
  position: relative;
}
main .sn-election__application-contents .main-index .head_img::before {
  content: "";
  background-size: contain;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  bottom: -4rem;
}
@media screen and (max-width: 768px ) {
  main .sn-election__application-contents .main-index.prize {
    padding: 5rem 0 2rem;
  }
}
main .sn-election__application-contents .main-index.prize .head_img::before {
  background-image: url(/~/media/img/contents/2024/sn-election/icon_vote.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  width: 10rem;
  right: -12rem;
  top: -5rem;
  height: 8rem;
}
@media screen and (max-width: 768px ) {
  main .sn-election__application-contents .main-index.prize .head_img {
    width: 100%;
  }
  main .sn-election__application-contents .main-index.prize .head_img::before {
    right: 0;
    top: -24rem;
    height: 8rem;
    left: 0;
    margin: auto;
  }
}
@media screen and (max-width: 768px ) {
  main .sn-election__application-contents .main-index.sns {
    padding: 5rem 0 2rem;
  }
}
main .sn-election__application-contents .main-index.sns .head_img::before {
  background-image: url(/~/media/img/contents/2024/sn-election/icon_application-sns-index.png);
  padding-top: 8rem;
  width: 8rem;
  left: -10rem;
  top: -6rem;
}
@media screen and (max-width: 768px ) {
  main .sn-election__application-contents .main-index.sns .head_img {
    width: 100%;
  }
  main .sn-election__application-contents .main-index.sns .head_img::before {
    right: 0;
    top: -13rem;
    height: 7rem;
    left: 0;
    margin: auto;
    padding-top: 0;
  }
}
main .sn-election__application-contents--item {
  margin: 0 0 3rem;
}
main .sn-election__application-contents--item h4 {
  font-size: var(--size_h_m);
  font-weight: normal;
  margin: 0 0 0.5rem;
}
main .sn-election__application-contents--item h4 + p {
  font-size: var(--size_txt_s);
  margin: 0;
}
main .sn-election__application-contents--item .prizelist__wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 1.5rem;
  grid-row-gap: 5rem;
}
@media screen and (max-width: 768px ) {
  main .sn-election__application-contents--item .prizelist__wrap {
    grid-template-columns: 1fr;
    gap: 5rem;
  }
}
main .sn-election__application-contents--item .prizelist__wrap.single {
  grid-template-columns: 1fr;
  margin-bottom: 4rem;
}
main .sn-election__application-contents--item .prizelist__wrap.single img {
  width: 45%;
}
main .sn-election__application-contents--item .prizelist__box {
  display: grid;
  gap: 1rem;
}
main .sn-election__application-contents--item .prizelist__box > * {
  text-align: center;
}
main .sn-election__application-contents--item .prizelist__box h3 {
  margin: 0;
  font-size: var(--size_h_s);
}
main .sn-election__application-contents--item .prizelist__box-image {
  margin: 0;
  position: relative;
}
main .sn-election__application-contents--item .prizelist__box-image img {
  z-index: 2;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px ) {
  main .sn-election__application-contents--item .prizelist__box-image img {
    width: 50%;
  }
}
main .sn-election__application-contents--item .prizelist__box-image::after {
  content: "";
  height: 100%;
  border-radius: var(--radius_max);
  background-color: #fff;
  display: block;
  position: absolute;
  aspect-ratio: 1/1;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
main .sn-election__application-contents--item .prizelist__box-name {
  margin: 0;
  line-height: 1.5em;
}
@media screen and (min-width: 769px ) {
  main .sn-election__application-contents--item .prizelist__box-name {
    min-height: 6rem;
  }
}
main .sn-election__application-contents--item .prizelist__box-name .use_term {
  display: block;
  font-size: var(--size_txt_s);
  margin: 0.5rem 0 0;
}
main .sn-election__application-contents--item .prizelist__box-lottery {
  background-color: #003ac9;
  color: #fff;
  font-weight: bold;
  padding: 0.5rem 0;
  width: 60%;
  margin: 0 auto;
}
main .sn-election__application-contents--item .sns_image img {
  margin: 1rem;
}
main .sn-election__application-contents--item .sns_image.x_imgage img {
  max-width: 6rem;
}
main .sn-election__notes-index h2 {
  margin: 0 0 1.5rem;
}
main .sn-election__notes-contents ul:not(ul ul) {
  margin: 0 0 1.5rem;
}
main .sn-election__notes-contents ul li {
  list-style: disc;
}
main .sn-election__notes-contents ul li ul li {
  list-style: circle;
}