/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Form Layout

/////////////////////////////////////////////////////////////////////////////////////////////////*/

section input,
section textarea,
section select {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size:16px;
}
section select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
section select::-ms-expand {
	display: none;  /* IE10以降 */
}
section .select_wrap {
  position:relative;
}
section .select_wrap:after {
  content:"";
  width:7px;
  height:7px;
  display:block;
  background:url(../img/select_arrow.png) no-repeat;
  background-size:7px auto;
  position:absolute;
  top:0;
  right:15px;
  bottom:0;
  margin:auto;
}
.ua-ie-9 section .select_wrap:after {
  display:none;
}

section button {
  border:none;
  width:100%;
  line-height:1;
  cursor:pointer;
}

/* ドクターの場合表示するclass */
form span.dr_only{ display: none; padding-top:3px;}
form table.dr span.dr_only{ display: block;}

/* テーブルレイアウト */

section table {
  width:100%;
  margin-top:30px;
  border:#EEEEEE 1px solid;
}
section th {
  vertical-align: top;
  width:280px;
  padding:30px;
  background:url(../img/th_back.gif);
  border-right:#FFFFFF 1px solid;
  border-bottom:#FFFFFF 1px solid;
}
section td {
  vertical-align: middle;
  padding:15px 20px;
  background:url(../img/td_back.gif);
  border-bottom:#EEEEEE 1px solid;
}
section td.focus {
  background-image:url(../img/td_focus_back.gif);
}

section tr:last-child th,
section tr:last-child td {
  border-bottom:none;
}
section td.middle {
  vertical-align:middle;
}

/* インナーテーブル */
section table table {
  width:100%;
  margin-top:0;
  border:none;
}
section table table th {
  width:120px;
  vertical-align:top;
  padding:15px 0 30px 0;
  font-size:14px;
  background:none;
  border:none;
}
section table table td {
  padding:0 0 15px 0;
  background:none;
  border:none;
}
section table table td div {
  padding:0;
}
section table table tr:last-child th,
section table table tr:last-child td {
  padding-bottom:0;
}

/* check用 */
section .check_tbl th {
  padding:20px 30px;
  background:#EEE;
}
section .check_tbl td {
  padding:20px 30px;
  background:#FFF;
}
section .check_tbl table th {
  padding:15px 0;
  background:none;
}
section .check_tbl table td {
  padding:0 0 0 20px;
}
section .check_tbl table tr:last-child th {
  padding-bottom:15px;
}


section th span {
  font-size:14px;
}
section td div {
  display:block;
  padding:0 10px;
}
section td div.sep {
  display:inline-block;
  width:50%;
}


/* ERROR */
section td input.err,
section td textarea.err {
  background-color:#FFCFBF;
}

section .err_text {
  display:none;
  padding:0 10px 15px;
  font-size:14px;
  color:#B20000;
}


/* 必須アイコン */
section th p,
section th label {
  display:inline-block;
}
section th.req p:after,
section th.req label:after {
  content:"必須";
  display:inline-block;
  vertical-align:bottom;
  padding:3px 4px 2px;
  margin-left:10px;
  background-color:#B20000;
  font-size:12px;
  color:#fff;
  line-height: 1;
  border-radius:4px;
}
.ua-ie section th.req p:after,
.ua-ie section th.req label:after {
  vertical-align:top;
  padding:5px 4px 0;
  margin-top:-3px;
}


/* Form */

section td input,
section td select,
section td textarea {
  width:100%;
  height:100%;
  padding:10px 20px;
  background-color:#fff;
  border:none;
  border-radius:4px;
}
section td input[type="radio"]{
  /* display:none; */
  width: auto;
}
section td .free input {
  width:auto;
}
section td select {
  padding:10px 15px;
}
section td textarea {
  height:120px;
}

section td.sel_day .select_wrap {
  display:inline-block;
}
section td.sel_day span {
  padding:0 5px;
}
section td.sel_day select {
  width:auto;
  padding-right:30px;
}

