table#bakusaiMap td.hokkaido a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_hokkaido.png") no-repeat scroll center center;
}

table#bakusaiMap td.kita-tohoku a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_tohoku.png") no-repeat scroll center left;
}

table#bakusaiMap td.minami-tohoku a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_minamitohoku.png") no-repeat scroll center center;
}

table#bakusaiMap td.area_flex.kita-kanto a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_kitakanto.png") no-repeat scroll center center;
    width: 47px;
    height: 47px;
    margin: 6px auto 0 5px;
}
table#bakusaiMap td.area_flex.minami-kanto a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_minamikanto.png") no-repeat scroll center center;
    margin: 2px auto 0 1px;
}
table#bakusaiMap td.koshinetsu a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_koshinetsu.png") no-repeat scroll center center;
}

table#bakusaiMap td.tokai a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_tokai.png") no-repeat scroll center center;
}

table#bakusaiMap td.hokuriku a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_hokuriku.png") no-repeat scroll center center;
}

table#bakusaiMap td.kansai a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_kansai.png") no-repeat scroll center center;
}

table#bakusaiMap td.sanyo a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_sanyo.png") no-repeat scroll center center;
}

table#bakusaiMap td.sanin a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_sanin.png") no-repeat scroll center center;
}

table#bakusaiMap td.shikoku a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_shikoku.png") no-repeat scroll center center;
}

table#bakusaiMap td.hokubu-kyushu a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_hokubukyushu.png") no-repeat scroll center center;
}
table#bakusaiMap td.nanbu-kyushu a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_nanbukyushu.png") no-repeat scroll center center;
}

table#bakusaiMap td.okinawa a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_okinawa.png") no-repeat scroll center center;
}

table#bakusaiMap td.oversea a::after {
    background: transparent url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/icon/ico_oversea.png") no-repeat scroll center 0px;
}

table#bakusaiMap td a span {
  bottom: 16px;
  display: block;
  left: 0;
  padding: 0;
  position: absolute;
  right: 0;
  font-size: 17px;
  line-height: 24px;
  z-index: 10;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
            -1px 1px 0 #FFF, 1px -1px 0 #FFF,
            0px 1px 0 #FFF,  0-1px 0 #FFF,
            -1px 0 0 #FFF, 1px 0 0 #FFF;
}

#logo {
  height: auto;
  width: 600px;
  /* background: #fff; */
  margin: 60px 0 20px;
}

#indexLogoBnr {
    margin: 0 auto 0px;
}

#postRankWrap {
  margin-top: -50px;
}

div#areaMap {
  border-radius: 5px;
  padding: 10px 18px 5px;
  position: relative;
  /* background: #fff; */
  z-index: 3;
  margin: -10px auto 30px
}

#indexLogoBnr .indexLogoBnrInner {
  margin: 0 auto;
  width: 100%;
}

.aprilfool_text {
  width: 750px;
  text-align: right;
  margin: 0 auto;
}

div#areaMap {
    border-radius: 5px;
    padding: 10px 18px 5px;
    position: relative;
    /* background: #fff; */
    z-index: 3;
    margin: -10px auto 0px;
}
div#areaMap.event_map {
    margin: 20px auto 0px !important;
}

p.aprilfool_emoji {
    font-family: Segoe UI emoji;
}

table#bakusaiMap td a:hover span, table#bakusaiMap td a:active span {
    text-shadow: none;
}

.index_banner {
    position: absolute;
    top: 10px;
    left: 150px;
    z-index: 2;
}

.index_banner img {
    width: 110%;
}

/* 雪のcss */
.backsnow {
    color: #bef;
    font-size: 10px;
    position: fixed;
    top: -5%;
    text-shadow:
    5vw   -100px 2px,
    10vw  -400px 3px,
    20vw  -500px 4px,
    30vw  -580px 1px,
    39vw  -250px 2px,
    42vw  -340px 5px,
    56vw  -150px 2px,
    63vw  -180px 0,
    78vw  -220px 4px,
    86vw  -320px 9px,
    94vw  -170px 7px;
    animation: roll 15s linear infinite;
    z-index: 100;
  }
  .backsnow2nd{animation: anim 8s linear infinite;}
  
  @keyframes roll {
      0% {transform:rotate(0deg);}
     90% {opacity:1;}
     100% {transform:rotate(20deg);top:100%;opacity:0;}
  }
  @keyframes anim {
    100% {color:transparent;top:150%;}
  }

