@charset "utf-8";
/**
* CSS Document for form-mailer only
* Date:2023/03/28 by Rakus
*/
/*form-mailer Reset*/
.fm-form-sec *{
box-sizing: border-box;
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
}

/*-------------------------------------------
form-mailer PC Set(window minwidth 768px) 
基本のカスタマイズ
-------------------------------------------*/
.fm-form-sec{
width: 100%;
}
.fm-form-sec .annotation{ /*フォーム上部の注釈文*/
line-height: 1.5;
text-align: justify;
margin:20px auto;
background: #fff;
padding: 15px 10px;
}
.fm-form-sec .annotation-inner{ /*フォーム上部の注釈文のinner*/
font-style: 14px;
width: 95%;
max-width: 980px;
margin: 0 auto;
}
.fm-form-sec .annotation-inner p{ /*フォーム上部の注釈文p*/
font-style: 14px;
}
.fm-form-sec .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;
}
.fm-form-sec legend::before {/*任意マーク*/
content: "任意";
color: #fff;
background: #074d82;
font-size: 11px;
letter-spacing: 3px;
border-radius: 2px;
padding: 1px 1px 1px 4px;
line-height: 100%;
vertical-align: 2px;
margin: 0 5px 6px 5px;
}
.fm-form-sec .required legend::before {/*必須マーク*/
content: "必須";
background: #ff9900;
}
.fm-form-sec form{
width: 95%;
max-width: 800px;
margin: 0 auto;
padding: 20px 0;
}
.fm-form-sec .form-fieldset{ /*各項目をカテゴライズしてラップする*/
display:flex;
flex-wrap: wrap;
justify-content: space-between;
align-content: center;
font-size: 16px;
margin: 0 0 15px 0;
width: 100%;
}
.fm-form-sec .form-fieldset legend{
width: 40%;
color: #214882;
font-size: 16px;
margin-top: 10px;
position: relative;
}
/* .fm-form-sec .form-fieldset legend::before{
content: "-";
position: relative;
display: inline-block;
padding-right: 10px;
left: 0;
font-weight: bold;
color: #a7b4c9;
} */
.fm-form-sec .form-fieldset .form-group{
width: 59%;
}
.form-fieldset-checkbox .col-md-6 {
width: auto !important;
}
.fm-form-sec .form-group .form-control {/*ハブスポット時の設定打ち消し　main.css L2310*/
padding: 10px;
border: 1px solid #ccc;
box-shadow: none;
background: #fff;
border-radius: 3px;
width: 100%;
height: 40px;
display: block;
}
.fm-form-sec .form-group textarea.form-control {/*ハブスポット時の設定打ち消し　main.css L2310*/
  height: auto;
  }
::placeholder{
color: #888;
}
.fm-form-sec input[type="text"], .fm-form-sec input[type="email"], .fm-form-sec input[type="tel"] ,
.fm-form-sec textarea,.fm-form-sec select{/*input系のタグの成型*/
padding: 5px 10px !important;
}
.fm-form-sec .form-fieldset input[type="text"]:focus,
.fm-form-sec .form-fieldset input[type="email"]:focus,
.fm-form-sec .form-fieldset input[type="tel"]:focus,
.fm-form-sec .form-fieldset textarea:focus,
.fm-form-sec .form-fieldset select:focus{/*input系のタグの成型*/
background: rgb(255,255,255,0.80) !important;
border: 1px solid #0697e5;
outline:none; 
}
.fm-form-sec .col-md-6{
display:inline-block;
padding: 5px;
font-size: 16px;
}
.fm-form-sec input[type="checkbox"].form-control{/*input(checkbox)のタグの成型*/
margin-right:5px;
display: inline-block;
border: 1px solid #ccc;
width: 22px;
height: 22px;
vertical-align: -4px;
}
.fm-form-sec input[type="checkbox"].form-control:focus{/*input(checkbox)のタグの成型*/
border: 1px solid #0697e5;
outline:none; 
}
.fm-form-sec .invalid-feedback{
color: #d13c66;
font-size: 14px;
margin-top: 5px;
}
.fm-form-sec input[type="submit"] {
font-size: 20px;
display: block;
font-weight: normal;
width: 80%;
margin: 30px auto 20px auto;
padding: 20px 10px;
background: #1757b9;
color: #fff;
border-radius: 5px;
border: none;
line-height: 1;
outline: none;
}
.fm-form-sec input[type="submit"]:hover {
opacity: 0.75;
}
.fm-pointers{
width: 80%;
margin: 20px auto;
font-size: 13px;
text-align: center;
}
.fm-form-sec .fm-pointers a{
text-decoration: underline;
color: #214882;
}
.fm-form-sec .fm-pointers a:hover{
color: #f28828;
text-decoration: none;
outline: none;
}
.fm-form-sec .form-fieldset p ,
.fm-form-sec .form-fieldset.lead p {
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.3;
  }
  .fm-form-sec .form-fieldset a ,
  .fm-form-sec .form-fieldset.lead a {
    color: #3b7fe0;
    text-decoration: none;
  }
  .fm-form-sec .form-fieldset a:hover ,
  .fm-form-sec .form-fieldset.lead a:hover {
    text-decoration: underline;
  }
  .fm-form-sec .form-buttons input[type="submit"] {
    font-size: 25px;
    width: 60%;
    padding: 30px 10px;
  }


/*-------------------------------------------
form-mailer PC Set(window max-width 768px)
基本のカスタマイズ
-------------------------------------------*/
@media (max-width: 768px) {
.fm-form-sec .annotation {
margin: 10px auto;
}
.fm-form-sec form{
padding: 10px 5px;
}
.fm-form-sec .form-fieldset{ /*各項目をカテゴライズしてラップする*/
display:block;
font-size: 14px;
}
.fm-form-sec .form-fieldset legend{
width: 100%;
font-size: 14px;
margin-bottom: 10px;
}
.fm-form-sec .form-group .form-control {
  font-size: 14px;
}
.fm-form-sec .form-fieldset .form-group{
width: 100%;
}
.fm-form-sec .invalid-feedback{
font-size: 12px;
position: relative;
}
.fm-form-sec .invalid-feedback::before{
content: "▲";
position: relative;
display: inline-block;
padding-right: 5px;
font-size: 75%;
letter-spacing: 1px;
}
.fm-form-sec input[type="submit"] {
font-size: 20px;
width: 85%;
margin: 20px auto;
padding: 20px 5px;
}
.fm-form-sec .fm-pointers{
width: 95%;
font-size: 12px;
text-align: justify;
}
.fm-form-sec .col-md-6{
display:inline-block;
padding: 5px;
font-size: 14px;
}
.fm-form-sec input[type="checkbox"].form-control{/*input(checkbox)のタグの成型*/
margin-right:3px;
display: inline-block;
border: 1px solid #ccc;
width: 18px;
height: 18px;
vertical-align: -4px;
}
.fm-form-sec .form-buttons input[type="submit"] {
    font-size: 20px;
    width: 90%;
    padding: 20px 10px;
  }
}