/* ----------------------------------------
* お問い合わせフォーム - デザインカスタマイズ
---------------------------------------- */
.wpcf7-captchac {
  border: 1px solid #ccc;
}

/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid {
  background: #ffb6c1;
}
.wpcf7 span.wpcf7-not-valid-tip {
  font-size: 80%;
}
.wpcf7 .wpcf7-response-output {
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.wpcf7 .wpcf7-validation-errors {
  color: #111;
  background-color: #f1c40f;
  border: 1px solid #f1c40f;
  padding: 20px;
}
.wpcf7 .wpcf7-mail-sent-ok {
  color: #3a87ad;
  background-color: #d9edf7;
  border: 1px solid #bce8f1;
}

/* 必須赤色表示 */
.wpcf7 .required {
  color: #f00;
}
/* 任意緑色表示 */
.wpcf7 .any {
  color: #080;
}

.wpcf7 {
  font-size: 16px !important;
}
.wpcf7 h3 {
  border: none !important;
}
.wpcf7 dl {
  all: initial;
  width: 100% !important;
  margin-bottom: 20px !important;
}
.wpcf7 dt {
  all: initial;
  position: relative !important;
  box-sizing: border-box !important;
  color: #000 !important;
  margin-bottom: 5px !important;
  vertical-align: middle !important;
}
.wpcf7 dt .label {
  display: inline-block !important;
  border-radius: 2px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: normal !important;
  margin-right: 10px !important;
  padding: 1px 4px 2px !important;
}
.wpcf7 dt .hissu {
  position: absolute !important;
  top: 30px !important;
  display: block !important;
  background-color: #000 !important;
  border-radius: 0px !important;
  border: 1px solid #2f363b !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  line-height: 1em !important;
  padding: 6px 12px 6px !important;
}
.wpcf7 dt .ninni {
  position: absolute !important;
  top: 30px !important;
  display: block !important;
  background-color: #ccc !important;
  border-radius: 0px !important;
  border: 1px solid #ccc !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  line-height: 1em !important;
  padding: 6px 12px 6px !important;
}
.wpcf7 dd {
  all: initial;
  box-sizing: border-box !important;
}
.wpcf7 .wpcf7-text,
.wpcf7 .wpcf7-captchar,
.wpcf7 .wpcf7-quiz {
  all: initial;
  box-sizing: border-box !important;
  padding: 15px !important;
  background-color: #fff !important;
  border: 1px solid #ccc !important;
  border-radius: 0px !important;
  transition: 0.3s ease-out !important;
  width: 100% !important;
}
.wpcf7 .wpcf7-text:focus,
.wpcf7 .wpcf7-captchar:focus,
.wpcf7 .wpcf7-quiz:focus {
  background-color: #fffdd9 !important;
  border: 1px solid #fff !important;
  border-bottom: 1px solid #ccc !important;
  outline: thin dotted;
}
.wpcf7 .wpcf7-textarea {
  all: initial;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 15px !important;
  background-color: #fff !important;
  border: 1px solid #ccc !important;
  transition: 0.3s ease-out !important;
}
.wpcf7 .wpcf7-textarea:focus {
  background-color: #fffdd9 !important;
  border: 1px solid #fff !important;
  border-bottom: 1px solid #ccc !important;
  outline: thin dotted;
}
.wpcf7 .wpcf7-select {
  -moz-appearance: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background: url(../images/arrow-down.png) right 50% no-repeat !important;
  background-size: 25px, 100% !important;
  background-color: #fff !important;
  border: 1px solid #ccc !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  padding: 15px !important;
  width: 100% !important;
}

.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-confirm,
.wpcf7 .wpcf7-previous,
.wpcf7 .wpcf7-back {
  all: initial;
  color: #fff !important;
  background-color: #EFB444 !important;
  border: none !important;
  border-radius: 0px !important;
  font-size: 20px !important;
  font-weight: bold !important;
  margin: 40px auto !important;
  padding: 20px !important;
  text-align: center !important;
  transition: 0.3s ease-out !important;
  height: 55px !important;
}
.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-confirm:hover,
.wpcf7 .wpcf7-previous:hover,
.wpcf7 .wpcf7-back:hover {
  -webkit-transition: ease-in-out all 0.1s;
  -moz-transition: ease-in-out all 0.1s;
  -o-transition: ease-in-out all 0.1s;
  transition: ease-in-out all 0.1s;
  -webkit-transform: scale(1.02);
  -moz-transform: scale(1.02);
  -o-transform: scale(1.02);
  transform: scale(1.02);
  opacity: 0.6;
  cursor: pointer;
}
.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous,
.wpcf7 .wpcf7-back {
  width: 45% !important;
}
.wpcf7 .wpcf7-confirm {
  width: 100% !important;
}

.wpcf7 .sendBtn {
  background-image: url(../images/ico_btn_arrow.png) !important;
  background-size: 25px !important;
  background-repeat: no-repeat !important;
  background-position: 95% center !important;
}
.wpcf7 .backBtn {
  background-image: url(../images/ico_btn_arrow2.png) !important;
  background-size: 25px !important;
  background-repeat: no-repeat !important;
  background-position: 5% center !important;
}

.wpcf7 .wpcf7-text::placeholder,
.wpcf7 .wpcf7-captchar::placeholder,
.wpcf7 .wpcf7-quiz::placeholder,
.wpcf7 .wpcf7-textarea::placeholder,
.wpcf7 .wpcf7-select::placeholder {
  color: #adadad !important;
}
.wpcf7 .w100 { width: 100% !important; }
.wpcf7 .w80  { width:  80% !important; }
.wpcf7 .w50  { width:  50% !important; }

/* スクリーンサイズが1200px以下の場合に適用 */
@media screen and (max-width: 1200px) {
  .wpcf7 .wpcf7-submit,
  .wpcf7 .wpcf7-previous,
  .wpcf7 .wpcf7-back {
    width: 42% !important;
  }
  .wpcf7 .wpcf7-confirm {
    width: 100% !important;
  }
}
/* スクリーンサイズが992px以下の場合に適用 */
@media screen and (max-width: 992px) {
  .wpcf7 .wpcf7-submit,
  .wpcf7 .wpcf7-previous,
  .wpcf7 .wpcf7-back {
    width: 42% !important;
  }
  .wpcf7 .wpcf7-confirm {
    width: 100% !important;
  }
}
/* スクリーンサイズが768px以上の場合に適用 */
@media screen and (min-width: 768px) {
  .wpcf7 dl {
    all: initial;
    clear: both;
    display: table !important;
    width: 100% !important;
    border-top: 1px solid #efefef !important;
    margin-bottom: 0 !important;
  }
  .wpcf7 dl:last-of-type {
    border-bottom: 1px solid #efefef !important;
  }
  .wpcf7 dt {
    all: initial;
    display: table-cell !important;
    width: 35% !important;
    margin-bottom: 0 !important;
    padding: 20px !important;
  }
  .wpcf7 dt .label {
    all: initial;
    position: absolute !important;
    right: 0px !important;
    margin-right: 0 !important;
  }
  .wpcf7 .contactConfirm dt .label {
    margin-top: -10px !important;
  }
  .wpcf7 dd {
    all: initial;
    border: none !important;
    display: table-cell !important;
    width: 65% !important;
    padding: 20px !important;
  }
  .wpcf7 .wpcf7-text {
    padding: 15px !important;
  }
}
/* スクリーンサイズが767px以下の場合に適用 */
@media screen and (max-width: 767px) {
  .wpcf7 .contactConfirm dl {
    border-top: 1px solid #efefef !important;
  }
  .wpcf7 .contactConfirm dl:last-of-type {
    border-bottom: 2px solid #efefef !important;
  }
  .wpcf7 dt {
    display: flex;
    justify-content: left;
    position: relative !important;
    box-sizing: border-box !important;
    border-top: 1px solid #efefef !important;
    color: #000 !important;
    margin-bottom: 5px !important;
    text-align: left !important;
    vertical-align: bottom !important;
    padding-top: 5px !important;
  }
  .wpcf7 dt .hissu,
  .wpcf7 dt .ninni {
    all: initial;
    position: relative !important;
    display: block !important;
    top: 0 !important;
    /* width: 15% !important; */
  }
  .wpcf7 dd {
    display: block;
    padding: 0 !important;
    line-height: normal !important;
  }
  .wpcf7 dd span.attention {
    display: block;
  }
  .wpcf7 .contactMain dd {
    margin: 0 0 15px !important;
  }
  .wpcf7 .contactConfirm dd {
    margin: 0 0 15px 10px !important;
  }
}
/* スクリーンサイズが480px以下の場合に適用 */
@media screen and (max-width: 575px) {
  .wpcf7 .wpcf7-submit,
  .wpcf7 .wpcf7-previous,
  .wpcf7 .wpcf7-back {
    width: 100% !important;
  }
  .wpcf7 .wpcf7-submit {
    margin-top: -20px !important;
  }
}

/*Radio Check*/
.wpcf7 .wpcf7-radio {
  display: inline-block !important;
  margin: 10px 20px !important;
}
.wpcf7 .wpcf7-list-item label {
  all: initial !important;
  position: relative !important;
  cursor: pointer !important;
  display: inline-block !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.wpcf7 .wpcf7-list-item label {
  min-height: calc(18px + 5px) !important;
  margin-right: calc(18px + 5px) !important;
  padding-left: calc(18px + 5px) !important;
  line-height: calc(18px + 5px) !important;
}
/** before after **/
.wpcf7 .wpcf7-list-item label:before,
.wpcf7 .wpcf7-list-item label:after {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
}
.wpcf7 .wpcf7-list-item label:before {
  border-radius: 100% !important;
}
.wpcf7 .wpcf7-list-item label:before,
.wpcf7 .wpcf7-list-item label:after {
  top: 0px !important;
  bottom: 0px !important;
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.wpcf7 .wpcf7-list-item label:before {
  width: 18px !important;
  height: 18px !important;
  border: 1px solid #666666 !important;
  left: 0px !important;
  z-index: 3 !important;
}
.wpcf7 .wpcf7-list-item label:after {
  width: 10px !important;
  height: 10px !important;
  border-radius: 100% !important;
  left: calc(((18px / 2) - (10px) / 2)) !important;
  background-color: #3752cc !important;
  z-index: 1 !important;
}
/** input **/
.wpcf7 .wpcf7-list-item label input[type="radio"],
.wpcf7 .wpcf7-list-item label input[type="checkbox"] {
  -moz-appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  z-index: 2 !important;
  margin: 0px !important;
  width: 20px !important;
  height: 20px !important;
  box-sizing: border-box !important;
  outline: none !important;
}
.wpcf7 .wpcf7-list-item label input[type="radio"],
.wpcf7 .wpcf7-list-item label input[type="checkbox"] {
  left: calc(18px * -1) !important;
  width: 18px !important;
  height: 18px !important;
  top: 0px !important;
  bottom: 0px !important;
  margin-top: auto !important;
  margin-bottom: auto !important;
  border-radius: 100% !important;
}
.wpcf7 .wpcf7-list-item label input[type="radio"],
.wpcf7 .wpcf7-list-item label input[type="checkbox"] {
  box-shadow: 18px 0px #fff !important;
}
/** checked forcus */
.wpcf7 .wpcf7-list-item label input[type="radio"]:checked,
.wpcf7 .wpcf7-list-item label input[type="checkbox"]:checked {
  box-shadow: none !important;
}
.wpcf7 .wpcf7-list-item label input[type="radio"]:focus,
.wpcf7 .wpcf7-list-item label input[type="checkbox"]:focus {
  opacity: 0.2 !important;
  box-shadow: 18px 0px #fff !important;
}

/** 姓名入力欄分離用（日本語） **/
.wpcf7 .name ul,
.wpcf7 .kana ul {
  padding: 0 !important;
  margin: 0 !important;
  text-align: justify !important;
  text-justify: distribute-all-lines !important;
}
.wpcf7 .name ul li,
.wpcf7 .kana ul li {
  display: inline !important;
  list-style: none !important;
  text-align: justify !important;
  text-justify: distribute-all-lines !important;
}
.wpcf7 .name ul li .wpcf7-text,
.wpcf7 .kana ul li .wpcf7-text {
  width: calc(50% - 5px) !important;
}
/** 名前入力欄分離用（英語） **/
.wpcf7 .en-name ul {
  padding: 0 !important;
  margin: 0 !important;
  text-align: justify !important;
  text-justify: distribute-all-lines !important;
}
.wpcf7 .en-name ul li {
  display: inline;
  list-style: none !important;
  text-align: justify !important;
  text-justify: distribute-all-lines !important;
}
.wpcf7 .en-name ul li .wpcf7-text {
  width: calc(33.3% - 5px) !important;
}
@media screen and (max-width: 767px) {
  .wpcf7 .en-name ul li {
    display: block !important;
  }
  .wpcf7 .en-name ul li .wpcf7-text {
    width: 100% !important;
  }
}

.contactMain,
.contactConfirm {
  margin: 0 auto !important;
  padding: 0;
}
.contactMain .topImg,
.contactConfirm .topImg {
  margin: 0 0 50px;
  text-align: center;
}
.contactMain .topImg img,
.contactConfirm .topImg img {
  max-width: 280px;
  height: auto;
}
.contactMain .topMsg,
.contactConfirm .topMsg {
  margin: 0 0 50px;
  font-size: 16px;
  font-weight: bold;
  /* text-align: center; */
}
.contactMain .privacy,
.contactConfirm .privacy {
  text-align: center;
  font-size: 14px;
}
.contactMain .privacy a,
.contactConfirm .privacy a {
  background-size: 15px;
  color: #111;
  font-weight: bold;
  text-decoration: underline;
  padding-right: 10px;
  background: url("../images/ico_blank.png") no-repeat right center;
  background-size: 7px;
}
.contactMain dd .attention,
.contactConfirm dd .attention {
  color: #111;
  font-size: 13px;
  margin: 0 auto 20px !important;
}
.contactMai a {
  text-decoration: none !important;
}

.ButtonArea {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.thanks_btn {
  background-color: #EFB444 !important;
  border: none !important;
  border-radius: 0px !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: bold !important;
  margin: 40px auto !important;
  padding: 35px 20px 0 !important;
  text-align: center !important;
  transition: 0.3s ease-out !important;
  width: 100% !important;
  height: 100px !important;
}
.thanks_btn:hover {
  -webkit-transition: ease-in-out all 0.1s;
  -moz-transition: ease-in-out all 0.1s;
  -o-transition: ease-in-out all 0.1s;
  transition: ease-in-out all 0.1s;
  -webkit-transform: scale(1.02);
  -moz-transform: scale(1.02);
  -o-transform: scale(1.02);
  transform: scale(1.02);
  opacity: 0.6;
  cursor: pointer;
}