#formWrap,
#formThanks,
.wrap700{
  max-width:700px;
  width: 90%;
  padding: 80px 0;
  margin:0 auto;
}
table.formTable{
  width:100%;
  border-collapse:collapse;
  margin:20px auto 40px;
}
table.formTable td,table.formTable th{
  border:1px solid #ccc;
  padding:10px;
}
table.formTable th{
  position: relative;
  width:30%;
  font-weight:normal;
  background:#eee;
  text-align:left;
  vertical-align: middle;
}

.hissu,
.any{
	position: relative;
	display: block;
}
.hissu::after,
.any::after{
	content: "任意";
  position: absolute;
  right: 10px;
  background: #777;
  color: #fff;
  font-size: 0.87rem;
  line-height: 1.0;
  padding: 5px 7px 3px; 
}
.hissu::after{
  content: "必須";
  background: #f39800;
}

input[type="text"],
textarea, select {
  background-color: #fcfcfc;
  border-color: #d2dadf;
  border-style: solid;
  border-width: 1px;
  box-shadow: 1px 1px #d2dadf;
  box-sizing: border-box;
  color: inherit;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
  padding: 8px 10px;
  width: 100%;
  box-shadow: 1px 1px 1px 0px rgb(196 207 214 / 80%) inset;
  border-radius: 1px;
}
input[type=text]:focus,
textarea:focus {
  outline: none;
}
::placeholder {
  color: #aaa;
  font-size: .87rem;
}

input[type="submit"],
input[type="reset"],
input[type="button"]{
  box-sizing: border-box;
  width: 200px;
  border: none;
  font-size: 1.25rem;
  font-weight: normal;
  text-align: center;
  padding: 10px 20px 7px;
}
input[type="submit"]{
  background: #008842;
  color: #fff;
}
input.dis{
	background: #b5b5b5;
	color: #313131;
}
input[type="reset"],
input[type="button"]{
	background: #b5b5b5;
}
.mt20center{
  margin-top: 20px;
  text-align: center;
}
.error_messe{
	color: #e60012;
	line-height: 2.0;
}


/*チェックボックス*/
label {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
}
label::before,
label::after {
  content: "";
  display: block; 
  position: absolute;
}
label::before {
  background-color: #fff;
  border-radius: 0%;
  border: 1px solid #ddd;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  top: 50%;
  left: 5px;
}
label::after {
  border-bottom: 2px solid #008842;
  border-left: 2px solid #008842;
  opacity: 0;
  height: 5px;
  width: 10px;
  transform: rotate(-45deg);
  top: 5px;
  left: 10px;
}
input:checked + label::after {
  opacity: 1;
}
.visually-hidden {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.mt20{
  margin-top: 20px;
}

#formWrap a:link,
#formWrap a:visited{
  color: #008842;
}
#formWrap a:hover{
  color: #8fc31f;
}


/*thanks*/
.thankh3{
  text-align: center;
  font-family: serif;
  font-size: 1.5rem;
  color: #666;
  margin-bottom: 30px;
}

#formThanks p{
  text-align: center;
  margin-bottom: 1.0em;
}

/*privacy*/
.privacy_h2{
  font-size: 1.12rem;
}
#privacy ul{
  list-style: disc;
  padding: 0 0 0 1em;
  margin-top: 10px;
}



@media screen and (max-width:750px) {
  #formWrap {
    width:95%;
    margin:0 auto;
  }
  table.formTable th, table.formTable td {
    width:auto;
    display:block;
  }
  table.formTable th {
    margin-top:5px;
    border-bottom:0;
  }
  form input[type="text"], form textarea {
    width:80%;
    padding:5px;
    font-size:110%;
    display:block;
  }
  form input[type="submit"], form input[type="reset"], form input[type="button"] {
    display:block;
    width:100%;
    height:40px;
  }
}