/* PCSP非表示 */
.pc-show{
  display: block;
}
.sp-show{
  display: none;
}
/* main */
.main{
  width: calc(1200vw / 12.5);
  max-width: 1200px;
  margin: 28px auto 150px;
}
/* テーマタイトル */
.contest-title{
  width: calc(1200vw / 12.5);
  max-width: 1200px;
  margin: 0 auto;
}
.contest-title-text{
  margin-bottom: 15px;
  text-align: left;
  position: relative;
  padding: 0 20px;
}
.contest-title-text-period{
  font-size: min(calc(15vw / 12.5), 15px);
  margin-right: 10px;
}
.contest-title-text-period_num{
  font-size: min(calc(19vw / 12.5), 19px);
  font-weight: bold;
}
.contest-title-text-link{
  position: absolute;
  top: 0;
  right: 20px;
}
.contest-title-text-detail{
  font-size: min(calc(16vw / 12.5), 16px);
  margin-top: 15px;
}
.contest-title-img-wrap{
  position: relative;
  color: #fff;
  text-shadow: 0px 0px 4px #0000004D;
  margin-bottom: 12px;
}
.contest-title-img{
  width: 100%;
  height: 108px;
  border-radius: 12px;
  object-fit: cover;
}
.contest-title-img-year{
  position: absolute;
  font-size: min(calc(16vw / 12.5), 16px);
  top: 13%;
  left: 3%;
  font-weight: bold;
}
.contest-title-img-month{
  position: absolute;
  top: 28%;
  left: 3%;
  font-size: min(calc(50vw / 12.5), 50px);
  font-weight: bold;
}
.contest-title-img-month-text{
  font-size: min(calc(25vw / 12.5), 25px);
}
.contest-title-img-theme{
  position: absolute;
  top: 20%;
  left: 12%;
  font-size: min(calc(16vw / 12.5), 16px);
  font-weight: bold;
}
.contest-title-img-title{
  position: absolute;
  top:40%;
  left: 12%;
  font-size: min(calc(30vw / 12.5), 30px);
  font-weight: bold;
}
/* 投票候補 */
.vote-choice{
  background-color: #F7F7F7;
  border: 2px solid #E8E8E8;
  border-radius: 10px;
  margin-bottom: 40px;
}
.vote-choice-head{
  padding: 16px 20px 22px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.vote-choice-head-title{
  position: relative;
  font-size: 18px;
  font-weight: bold;
}
.vote-choice-head-num{
  position: absolute;
  top: -5px;
  width: 28px;
  height: 15px;
  background-color: #e60012;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  border-radius: 8px;
}
.vote-choice-head-text{
  font-size: 14px;
  margin: 0 0 0 auto;
  color: #5D5D5D;
}
.vote-choice-head-text::before{
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(/vote/images/img_pin_btn.png) no-repeat;
  background-size: contain;
  margin-right: 4px;
  margin-bottom: -7px;
}
.vote-choice-head-title::before{
  content: "";
  display: inline-block;
  width: 22px;
  height: 32px;
  background: url(/vote/images/img_pin.png) no-repeat;
  background-size: contain;
  margin-right: 8px;
  margin-bottom: -10px;
}
.vote-choice-head-arrow{
  width: 36px;
  height: 36px;
}
.vote-choice-head-arrow::before {
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  background-image: url(/vote/images/icn_open.png);
  background-position: center;
  background-size: contain;
}
.vote-choice-head-arrow.open::before{
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  background-image: url(/vote/images/icn_close.png);
  background-position: center;
  background-size: contain;
}

.vote-choice-content{
  display: block;
  padding: 0 32px;
  text-align: left;
}
.vote-choice-content-list-wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.vote-choice-content-list-wrap li{
 /* margin-right:4px; */
  width: calc(181vw / 12.5);
  max-width: 181px;
  position: relative;
  margin-bottom: 32px;
}
.vote-choice-content-list-wrap li a{
  position: relative;
  display: block;
  margin-bottom: 7px;
}
.vote-choice-content-list-wrap .vote-choice-movie-time{
  bottom: 0;
}
.vote-choice-content-list-wrap li .vote-choice-no{
  display: none;
}
.vote-choice-content-list-wrap li .vote-choice-img{
  width: calc(181vw / 12.5);
  max-width: 181px;
  height: calc(121vw / 12.5);
  max-height: 121px;
  object-fit: contain;
  background-color: #E6E6E6;
}
.vote-choice-content-list-wrap li .templateItemThumbLink{
  width: calc(181vw / 12.5);
  max-width: 181px;
  height: calc(121vw / 12.5);
  max-height: 121px;
  object-fit: contain;
  background-color: #E6E6E6;
}
.vote-choice-content-list-wrap li .templateItemThumb{
  width: calc(181vw / 12.5);
  max-width: 181px;
  height: calc(121vw / 12.5);
  max-height: 121px;
  object-fit: contain;
  background-color: #E6E6E6;
}
.vote-choice-img.movie{
  background-color: #000000!important;
}
.vote-choice-content-detail-wrap{
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
}
.vote-choice-content-list-wrap li .vote-choice-content-detail-title{
  font-size: min(calc(12vw / 12.5), 12px);
  font-weight: bold;
  width: 100%;
  margin-bottom: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vote-choice-content-detail-pin{
  width: calc(38vw / 12.5);
  max-width: 38px;
  height: calc(38vw / 12.5);
  max-height: 38px;
  border:2px solid #7c7c7c;
  border-radius: 3px;
  position: relative;
  background-color: #fff;
  cursor: pointer;
  margin-right: min(calc(6vw / 12.5), 6px);
}
.vote-choice-content-list-wrap li .vote-choice-content-detail-pin{
  margin-left: min(calc(17vw / 12.5), 17px);
}
.vote-choice-content-detail-pin:hover{
  opacity: .6;
  transition: .3s
}
.vote-choice-content-detail-pin img{
  width: calc(20vw / 12.5);
  max-width: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.vote-choice-content-detail-vote{
  width: calc(120vw / 12.5);
  max-width: 120px;
  height: calc(38vw / 12.5);
  max-height: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  border:2px solid #7c7c7c;
  border-radius: 3px;
  font-size: min(calc(14vw / 12.5), 14px);
  font-weight: bold;
  cursor: pointer;
}
.vote-choice-content-detail-vote:hover{
  background-color: #ffebd5;
  transition: .3s
}
.vote-choice-content-detail-vote::before{
  content: "";
  display: inline-block;
  width: calc(20vw / 12.5);
  max-width: 20px;
  height: calc(20vw / 12.5);
  max-height: 20px;
  background: url(/vote/images/check-to-slot-solid.png) no-repeat;
  background-size: contain;
  margin-right: min(calc(7vw / 12.5), 7px);
  margin-bottom: -3%;
}
.vote-choice-movie-time{
  position: absolute;
  bottom: min(calc(4vw / 12.5), 4px);
  left: min(calc(17vw / 12.5), 17px);
  font-size: min(calc(11vw / 12.5), 11px);
  font-weight: bold;
  color: #A0A0A0;
}
.vote-choice-movie-time::before{
  display: block;
  content: "";
  position: absolute;
  top: 55%;
  left: -7px;
  width: 0;
  height: 0;
  margin-top: -5px;
  border: 4px solid transparent;
  border-left: 4px solid #A0A0A0;
}
.empty-list{
  margin-bottom: 0!important;
}
/* 作品一覧 */
.vote-choice-list{
  margin: 23px 0 8px;
  text-align: left;
}
.vote-choice-list-wrap{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.vote-choice-list-wrap li{
  width: calc(292vw / 12.5);
  max-width: 292px;
  margin-bottom: 31px;
  position: relative;
}
.vote-choice-list-wrap li a{
  position: relative;
  display: block;
  margin-bottom: 9px;
}
.vote-choice-list-wrap li .vote-choice-no{
  font-size: min(calc(14vw / 12.5), 14px);
  color: #7C7C7C;
  margin-bottom: 6px;
}
.vote-choice-list-wrap li .vote-choice-img{
  width: calc(292vw / 12.5);
  max-width: 292px;
  height: calc(195vw / 12.5);
  max-height: 195px;
  object-fit: contain;
  background-color: #E6E6E6;
}
.vote-choice-list-wrap li .templateItemThumbLink{
  width: calc(292vw / 12.5);
  max-width: 292px;
  height: calc(195vw / 12.5);
  max-height: 195px;
  object-fit: contain;
  background-color: #E6E6E6;
}
.vote-choice-list-wrap li .templateItemThumb{
  width: calc(292vw / 12.5);
  max-width: 292px;
  height: calc(195vw / 12.5);
  max-height: 195px;
  object-fit: contain;
  background-color: #E6E6E6;
}
.vote-choice-list-wrap li .vote-choice-content-detail-wrap{
  flex-wrap: nowrap;
}
.vote-choice-list-wrap li .vote-choice-content-detail-wrap .vote-choice-content-detail-title{
  width: calc(125vw / 12.5);
  max-width: 125px;
  font-size: min(calc(14vw / 12.5), 14px);
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-right: min(calc(5vw / 12.5), 5px);;
  margin-bottom: 5px;
}
/* リスト左寄せ */
.vote-choice-list-wrap::before{
  content:"";
  display: block;
  width: calc(292vw / 12.5);
  max-width: 292px;
  order:1;
}
.vote-choice-list-wrap::after{
  content:"";
  display: block;
  width: calc(292vw / 12.5);
  max-width: 292px;
}
/* 投票済、ピン選択 */
.vote-choice-content-detail-pin.choice{
  background-color: #dedede
}
.vote-choice-content-detail-vote.voted{
  border: none;
  background-color: #e2e2e2;
}
.vote-choice-content-detail-vote.voted::before{
  display: none;
}
/* ページネーション */
.visuallyhidden {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  white-space: nowrap;
  width: 1px;
}

.vote-annotation{
  text-align: center;
  font-size: min(calc(14vw / 12.5), 14px);
  color: #6C6C6C;
  margin-top: 11px;
}

.pagination {
  text-align: center;
}
.pagination-items {
  text-align: center;
  margin-top: 20px;
}

.pagination-number {
  padding: 0;
  display: inline-block;
  width: 40px;
  height: 40px;
  text-align: center;
  position: relative;
  border-radius: 10px;
}

.pagination-number a {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: table;
  text-decoration: none;
}
@media (hover: hover) {
  .pagination-number a:where(:any-link, :enabled, summary):hover {
    background: #FCFCFC;
    border: 1px solid #D9D9D9;
    box-sizing: border-box !important;
  }
}
.pagination-number a span {
  display: table-cell;
  vertical-align: middle;
}
.pagination-number a.is-active {
  font-weight: bold;
  background: #E0E2E2;
}

.pagination-dots {
  padding: 0;
  display: inline-block;
  width: 40px;
  height: 40px;
  text-align: center;
  position: relative;
  border-radius: 10px;
}

.pagination-dots div {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: table;
  text-decoration: none;
  transition: all 0.3s ease;
}
.pagination-dots div span {
  display: table-cell;
  vertical-align: middle;
}

.pagination-arrow-pagination-pre, .pagination-arrow-pagination-next {
  padding: 0;
  display: inline-block;
  width: 40px;
  height: 40px;
  text-align: center;
  position: relative;
  border-radius: 10px;
}

.pagination-arrow-pagination-pre a,
.pagination-arrow-pagination-next a {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: table;
  text-decoration: none;
}
@media (hover: hover) {
  .pagination-arrow-pagination-pre a:where(:any-link, :enabled, summary):hover,
  .pagination-arrow-pagination-next a:where(:any-link, :enabled, summary):hover {
    background: #FCFCFC;
    border: 1px solid #D9D9D9;
    box-sizing: border-box !important;
  }
}
.pagination-arrow-pagination-pre a span,
.pagination-arrow-pagination-next a span {
  display: table-cell;
  vertical-align: middle;
}

.pc-invisible {
  display:none;
}
.sp-invisible {
  display: block;
}


@media screen and (max-width:767.9px) {
  /* PCSP非表示 */

  .pc-invisible {
    display: block;
  }
  .sp-invisible {
    display:none;
  }
  
  .pc-show{
      display: none;
  }
  .sp-show{
      display: block;
  }
  .main{
      width: 100%;
      margin: 14px auto 109px;
  }
  /* テーマタイトル */
  .contest-title{
      width: 90%;
  }
  .contest-title-img-wrap{
      margin-bottom: 10px;
  }
  .contest-title-img{
      height: 54px;
  }
  .contest-title-img-year{
      font-weight: bold;
      position: absolute;
      font-size: 13px;
      top: 7%;
      left: 4%;
  }
  .contest-title-img-month{
      font-size: 32px;
      top: 21.5%;
      left: 4%;
  }
  .contest-title-img-month-text{
      font-size: 12px;
  }
  .contest-title-img-theme{
      font-size: 10px;
      top: 12%;
      left: 19.5%;
  }
  .contest-title-img-title{
      font-size: 17px;
      top: 40%;
      left: 19.5%;
  }
  .contest-title-text-period{
      font-size: 10px;
      margin-right: 0;
  }
  .contest-title-text-period_num{
      font-size: 13px;
      position: relative;
      top: -8px;
  }
  .contest-title-text-link{
      font-size: 12px;
      top: 20px;
      right: 10px;
  }
  .contest-title-text{
      padding: 0 10px;
      margin-bottom: 20px;
  }
  .contest-title-text-detail{
      font-size: 11px;
      margin-top: 10px;
  }
  
  /* 投票候補 */
  .vote-choice{
      border-radius: unset;
      border: none;
      margin-bottom: 24px;
  }
  .vote-choice-head {
      padding: 12px 28px 18px;
  }
  .vote-choice-head-title {
      font-size: min(calc(14vw / 3.9), 14px);
      margin-left: 0;
      order: 1;
  }
  .vote-choice-head-title::before {
      width: 24px;
      height: 24px;
      margin-right: 0;
      margin-bottom: -7px;
  }
  .vote-choice-head-text {
      font-size: min(calc(10vw / 3.9), 10px);
      order: 2;
  }
  .vote-choice-head-text::before{
      width: 16px;
      height: 16px;
  }
  .vote-choice-head-arrow{
      order: 3;
      width: 24px;
      height: 24px;
  }
  .vote-choice-head-arrow::before {
      width: 24px;
      height: 24px;
  }
  .vote-choice-head-arrow.open::before{
      width: 24px;
      height: 24px;
  }
  .vote-choice-content{
      display: block;
      padding: 0;
  }
  .vote-choice-content-list-wrap li {
      width: calc(126vw / 3.9);
      max-width: 126px;
      margin-bottom: 20px;
  }
  .vote-choice-content-list-wrap li a{
      margin-bottom: 4px;
  }
  .vote-choice-content-list-wrap .vote-choice-movie-time{
      bottom: min(calc(4vw / 12.5), 4px);
      left: 10px;
  }
  .vote-choice-content-list-wrap li .vote-choice-img {
      width: calc(126vw / 3.9);
      max-width: 126px;
      height: calc(84vw / 3.9);
      max-height: 84px;
  }
  .vote-choice-content-list-wrap li .templateItemThumbLink{
    width: calc(126vw / 3.9);
    max-width: 126px;
    height: calc(84vw / 3.9);
    max-height: 84px;
  }
  .vote-choice-content-list-wrap li .templateItemThumb{
    width: calc(126vw / 3.9);
    max-width: 126px;
    height: calc(84vw / 3.9);
    max-height: 84px;
  }
  .vote-choice-content-detail-title,
  .vote-choice-content-list-wrap li .vote-choice-content-detail-vote .vote-choice-btn{
      display: none!important;
  }
  .vote-choice-content-detail-pin {
      width: calc(32vw / 3.9);
      max-width: 32px;
      height: calc(32vw / 3.9);
      max-height: 32px;
      margin-right: min(calc(6vw / 12.5), 6px);
  }
  .vote-choice-content-list-wrap li .vote-choice-content-detail-pin {
      margin-left: min(calc(18vw / 3.9), 18px);
  }
  .vote-choice-content-detail-pin img {
      width: calc(17vw / 3.9);
      max-width: 17px;
  }
  .vote-choice-content-detail-wrap {
      justify-content: flex-end;
      margin-right: 4px;
  }
  .vote-choice-content-detail-vote {
      width: calc(71vw / 3.9);
      max-width: 71px;
      height: calc(32vw / 3.9);
      max-height: 32px;
      font-size: min(calc(12vw / 3.9), 12px);
  }
  .vote-choice-content-detail-vote::before {
      width: calc(15vw / 3.9);
      max-width: 15px;
      height: calc(15vw / 3.9);
      max-height: 15px;
      margin-right: min(calc(5vw / 3.9), 5px);
      margin-bottom: -7%;
  }
  /* ページネーション */
  /*
  .pagination{
      justify-content: space-between;
      padding: 0 20px;
  }
  .pagination-items li {
      height: 32px;
  }
  .pagination-items a {
      width: 32px;
      height: 32px;
      line-height: 32px;
  }
  
  .pagination-items li.is-active + li + li + li,
  .pagination-items li.is-active + li + li + li + li{
      position: absolute;
  }
  
  .pagination-items li.is-active + li + li:not(:last-child):not(:nth-last-child(2))::after {
      content: '...';
      display: inline-block;
      margin-left: 2px;
      width: 32px;
      height: 32px;
      text-align: center;
  }
  .pagination-arrow {
      width: 34px;
      height: 34px;
  }
  .pagination-prev::before,
  .pagination-next::before {
      width: 32px;
      height: 32px;
  }
  */
  /* リスト左寄せ */
  .vote-choice-list-wrap::before,
  .vote-choice-list-wrap::after{
      display: none;
  }
  /* 作品一覧 */
  .vote-choice-list {
      margin: 25px 0 11px;
      text-align: left;
  }
  .vote-choice-list-wrap li {
      width: 49.2%;
      max-width: unset;
      margin-bottom: 18px;
      position: relative;
  }
  .vote-choice-list-wrap li .vote-choice-no {
      font-size: min(calc(12vw / 3.9), 12px);
      margin-left: 8px;
      margin-bottom: 4px;
      text-align: left;
  }
  .vote-choice-list-wrap li a{
      margin-bottom: 4px;
  }
  .vote-choice-list-wrap li .vote-choice-img {
      width: 100%;
      max-width: unset;
      height: calc(128vw / 3.9);
      max-height: unset;
  }
  .vote-choice-list-wrap li .templateItemThumbLink{
    width: 100%;
    max-width: unset;
    height: calc(128vw / 3.9);
    max-height: unset;
  }
  .vote-choice-list-wrap li .templateItemThumb{
    width: 100%;
    max-width: unset;
    height: calc(128vw / 3.9);
    max-height: unset;
  }
  .vote-choice-list-wrap li .vote-choice-content-detail-pin {
      margin-right: 5px;
  }
  .vote-choice-list-wrap li .vote-choice-content-detail-vote {
      width: calc(102vw / 3.9);
      max-width: 102px;
      height: calc(32vw / 3.9);
      max-height: 32px;
      font-size: min(calc(11vw / 3.9), 11px);
  }
  .vote-choice-list-wrap li .vote-choice-movie-time{
      bottom: 4%;
      left: 5%;
  }
  .vote-annotation {
      font-size: min(calc(12vw / 3.9), 12px);
      margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 13px;
  }
}

@media screen and (max-width: 767px) {
  .pagination-number {
    width: 32px;
    height: 32px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .pagination-number {
    width: 37px;
    height: 37px;
  }
}
@media screen and (max-width: 767px) {
  .pagination-dots {
    width: 32px;
    height: 32px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .pagination-dots {
    width: 37px;
    height: 37px;
  }
}
@media screen and (max-width: 767px) {
  .pagination-arrow-pagination-pre, .pagination-arrow-pagination-next {
    width: 32px;
    height: 32px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .pagination-arrow-pagination-pre, .pagination-arrow-pagination-next {
    width: 37px;
    height: 37px;
  }
}