/* 10億投稿達成画面の縮小  */
.index_res10Billion_wrapper{
    display: flex;
    justify-content: center;
    margin: 0 auto 10px;
    position: relative;
    z-index: 100;
}
.index_billion_img_wrap{
    position: relative;
}

.index_res10Billion_balloon {
    position: relative;
    background: var(--bakusai_blue);
    color: #fff;
    padding: 2px 15px 9px;
    font-size: 25px;
    border-radius: 5px;
    margin: 15px 0px 15px 15px;
    font-weight: bold;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
}

.index_res10Billion_wrapper img {
    width: auto;
    height: 60px;
}

.index_res10Billion_balloon::before {
    position: absolute;
    left: -10px;
    top: 2px;
    width: 15px;
    height: 30px;
    background: var(--bakusai_blue);
    clip-path: polygon(0 50%, 140% 0, 140% 100%);
    content: '';
}

.index_billion_chara_name {
    position: absolute;
    bottom: -1px;
    right: 0px;
    z-index: 100;
}
.mac {
    .index_billion_chara_name {
        bottom: 0px;
  }
}

.index_Billion_balloon_wrap{
    position: relative;
}

.index_billion_posts {
    position: absolute;
    bottom: 24px;
    right: 16px;
    color: #fff;
}

.index_billion_pege_link {
    font-size: 12px;
    position: relative;
    top: 0px;
    right: 46px;
    font-weight: bold;
    text-align: right;
}
.mac {
    .index_billion_pege_link {
        right: 54px;
    }
}

/* index event banner */

div.event_index_banner {
    position: relative;
    width: 350px;
    height: 150px;
    font-feature-settings: "palt" on;
    background-color: #FFF;
    overflow: hidden;
}

div.event_index_banner img,
div.event_index_banner video {
    width: 350px;
    height: 150px;
    vertical-align: top;
    background-color: #FFF;
    object-fit: contain;
    color: #FFF;
    aspect-ratio: auto;
    backface-visibility: hidden;
    box-sizing: content-box;
    display: block;
    filter: drop-shadow(0px 0px #000);
    outline: none;
    border: none;
}
div.event_index_banner video {
    image-rendering: pixelated;
    -webkit-font-smoothing: antialiased;
    transform: translateZ(0);
}
div.index_banner p {
    width: 100%;
    margin: 0px !important;
    text-align: center;
    font-size: 14px;
    position: absolute;
    inset: 0;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 16px;
}
div.event_index_banner p i.fa.fa-external-link {
    margin-left: 4px;
}
/* /index event banner */
/* event バナーのテキスト装飾 */
.index_event_title {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -13%);
    position: absolute;
    z-index: 10;
    width: 330px;
    font-size: 25px;
    text-align: center;
    line-height: 0.95em;
    font-weight: bold;
    color: #FFF;
    -webkit-background-clip: text;
    text-shadow: 0 0 3px #000;
}
/* /event バナーのテキスト装飾 */
/* ChristmasBOX　バナー */
div.Christmas_box_wapper {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
div.Christmas_box_container {
    position: relative;
    text-align: center;
}
.giftbox {
    animation: bounce 1.5s infinite;
    cursor: pointer;
}

.giftbox img {
    width: 150px;
}

.hidden {
    display: none;
}
@keyframes bounceIn {
    0% {
        transform: scale(0.3);
        opacity: 0;
    }
    40% {
        transform: scale(1.1);
        opacity: 0.9;
    }
    80% {
        transform: scale(0.8);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}
.animated-bounceIn {
    animation: bounceIn 1s ease-in-out;
    -webkit-animation: bounceIn 1s ease-in-out;
    -moz-animation: bounceIn 1s ease-in-out;
    -o-animation: bounceIn 1s ease-in-out;
    animation-fill-mode: forwards;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-20px);
    }
    60% {
        transform: translateY(-10px);
    }
}
/* /ChristmasBOX　バナー */

/* 花火 */
body.top_index:has(canvas#firework) div#areaMap {
    background: none;
}
body.top_index:has(canvas#firework) div.indexLogoBnrInner img {
    background: none;
}

