input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=date],
input[type=search]
{
    appearance: none;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    color: #333;
    display: inline-block;
    max-width: 100%;
    padding: .5em;
    width: 100%;
}


input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=date]:focus,
input[type=search]:focus {
  background-color: rgb(244, 250, 255);
  border: solid 1px rgb(35, 35, 91);
  outline: none;
}

textarea {
  background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
  display: block;
  height: auto;
  line-height: 1.4;
  padding: .25em .5em;
  width: 100%;
}
textarea:focus {
  background-color: rgb(244, 250, 255);
  border: solid 1px rgb(35, 35, 91);
  outline: none;
}


/* button,
[type="button"],
[type="reset"],
[type="submit"] {
  display: inline-block;
  border: solid 1px #ccc;
  text-decoration: none;
  padding: .5em 1em;
  background-color: #333;
  color:#fff;
  border-radius: 2px;
  cursor: pointer;
}
button:hover,
[type="button"]:hover,
[type="reset"]:hover,
[type="submit"]:hover {
  background-color: #555;
} */


/* リセットされていたので適当にフォーム要素のスタイル指定 */

.bl_privacy {
  height: 300px;
  overflow-y: scroll;
  border: 1px solid #ccc;
  padding: 5px 10px;
  margin-bottom: 15px;
}
.bl_privacy ol {
  list-style-type:decimal;
  padding-left: 1.5em;
  margin-top: 1em;
}
.bl_privacy ol li + li {
  margin-top: .5em;
}

/* 作業的に幅狭くしたかったので追加 */
.ly_container_contact {
  width: 690px;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* フォーム要素レイアウト  */
.bl_form {
  border-bottom: 1px solid #ccc;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.bl_form .bl_form_label {
  display: flex;
  align-items: center;
  column-gap: 6px;
  flex-wrap: wrap;
  line-height: 1;
  margin-bottom: 5px;
}
.bl_form .bl_form_label .ttl {
  font-size: 15px;
  font-weight: bold;
  padding: .5em 0;
}
.bl_form .bl_form_label .must {
  /* display: flex;
  align-items: center;
  background-color: #c80000;
  color:#fff;
  padding: .5em;
  margin-left: .5em; */

  color: #ff1d25;
  font-size: 14px;
}

/* ボタン */
.contact-btn2,
.contact-btn {
  -webkit-appearance: none;
  border-radius: 0;
  cursor: pointer;
  position: relative;
  font-size: 15px;
  display: inline-block;
  border: 0;
  padding: .5em 1.5em;
  text-decoration: none;
  background-color: #416ba5;
  border: 1px solid #416ba5;
  color: #fff;
  margin-top: 30px;
  margin-bottom: 50px;
}
.contact-btn2:not(:disabled):hover,
.contact-btn:not(:disabled):hover {
  opacity: .7;
}
/* .contact-btn2:focus,
.contact-btn:focus {
  background-color: #000;
} */
.contact-btn2:disabled,
.contact-btn:disabled {
  border: 1px solid #dcdddd;
  background-color: #dcdddd;
  cursor: default;
}

/* エラー表示 */
.form-check {
  color:red;
  background-color: rgb(255, 226, 226);
  padding: .5em .5em;
  display: none;
}
.form-check.show {
  display: block;
}

.confirm-text {
  background-color:#fff;
  border: 1px solid #333;
  background-color: #eee;
  padding: .5em;
}









.form-wrapper {
  padding-block: 110px;
}

@media screen and (max-width: 767px) {
  .form-wrapper {
    padding-block: 50px;
  }
}

.heading {
  margin-bottom: 20px;
  border-bottom: solid 1px #999999;
  font-size: 30px;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .heading {
    font-size: 24px;
  }
}

.heading + p {
  margin-bottom: 40px;
}

