@charset "UTF-8";
@media screen and (max-width: 640px) {
  /*=========================
▼▼共通▼▼
===========================*/
  #contents {
    width: 100%;
    float: left;
    clear: both;
    font-size: 15px;
    line-height: 1.7;
    font-weight: 600;
    color: #fff;
    font-family: "游ゴシック体", YuGothic, "ヒラギノ角ゴシック Pro",
      "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
  }
  #contents img,
  #contents a {
    display: block;
    width: 100%;
    height: auto;
  }
  #contents * {
    box-sizing: border-box;
  }
  #contents .break {
    display: inline-block;
  }
  #contents a,
  #contents a:link,
  #contents a:visited {
    color: inherit;
    text-decoration: none;
    display: block;
    font-weight: bold;
  }
  #contents ul,
  #contents ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #contents dl {
    margin: 0;
    padding: 0;
  }
  #contents dd {
    margin-inline-start: 0px;
  }
  #contents .auto {
    width: 90%;
    margin: 0 auto;
  }
  #contents p,
  #contents h2,
  #contents h3,
  #contents h4,
  #contents h5 {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    list-style-type: none;
  }
  #contents figure {
    margin: 0;
  }
  #contents section {
    width: 100%;
    position: relative;
  }
  #contents .sp_none {
    display: none !important;
  }
  #contents h2 {
    font-size: 30px;
    text-align: center;
    letter-spacing: 0.1rem;
    line-height: 1.4;
    margin-bottom: 34px;
  }
  #contents .gold_btn {
    width: 90%;
    margin: 0 auto 0;
  }
  #contents .gold_btn.results {
    margin-top: 30px;
    }
    #contents .btn_group .gold_btn {
    margin-bottom:10px;
  }
  #contents .blue_bg {
    background-image: linear-gradient(to bottom, #3092cd, #70b0b5);
    position: relative;
    padding: 55px 0 87px;
  }
  #contents .blue_bg:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url("../img/vote_bg_01.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 180%;
    position: absolute;
    top: 0;
    left: 0;
  }
  /*=========================
▲▲共通▲▲
===========================*/
  #conts_fv h2 {
    margin-bottom: 0;
  }
  #conts_fv .auto {
    width: 96%;
  }
  #conts_fv .logo_block {
    padding: 16px 0 11px;
    background-color: #fff;
  }
  #conts_fv .logo_block .text {
    font-size: 19px;
    text-align: center;
    font-weight: 600;
    margin-bottom: 11px;
    color: #222;
  }
  #conts_fv .logo_block ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  #conts_fv .logo_block ul li {
    padding: 0px 10px;
    margin-bottom: 17px;
  }
  #conts_fv .logo_block ul li a {
    height: 24px;
    width: auto;
  }
  #conts_fv .logo_block ul li.big a {
    height: 32px;
  }
  #conts_fv .logo_block ul li img {
    width: auto;
    height: 100%;
  }
  #conts_counter h2 {
    text-align: center;
    margin-bottom: 19px;
  }
  #conts_counter .text {
    font-size: 16px;
    margin-bottom: 35px;
  }
  #conts_counter .counter_box {
    text-align: center;
    margin: 0 auto 80px;
    border: 3px solid #fff;
    background-image: url(../img/vote_bg_line.png), url(../img/vote_bg_02.jpg);
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: 100% 100%, cover;
    padding: 62px 20px 54px;
  }
  #conts_counter .counter_box h3 {
    font-size: 27px;
    line-height: 1.2;
    margin-bottom: 3px;
  }
  #conts_counter .counter_box .count_text {
    font-size: 54px;
    line-height: 1;
    margin-bottom: 27px;
  }
  #conts_counter .counter_box .count_text .small {
    font-size: 32px;
    margin-left: 4px;
  }
  #conts_counter .counter_box .deadline {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 6px;
  }
  #conts_counter .counter_box .caption {
    font-size: 15px;
    font-weight: 500;
  }
  #conts_vote .vote_block {
    border-radius: 10px;
    margin: 0 auto;
    background-color: #fff;
    padding: 24px 0 28px;
  }
  #conts_vote .vote_block ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 9px;
    width: 94%;
    justify-content: space-between;
  }
  #conts_vote .vote_block ul li {
    width: 49%;
    position: relative;
    margin: 0 0 10px 0;
  }
  #conts_vote .vote_block ul li:not(.extra):before {
    content: "";
    display: block;
    width: 32px;
    height: 23px;
    background-image: url("../img/vote_number_01.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 15px;
    left: 10px;
  }
  #conts_vote .vote_block ul li.num02:before {
    background-image: url("../img/vote_number_02.png");
  }
  #conts_vote .vote_block ul li.num03:before {
    background-image: url("../img/vote_number_03.png");
  }
  #conts_vote .vote_block ul li.num04:before {
    background-image: url("../img/vote_number_04.png");
  }
  #conts_vote .vote_block ul li.num05:before {
    background-image: url("../img/vote_number_05.png");
  }
  #conts_vote .vote_block ul li.num06:before {
    background-image: url("../img/vote_number_06.png");
  }
  #conts_vote .vote_block ul li.num07:before {
    background-image: url("../img/vote_number_07.png");
  }
  #conts_vote .vote_block .caption {
    color: #222;
    text-align: center;
    line-height: 1.6;
    width: 94%;
    margin: 0 auto 18px;
  }
  #conts_vote .vote_block .caption .underline {
    background: linear-gradient(transparent 50%, #e3e6ff 50%);
  }
  #conts_ranking {
    padding-top: 80px;
  }
  #conts_ranking .small {
    display: block;
    font-size: 22px;
    margin-top: 5px;
  }
  #conts_ranking .block {
    background-color: #fff;
    margin: 0 auto 70px;
    border-radius: 10px;
    padding: 21px 5% 24px;
    color: #222;
    width: 90%;
  }
  #conts_ranking .block h3 {
    width: 113%;
    position: relative;
    left: -9.5%;
    margin-bottom: 28px;
  }
  #conts_ranking .swiper-slide {
    width: 100%;
  }
  #conts_ranking .swiper-slide h3:before {
    content: "";
    display: block;
    width: 7vw;
    height: 32px;
    background-image: url("../img/ranking_number_01.png");
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
    position: absolute;
    top: 24%;
    left: 7px;
  }
  #conts_ranking .slide_02 h3:before {
    background-image: url("../img/ranking_number_02.png");
  }
  #conts_ranking .slide_03 h3:before {
    background-image: url("../img/ranking_number_03.png");
  }
  #conts_ranking .slide_04 h3:before {
    background-image: url("../img/ranking_number_04.png");
  }
  #conts_ranking .slide_05 h3:before {
    background-image: url("../img/ranking_number_05.png");
  }
  #conts_ranking .slide_06 h3:before {
    background-image: url("../img/ranking_number_06.png");
  }
  #conts_ranking .slide_07 h3:before {
    background-image: url("../img/ranking_number_07.png");
  }
  #conts_ranking .block .area_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #conts_ranking .block .area_wrapper .box {
    width: 310px;
    border: solid 2px #e0e0e0;
    border-radius: 8px;
    margin: 0 0 21px 0;
  }
  #conts_ranking .block .area_wrapper .box:last-of-type {
    margin-bottom: 0;
  }
  #conts_ranking .block .area_wrapper .box h4 {
    background-color: #e0e0e0;
    text-align: center;
    font-size: 20px;
    padding: 7px 0 4px;
  }
  #conts_ranking .block .area_wrapper .box ol {
    font-size: 16px;
    line-height: 1.2;
    padding: 0 11px 6px;
  }
  #conts_ranking .block .area_wrapper .box ol li {
    position: relative;
    background-image: url("../img/line_01.jpg");
    background-repeat: repeat-x;
    background-size: 9px;
    line-height: 1.3;
  }
  #conts_ranking .block .area_wrapper .box ol li:first-of-type {
    background-image: none;
  }
  #conts_ranking .block .area_wrapper .box ol li:before {
    content: "";
    display: block;
    width: 34px;
    height: 36px;
    background-image: url("../img/ranking_icon_01.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    pointer-events: none;
  }
  #conts_ranking .block .area_wrapper .box ol li:nth-of-type(2):before {
    width: 22px;
    height: 42px;
    left: 26px;
    top: 53%;
    background-image: url("../img/ranking_icon_02.png");
  }
  #conts_ranking .block .area_wrapper .box ol li:nth-of-type(3):before {
    width: 22px;
    height: 42px;
    left: 26px;
    top: 53%;
    background-image: url("../img/ranking_icon_03.png");
  }
  #conts_ranking .block .area_wrapper .box ol li::after {
    content: "";
    width: 16px;
    height: 16px;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: calc(50% + 4px);
    left: 0;
    transform: translateY(-50%);
  }
  #conts_ranking .block .area_wrapper .box ol .rank_up::after {
    background-image: url(../img/up_arrow.png?20240401);
  }
  #conts_ranking .block .area_wrapper .box ol .rank_down::after {
    background-image: url(../img/down_arrow.png?20240401);
    top: 50%;
  }
  #conts_ranking .block .area_wrapper .box ol .rank_maintain::after {
    background-image: url(../img/maintain_arrow.png);
    top: 50%;
  }
  #conts_ranking .block .area_wrapper .box ol li a {
    padding: 20px 0px 16px 64px;
  }
  #conts_ranking .gold_btn {
    margin-top: -35px;
  }
  #conts_ranking .swiper-container .swiper-button-next {
    background-image: url("../img/ranking_btn_01.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 35px;
    height: 35px;
    position: absolute;
    right: 2px;
    top: calc(32vw + 169px);
  }
  #conts_ranking .swiper-container .swiper-button-prev {
    background-image: url("../img/ranking_btn_02.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 35px;
    height: 35px;
    position: absolute;
    left: 2px;
    top: calc(32vw + 169px);
  }
  #conts_ranking .swiper-pagination-bullet {
    opacity: 1;
    background: #3092cd;
  }
  #conts_ranking .swiper-pagination-bullet-active {
    opacity: 1;
    background: #fff;
  }
  #conts_ranking .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 5px;
  }
  #conts_ranking .swiper-container-horizontal>.swiper-pagination-bullets,
  #conts_ranking .swiper-pagination-custom,
  #conts_ranking .swiper-pagination-fraction {
    position: relative;
    top: -7px;
    margin-bottom: 9px;
  }
  #conts_sponsor,
  #conts_apply {
    color: #222;
    background-color: #f4f6f5;
  }
  #conts_apply {
    padding-bottom: 86px;
  }
  #conts_sponsor {
    padding: 80px 0% 23px;
  }
  #conts_sponsor h2 {
    margin-bottom: 28px;
  }
  #conts_sponsor .ex_text {
    font-size: 26px;
    text-align: center;
    margin-bottom: 20px;
  }
  #conts_sponsor .ex_text .triangle {
    color: #3092cd;
    display: inline-block;
    font-size: 22px;
  }
  #conts_sponsor .ex_text .triangle:first-of-type {
    margin-right: 10px;
  }
  #conts_sponsor .ex_text .triangle:last-of-type {
    margin-left: 10px;
  }
  #conts_sponsor .product_block {
    display: flex;
    margin: 0 auto;
    flex-wrap: wrap;
  }
  #conts_sponsor .product_block.big {
    width: 100%;
  }
  #conts_sponsor .product_block.product_list {
    margin-bottom: 20px;
  }
  #conts_sponsor .product_block .box {
    margin: 0 0 60px 0;
  }
  #conts_sponsor .product_block .box .img {
    margin-bottom: 23px;
  }
  #conts_sponsor .product_block .box h3 {
    font-size: 18px;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 7px;
    letter-spacing: 0.05em;
  }
  #conts_sponsor .product_block .box .sub_text {
    margin-bottom: 8px;
    font-feature-settings: "palt";
  }
  #conts_sponsor .product_block .box .text_box {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 15px;
  }
  #conts_sponsor .product_block .box .text {
    text-align: left;
  }
  #conts_sponsor .product_block .box .text a {
    display: inline;
    color: #3092cd;
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-all;
    font-weight: 500;
  }
  #conts_sponsor .product_block .box .blue_btn {
    width: 80%;
    margin: auto auto 0;
    max-width: 300px;
  }
  /*▼▼もっと見る▼▼*/
  #conts_sponsor .more {
    width: 100%;
    text-align: center;
    margin: 0 auto;
    border-radius: 5px;
    box-sizing: border-box;
  }
  #conts_sponsor .more__content {
    position: relative;
    height: auto;
    max-height: 0;
    overflow: hidden;
    transition: max-height 1s;
  }
  #conts_sponsor .more__content:not(.open) {
    max-height: 47px !important;
  }
  #conts_sponsor .more__content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.3s;
    background: linear-gradient(to bottom, transparent 0%, #f4f6f5 100%);
    pointer-events: none;
    z-index: 1;
  }
  #conts_sponsor .more__content.open::after {
    opacity: 0;
  }
  #conts_sponsor .more__btn {
    font-size: 15px;
    line-height: 1.5;
    border: none;
    margin: 27px 0 10px;
    transition-duration: 0.3s;
    text-decoration: underline;
    text-underline-offset: 3px;
    background: none;
    color: #000;
  }
  /*▲▲もっと見る▲▲*/
  #conts_sponsor h2.chance {
    margin-bottom: 34px;
  }
  #conts_apply h2 {
    color: #3092cd;
  }
  #conts_apply .apply_block {
    margin: 0 auto 42px;
    border: solid 4px #3092cd;
    background-color: #fff;
    padding: 33px 5%;
  }
  #conts_apply .apply_block dl {
    margin-bottom: 26px;
  }
  #conts_apply .apply_block dl:last-of-type {
    margin-bottom: 0;
  }
  #conts_apply .apply_block dl dt {
    font-size: 20px;
    color: #3092cd;
    letter-spacing: 0.04em;
    line-height: 1.3;
    margin-bottom: 7px;
  }
  #conts_apply .apply_block dl dd,
  #conts_apply .apply_block dl dd p,
  #conts_apply .apply_block dl dd ul li {
    font-weight: 500;
    margin-bottom: 4px;
  }
  #conts_apply .apply_block dl dd ul li {
    padding-left: 1em;
    text-indent: -1em;
  }
  #conts_apply .apply_block dl dd .bottom {
    margin-bottom: 37px;
  }
  #conts_apply .apply_block dl a {
    display: inline;
    color: #3092cd;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 500;
  }
}