@charset "utf-8";
/* -------------------------------------------------------
/* CSS Document by Rakus
/* for only 1column HubSpot Form .
/*   common portalId: '315197'
/* -------------------------------------------------------*/

/* =================================
HubSpot's style reset
================================= */
form * {
  box-sizing: border-box;
}
input[type="text"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  background: #fff;
}
input[type="radio"] {
}
input[type="radio"]:checked + label {
  background: #000;
}
input[type="checkbox"] {
}
input[type="checkbox"]:checked + label {
  background: #000;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
}
button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}
/*UAのautofillで自動付与されるスタイルを打消し*/
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
input.error:-internal-autofill-selected {
  background: #fff !important;
}
/*//UAのautofillで自動付与されるスタイルを打消し*/

/*placeholder*/
::-webkit-input-placeholder {
  /* Chrome */
  color: #a1bac6;
}
::-moz-placeholder {
  /* Firefox */

  color: #a1bac6;
}
:-ms-input-placeholder {
  /* IE */

  color: #a1bac6;
}
/*//placeholder*/

/* =================================
Common setting
================================= */
div.field,
div.hs-form-field {
  width: 100%;
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 12px 0 !important;
  position: relative;
}
div.hs-form-field label {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 8px;
}
div.hs-form-field label span {
  font-size: 13px;
  line-height: 1.3;
  font-weight: bold;
  margin-right: 4px;
}
legend {
  line-height: 1.3;
  margin: 0 auto;
  font-size: 14px;
  display: none !important;
}
div.field div.input {
  margin: 0 !important;
}
div.field div.input {
  width: 100% !important;
}
.hs-input {
  width: 100% !important;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  line-height: 1.8;
  letter-spacing: 0.5px;
  padding: 5px 10px;
  border-radius: 30px;
  width: 100%;
  border: 1px solid transparent;
  display: inline-block;
  font-size: 15px;
  outline: none;
  background: #fff;
}
textarea {
  line-height: 1.5;
  letter-spacing: 0.1px;
  min-height: 80px;
  max-height: 150px !important;
}
select {
  line-height: 2;
  font-size: 15px;
  padding: 8px 12px;
  border-radius: 30px;
  border: 1px solid #ccc !important;
  outline: 0;
  width: 100%;
  color: #434343;
  text-shadow: 0 1px white;
  /* Fallback for IE 8 */
  background: #fff;
  /* "transparent" doesn't work with Opera */
  background: rgba("#000", 0) !important;
  -webkit-appearance: none;
}
select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
}
select::-ms-expand {
  display: block;
}
select::before {
  position: absolute;
  top: 0.8em;
  right: 0.8em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #da3c41;
  pointer-events: none;
}
input[type="checkbox"] {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: -4px;
  margin-right: 5px;
}
/*バリデーションによるスタイル指定*/
input.invalid,
input:invalid {
  border: transparent 1px solid !important;
}
input.error,
textarea:invalid {
  border: #f3b840 1px solid !important;
}
select:invalid {
  border: transparent 1px solid !important;
}

input:focus,
input[type="tel"]:focus,
textarea:focus {
  border: 1px solid #f3b840 !important;
  background: #fff3d2 !important;
  outline: 0;
}

input:valid,
input[type="tel"]:valid,
select:valid,
textarea:valid {
  background: #fff !important;
}
select:focus {
  background: #fff3d2 !important;
  border: 1px solid #f3b840 !important;
}
/*//バリデーションによるスタイル指定*/

/*必須マーク*/
.hs-form-field label span.hs-form-required {
  color: #fff;
  font-weight: normal;
  font-size: 12px;
  letter-spacing: 0.5px;
  line-height: 100%;
  margin: 3px 0 0 0px;
  display: inline-block;
  vertical-align: middle;
  background: #d35923;
  border-radius: 30px;
  padding: 4px 8px;
}
/*//必須マーク*/

/*チェックボックス*/
.hs-fieldtype-checkbox ul {
  width: 100%;
  margin-top: 0;
}
.hs-fieldtype-checkbox ul li {
  display: inline-block;
  padding: 0 10px 5px 0;
  line-height: 1.8;
}
.hs-fieldtype-checkbox ul li label {
  width: 100% !important;
}
.hs-fieldtype-checkbox ul li label span {
  font-weight: normal;
  font-size: 15px;
}
.hs-fieldtype-checkbox ul li label input {
  display: inline-block;
  width: 20px !important;
  height: 20px;
  vertical-align: -4px;
  margin-right: 5px;
}
/*//チェックボックス*/

/*ラジオボタン*/
.hs-fieldtype-radio ul {
  width: 100%;
}
.hs-fieldtype-radio ul li {
  display: inline-block;
  padding: 0 10px 5px 0;
  line-height: 1.8;
}
.hs-fieldtype-radio ul li:last-of-type {
  padding: 0 0 0 0;
}
.hs-fieldtype-radio ul li label {
  width: 100% !important;
}
.hs-fieldtype-radio ul li label span {
  font-weight: normal;
  font-size: 15px;
}
.hs-fieldtype-radio ul li label input {
  display: inline-block;
  width: 20px !important;
  height: 20px;
  vertical-align: -4px;
  margin-right: 5px;
}
/*//ラジオボタン*/

