@charset "utf-8";

/* ------- INDEX ---------------------------------------------- */
.link-window{
  background-image: url("../../common/img/ic_window.svg");
  background-position: right center;
  background-repeat: no-repeat;
  padding-right: 25px;
}



#form-contact input[type=text],
#form-contact textarea,
#form-contact select{
  border-radius: 5px;
  font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
#form-contact input[type=text],
#form-contact textarea{
  background-color: #FFF;
  border-radius: 5px;
  padding: 15px 20px;
  font-size: 16px;
}
#form-contact textarea{
  width: 100%;
}


#form-contact input[type=checkbox] {
  appearance: none;
}
#form-contact .ck{
  cursor: pointer;
}
#form-contact .ck input[type=checkbox]{
  width: 1.8em;
  height: 1.8em;
  vertical-align: middle;
  border-radius: 5px;
  background-color: #fff;
  margin-right: 13px;
}
#form-contact .ck input[type=checkbox]:checked {
    background: #3681A0 url("../img/check.svg") center center no-repeat;
}


#form-contact select{
  background-color: #FFF;
  padding: 15px 20px;
  position: relative;
}
#form-contact .select-ori{
  display: inline-block;
  position: relative;
  z-index: 0;
}
#form-contact .select-ori:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #000 transparent transparent transparent;
  position: absolute;
  top: 25px;
  right: 20px;
  pointer-events: none;
  z-index: 2;
}
#form-contact .select-ori select{
  padding-right: 50px;
  width: 100%;
}
.input-wrap{
  display: flex;
}
label.error{
  color: #A02B2E;
  display: block;
  margin-top: 10px;
}

.contact-tbl .require{
  padding-right: 67px;
  display: inline-block;
  position: relative;
}
.contact-tbl .require:after{
  background-color: #A02B2E;
  border-radius: 3px;
  color: #FFF;
  content: "必須";
  font-size: 1.3rem;
  display: inline-block;
  line-height: 1;
  padding: 5px 10px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

#privcy-box > div{
  background-color: #DBDADA;
  padding: 10px 30px;
}

