@charset "utf-8";
/* CSS Document */

/*************************************************/
/*    visual
/*************************************************/

.conpeti_visual {
margin: 0px;
padding: 0px;
width: 100%;
background-position: center center;
background-image: url("../images/conpetition-visual-sp.webp");
background-size: cover;
background-repeat: no-repeat;
}
/* webp非対応 */
.no-webp .conpeti_visual { background-image: url("../images/conpetition-visual-sp.jpg"); }

.conpeti-logo {
margin: 0px auto;
padding-top: 15px;
width: 40%;
max-width: 200px;
text-align: center;
}
.conpeti-logo img {
width: 100%;
height: auto;
}
h1.h1_conpeti {
font-size: 2.3rem;
font-weight: 600;
text-align: center;
line-height: 130%;
}
.conpeti-txt {
padding-top: 5px;
font-size: 1.6rem;
font-weight: 600;
text-align: center;
}
.conpeti-txt02 {
padding-top: 15px;
font-size: 3.0rem;
font-weight: 600;
text-align: center;
letter-spacing: 0.09em;
}
.conpeti-txt03 {
padding: 15px 0px 20px;
font-size: 1.4rem;
font-weight: 600;
text-align: center;
}
.conpeti-txt02.txt04 {
font-size: 2.8rem;
}
@media screen and (min-width: 834px) {
  .conpeti-logo {
  padding-top: 35px;
  }
  .conpeti_visual {
  background-image: url("../images/conpetition-visual-pc.webp");
  }
  /* webp非対応 */
  .no-webp .conpeti_visual { background-image: url("../images/conpetition-visual-pc.jpg"); }
  
  h1.h1_conpeti {
  font-size: 3.3rem;
  }
  .conpeti-txt {
  padding-top: 15px;
  font-size: 2.0rem;
  }
  .conpeti-txt02 {
  padding-top: 25px;
  font-size: 3.8rem;
  }
  .conpeti-txt03 {
  padding: 40px 0px 70px;
  font-size: 1.7rem;
  }
  .conpeti-txt02.txt04 {
  font-size: 3.6rem;
  }
}
@media screen and (min-width: 1366px) {
  .conpeti-logo {
  padding-top: 50px;
  } 
  h1.h1_conpeti {
  padding-top: 10px;
  font-size: 4.0rem;
  line-height: 135%;
  }
  .conpeti-txt {
  padding-top: 18px;
  font-size: 2.1rem;
  }
  .conpeti-txt02 {
  padding-top: 30px;
  font-size: 5.0rem;
  }
  .conpeti-txt03 {
  padding: 65px 0px 90px;
  font-size: 1.9rem;
  }
}

/*************************************************/
/*    common
/*************************************************/

h2.h2 {
font-size: 2.0rem;
font-weight: 700;
text-align: center;
color: #166c95;
}
.container {
margin: 0px auto;
padding: 20px 20px 0px;
width: 100%;
}
.conpeti-container {
border-top: 30px solid #104c9b;
border-bottom: 30px solid #104c9b;
background: url(../images/conpetition-bg.png) left top repeat;
}
@media screen and (min-width: 834px) {
  h1.h1_txt,
  h1.h1_txt.thanks {
  padding: 80px 0px 80px;
  font-size: 5.5rem;
  }
  h1.h1_txt.product,
  h1.h1_txt.product.thanks {
  padding: 80px 0px 65px;
  font-size: 5.0rem;
  }
  h2.h2 {
  font-size: 2.7rem;
  }
  .conpeti-container {
  padding-bottom: 50px;
  }
}

/*************************************************/
/*    form
/*************************************************/

/*   input textarea   */
.contact_waku input,
.contact_waku select,
.contact_waku textarea {
padding: 16px 9px 16px 11px;
font-size: 1.6rem;
font-weight: 500;
color: #14171a;
border: solid 2px #a1a1a1;
margin: 0px;
border-radius: 5px;
background: #fff;
}
@media screen and (max-width: 833px) {
  .contact_waku input,
  .contact_waku textarea {
  padding: 14px 9px 14px 11px;
  }
}