canvas#firework {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}


/*********
 2025年参議院選挙
 *********/
#sangiinsenkyo_kamifubuki span {
    width: 4.5vw;
    height: 2vw;
    background-image: url("https://img2.bakusai.com/p/img/pickup/sangiinsenkyo2025/10000_yen.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
}
#sangiinsenkyo_kamifubuki span {
    background-color: rgb(255, 255, 255, 0);
}
#sangiinsenkyo_kamifubuki span:nth-child(2),
#sangiinsenkyo_kamifubuki span:nth-child(4),
#sangiinsenkyo_kamifubuki span:nth-child(6),
#sangiinsenkyo_kamifubuki span:nth-child(7),
#sangiinsenkyo_kamifubuki span:nth-child(10),
#sangiinsenkyo_kamifubuki span:nth-child(12),
#sangiinsenkyo_kamifubuki span:nth-child(13),
#sangiinsenkyo_kamifubuki span:nth-child(16),
#sangiinsenkyo_kamifubuki span:nth-child(17),
#sangiinsenkyo_kamifubuki span:nth-child(20),
#sangiinsenkyo_kamifubuki span:nth-child(22),
#sangiinsenkyo_kamifubuki span:nth-child(23),
#sangiinsenkyo_kamifubuki span:nth-child(24),
#sangiinsenkyo_kamifubuki span:nth-child(26),
#sangiinsenkyo_kamifubuki span:nth-child(27),
#sangiinsenkyo_kamifubuki span:nth-child(30),
#sangiinsenkyo_kamifubuki span:nth-child(31),
#sangiinsenkyo_kamifubuki span:nth-child(32),
#sangiinsenkyo_kamifubuki span:nth-child(33),
#sangiinsenkyo_kamifubuki span:nth-child(36),
#sangiinsenkyo_kamifubuki span:nth-child(37),
#sangiinsenkyo_kamifubuki span:nth-child(40),
#sangiinsenkyo_kamifubuki span:nth-child(42),
#sangiinsenkyo_kamifubuki span:nth-child(43),
#sangiinsenkyo_kamifubuki span:nth-child(44),
#sangiinsenkyo_kamifubuki span:nth-child(46),
#sangiinsenkyo_kamifubuki span:nth-child(47),
#sangiinsenkyo_kamifubuki span:nth-child(50) {
    display: none;
}
/* animation-duration */
#sangiinsenkyo_kamifubuki span:nth-child(4n+1) {
	animation-duration: 8s;
}

#sangiinsenkyo_kamifubuki span:nth-child(4n+2) {
	animation-duration: 15s;
}

#sangiinsenkyo_kamifubuki span:nth-child(4n+3) {
	animation-duration: 12s;
}

#sangiinsenkyo_kamifubuki span:nth-child(4n+4) {
	animation-duration: 6s;
}


/* animation-delay */
#sangiinsenkyo_kamifubuki span:nth-child(11n+1) {
	animation-delay: 3s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+2) {
	animation-delay: 9s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+3) {
	animation-delay: 3s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+4) {
	animation-delay: 5s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+5) {
	animation-delay: 12s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+6) {
	animation-delay: 13s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+7) {
	animation-delay: 9s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+8) {
	animation-delay: 7s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+9) {
	animation-delay: 8s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+10) {
	animation-delay: 17s;
}

#sangiinsenkyo_kamifubuki span:nth-child(11n+11) {
	animation-delay: 16s;
}

div.election_container {
    left: 60px !important;
}
div.event_index_banner:has(div#election_wapper) {
    width: 500px;
    height: 170px;
}
div.election_container div.event_index_banner img {
    width: 500px;
    height: 170px;
}
#election_wapper {
    width: inherit;
    height: inherit;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
