@charset "EUC-JP";

@import "base.css?tsp";

h2,
h3 {
  margin-bottom: 10px;
}

#contents div.box {
  padding: 0 60px;
  margin-bottom: 40px;
}

table.form {
  margin: 20px 0;
  border-top: 1px solid #cccccc;
}

table.form th,
table.form td {
  padding: 5px;
  border-bottom: 1px solid #cccccc;
}

table.form textarea {
  width: 410px;
}

table.form th {
  position: relative;
  font-weight: normal;
  vertical-align: top;
  width: 286px;
  padding-right: 10px;
}
table.form th .req {
  position: absolute;
  color: white;
  font-size: 0.8em;
  background-color: rgb(175,0,0);
  top: 0.3em;
  right: 1em;
  padding: 0 2px;
}

table.form td {
  vertical-align: top;
}

table.form td.check {
  vertical-align: top;
}
#btn {
  display: flex;
}
#btn > input {
  background-color: white;
  margin: auto;
  padding: 1em;
  text-align: center;
  border: 1px solid #555;
  box-shadow: 0 3px 6px rgb(0 0 0 / 10%);
}
#btn > input:hover {
  color: white;
  background-color: #71cbff;
  cursor: pointer;
}

#contents table {
  margin-bottom: 30px;
}
#contents table th,
#contents table td {
  padding: 3px 2px;
}

#contents table small {
  font-size: 80%;
}
form .long {
  width: 350px;
}
form .normal {
  width: 200px;
}
form .short {
  width: 100px;
}
#contents div.errortext {
  color: #ff0000;
  margin: 20px 0;
  border-left: 3px solid #ff0000;
}

input {
  margin: 0.5em 0;
  vertical-align: middle;
}

input[type="number"] {
  width: 4em;
}

.introduction {
  /* display: flex;
	justify-content: space-around; */
  height: 18em;
}
.introduction * {
  margin: auto;
  float: left;
}
.introduction p {
  margin-left: 9em;
  padding-top: 2em;
  width: 43%;
}
.introduction img {
  width: 30%;
}

.checkbox_list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

.radio label:not(:first-child) {
  margin-left: 3em;
}

input[type="submit"]{
  -webkit-appearance: none;
}