/* ファイルアップロード */
.upload_file {
margin-top: 10px;
font-size: 1.4rem;
}
.upload_file:first-child {
margin-top: 0px;
}
.file_ttl {
margin-right: 10px;
}
.file_size {
padding-left: 10px;
font-size: 1.3rem !important;
}
.upload input {
margin-bottom: 10px;
padding: 14px 10px;
font-size: 1.45rem;
width: 82%;
background: #fafafa;
border: 2px solid #a1a1a1;
}
.error_msg {
display: block;
padding: 8px 0px;
font-size: 1.45rem;
color: #F31A1E;
line-height: 130%;
}
@media (max-width: 425px) {
  .upload_file {
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 0px;
  }
  .file_ttl {
  display: block;
  margin-bottom: 5px;
  width: 100%;
  }
}

/* 追加・削除ボタン */

.clone_button {
display: flex;
}
.btn-clone,
.btn-remove {
display: flex;
align-items: center;
margin: 10px 0px 10px 10px;
padding: 0px 7px;
height: 30px;
font-size: 1.6rem;
color: #262b2a;
border-radius: 3px;
border: 2px solid #a1a1a1;
cursor: pointer;
}
.btn-clone {
margin-left: 0px;
}
.btn-clone:hover,
.btn-remove:hover {
color: #fff;
background: #89939f;
}
@media (min-width: 834px) {
  .clone_button {
  margin-left: 13px;
  }
  .btn-clone,
  .btn-remove {
  margin: 7px 0px 10px 10px;
  padding: 0px 5px;
  }
}
table.contact_waku {
margin: 20px auto 0px;
padding: 0px;
width: 80%;
max-width: 620px;
font-size: 1.5rem;
text-align: left;
}
table.name_table {
width: 100%;
}
@media (min-width: 834px) {
  table.contact_waku {
  margin: 50px auto 0px;
  }
  table.contact_waku.second {
  margin-top: 30px;
  }
  .contact_waku textarea {
  height: 180px !important;
  }
}
/* th */
.contact_waku th.title {
display: flex;
align-items: center;
flex-wrap: wrap;
width: 100%;
vertical-align: middle;
padding: 13px 0px 0px 0px;
font-weight: 600;
text-align: left;
color: #fff;
}
@media (min-width: 834px) {
  .contact_waku th.title {
  font-size: 1.6rem;
  }
  .contact_waku th.title.valign {
  vertical-align: top;
  padding-top: 35px;
  }
  .contact_waku textarea {
  height: 180px !important;
  }
}

/* td */
.contact_waku td.type {
display: block;
vertical-align: middle;
padding: 10px 0px 25px 0px;
text-align: left;
width: 100%;
font-size: 1.6rem;
}
@media (max-width: 833px) {
  .contact_waku td.type {
  padding: 10px 0px 10px 0px;
  }
}
.contact_waku .sure {
display: flex;
align-items: center;
margin-left: 9px;
padding: 0px 7px;
height: 20px;
color: #fff;
font-size: 1.1rem;
font-weight: 500;
background: #fa3c3c;
border-radius: 3px;
}
.width100 {
width: 100%;
}
.contact_waku .chuki,
.contact_waku .sub_txt {
display: block;
width: 95%;
font-size: 1.3rem;
font-weight: 600;
padding-top: 8px;
color: #fff;
line-height: 140%;
}
.contact_waku .chuki.pt0 {
padding-top: 0px;
}
.contact_waku .sub_txt {
font-size: 1.4rem;
}

/* ul */
ul.coninner {
margin: 0px;
padding: 0px;
}
ul.coninner li {
float: left;
width: 50%;
}

/* input size */
@media (min-width: 834px) {
  .width_textarea {
  width: 95% !important;
  height: 150px !important;
  }
  .width_01 {
  width: 90% !important;
  }
  .width_02 {
  width: 27%;
  }
  .width_03 {
  width: 95% !important;
  height: 150px !important;
  }
  .width_04 {
  width: 90% !important;
  }
  .width_05 {
  width: 65% !important;
  margin-bottom: 10px !important;
  }
  .width_05:last-of-type {
  margin-bottom: 0px !important;
  }
  .width_06 {
  width: 80% !important;
  }
}
@media (max-width: 833px) {
  .width_textarea {
  width: 95% !important;
  height: 150px !important;
  }
  .width_01 {
   width: 95% !important;
  }
  .width_02 {
   width: 30%;
  }
  .width_03 {
  width: 95% !important;
  height: 150px !important;
  }
  .width_04 {
  width: 90% !important;
  }
  .width_05 {
  width: 95% !important;
  margin-bottom: 10px !important;
  }
  .width_05:last-of-type {
  margin-bottom: 0px !important;
  }
  .width_06 {
  width: 90% !important;
  }
}