section td .input_info {
  padding:20px 0 10px;
  font-size:14px;
}

/* ラジオボタン */
section .radio {
  display: inline-block;
  vertical-align: middle;
  margin: 0 30px 0 0;
  padding: 12px 0 10px 35px;
  background:none;
  position: relative;
  cursor: pointer;
}
.ua-ie section .radio {
  padding: 16px 0 10px 35px;
}
section .radio:after {
  content: '';
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  display: block;
  width: 20px;
  height: 20px;
  background-color:#fff;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  bottom:0;
  margin:auto;
  display: none;
}
section .radio:before {
  content: '';
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #BAA286;
  position: absolute;
  top: 0;
  left: 6px;
  bottom:0;
  z-index:1;
  margin:auto;
  opacity: 0;
  display: none;
}
section td input[type=radio]:checked + .radio:before {
  opacity: 1;
}


/* BUTTON */

section .btn_area {
  margin-top:50px !important;
}
section .back_btn {
  float:left; width: 48%; margin-right: 2%;
}
section .detail_btn {
  float:right; width: 48%; 
}
section .entry_btn {
  float:right;
  width:680px;
  margin-top:-12px;
}
section .top_btn {
  float:none;
  width:100%;
}
/* add 20230628 moonfactory */
.mw_wp_form_input .detail_btn.send_btn {
  float:none;
  margin: auto;
}



@media screen and (max-width: 767px) {

section input,
section textarea,
section select {
  font-size:12px;
}
section .select_wrap:after {
  right:5px;
}

section table,
section tbody,
section tr,
section th,
section td {
  display:block;
  width:100% !important;
  font-size:12px !important;
}

section table {
  margin-top:15px;
  border:none;
  border-bottom:#EEEEEE 1px solid;
}
section th {
  padding:10px;
  border:#EEEEEE 1px solid;
  border-bottom:#FFFFFF 1px solid;
  border-right:none;
}
section td {
  padding:10px;
  border-left:#EEEEEE 1px solid;
  border-right:#EEEEEE 1px solid;
}

section th p,
section th label {
  line-height:140%;
}
section th.req p:after,
section th.req label:after {
  vertical-align:top;
  width:30px;
  padding:2px;
  margin-left:5px;
  text-align:center;
  font-size:10px;
}
 
section th span {
  font-size:10px;
}
section td div {
  padding:0;
}
section td div.sep {
  display:block;
  width:100%;
  margin-bottom:10px;
}
section td div.sep:last-child {
  margin-bottom:0;
}

section tr.add_tbl {
  display:none;
}
section td.add_btn {
  background:#AF9574;
  border-left:none;
  border-right:none;
  text-align:center;
  color:#fff;
  line-height:140%;
  position:relative;
}
section td.add_btn:after {
  content:"";
  display:inline-block;
  width:11px;
  height:11px;
  margin-left:5px;
  background:url(../img/icon_plus.png) no-repeat;
  background-size:11px auto;
}

section table table th {
  padding:0 0 5px 0 !important;
}
section table table td {
  padding:0 0 10px 0;
}


section .check_tbl th,
section .check_tbl td {
  padding:10px;
}
section .check_tbl table td {
  padding:0 0 10px 0;
}


 
section td input,
section td select,
section td textarea {
  padding:5px 10px;
}
section td textarea {
  height:90px;
}

section td .input_info {
  padding:10px 0 5px;
  font-size:10px;
}
 
section .radio {
  margin:0 20px 0 0;
  padding:5px 0 5px 30px;
}

section .err_text {
  font-size:10px;
  padding:0 0 5px 0;
}

section .btn_area {
  margin-top:20px !important;
}
section .back_btn {
  width:100%;
}
section .detail_btn {
  width:100%;
  margin-bottom:15px;
}
section .entry_btn {
  width:100%;
  margin-top:0;
  margin-bottom:15px;
}
section .top_btn {
  margin-bottom:0;
}

  
}

.mw_wp_form .error {
	font-size: 93% !important;
    color: #B70000 !important;
    display: block !important;
}



