@charset "UTF-8";
/* ==========================================================================
  Common
========================================================================== */
@media screen and (min-width: 768px), print {
  .sp-br {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-br {
    display: none !important;
  }
}
.validateError {
  margin-top: 10px;
}

.partsWrap {
  /* 全体 */
  max-width: 1040px;
}

.partsFormitem .flexBox.addrBox01 {
  /* 郵便番号 */
  display: block;
}

input#prize-a, input#prize-b {
  width: 6rem;
}

/* 確認ボタン */
.formBtnarea .inBtns input, .formBtnarea .inBtns button {
  display: inline-block;
  width: 100%;
  max-width: 360px;
  position: relative;
  background: #31b3c0;
  border: 2px solid #31b3c0;
  padding: 1em 2em;
  margin: 10px 25px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  text-align: center;
  transition-duration: 0.3s;
  /* del */
  box-sizing: unset;
  height: unset;
  font-size: initial;
  letter-spacing: normal;
  border-radius: 0;
  outline: none;
  -moz-appearance: none;
  -webkit-appearance: none;
          appearance: none;
  box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.1);
  transition: none;
}
.formBtnarea .inBtns input:before, .formBtnarea .inBtns button:before {
  content: "";
  width: 10px;
  height: 10px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
.formBtnarea .inBtns input:hover, .formBtnarea .inBtns button:hover {
  background: #fff;
  color: #31b3c0;
}
.formBtnarea .inBtns input:hover:before, .formBtnarea .inBtns button:hover:before {
  border-top: 2px solid #31b3c0;
  border-right: 2px solid #31b3c0;
}

/* セレクトボックス */
select {
  border: #C9C9C9 solid 1px;
  width: 100%;
  height: 3.5rem;
}

/* ==========================================================================
  Header
========================================================================== */
#header .texts {
  width: 100%;
}
#header .mainTitle {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: center;
}
#header .inTabels {
  height: 100px;
  padding: 20px 0;
  background: url(../images/common/bg-spw.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
#header .kv__wrap img {
  width: 100%;
  height: auto;
  display: block;
}

.campaign__wrap {
  padding: 1.2rem 0;
  width: 68%;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  text-align: center;
}

/* チェック */
.partsFormitem .btnList .checkboxStyle input:checked + .ico {
  border: #31b3c0 solid 1px;
  background-color: #31b3c0;
}
.partsFormitem .btnList .radioStyle input:checked + .ico {
  border: #31b3c0 solid 5px;
}

@media screen and (max-width: 767px) {
  #header .mainTitle {
    font-size: 24px;
  }
}
/* ==========================================================================
  Body
========================================================================== */
.partsGrayBg {
  padding: 20px;
  background-color: #fff;
  /* フォーム外枠 */
}

.partsWhitebox {
  border-radius: 0;
  box-shadow: unset;
  padding: 20px;
}

/* 応募要項 */
.form-l {
  text-align: center;
}
.form-l span {
  font-size: 24px;
  text-decoration: underline;
}

.scroll {
  width: 100%;
  max-width: 1200px;
  height: 20vw;
  height: 20vw;
  margin: 0 auto 3%;
  overflow-x: auto;
  overflow-y: scroll;
  padding: 10px;
  border: solid 1px #f0f4f5;
  box-sizing: border-box;
  background: #f0f4f5;
  font-size: 0.75vw;
  font-size: clamp(14px, 1.1290322581vw, 16px);
}
.scroll::-webkit-scrollbar {
  width: 10px;
}
.scroll::-webkit-scrollbar-track {
  background-color: #e3e3e3;
}
.scroll::-webkit-scrollbar-thumb {
  background-color: #31b3c0;
}
.scroll a {
  color: #fff;
  text-decoration: underline;
}
.scroll a:link, .scroll a:visited, .scroll a:hover, .scroll a:active {
  color: #fff;
  text-decoration: underline;
}
.scroll .rules_text_wrap {
  font-weight: bold;
  padding: 5px 0;
}
.scroll .rules_text {
  padding-left: 1em;
  text-indent: -1em;
}

/* 応募要項 dl,dt,dd */
.rules dl {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  max-width: 1200px;
}
.rules dt {
  flex-basis: 15%;
  padding: 6px;
  background-color: #31b3c0;
  border-left: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
}
.rules dt:first-child {
  border-top: 1px solid #e3e3e3;
}
.rules dt:first-child + dd {
  border-top: 1px solid #e3e3e3;
}
.rules dd {
  flex-basis: 85%;
  padding: 6px;
  border-right: 1px solid #e3e3e3;
  border-left: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
}

@media screen and (max-width: 768px) {
  .rules dl {
    flex-flow: column;
  }
  .rules dt {
    border-right: 1px solid #e3e3e3;
    border-bottom: unset;
  }
}
/* End.応募要項 */
.partsFormitem + .partsFormitem {
  margin-top: 20px;
}
.partsFormitem .name {
  margin-bottom: 20px;
}
.partsFormitem .course {
  margin-bottom: 10px;
}
.partsFormitem .col2 {
  align-items: initial;
}
.partsFormitem .addrSection {
  margin-left: 0;
}

/* error時の高さを統一 */
/* 郵便 */
/* ファイルサイズ制限 */
.file-limits, .format-limits {
  display: none;
}

@media screen and (max-width: 767px) {
  .partsWrap {
    width: 100%;
  }
  .form-l span {
    font-size: 20px;
  }
  .scroll {
    width: 100%;
    height: 40vw;
    height: 40vw;
  }
  .flexBox.kanaBox {
    padding: 10px 0;
  }
}
/* form end */
.form-end {
  padding: 8% 0;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: #31b3c0;
}

@media screen and (max-width: 767px) {
  .form-end {
    font-size: 1.6rem;
  }
}
/* ==========================================================================
  Footer
========================================================================== */
#footer {
  padding: 28px 0;
}

@media screen and (max-width: 767px) {
  #footer {
    padding: 20px 0;
  }
}
/* 確認画面の画像非表示 */
/* .preview-item-file {
  display: none;
} *//*# sourceMappingURL=campaign.css.map */