/*　バナースタイル　*/
#mfp_button_confirm.addagree[disabled] {
margin: 60px 0px 40px 0px;
padding: 0px 0px 0px 0px;
font-size: 2.6rem;
color: #fff;
width: 80%;
max-width: 380px;
height: 85px;
opacity: 0.6;
background: #02c1ff;
}
.bn_comfirm {
margin: -15px 0px 40px 0px;
padding: 0px 0px 0px 0px;
width: 80%;
max-width: 380px;
height: 85px;
font-size: 3.0rem;
font-weight: 500;
letter-spacing: 0.15em;
color: #fff;
transition: all 0.5s ease-out;
opacity: 1;
cursor: pointer;
background: #02c1ff;
border-radius: 5px;
}
.bn_comfirm.addagree {
margin-top: 70px;
}
.bn_comfirm:hover {
background: #88e2ff;
}
@media  (max-width: 600px) {
  #mfp_button_confirm.addagree[disabled] {
  margin: 20px 0px 30px 0px;
  height: 70px;
  }
  .bn_comfirm {
  width: 87%;
  margin: 0px 0px 15px 0px;
  height: 70px;
  font-size: 2.3rem;
  }
  .bn_comfirm.addagree {
  margin-top: 20px;
  }
}
.bn_send,
.bn_cancel {
margin: 30px 0px 0px 0px;
width: 90%;
height: 65px;
font-size: 2.0rem;
font-weight: 600;
color: #fff;
border: none;
cursor: pointer;
background: #02c1ff;
border-radius: 3px;
}
.bn_cancel {
margin: 15px 0px 30px 0px;
color: #0d3784;
background: #d4d4d4;
}
.bn_send:hover {
background: #88e2ff;
}
.bn_cancel:hover {
color: #fff;
background: #706f6f;
}
@media (min-width: 768px) {
  .bn_send {
  width: 210px;
  margin: 50px 20px 30px 0px;
  font-size: 2.2rem;
  }
  .bn_cancel {
  width: 210px;
  margin: 50px 0px 30px 20px;
  font-size: 2.2rem;
  }
}

/*　確認画面-スタイル上書き　*/

#formWrap h3 {
display: none;
}
.cont_cont {
margin: 0px auto;
}
.comfirm_txt {
text-align: center;
padding: 30px 30px 25px;
font-size: 1.5rem;
color: #fff;
}
table.formTable {
table-layout: fixed;
word-wrap: break-word; /* 英語を改行させる */
border: solid 2px #c6c6c6;
width: 90% !important;
max-width: 900px !important;
margin: 0px auto;
font-size:1.5rem !important;
border-radius: 5px;
border-spacing: 0; /* tableタグを角丸にする */
border-collapse: separate; /* tableタグを角丸にする */
overflow: hidden; /* tableタグを角丸にする */
}
table.formTable tr.mfp_colored {
background-color: #FFF !important;
}
table.formTable tr.mfp_achroma {
background-color: #FFF;
}
table.formTable tr th {
font-size: 1.6rem;
text-align: left;
border-right: solid 2px #c6c6c6;
border-bottom: solid 2px #c6c6c6;
padding: 15px 10px 15px 15px !important;
color: #fff;
background: #104c9b !important;
}
table.formTable tr td {
font-size: 1.6rem;
text-align: left;
border-bottom: solid 2px #c6c6c6;
padding: 18px 10px 18px 15px !important;
vertical-align: middle;
background: #fff;
}
table.formTable tr:last-of-type th,
table.formTable tr:last-of-type td { /* tableタグを角丸にする */
overflow: hidden;
}
table.formTable tr:last-of-type td  {
border-bottom: none !important;
}
div#mfp_phase_confirm {
clear: both;
}
div#mfp_phase_confirm h4 {
font-size: 2.0rem !important;
padding: 30px 0px 30px 0px !important;
text-align: center;
}
@media (max-width: 833px) {
  table.formTable tr th,
  table.formTable tr td {
  display: block !important;
  width: 100%;
  }
  table.formTable tr th {
  border-right: none;
  }
}
@media (min-width: 834px) {
  table.formTable tr th,
  table.formTable tr td {
  padding: 23px 30px 23px 25px !important;
  }
  table.formTable tr:last-of-type th,
  table.formTable tr:last-of-type td { /* tableタグを角丸にする */
  border-bottom: none !important;
  }
  .comfirm_txt {
  padding: 30px 0px 40px;
  font-size: 1.8rem;
  line-height: 160%;
  }
  table.formTable tr th {
  width: 36%;
  }
}
.mfp_thanks {
margin: 0px 0px 0px;
text-align: center;
padding: 70px 0px 50px;
}
.mfp_thanks p {
margin: 40px 0px 0px;
padding: 0px 30px;
font-size: 1.9rem;
line-height: 250%;
}
@media screen and (max-width: 425px) {
  .mfp_thanks {
  padding: 20px 0px 0px;
  }
  .mfp_thanks p {
  margin: 10px 0px 0px;
  font-size: 1.5rem;
  line-height: 200%;
  }
}