/*エラーメッセージ*/
ul.hs-error-msgs {
  position: absolute;
  top: auto;
  left: auto;
}
.hs_error_rollup ul.hs-error-msgs {
  position: relative;
  top: 0;
  left: 0;
}
ul.hs-error-msgs li label {
  line-height: 1.3;
  color: #ff6d6d;
  font-size: 12px;
  margin: 5px auto;
  text-align: justify;
  display: block;
  width: 100% !important;
  padding: 0 5px 5px 3px !important;
  bottom: -17px;
  position: absolute;
  left: 28%;
}
ul.hs-error-msgs li label::before {
  content: "▲";
  position: relative;
  padding-right: 2px;
  display: inline-block;
}
.hs_error_rollup ul.hs-error-msgs li label::before {
  content: none;
}
ul.hs-error-msgs li label a {
  text-decoration: underline;
  color: #ff6d6d;
}
ul.hs-error-msgs li label a:hover {
  text-decoration: none;
  color: #f48484;
}
.hs_error_rollup ul.hs-error-msgs li label {
  padding: 10px 0 !important;
  line-height: 2;
  display: block;
  margin: 20px auto 10px auto;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background: #ffe8e8;
  border-radius: 5px;
  border: 1px solid #ff6d6d;
}
.formwrap-formarea .hs-form .hs-error-msgs label {
  font-size: 11px;
  line-height: 1.2;
  padding-bottom: 5px;
  position: relative;
}

.formwrap-formarea .hs-form .hs-error-msgs label::before {
  content: "▲";
  position: relative;
  display: inline-block;
  padding-right: 3px;
}
label.hs-main-font-element {
  position: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
}
/*//エラーメッセージ*/

/* 個人情報文言 */
.legal-consent-container .hs-richtext p {
  font-size: 14px !important;
  line-height: 1.5;
}
.hs-form .hs-richtext a {
  text-decoration: underline;
  color: #0099ff;
}
/* //個人情報文言 */

/* caution text */
.hs-richtext {
  margin: 20px 0;
}
.hs-richtext p {
  line-height: 1.4;
  font-size: 11px !important;
}

/* submit button */
.hs_submit {
  margin: 10px auto 10px auto;
  text-align: center;
}
input[type="submit"].hs-button {
  display: inline-block;
  width: 80%;
  margin: 0 auto;
  padding: 15px 45px;
  font-size: 1.1rem;
  border-radius: 30px;
  font-weight: normal;
  background: -moz-linear-gradient(right, #19af93, #148880) !important;
  background: -webkit-linear-gradient(right, #19af93, #148880) !important;
  background: linear-gradient(to right, #19af93, #148880) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
.hs-form .hs-button:hover {
  background: -moz-linear-gradient(left, #19af93, #148880) !important;
  background: -webkit-linear-gradient(left, #19af93, #148880) !important;
  background: linear-gradient(to left, #19af93, #148880) !important;
  border-bottom: 3px solid rgba(255, 255, 255, 0);
}
.hs-form .hs-button:focus {
  background: -moz-linear-gradient(left, #19af93, #148880) !important;
  background: -webkit-linear-gradient(left, #19af93, #148880) !important;
  background: linear-gradient(to left, #19af93, #148880) !important;
  border: 0 !important;
  border-bottom: 3px solid rgba(255, 255, 255, 0);
}
/* //submit button */

/*reCAPTCHA*/
.hs_recaptcha {
  margin: 10px auto;
  max-width: 256px;
}
/*//reCAPTCHA*/
/* lead */
#inquiry .lead {
  text-align: justify;
  max-width: 680px;
  margin: 0 auto;
  padding: 0 0 20px;
  line-height: 1.2 !important;
  width: 100% !important;
  font-size: 10px;
}
#inquiry .lead a {
  color: #00a2ee;
  text-decoration: none;
}
#inquiry .lead a:hover {
  text-decoration: underline;
}
/* //lead */

/*----------------------------------------------------
for mobile
------------------------------------------------------*/
@media (max-width: 768px) {
  div.hs-form-field {
    margin-bottom: 15px;
  }
  div.hs-form-field {
    display: block !important;
  }
  div.field,
  div.hs-form-field {
    padding: 6px 0 !important ;
  }
  div.hs-form-field div.input {
    width: 100% !important;
    padding-top: 5px;
    padding-bottom: 10px;
  }
  div.hs-form-field label span {
    display: inline-block;
    margin: 0 0 0 5px !important;
  }
  div.hs-form-field label {
    width: 100%;
    padding-right: 0;
    display: block;
    position: relative;
  }
  div.hs-form-field div.hs-form-field label::before {
    content: "-";
    position: relative;
    display: inline-block;
    padding-right: 5px;
    font-size: 18px;
    font-weight: bold;
    color: #aaa;
  }
  .hs-fieldtype-checkbox ul li,
  .hs-fieldtype-radio ul li {
    display: block;
    padding-bottom: 7px;
    margin-left: 10px;
  }
  .hs-fieldtype-checkbox ul li label::before,
  .hs-fieldtype-radio ul li label::before,
  label.hs-error-msg::before {
    display: none !important;
  }
  ul.hs-error-msgs {
    position: relative;
    top: auto;
    left: auto;
  }
  .hs_error_rollup ul.hs-error-msgs li label {
    margin-top: 0px;
  }
  ul.hs-error-msgs li label {
    left: 0;
    bottom: -10px;
  }
  input[type="submit"].hs-button {
    font-size: 18px;
    font-weight: bold;
    width: 95%;
  }
  .hs-richtext {
    margin: 0 auto 10px;
  }
}
