input, select, button, textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  font-size: calc(16px + .2vw);
  padding: calc(16px + .2vw);
  font-family: var(--font1);
  margin: 0;
}

input, select, textarea {
  border-left:solid 15px var(--red);
  filter: drop-shadow(3px 3px 5px rgba(0,0,0,.05));
}

input:focus,
textarea:focus {
  outline-color: var(--blue);
  border-left-color:  var(--blue);
  filter: none;
}

label {
  display: block;
}

form {
  padding: var(--sp) 0 0;
  max-width: 960px;
  margin-bottom: var(--sp);
  margin: 0 auto
}

form > div {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: calc( var(--sp) / 2);
}


.g-recaptcha {
  margin: 2vw auto 0;
  display: block;
  font-size: 24px;
}

#other {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}



@media (max-width:1080px) {
  form > div textarea {
    grid-row-start: 7;
    grid-row-end: span 18;
    margin-bottom: var(--sp)
  }

  input, form {
    margin-bottom: 8vw
  }
  textarea {
    height: 70vw;
  }

  .g-recaptcha {
    margin: 15vw auto;
  }

  .address h3 {
      font-size: var(--fl14);
      margin-bottom: var(--ss);
  }

  .address > div {
    margin-bottom: var(--sp);
    border-top: solid 1px var(--light);
    padding-top: var(--sp);
  }


}

@media (min-width:1281px) {
  form > div {
    grid-template-columns: 1fr 1fr;
  }

  form > div textarea {
    grid-column: 1 / 3;
    grid-row-start: 4;
    grid-row-end: span 13;
    margin-bottom: var(--sp)
  }

  .address {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--sp);
    text-align: center;
    padding: 5vw 0;
  }

}




@media (min-width:1680px) {
  h3 {font-size: 2vw;}
}
