@charset 'UTF-8';

#contact dl > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border: solid 1px #ccc;
  border-bottom: none;
}

#contact dl > div:last-child {
  border-bottom: solid 1px #ccc;
}

#contact dl {}

#contact dt,
#contact dd{
  padding: 0.5rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#contact dt p,
#contact dd p{
  margin-bottom: 0;
}
#contact dt {
  width: 30%;
  justify-content: center;
}
#contact dt p{
  position: relative;
}
#contact dt p.Required:after{
  content: "必須";
  width: 3em;
  display: block;
  color: red;
  font-size: 0.75em;
  position: absolute;
  top: 0;
  left: 105%;
}

#contact dd {
  width: 70%;
  border-left: solid 1px #ccc;
  justify-content: flex-start;
}

.tel-contact dd span{
  font-size: 3rem;
  font-weight: bold;
}

#contact dd input[type="text"],
#contact dd input[type="email"]{
  width: 20em;
}
#contact dd textarea{
  width: 20em;
  height: 8em;
}
#contact .send-button{
  display:flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  margin: 3rem auto 5rem auto;
}

#contact pre{
  background-color: #fff;
  border: none;
  font-size: 1rem;
  padding: 0;
  font-size: 16px;
}

@media screen and (max-width: 700px) {
  #contact dl > div {
    flex-direction: column;
    margin-bottom: 0.5rem;
    border-bottom: solid 1px #ccc;
  }

  #contact dl dt,
  #contact dl dd {
    width: 100%;
  }

  #contact dl dt {
    border-bottom: solid 1px #ccc;
  }

  #contact dl dd {
    border-left: none;
  }
}
