/*********************************************************
共通
*********************************************************/
#contact {
  font-family: Avenir, 'Helvetica neue', Helvetica, '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
@media (min-width: 1201px) {
  #contact {
    margin: 0 auto;
    max-width: 80%;
  }
}
/*--タイトル・説明文--*/
#contact .title {
  font-size: 24px;
  border-bottom: dotted #C8C8C8 1px;
  margin: 5% 0 2% 0;
}
#contact .note {
  font-size: 14px;
  color: #4E4E4E;
  margin: 10px 0 5% 0;
}
@media screen and (max-width: 768px){
  #contact .title {
    font-size: 18px;
  }
}
/*--必須マーク--*/
.required-mark {
  background: #BC0003;
  border-radius: 3px;
  padding: 4px;
  font-weight: bold;
  font-size: 12px;
  color: #FFF;
  margin: 0 5px;
}
/*疑似要素で必須を表示させる場合*/
#contact tr:nth-child(n + 2) th::after {
  background: #BC0003;
  border-radius: 3px;
  color: #FFF;
  content: "必須";
  display: inline-block;
  font-weight: bold;
  font-size: 12px;
  margin: 0 5px;
  padding: 4px;
  vertical-align: middle;
}
/*--テーブル--*/
#contact table,
#contact tr,
#contact th,
#contact td {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#contact table {
  width: 100%;
  border-collapse: collapse;
}
#contact th {
  text-align: left;
  padding: 3% 0 3% 1%;
  font-weight: normal;
}
#contact td {
  padding: 3% 1% 3% 0;
}
#contact th,
#contact td {
  border-bottom: 1px solid #DDD;
}
#contact td input {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 2em;
}
#contact td [type=radio],
#contact td [type=checkbox] {
  width: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: auto;
}
#contact td textarea {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 10em;
}
#contact td select {
  height: 30px;
}
@media (min-width: 769px) {
  #contact th {
    width: 30%;
  }
}
@media screen and (max-width: 768px){
  #contact table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
  }
  #contact th {
    border-bottom: none;
    display: block;
    text-align: center;
    padding: 3% 0 3% 1%;
    font-weight: normal;
    font-size: 18px;
  }
  #contact th span {
    background: #BC0003;
    border-radius: 3px;
    padding: 4px;
    font-weight: bold;
    font-size: 12px;
    color: #FFF;
    margin: 0 0 0 5px;
  }
  #contact td {
    display: block;
    padding: 0 1% 3% 0;
  }
  #contact td input {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 45px;
  }
  #contact td textarea {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 80px;
  }
}
@media screen and (max-width: 500px){
  #contact td select{
    width: 100%;
  }
}
/*--ボタン--*/
#contact .submit {
  width: 20%;
  margin: 3% auto;
}
#contact .answerbutton {
  background: #3B99F1;
  border-radius: 5px;
  border: 1px #3B99F1 solid;
  line-height: 50px;
  width: 100%;
  margin: 0 auto;
  color: #FFF;
  cursor: pointer;
  font-weight: bold;
  font-size: 18px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#contact .returnbutton {
  background: #3B99F1;
  border-radius: 5px;
  border: 1px #3B99F1 solid;
  line-height: 50px;
  width: 100%;
  margin: 0 auto;
  color: #FFF;
  cursor: pointer;
  font-weight: bold;
  font-size: 18px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#contact .answerbutton:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px){
  #contact .submit {
    width: 30%;
  }
}
@media screen and (max-width: 500px){
  #contact .submit {
    width: 40%;
  }
}