@charset "UTF-8";

/* ::::::::::  お問い合わせ  :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* =========================================================
contact
========================================================= */
.contact .wrapper {
  padding-top: 0;
  padding-bottom: 110px;
}

@media (max-width: 767px) {
  .contact .wrapper {
    padding-bottom: 80px;
  }
}

.contact .bg_white {
  padding: 70px 70px 100px;
}

@media (max-width: 767px) {
  .contact .bg_white {
    padding: 50px 20px 50px;
  }
}

.contact .secTitle02 {
  margin-bottom: 10px;
  font-size: 1.9rem;
  letter-spacing: 0.06em;
}

.contact input[type=text],
.contact input[type=tel],
.contact input[type=number],
.contact input[type=email],
.contact input[type=submit],
.contact input[type=button],
.contact button,
.contact select,
.contact textarea {
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  background-color: #fff;
  color: #4D4D4D;
  height: 90px;
  line-height: 90px;
  padding: 0 30px;
  font-size: 1.5rem;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
}

@media (max-width: 767px) {

  .contact input[type=text],
  .contact input[type=tel],
  .contact input[type=number],
  .contact input[type=email],
  .contact input[type=submit],
  .contact input[type=button],
  .contact button,
  .contact select,
  .contact textarea {
    height: 70px;
    line-height: 70px;
    padding: 0 0;
    font-size: 1.3rem;
  }
}

.contact textarea {
  display: block;
  height: 333px;
  line-height: 1.7;
  padding: 30px 30px;
}

@media (max-width: 767px) {
  .contact textarea {
    height: 390px;
    padding: 20px 0;
  }
}

.contact input[type=text]:focus,
.contact input[type=tel]:focus,
.contact input[type=email]:focus,
.contact textarea:focus {
  box-shadow: 0 0 5px 2px rgba(171, 141, 75, 0.8);
}

.contact select {
  width: 100%;
  background: url("../img/common/bg_select.svg") no-repeat right 20px center, #fff;
  color: #a3a7ab;
}

@media (max-width: 767px) {
  .contact select {
    background-size: 10px auto;
    background-position: right 10px center;
    padding-left: 12px;
    padding-right: 12px;
  }
}

.contact option {
  color: #4D4D4D;
}

.contact ::placeholder {
  color: #a3a7ab;
}

.contact :-ms-input-placeholder {
  color: #a3a7ab;
}

.contact span.r {
  color: #a28137;
}

.contact table {
  width: 100%;
  margin: 40px 0 30px;
}

@media (max-width: 767px) {
  .contact table {
    margin: 30px 0;
    border-bottom: 1px solid #000;
  }
}

.contact table tr:nth-of-type(1) th,
.contact table tr:nth-of-type(1) td {
  border-top: 1px solid #CACACA;
}

.contact table tr:nth-of-type(1) th {
  border-top-color: #000;
}

.contact table th,
.contact table td {
  border-bottom: 1px solid #CACACA;
}

@media (max-width: 767px) {

  .contact table th,
  .contact table td {
    display: block;
    width: 100%;
  }
}

.contact table th sup,
.contact table td sup {
  font-size: 60%;
  vertical-align: super;
}

.contact table th {
  position: relative;
  width: 307px;
  padding: 30px 0 30px 0;
  border-top-color: #000;
  border-bottom-color: #000;
  color: #000;
  text-align: left;
  color: #121b27;
  vertical-align: top;
}

@media (max-width: 1024px) {
  .contact table th {
    width: 190px;
  }
}

@media (max-width: 767px) {
  .contact table th {
    border-top: 1px solid #000;
    border-bottom: none;
    width: 100%;
    padding: 12px;
    background: #f7f7f5;
    text-align: center;
  }

  .contact table th+td {
    border-top: 1px solid #CACACA;
  }
}

.contact table th a {
  text-decoration: underline;
}

.contact table th a:hover {
  text-decoration: none;
}

.contact table th a .icon_ex {
  margin-right: 5px;
}

@media (max-width: 767px) {
  .contact table td:last-of-type {
    border-bottom: none;
  }

  .contact table td:only-child {
    border-top: 1px solid #CACACA;
  }
}

.contact table td.nameWrap {
  border-bottom: none;
}

.contact table td.nameWrap .name {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .contact table td.nameWrap .name {
    display: block;
  }
}

.contact table td.nameWrap .name01 {
  width: 49%;
}

@media (max-width: 767px) {
  .contact table td.nameWrap .name01 {
    width: 100%;
  }
}

.contact table td.nameWrap .name02 {
  width: 49%;
}

@media (max-width: 767px) {
  .contact table td.nameWrap .name02 {
    width: 100%;
    border-top: 1px solid #CACACA;
  }
}

