/* common
---------------------------------------------------------- */
a + .icon {
  margin-right: .3rem;
  margin-left: .5rem;
  vertical-align: middle;
}

.supplement {
  display: inline-block;
  white-space: nowrap;
}

.complete-message {
  padding: 5rem 0;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.6;
}

/* SP block
..................................... */
@media only screen and (max-width: 450px) {
  .complete-message span {
    display: block;
  }
}

/* table
---------------------------------------------------------- */
.contact-table td p + p {
  margin-top: .5rem;
}
.contact-table td span {
  display: inline-block;
  white-space: nowrap;
}

/* PC block
..................................... */
@media only screen and (min-width: 1024px) {
  .contact-table th {
    width: 300px;
  }
}

/* SP block
..................................... */
@media only screen and (max-width: 767px) {
  .contact-table th {
    width: 120px;
  }
  .contact-table .listIcon002 li {
    padding-right: 0;
  }
}


/* graybox
---------------------------------------------------------- */
.contact-caution {
  padding: 20px;
}

/* PC block
..................................... */
@media only screen and (min-width: 1024px) {
  .content-contact .listIcon004 li {
    line-height: 1.5;
  }
  .content-contact .listIcon004 li::before {
    top: .65rem;
    margin: inherit;
  }
}

/* SP block
..................................... */
@media only screen and (max-width: 767px) {
  .content-contact .listIcon002 li {
    background-position: left .4rem;
  }
}

/* block
---------------------------------------------------------- */
.contact-subMenu .listIcon001 {
  padding: 12px 15px;
}
.subMenu .listIcon001 a {
  display: inline-block;
  padding-left: 29px;
  background: url(../img/icon_arrow_right.png) no-repeat left center;
  font-size: 1rem;
  line-height: 1.3;
}

/* FAQ block
---------------------------------------------------------- */
.faqBox + .faqBox {
  border-top: 1px solid #ccc;
}
.faqBox .question {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 30px;
  font-size: 1.125rem;
  font-weight: bold;
  color: #034ea1;
}
.faqBox + .faqBox .question {
  margin-top: 1rem;
}
.faqBox .question::before {
  content: "";
  position: absolute;
  left: 0;
  top: .15rem;
  display: block;
  width: 21px;
  height: 21px;
  background: url(../img/contact/icon_question.gif) no-repeat left center;
}
.faqBox .answer {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 60px;
}
.faqBox .answer::before {
  content: "";
  position: absolute;
  left: 30px;
  top: .15rem;
  display: block;
  width: 21px;
  height: 21px;
  background: url(../img/contact/icon_answer.gif) no-repeat left center;
}

.faqBox .answer p {
  line-height: 1.5;
}
.faqBox .answer p + p {
  margin-top: 1.5rem;
}

/* PC block
..................................... */
@media only screen and (min-width: 1024px) {
  .text-size-s .faqBox .question::before {
    top: 0;
  }
  .text-size-s .faqBox .answer::before {
    top: 0;
  }
}