.form-btn-area{
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
.form-btn-area input:nth-child(n + 2){
  margin-left: 20px;
}
.form-btn-area input[type=reset],
.form-btn-area input[type=submit],
.form-btn-area .btn-back{
  border-radius: 5px;
  color: #FFF;
  font-size: 2.2rem;
  text-align: center;
  padding: 20px 0;
  width: 240px;
  transition: .3s;
}
.form-btn-area input[type=reset],
.form-btn-area .btn-back{
  background-color: #777777;
}
.form-btn-area input[type=submit]{
  background-color: #3681A0;
}
.error_wrap{
  margin-top: 50px;
}
.error_messe{
  color: #A02B2E;
}
@media print, screen and (min-width:781px) {
  .contact-confirm{
    display: flex;
    flex-direction: column;
  }
  .contact-confirm article{
    min-height: calc(100vh - 475px);
  }
  #form-contact{
    margin-top: 60px;
  }
  
  .contact-tbl{
    border-top: 1px solid #CCCCCC;
    width: 100%;
  }
  .contact-tbl tr{
    border-bottom: 1px solid #CCCCCC;
  }
  .contact-tbl tr th,
  .contact-tbl tr td{
    padding: 30px 0;
  }
  .contact-tbl tr th{
    vertical-align: middle;
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 400;
    width: 330px;
  }
  .contact-tbl tr th span{
    font-size: 1.5rem;
  }
  .email1 .note{
    margin-top: 10px;
  }
  .email2{
    margin-top: 30px;
  }
  .email2 .note{
    margin-bottom: 10px;
  }
  .email1 input[type=text],
  .email2 input[type=text]{
    width: 100%;
  }
  
  #cbox1 .validation,
  #cbox2 .validation{
    display: flex;
    flex-wrap: wrap;
  }
  #cbox1 .validation label,
  #cbox2 .validation label{
    margin-right: 40px;
  }
  #cbox2 .validation label{
    margin-bottom: 20px;
  }
  
  .input-wrap .validation{
    width: 46%;
  }
  .input-wrap .validation .input-middle{
    width: 100%;
  }
  
  #privcy-box{
    display: flex;
    align-items: center;
  }
  #privcy-box > div{
    margin-right: 20px;
  }
}
@media screen and (max-width: 780px) {
  #form-contact{
    margin: 60px 20px 0;
  }
  .contact-tbl{
    width: 100%;
  }
  .contact-tbl tr{
    border-bottom: 1px solid #CCCCCC;
  }
  .contact-tbl,
  .contact-tbl tbody,
  .contact-tbl tr,
  .contact-tbl th,
  .contact-tbl td{
    display: block;
    width: 100%;
  }
  .contact-tbl{
    border-top: 1px solid #CCCCCC;
  }
  .contact-tbl tr{
    padding: 15px 0;
  }
  .contact-tbl td{
    margin-top: 15px;
  }
  .contact-tbl tr th{
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 400;
  }
  .contact-tbl tr th span{
    font-size: 1.5rem;
  }
  
  
  #cbox1 .validation,
  #cbox2 .validation{
    display: flex;
    flex-wrap: wrap;
  }
  #cbox1 .validation label,
  #cbox2 .validation label{
    margin-right: 20px;
  }
  #cbox2 .validation label{
    margin-bottom: 20px;
  }
  
  
  .input-wrap .validation{
    width: 46%;
  }
  .input-wrap .validation .input-middle{
    width: 100%;
  }
  
  #privcy-box{
    text-align: center;
  }
  #privcy-box > div{
    margin-bottom: 20px;
  }
  
  .form-btn-area input[type=reset],
  .form-btn-area input[type=submit],
  .form-btn-area .btn-back {
    font-size: 1.8rem;
  }
  
  
  .email2{
    margin-top: 30px;
  }
  .sp-tell,
  .sp-mail{
    width: 100% !important;
  }
  .error_wrap{
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media (hover: hover) and (pointer: fine){
  .form-btn-area input[type=reset]:hover,
  .form-btn-area input[type=submit]:hover,
  .form-btn-area .btn-back:hover{
    opacity: .8;
  }
}


/* ------- INDEX ---------------------------------------------- */
.contact-index article a{
  color: #3681A0;
  text-decoration: underline;
}
.form-text strong{
  color: #A02B2E;
  font-weight: 400;
}
@media print, screen and (min-width:781px) {
  .heading > h1{
    font-size: 3.2rem;
  }
  .form-text{
    margin-top: 55px;
  }
  .form-text p:nth-child(n + 2){
    margin-top: 20px;
  }
}
@media screen and (max-width: 780px) {
  .heading > h1{
    font-size: 2.2rem;
  }
  .form-text{
    padding: 0 20px;
    margin-top: 50px;
  }
  .form-text p:nth-child(n + 2){
    margin-top: 20px;
  }
}
@media (hover: hover) and (pointer: fine){
  .contact-index article a:hover{
    text-decoration: none;
  }
}


/* ------- THANKS ---------------------------------------------- */
.btn-top{
  border: 1px solid #000;
  border-radius: 60px;
  color: #000000 !important;
  font-size: 1.5rem;
  display: block;
  text-align: center;
  text-decoration: none !important;
  padding: 15px;
  transition: .3s;
}
.btn-top span{
  background-image: url("../../common/img/ic_arrow.svg");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 5px auto;
  padding-right: 15px;
  display: inline-block;
}
@media print, screen and (min-width:781px) {
  .form-contact-thanks > p{
    margin-bottom: 45px;
  }
  .btn-top{
    max-width: 260px;
  }
}
@media screen and (max-width: 780px) {
  .form-contact-thanks > p{
    margin-bottom: 45px;
  }
  .btn-top{
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine){
  .btn-top:hover{
    background-color: #A02C2E;
    color: #FFF !important;
  }
  .btn-top:hover span{
    background-image: url(../../common/img/ic_arrow_w.svg);
  }
}

.form-contact-confirm .formTable.contact-tbl td{
  word-break: break-all;
}