#election_wapper > span {
    position: absolute;
    width: max-content;
    text-align: center;
    word-break: break-all;
    font-feature-settings: "palt" 1;
    color:rgb(150,150,150,1);
    font-weight: bold;
}
.fs-small-10 {
  font-size: 10px;
}
.fs-large-16 {
  font-size: 16px;
}
.fs-large-24 {
  font-size: 24px;
}
.fs-large-32 {
  font-size: 32px;
}
.fs-medium-43 {
  font-size: 43px;
}
.fs-xl-52 {
  font-size: 52px;
}
#election_position_01 {
    left: 5px;
    top: 3px;
}
#election_position_02 {
    left: 13px;
    bottom: 82px;
}
#election_position_03 {
    right: 175px;
    bottom: 14px;
}
#election_position_04 {
    left: 53px;
    bottom: 38px;
}
#election_position_05 {
    left: 256px;
    top: 8px;
}
#election_position_06 {
    bottom: 6px;
    right: 3px;
}
#election_position_07{
    right: 17px;
    bottom: 85px;
}
#election_position_08 {
    top: 0px;
    right: 3px;
}
#election_position_09 {
    bottom: 10px;
    left: 217px;
}
#election_position_10 {
    top: 24px;
    left: 228px;
}
#election_position_11 {
    right: 72px;
    bottom: 17px;
}
#election_position_12 {
    bottom: 5px;
    right: 136px;
}
#election_position_13 {
    left: 6px;
    bottom: 43px;
}
#election_position_14 {
    left: 11px;
    top: 22px;
}
#election_position_15 {
    bottom: 4px;
    left: 149px;
}
#election_position_16 {
    bottom: 29px;
    right: 3px;
}
#election_position_17 {
    left: 166px;
    top: 2px;
}
#election_position_18 {
    top: 7px;
    left: 63px;
}
#election_position_19{
    bottom: 51px;
    right: 20px;
}
#election_position_20 {
    bottom: 3px;
    left: 13px;
}
#election_position_21 {
    top: 24px;
    left: 47px;
    color: #000 !important;
}
#election_position_21 span{
    font-size: 67px;
    position: relative;
    top: 3px;
    color: #000 !important;
}
#election_position_22 {
    bottom: 33px;
    left: 122px;
    color: #E60012 !important;
}
#election_position_22 span:first-child {
    font-size: 52px;
    position: relative;
    bottom: -3px;
}
#election_position_22 span:nth-child(2) {
    background-color: #E60012;
    color: #FFF;
    font-size: 24px;
    border-radius: 50%;
    padding: 4px;
    position: relative;
    top: -2px;
    margin: 4px;
}
#election_position_18,
#election_position_20 {
    color: #749899 !important;
}
#election_position_08,
#election_position_11 {
    color:#73B9DC !important;
}
.mac {
    #election_position_01 {
        top:2px;
    }
    #election_position_02 {
        bottom: 78px;
    }
    #election_position_03 {
        bottom: 10px;
        right: 175px;
    }
    #election_position_04 {
        bottom: 35px;
    }
    #election_position_05 {
       top: 6px;
    }
    #election_position_06 {
        bottom: 6px;
        right: 3px;
    }
    #election_position_07 {
       right: 18px;
        bottom: 81px;
    }
    #election_position_08 {
        top: -7px;
        right: 0px;
    }
    #election_position_09 {
        bottom: 10px;
        left: 217px
    }
    #election_position_10 {
        top: 22px;
        left: 230px;
    }
    #election_position_11 {
        right: 72px;
        bottom: 10px;
    }
    #election_position_12 {
        bottom: -3px;
        right: 108px;
    }
    #election_position_13 {
        left: 5px;
        bottom: 39px;
    }
    #election_position_14 {
        left: 11px;
        top: 18px;
    }
    #election_position_15 {
        bottom: 4px;
        left: 149px;
    }
    #election_position_16 {
        bottom: 25px;
        right: 3px;
    }
    #election_position_17 {
        left: 166px;
        top: -2px;
    }
    #election_position_18 {
        top: 2px;
        left: 63px;
    }
    #election_position_19 {
        bottom: 45px;
        right: 19px;
    }
    #election_position_20 {
        bottom: -7px;
        left: 13px;
    }
    #election_position_21 span {
        font-size: 56px;
        position: relative;
        top: 3px;
        color: #000 !important;
    }
    #election_position_21 {
        top: 19px;
        left: 40px;
        color: #000 !important;
    }
    #election_position_22 {
        bottom: 22px;
        left: 105px;
        color: #E60012 !important;
    }
    #election_position_22 span:first-child {
        font-size: 48px;
        position: relative;
        bottom: -3px;
    }
}