/* contact form
---------------------------------------------------------- */
.content-contact-form {
}
.content-contact-form form table .affiliation {
  background: #eee;
}
.content-contact-form form table td {
  font-size: 1.125rem;
}
.content-contact-form form table td[colspan="2"] {
  height: auto;
  padding-top: 1.5rem;
}
.content-contact-form form > table {
  border: none;
  border-color: #fff;
}
.content-contact-form form > table:nth-of-type(1) + table {
  margin-top: 2rem;
}
.content-contact-form form > table:nth-of-type(1) + table table tr:nth-of-type(1) td {
  border-top: 1px solid #ddd;
}
.content-contact-form form > table td {
  padding: 0;
}
.content-contact-form form > table td .caution {
  font-size: 1rem;
}
.content-contact-form form > table table th,
.content-contact-form form > table table td {
  padding: 1rem 10px .5rem;
  box-sizing: border-box;
  vertical-align: middle;
}
.content-contact-form form > table:nth-of-type(1) td  {
  height: auto;
}
.content-contact-form form > table:nth-of-type(1) table td  {
  padding-right: 0;
  padding-left: 0;
}
.content-contact-form form > table:nth-of-type(2) table td:nth-of-type(1):not([colspan="2"]) {
  font-weight: bold;
}
.content-contact-form form > table:nth-of-type(2) table td:not([colspan="2"]) {
  border-bottom: 1px solid #ddd;
  padding-bottom: 1rem;
}
.content-contact-form form select,
.content-contact-form form input[type="text"],
.content-contact-form form textarea {
  margin-right: 10px;
  vertical-align: middle;
  font-size: 1.125rem;
}
.content-contact-form form input[type="text"],
.content-contact-form form textarea {
  padding: .25rem;
  line-height: 1.3;
}
.content-contact-form form input[type="text"]:focus,
.content-contact-form form textarea:focus {
}
.content-contact-form form hr {
  display: none;
}
.content-contact-form form input[type="button"] {
  margin: 0 5px;  
  border-radius: 4px;
  border: 1px solid #d6d6d6;
  background: -webkit-linear-gradient(top, #e7e7e7 0%, #ffffff 100%);
  background: linear-gradient(to bottom, #e7e7e7 0%, #ffffff 100%);
  border-radius: 2px;
  font-size: 1.125rem;
  font-weight: bold;
  padding: .4rem 1rem;
}
.content-contact-form form input[type="button"][name="next"] {
  border: 1px solid #034ea1;
  background: -webkit-linear-gradient(top, #034ea1 0%, #00adee 100%);
  background: linear-gradient(to bottom, #034ea1 0%, #00adee 100%);
  color: #fff;
}



/* PC block
..................................... */
@media only screen and (min-width: 1024px) {
  .content-contact-form {
    float: inherit;
    width: 100%;
    max-width: calc(100% - 100px);
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
  }
  .content-contact-form form table {
    width: 900px;
  }
  .content-contact-form form table:nth-of-type(2) table td:nth-of-type(1) {
    width: 280px;
  }
  .content-contact-form form table .w60 {
    width: 100px;
  }
  .content-contact-form form table .w200 {
    width: 240px;
  }
  .content-contact-form form table .w250 {
    width: 290px;
  }
  .content-contact-form form table .w350 {
    width: 390px;
  }
  .content-contact-form form table .w450 {
    width: 490px;
  }
  .content-contact-form form table:nth-of-type(3) td:nth-of-type(1) {
    width: 100px;
    vertical-align: top;
  }
}

/* SP block
..................................... */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .content-contact-form form table {
    width: 100%;
  }
  .content-contact-form form table:nth-of-type(2) table td:nth-of-type(1) {
    width: 160px;
  }
}
@media only screen and (max-width: 767px) {
  .content-contact-form form table {
    display: block;
    width: 100%;
  }
  .content-contact-form form table tr {
    display: block;
  }
  .content-contact-form form table td {
    display: block;
    width: 100%;
  }
  .content-contact-form form > table td .caution {
    display: inline-block;
    margin-top: .5rem;
    font-size: 1rem;
  }
  .content-contact-form form table td:nth-of-type(1) {
    padding-bottom: .25rem;
  }
  .content-contact-form form table td:nth-of-type(2) {
    padding-top: .25rem;
  }
  .content-contact-form form > table:nth-of-type(1) + table table tr:nth-of-type(1) td:nth-of-type(2) {
    border-top: none;
  }
  .content-contact-form form > table:nth-of-type(2) table td:nth-of-type(1) {
    border-bottom: none;
    padding-bottom: .25rem;
  }
  .content-contact-form form select,
  .content-contact-form form input[type="text"],
  .content-contact-form form textarea {
  }
  .content-contact-form form table .w200,
  .content-contact-form form table .w250,
  .content-contact-form form table .w350,
  .content-contact-form form table .w450 {
    width: 100%;
  }

  .content-contact-form form select + input[type="text"],
  .content-contact-form form input[type="text"] + input[type="text"] {
    margin-top: .5rem;
  }

  .content-contact-form form input[type="button"] {
    margin-bottom: 2rem;
  }
}

@media only screen and (max-width: 450px) {
  .content-contact-form form input[type="button"] {
    margin: 0 0 1rem;
    width: 100%;
  }
}

