@charset "utf-8";
/**
* CSS Document for form-mailer only
* Date:2020/10/13 by Rakus
*/
/*-------------------------------------------
form-mailer PC Set(window minwidth 768px) 
基本のカスタマイズ
-------------------------------------------*/
body {
  font-family: "Roboto", "Noto Sans JP", "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
    sans-serif;
  color: #323232;
  background-color: #f5f5f5;
  font-size: 16px;
  line-height: 1.5;
}
.ly_section-padding {
  padding-top: 100px;
  padding-bottom: 100px;
}
.ly_section-padding-inner {
  padding-left: 20px;
  padding-right: 20px;
}
.m_form__wrap {
  max-width: 780px;
  margin-inline: auto;
  padding: 30px;
  background-color: #fff;
  border-radius: 10px;
}
.m_form__heading {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #d2d2d2;
  margin-bottom: 20px;
}
.row-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.row-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.row-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.form-fieldset__text {
  font-size: 14px;
  margin-bottom: 10px;
}
.annotation {
  /*フォーム上部の注釈文*/
  line-height: 1.5;
  text-align: justify;
  margin: 20px auto;
  background: #fff;
  padding: 15px 10px;
}
.annotation-inner {
  /*フォーム上部の注釈文のinner*/
  font-style: 14px;
  width: 95%;
  max-width: 980px;
  margin: 0 auto;
}
.annotation-inner p {
  /*フォーム上部の注釈文p*/
  font-style: 14px;
}
.annotation .required {
  /*注釈内の必須マーク*/
  color: #fff;
  background: #ff9900;
  font-size: 11px;
  letter-spacing: 3px;
  border-radius: 2px;
  padding: 1px 4px;
  line-height: 100%;
  vertical-align: 2px;
  margin: 0 5px 6px 5px;
}
form {
  width: 100%;
  margin: 0 auto;
}

.form-fieldset {
  /*各項目をカテゴライズしてラップする*/
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  align-content: center;
  font-size: 16px;
  margin: 0 0 20px 0;
  width: 100%;
}
.form-fieldset legend {
  width: 100%;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  margin-bottom: 10px;
}
.form-fieldset legend::before {
  /*任意マーク*/
  content: "任意";
  display: inline-block;
  color: #fff;
  background: #074d82;
  font-size: 14px;
  letter-spacing: 2px;
  border-radius: 4px;
  padding: 4px 4px;
  line-height: 100%;
  vertical-align: 2px;
  margin: 0 5px 0 0;
}
.required legend::before {
  /*必須マーク*/
  content: "必須";
  display: inline-block;
  color: #fff;
  background: #f01000;
  font-size: 14px;
  letter-spacing: 2px;
  border-radius: 4px;
  padding: 4px 4px;
  line-height: 100%;
  vertical-align: 2px;
  margin: 0 5px 0 0;
}
.form-fieldset .form-group {
  width: 100%;
}
.form-group .form-control {
  /*ハブスポット時の設定打ち消し　main.css L2310*/
  padding: 10px;
  border: 1px solid #ccc;
  box-shadow: none;
  background: #fff;
  border-radius: 3px;
  width: 100%;
  display: block;
}
.form-group .form-label-radio-checkbox--point {
  font-size: 15px;
}
::placeholder {
  color: #888;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  /*input系のタグの成型*/
  padding: 15px !important;
  box-sizing: border-box;
}
select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
}
.form-fieldset input[type="text"]:focus,
.form-fieldset input[type="email"]:focus,
.form-fieldset input[type="tel"]:focus,
.form-fieldset textarea:focus,
.form-fieldset select:focus {
  /*input系のタグの成型*/
  background: rgb(255, 255, 255, 0.8) !important;
  border: 1px solid #0697e5;
  outline: none;
}
.col-md-6 {
  display: inline-block;
  padding: 5px;
  font-size: 18px;
}
input[type="checkbox"].form-control {
  /*input(checkbox)のタグの成型*/
  margin-right: 5px;
  display: inline-block;
  border: 1px solid #ccc;
  width: 22px;
  height: 22px;
  vertical-align: -4px;
}
input[type="checkbox"].form-control:focus {
  /*input(checkbox)のタグの成型*/
  border: 1px solid #0697e5;
  outline: none;
}
.invalid-feedback {
  color: #d13c66;
  font-size: 14px;
  margin-top: 5px;
  display: none;
}
input[type="submit"] {
  font-size: 20px;
  display: block;
  font-weight: normal;
  width: 80%;
  margin: 0 auto 20px auto;
  padding: 20px 10px;
  background: #1757b9;
  color: #fff;
  border-radius: 5px;
  border: none;
  line-height: 1;
  outline: none;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", Lato, "游ゴシック Medium",
    "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
}
input[type="submit"]:hover {
  opacity: 0.75;
}
.fm-pointers {
  width: 80%;
  margin: 20px auto;
  font-size: 13px;
  text-align: center;
}
.fm-pointers a {
  text-decoration: underline;
  color: #214882;
}
.fm-pointers a:hover {
  color: #f28828;
  text-decoration: none;
  outline: none;
}
.form-fieldset-checkbox .col-md-6 {
  width: auto !important;
}
.form-formmailer {
  background: #dae3e5;
  width: 50%;
}
.form-formmailer-inner {
  width: 90%;
  max-width: 410px !important;
  margin: 0 40px;
  padding: 0;
}
.form-fieldset p {
  font-size: 13px;
  line-height: 1.2;
}
.pp-text p {
  margin: 5px 0;
}
.pp-text p a {
  text-decoration: underline;
  color: #214882;
}
.invalid-feedback::before {
  content: "▲";
  position: relative;
  display: inline-block;
  padding-right: 5px;
  font-size: 75%;
  letter-spacing: 1px;
}
/*-------------------------------------------
form-mailer PC Set(window max-width 768px)
基本のカスタマイズ
-------------------------------------------*/
@media (max-width: 768px) {
  .annotation {
    margin: 10px auto;
  }
  form {
    padding: 30px 5px 10px;
  }
  .form-fieldset {
    /*各項目をカテゴライズしてラップする*/
    display: block;
    font-size: 14px;
  }
  .form-fieldset legend {
    width: 100%;
    font-size: 14px;
  }
  .form-fieldset .form-group {
    width: 100%;
  }
  .invalid-feedback {
    font-size: 12px;
    position: relative;
  }
  input[type="submit"] {
    font-size: 20px;
    width: 85%;
    margin: 20px auto;
    padding: 20px 5px;
  }
  .fm-pointers {
    width: 95%;
    font-size: 12px;
    text-align: justify;
  }
  .col-md-6 {
    display: inline-block;
    padding: 5px;
    font-size: 14px;
  }
  input[type="checkbox"].form-control {
    /*input(checkbox)のタグの成型*/
    margin-right: 3px;
    display: inline-block;
    border: 1px solid #ccc;
    width: 18px;
    height: 18px;
    vertical-align: -4px;
  }

  .form-formmailer {
    width: 100%;
  }
  .form-formmailer-inner {
    margin: 0 auto;
  }
}