/* agree input */
.check_box {
display: flex;
justify-content: center;
margin: 10px auto;
border: 2px solid #fff;
border-radius: 7px;
width: 60%;
max-width: 280px;
}
input[type="checkbox"] {
position: absolute;
opacity: 0;
z-index: -1;
}
input[type="checkbox"] + label {
position: relative;
padding: 15px 20px 15px 40px;
font-size: 1.6rem;
color: #fff;
line-height: 130%;
cursor: pointer;
}
input[type="checkbox"] + label:before {
content: '';
display: block;
position: absolute;
top: 50%;
left: 20px;
width: 20px;
height: 20px;
background: #fff;
border: 1px solid #6a81c5;
border-radius: 3px;
transition: all .12s, border-color .08s;
transform: translate(-50%, -50%); /* positionに対して要素を中央に配置させる */
}
input[type="checkbox"] + label:after {
content: '';
position: absolute;
top: -13px;
left: 0;
width: 100%;
z-index: -1;
}
/* checked */
input[type="checkbox"]:checked + label {
z-index: 1;
}
input[type="checkbox"]:checked + label:before {
width: 13px;
height: 24px;
top: 8px;
left: 14px;
border: 3px solid #fa3c3c;
border-top-color: transparent;
border-left-color: transparent;
background-color: transparent;
border-radius: 3px;
transform: rotate(45deg);
}
/* transition */
input[type="checkbox"] + label,
input[type="checkbox"] + label:before {
transition: .25s all ease;
}
/* recaptcha */
.recaptcha_bg {
margin: 0px auto 20px;
padding: 10px 15px;
width: 90%;
max-width: 397px;
font-size: 1.2rem;
font-weight: 400;
text-align: center;
line-height: 150%;
color: #fff;
letter-spacing: 0;
background: #003f9b;
border-radius: 5px;
}
.recaptcha_bg a {
color: #02c1ff;
}
.recaptcha_bg a:hover {
color: #18558e;
}
/* rechaptureロゴ非表示 */
.grecaptcha-badge { visibility: hidden; }

@media screen and (min-width: 461px) {
  .check_box {
  margin: 15px auto 0px;
  }
  input[type="checkbox"] + label:after {
  height: 56px;
  }
  .recaptcha_bg {
  margin: 0px auto 70px;
  padding: 12px 15px;
  font-size: 1.3rem;
  }
}
@media screen and (min-width: 834px) {
  input[type="checkbox"] + label {
  font-size: 1.9rem;
  }input[type="checkbox"] + label:before {
  width: 20px;
  height: 20px;
  left: 22px;
  }
  input[type="checkbox"] + label:after {
  top: -19px;
  }
  input[type="checkbox"]:checked + label:before {
  width: 16px;
  height: 27px;
  top: 8px;
  left: 12px;
  border: 4px solid #fa3c3c;
  border-top-color: transparent;
  border-left-color: transparent;
  background-color: transparent;
  border-radius: 5px;
  }
  .recaptcha_bg {
  padding: 16px 15px;
  }
}
