#contents h2 {
  line-height: 40px;
}

#zip {
  width: 30%;
}

.table-02 {
  border: 1px solid #d4d4d4;
  width: 100%;
}

.table-02 th:nth-child(1) { width: 35%; }
.table-02 th:nth-child(2) { width: 20%; }
.table-02 th:nth-child(3) { width: 20%; }
.table-02 th:nth-child(4) { width: 25%; }

.table-02 th {
  border-bottom: 1px solid #d4d4d4 !important;
  border-right: 1px solid #d4d4d4 !important;
}

.table-02 th:last-child {
  border-right: none !important;
}

.table-02 td {
  border-bottom: 1px solid #d4d4d4 !important;
  border-right: 1px solid #d4d4d4 !important;
}

.table-02 p {
  margin-bottom: 0 !important;
}

.table-02 thead th {
  background-color: #32af8a !important;
  color: #fff !important;
  text-align: center;
}

.table-02 tbody td {
  background-color: #fff !important;
}

.total-point .wpcf7-not-valid-tip {
  display: inline-block;
}

.total-sum,
.total-output {
  background: none;
  cursor: auto;
}

.prize-none .sp-none01 {
  display: table-cell;
}

.prize-none .pc-none01 {
  display: none;
}

select.qty-input {
  text-indent: 1em;          /* 左にスペース作って右寄せ風に */
  direction: ltr;            /* 通常の流れに戻す */
  text-align: right;         /* 右寄せ */
  text-align-last: right;    /* 選択中の項目も右寄せに */
  width: 45%;
  padding: 8px 25px 8px 0px;
  border: none;
  border-radius: 6px;
  background: #EAE9E5;
  color: #333;
  font-size: 16px;
  appearance: none; /* OSデフォルトスタイル消す */
  background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path fill="%23999" d="M0 0l6 8 6-8z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px 8px;
  cursor: pointer;
  margin: 0 5% 0 0;
}

#contents .card-number {
  width: 126px;
}

#contents select.card-number {
  appearance: none;
  background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path fill="%23999" d="M0 0l6 8 6-8z"/></svg>');
  background-repeat: no-repeat;
  background-position: 92% 53%;
  background-size: 12px 8px;
  background-color: #fff;
  border: 1px solid #949494;
  color: #333;
  cursor: pointer;
  padding: 10px;
}

#contents .table-02 td:has([data-class="wpcf7cf_group"]) {
  border-bottom: none !important;
  padding: 0;
}

#contents .table-02 td:has([data-class="wpcf7cf_group"]) table {
  border: none;
}

#contents .prize-none td:nth-child(1).hide-cell {
  width: 100%;
}

#contents .prize-none td:nth-child(1) {
  width: 332px;
}

#contents .prize-none td:nth-child(2) {
  width: 189px;
}

#contents .prize-none td:nth-child(4) {
  width: 237px;
}

#contents form table.prize-none th p br {
  display: none;
}

#contents table .card .wpcf7-not-valid-tip {
  display: none;
}

#contents table .card .error-message {
  color: #dc3232;
  display: none;
}

#contents table .card:has(.wpcf7-not-valid-tip) {
  & .error-message {
    display: block;
  }
}

@media screen and (max-width: 1140px) {

#contents .prize-none td:nth-child(1) {
  width: 35%;
}

#contents .prize-none td:nth-child(2) {
  width: 20%;
}

#contents .prize-none td:nth-child(4) {
  width: 25%;
}

}

@media screen and (max-width: 959px) {
#prize #contents p.bold.mb-50.txt-center {
    text-align: left;
}

  #zip {
    width: 70%;
  }

  .prize-none .pc-none01 {
    display: table-cell;
  }
  .prize-none .sp-none01 {
    display: none;
  }
  .prize-none input {
    width: 75%;
  }
  .table-02 th:nth-child(1) { width: 35%; }
  .table-02 th:nth-child(3) {width: 25%;}
  .table-02 th:nth-child(4) { width: 35%; }

  .fs-80 {
    font-size: 90%;
  }

  select.qty-input {
    padding: 8px 25px 8px 0;
    width: 45%;
    min-width: 55px;
  }

  #contents .prize-none td:nth-child(1) {
    min-width: 250px;
  }

  #contents .prize-none td:nth-child(3) {
    width: 35%;
  }

  #contents .prize-none td:nth-child(4) {
    width: 30%;
  }
  
}

@media screen and (max-width: 640px) {
  #contents .prize-none td:nth-child(1) {
    min-width: 180px;
  }
  
  .fs-80 {
    font-size: 80%;
  }
}

@media screen and (max-width: 559px) {

  #contents form table.prize-none th p {
    font-size: 14px;
  }
  
  #contents .prize-none td:nth-child(1) {
    min-width: 125px;
    width: auto;
  }
  
  #contents .card-number {
    width: calc(100% / 3 - 10px);
  }

  select.qty-input {
    padding: 8px 18px 8px 0;
    width: 75%;
    background-position: right 3px center;
  }
}

@media screen and (max-width: 450px) {
#contents form table.prize-none th p .br-txt {
  display: block;
}

  #contents form table.prize-none th p {
    line-height: 1.4em;
  }
}