#main_area { width: 800px; }

/* -- お電話でのお問いあわせ -- */
#phone_area {
  margin-bottom: 20px;
  width: 100%; 
}

#phone_area dl { overflow: hidden; }
#phone_area dl dt {
  float: left;
  margin: 0;
  padding: 0;
  width: 50px;
  height: 50px;
  background: url(/img/themes/momo01/ic-contact-tel.png) 0 5px no-repeat;
  text-indent: -9999px;
}
#phone_area dl dd {
  float: left;
  margin: 0;
  padding: 0;
  line-height: 50px;
  font-size: 30px;
  list-style-type: none;
}
a#phone_area_tel {
  display: block;
  color: #444;
}

/* -- 受付時間・メッセージ -- */
#phone_message {
  clear: both;
  box-sizing: border-box;
  margin-bottom: 30px;
  border: 1px gray dotted;
  width: 100%;
  padding: 10px;
  line-height: 1.4em;
}
#phone_message p { margin: 0; }

/* -- フォームの見出し -------------- */
.FormHeading {
  margin-left: 3px;
  margin-bottom: 5px;
  border-left: 5px orange solid;
  padding-left: 10px;
}
.FormHeading h3 { margin: 0; }

/* -- フォームテーブル -- */
form#entry_form fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

form#entry_form table {
  box-sizing: border-box;
  margin: 0;
  border: 1px #ccc solid;
  border-collapse: collapse;
  width: 100%;
}

#entry_form input,
#entry_form textarea,
#entry_form select {
  box-sizing: border-box;
  padding: 5px;
  border-radius: 5px;
  border: 1px solid gray;
  font-size: 16px;
  font-family : inherit;
}
.TextBox {
  margin-top: 2px;
  margin-bottom: 3px;
  width: 90%;
}
.TextBoxS {
  margin-top: 2px;
  margin-bottom: 3px;
  width: 150px;
}
.TextArea {
  width: 90%;
  height: 100px;
}

ul.CheckList {
  margin: 5px;
  padding: 0;
  list-style-type: none;
}

/* -- 必須 -- */
form#entry_form table th strong{
  font-weight: normal;
  color: red;
}

/* -- 個人情報保護 -- */
.Agree {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ccc;
  padding: 10px;
  background-color: #f5f5f5;
}
.Agree a {
  padding-right: 13px;
  background: url(/img/com/ps01/new-window.gif) no-repeat center right;
}
p.AgreeCheck {
  margin-top: 10px;
  border: 1px solid #aaa;
  padding: 10px 0;
  background-color: #fff;
  text-align: center;
}

/* -- ボタン -- */
.FormButton {
  margin: 20px 0 20px;
  padding-top: 1px;
  width: 100%;
  overflow: hidden;
}
.FormButton button {
  display: block;
  border-radius: 5px;
  border-style: none;
  padding: 15px 0;
  width: 250px;
  font-weight: bold;
  cursor: pointer;
}

button#confirm_button {
  margin: 0 auto;
  border-bottom: 3px #5fa000 solid;
  background-color: #8fc900;
  color: #fff;
}
button#confirm_button:hover {
  margin-top: 2px;
  border-bottom: 1px #5fa000 solid;
  background-color: #b5db49;
}

button#send_button {
  border-bottom: 3px #5fa000 solid;
  background-color: #8fc900;
  color: #fff;
}
button#send_button:hover {
  margin-top: 2px;
  border-bottom: 1px #5fa000 solid;
  background-color: #b5db49;
}

button#back_button {
  width: 150px;
  border-bottom: 3px #c6c6c6 solid;
  background-color: #ebebeb;
  color: #335c85;
}
button#back_button:hover {
  border-bottom: 1px #c6c6c6 solid;
}

/* -- エラーメッセージ -- */
p.TopErrMsg {
  box-sizing: border-box;
  margin-bottom: 10px;
  border-radius: 5px;
  padding: 10px 35px;
  width: 100%;
  background: #dd0000 url("/img/com/ps01/alert.gif") 10px center no-repeat;
  line-height: 1.4em;
  color: #fff;
}
p.ErrMsg {
  margin-top: 3px;
  width: 100%;
  background: url("/img/com/ps01/alert.gif") 3px 2px no-repeat;
  text-indent: 25px;
  line-height: 1.4em;
  font-weight: bold;
  color: red;
}

/* PC or スマホ
--------------------------- */
/* -- PC -- */
@media screen and (min-width: 768px) {
  a#phone_area_tel { pointer-events: none; }

  .FormHeading h3 {
    font-size: 20px;
    font-weight: normal;
  }

  form#entry_form table th {
    width: 170px;
    border: 1px #ccc solid;
    padding: 10px;
    background-color: #f5f5f5;
    text-align: left;
    font-weight: normal;
  }
  form#entry_form table td {
    border: 1px #ccc solid;
    padding: 10px;
    width: 374px;
    background-color: #fff;
  }

  ul.CheckList li { margin-bottom: 5px; }

  button#send_button {
    float: right;
    margin: 0 150px 0 0;
  }
  button#back_button {
    float: left;
    margin: 0 0 0 150px;
  }
  button#back_button:hover {
    margin-top: 2px;
  }
}
/* -- スマホ -- */
@media screen and (max-width: 767px) {
  .FormHeading h3 {
    font-size: 18px;
    font-weight: bold;
  }

  form#entry_form table th {
    display: block;
    box-sizing: border-box;
    width: 100%;
    border: 1px #ccc solid;
    padding: 10px;
    background-color: #f5f5f5;
    text-align: left;
    font-weight: bold;
  }
  form#entry_form table td {
    display: block;
    box-sizing: border-box;
    border: 1px #ccc solid;
    padding: 10px;
    width: 100%;
    background-color: #fff;
  }

  ul.CheckList li { margin-bottom: 15px; }

  button#send_button { margin: 0 auto 30px; }
  button#back_button { margin: 0 auto 30px; }
  button#back_button:hover { margin-top: 32px; }
}
