@charset "utf-8";

.wpform {
  margin: 0 0 1em;
}
.wpform table {
  margin: 0 0 1em;
  table-layout: fixed;
  border-collapse: collapse;
  border: #ddd solid 1px;
  font-size: 100%;
  width: 100%;
}

.wpform table th,
.wpform table td {
  border: #ddd solid 1px;
  font-size: 100%;
  font-weight: normal;
  padding: 1.2em;
  text-align: left;
  vertical-align: top;
}

.wpform table th {
  background-color: #f5f5f5;
  width: 30%;
}

.wpform table td {
  background-color: #fff;
}

.wpform #num {
  width: 5em;
}

/* 必須(右端) */
.wpform .require_right {
  background-color: #08427C;
  border-radius: 2px;
  color: #fff;
  float: right;
  font-size: 70%;
  padding: .2em .4em;
  position: relative;
}

/* 必須 */
.wpform .require {
  background-color: #08427C;
  border-radius: 2px;
  color: #fff;
  /*float: right;*/
  font-size: 70%;
  padding: .2em .4em;
  margin-right: .4em;
  /*position: relative;*/
}

/* 画像 */
.wpform .wpform_image {
  margin-top: 5px;
}

.wpform .wpform_image img {
  max-width: 100%;
}

/* 注釈 */
.wpform .notes {
  color: #999;
  display: block;
  font-size: 12px;
  margin: 5px 0 0;
}

/* エラーメッセージ */
.wpform .error {
  color: #b70000;
  display: block;
  margin: 5px 0 0;
}

/* アクションボタン */
.wpform .action-buttons {
  text-align: center;
}

/* フォーム項目基本 */
.wpform input,
.wpform select,
.wpform textarea {
  box-sizing: border-box;
  max-width: 100%;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  width: auto;
}

/* ボタン */
.wpform input[type="submit"],
.wpform input[type="button"],
.wpform button {
  border: 1px solid #ccc;
  border-color: #ccc #ccc #bbb #ccc;
  border-radius: 3px;
  background: #e6e6e6;
  box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.5 ),
              inset 0 15px 17px rgba( 255, 255, 255, 0.5 ),
              inset 0 -5px 12px rgba( 0, 0, 0, 0.05 );
  color: rgba( 0, 0, 0, .8 );
  cursor: pointer;
  -webkit-appearance: button;
  line-height: 1;
  padding: .7em 1.5em;
  text-shadow: 0 1px 0 rgba( 255, 255, 255, 0.8 );
}

.wpform input[type="submit"]:hover,
.wpform input[type="button"]:hover,
.wpform button:hover {
  border-color: #ccc #bbb #aaa #bbb;
  box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.8 ),
              inset 0 15px 17px rgba( 255, 255, 255, 0.8 ),
              inset 0 -5px 12px rgba( 0, 0, 0, 0.02 );
}

.wpform input[type="submit"]:focus,
.wpform input[type="submit"]:active,
.wpform input[type="button"]:focus,
.wpform input[type="button"]:active,
.wpform button:focus,
.wpform button:active {
  border-color: #aaa #bbb #bbb #bbb;
  box-shadow: inset 0 -1px 0 rgba( 255, 255, 255, 0.5 ),
              inset 0 2px 5px rgba( 0, 0, 0, 0.15 );
}

/* 選択項目 */
.wpform label {
  display: inline-block;
  margin: 0 5px 0 0;
}
.wpform label input[type="checkbox"],
.wpform label input[type="radio"] {
  margin: 0 5px 0 0;
}

/* テキスト */
.wpform input[type="text"],
.wpform input[type="password"],
.wpform input[type="number"],
.wpform input[type="email"],
.wpform input[type="url"],
.wpform textarea {
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: .2em .4em;
  outline: 0;
}

.wpform input[type="text"]:focus,
.wpform input[type="password"]:focus,
.wpform input[type="number"]:focus,
.wpform input[type="email"]:focus,
.wpform input[type="url"]:focus,
.wpform textarea:focus {
  border: 1px solid #97c1ec;
}

/* 複数行テキスト */
.wpform textarea {
  overflow: auto;
  vertical-align: top;
  width: 100%;
}

/* ファイル */
.wpform input[type="file"] {
  display: inline;
}

/* 電話番号、郵便番号 */
.wpform .wpform-zip-field input,
.wpform .wpform-tel-field input {
  margin-right: 3px;
  margin-left: 3px;
}


@media screen and ( max-width: 970px ) {
  .wpform table,
  .wpform table tbody,
  .wpform table tr,
  .wpform table th,
  .wpform table td {
    display: block;
    width: auto;
  }
  .wpform table {
    border-right: none;
    border-bottom: none;
    border-left: none;
  }
  .wpform table th {
    border-top: none;
    padding: .5em 1em;
  }
  .wpform table td {
    border-top: none;
  }
}

table.noborder {
  border: none;
  width: auto;
}

table.noborder th,
table.noborder td {
  border: none;
	padding: 0.3em;
}
