@charset "utf-8";
/* ====================================
   フォーム用
   ==================================== */

/* フォームではロゴ非表示 */
.logo {
  display: none;
}

/* 囲み */
#form .section {
  padding: 30px;
  border: 1px solid #E0E0E0;
  border-radius: 4px;
  margin-bottom: 15px;
  background-color: #FAFAFA;
}

#form h3 {
  margin-top: 10px;
}

#form .table {
  margin-bottom: 0px;
  margin-left: 2%;
  border: none;
}

/* input */
#form input[type="text"],
#form textarea {
  width: 100%;
  background-color: #fff;
  border: 1px solid #dce0e6;
  border-radius: 5px;
  outline: 0;
  padding: 0 10px;
}

#form input[type="text"] {
  height: 2.5rem;
}

#form td.inline input[type="text"] {
  width: auto;
}

#form span.ck {
  display: inline-block;
  padding-top: 8px;
  padding-right: 5px;
  padding-bottom: 3px;
  padding-left: 15px;
  border-top: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
}

#form span.ck label {
  padding-left: 5px;
}

/* 確認 */
#kakunin {
  display: none;
}

/* ヘッダ */
#form .table th {
  font-weight: normal;
  display: table-cell;
  vertical-align: middle;
  text-align: left;
}

#form .table th,
#form .table td {
  border: none;
  padding: 5px 0;
}

#form .table th p {
  margin-right: 10px;
  margin-bottom: 0px;
}

#form .table th p span {
  font-size: 80%;
  color: #f44336;
  margin-right: -10px;
}

/* その他 */
#form .table td p {
  margin-bottom: 0px;
}

#form p.help {
  font-size: 80%;
  color: #616161;
  padding-top: 0.5em;
  padding-bottom: 0em;
}

#form p.error {
  color: #c62828;
  padding-top: 0.5em;
  padding-bottom: 0em;
  margin-bottom: 0px;
}

#form .table td p.error {
  font-size: 80%;
  padding-top: 0em;
  padding-bottom: 0.5em;
}

/* チェックボックス付　日程テーブル */
#form .table-date {
  background-color: #fff;
  border-collapse: collapse;
  border: 1px solid #DDDDDD;
  font-size: 14px;
  margin-bottom: 20px;
}

#form .table-date th {
  font-weight: normal;
  text-align: left;
}

#form .table-date th,
#form .table-date td {
  border-top: 1px solid #DDDDDD;
}

#form .table-date label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 0px;
  font-weight: normal;
}

#form .table-date>thead>tr>th,
#form .table-date>tbody>tr>th,
#form .table-date>tfoot>tr>th,
#form .table-date>thead>tr>td,
#form .table-date>tbody>tr>td,
#form .table-date>tfoot>tr>td {
  padding: 0.3em 1em;
}

#form .table-date>thead {
  font-size: 16px;
  font-weight: bold;
}

#form .table-date th {
  width: auto;
}

#form .table-date th.ck,
#form .table-date td.ck {
  text-align: center;
  width: 200px;
}

::placeholder {
  font-size: .875em;
  color: #ccc;
}

/* ====================================
   fieldset
   ==================================== */
.person {
  width: 96%;
  margin-left: 2%;
  margin-bottom: 20px;
  background-color: #ECEFF1;
  border-radius: 8px;
  padding: 10px 0px;
}

/* ====================================
   チェックボックス用
   ==================================== */

input[type=checkbox].addck {
  display: none;
}

.add_person {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: block;
  margin: 0px;
  padding: 16px 12px 14px 50px;
  border-radius: 8px;
  background-color: transparent;
  vertical-align: middle;
  cursor: pointer;
}

.add_person:hover {
  background-color: #DCEDC8;
}

.add_person:before {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  width: 32px;
  height: 32px;
  background-image: url(../images/seminar/add.png);
  background-repeat: no-repeat;
  background-position: 0px 0px;
  content: '';
}

input[type=checkbox]:checked+.add_person:before {
  background-image: url(../images/seminar/add.png);
  background-position: -32px 0px;
}

.table td.title p {
  margin-bottom: 0;
  border-left: 5px solid #009688;
  padding: 5px 0 5px 7px;
}


/* フォーム内のチェックボックス */
.control {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
  cursor: pointer;
  font-weight: normal;
  font-size: 14px;
}

.control__indicator {
  position: absolute;
  top: 2px;
  left: 0;
  height: 20px;
  width: 20px;
  background: #e6e6e6;
  border: 2px solid #BDBDBD;
  border-radius: 4px;
  box-sizing: border-box;
}

.control input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

.control__indicator:after {
  content: '';
  position: absolute;
  display: none;
}

.control--checkbox .control__indicator:after {
  left: 5px;
  top: 1px;
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.control:hover input~.control__indicator,
.control input:focus~.control__indicator {
  background: #ccc;
}

.control input:checked~.control__indicator {
  background: #2aa1c0;
  border: 2px solid #2aa1c0;
}

.control input:checked~.control__indicator:after {
  display: block;
}
