@charset "UTF-8";
#tayori-form {
  margin-top: 60px;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.form-parts + .form-parts{
 padding-top: 60px;
}
.input-area + .label-title{
 margin-top:60px;
}
label {
  font-size: 2rem;
  color: #244189;
  pointer-events: none;
}
select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: linear-gradient(transparent 50%, #244189 0%) no-repeat;
  background-position: left bottom;
  background-size: 0 4px;
  outline: none;
  font-size: 2rem;
  width: 100%;
  height: 100%;
  padding: 20px 16px 25px;
  border: none;
  border-bottom: solid 1px #999;
  transition: all 0.3s;
}
select option {
  font-size: 2.4rem;
}
input {
  background: linear-gradient(transparent 50%, #244189 0%) no-repeat;
  background-position: left bottom;
  background-size: 0 4px;
  display: block;
  width: 100%;
  padding: 20px 16px 25px;
  border: none;
  border-bottom: solid 1px #999;
  font-size: 2rem;
  transition: all 0.3s;
}
textarea {
  background: linear-gradient(transparent 50%, #244189 0%) no-repeat;
  background-position: left bottom;
  background-size: 0 4px;
  display: block;
  width: 100%;
  min-height: 130px;
  padding: 20px 16px 25px;
  border: none;
  border-bottom: solid 1px #999;
  font-size: 2rem;
  transition: all 0.3s;
}

.label-title{
  display: block;
  padding: 0 0 0 10px;
  font-size: 2rem;
  color: #244189;
}
.reqd {
  color: #d1302e;
}
.tel-wrap{
 display: flex;
 flex-direction: row;
 flex-wrap: nowrap;
 align-items: center;
}
.tel-wrap input{
 text-align: center;
}
.tel-wrap .tel1{
 width: 60%;
}
.tel-wrap span{
 padding:0 20px;
 font-size: 2rem;
}

select:focus,
input:focus,
input:not(:placeholder-shown) {
  background-size: 100% 4px;
  border-bottom: solid 1px #244189;
  outline: none;
}
.select.select-has-value select {
 background-size: 100% 4px;
 border-bottom: solid 1px #244189;
}
textarea:focus,
textarea:not(:placeholder-shown) {
  background-size: 100% 4px;
  border-bottom: solid 1px #244189;
  outline: none;
}

input::placeholder,
textarea::placeholder {
  color: #999;
}

.error-message {
  padding: 10px;
  color: #d1302e;
}

@media screen and (max-width: 700px) {
  .select-title {
    font-size: 1.8rem;
  }
  .select {
    font-size: 1.8rem;
  }
  select {
    font-size: 1.8rem;
    padding: 12px 8px 20px;
  }
  select option {
    font-size: 1.6rem;
  }
  input {
    padding: 12px 8px 20px;
    font-size: 1.8rem;
  }
  label {
    font-size: 1.8rem;
  }
  textarea {
    min-height: 130px;
    padding: 12px 8px 20px;
    font-size: 1.8rem;
  }

  .tel-wrap span{
   padding:0 5px;
   font-size: 1.8rem;
  }
}


.thanks-wrap {
  padding: 120px 4vw 160px;
  text-align: center;
}
.thanks-wrap h2 {
  font-size: 3rem;
}