.contact table td.nameWrap input {
  border-bottom: 1px solid #CACACA;
}

@media (max-width: 767px) {
  .contact table td.nameWrap input {
    border-bottom: none;
  }
}

.contact .selectWrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.contact .selectWrap+.selectWrap {
  margin-top: 20px;
}

@media (max-width: 767px) {
  .contact .selectWrap+.selectWrap {
    margin-top: 10px;
  }
}

.contact .selectWrap p {
  width: 140px;
}

@media (max-width: 767px) {
  .contact .selectWrap p {
    width: 7em;
  }
}

.contact .selectWrap .error {
  width: 100%;
}

.contact .selectWrap .error+p+select {
  border-color: #d83d3d;
}

@media (max-width: 767px) {
  .contact .middle {
    width: calc(100% - 2em);
  }
}

.contact .wide {
  width: 100%;
}

.contact .privacyCheck {
  display: inline-block;
  margin: 30px 0 30px 30px;
}

@media (max-width: 767px) {
  .contact .privacyCheck {
    margin: 20px 0 0 0;
  }
}

.contact .privacyCheck input {
  margin-right: 10px;
}

@media (max-width: 767px) {
  .contact .privacyCheck input {
    position: relative;
    top: 2px;
    margin-right: 15px;
    transform: scale(1.2, 1.2);
  }
}

.contact .confirmText {
  display: inline-block;
  margin: 30px 0 30px 30px;
}

@media (max-width: 1024px) {
  .contact .confirmText {
    display: block;
    margin: 10px 0 0 30px;
    padding-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .contact .confirmText {
    display: block;
  }
}

.contact .recaptcha {
  text-align: center;
}

.contact .submitBtn {
  position: relative;
  margin: 85px auto 0;
  text-align: center;
}

@media (max-width: 767px) {
  .contact .submitBtn {
    margin: 50px auto 0;
  }
}

.contact .submitBtn button {
  position: relative;
  display: inline-block;
  border-radius: 4px;
  background: #142335;
  max-width: 100%;
  width: 394px;
  max-width: 45%;
  height: 65px;
  line-height: 65px;
  border: 1px solid #142335;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  color: #fff;
  transition: all 0.3s;
}

@media (max-width: 767px) {
  .contact .submitBtn button {
    width: 100%;
    max-width: 100%;
    height: 55px;
    line-height: 55px;
  }
}

.contact .submitBtn button .mark {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #fff;
  width: 18px;
  height: 18px;
  margin: auto;
}

@media (max-width: 767px) {
  .contact .submitBtn button .mark {
    width: 15px;
    height: 15px;
  }
}

.contact .submitBtn button .mark .icon_link {
  width: 5px;
  height: 8px;
  margin: 0;
}

.contact .submitBtn button.prevBtn {
  margin-right: 12px;
  background: #fff;
  color: #142335;
}

@media (max-width: 767px) {
  .contact .submitBtn button.prevBtn {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

.contact .submitBtn button.prevBtn .mark {
  right: auto;
  left: 20px;
  background: #142335;
}

.contact .submitBtn button.prevBtn .mark .icon_link {
  fill: #fff;
  transform: scale(-1, 1);
}

.contact .submitBtn.disable button {
  cursor: auto;
  opacity: 0.4;
}

.contact span.error {
  display: block;
  color: #d83d3d;
}

.contact .error+input,
.contact .error+select,
.contact .error+textarea {
  border-color: #d83d3d;
}

.contact .error label {
  color: #3E3A39;
}

/* =========================================================
confirm
========================================================= */
.confirm table {
  margin-bottom: 0;
}

.confirm table td {
  padding: 30px 30px;
}

@media (max-width: 767px) {
  .confirm table td {
    padding: 15px 0;
  }
}

.confirm table td.name {
  border-bottom: 1px solid #CACACA;
}

@media (max-width: 767px) {
  .confirm table td.name {
    border-bottom: none;
  }
}

/* =========================================================
thanks
========================================================= */
.thanks {
  text-align: center;
}

@media (max-width: 767px) {
  .thanks .bg_white {
    padding-bottom: 80px;
  }
}

.thanks .logo {
  margin-top: 30px;
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .thanks .logo {
    margin-top: 20px;
    margin-bottom: 25px;
  }

  .thanks .logo img {
    width: 101px;
    height: 107px;
  }
}

.thanks .secTitle02 {
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .thanks .secTitle02 {
    font-size: 1.7rem;
  }
}

.thanks .btn {
  margin-top: 100px;
}

@media (max-width: 767px) {
  .thanks .btn {
    margin-top: 60px;
  }
}