@charset "UTF-8";
/* ===== @use ===== */
/* ===== common.scss ===== */
/* -- 変数 -- */
/* font */
/* color */
/* switching */
/* ===== @mixin ===== */
/* crm */
/* -- btn --*/
/* ===== form.css ===== */
/* -- input -- */
input[type=text],
input[type=email],
input[type=tel],
input[type=number] {
  color: #272727;
  line-height: 4.7rem;
  display: block;
  padding: 0 2rem;
  height: 6rem;
  width: 100%;
  border: 1px solid #DDD;
  background: #FFF;
  /* - errors - */
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus {
  outline: none;
}
input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder {
  color: rgba(39, 39, 39, 0.3);
}
input[type=text]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=number]:-moz-placeholder {
  color: rgba(39, 39, 39, 0.3);
  opacity: 1;
}
input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=number]::-moz-placeholder {
  color: rgba(39, 39, 39, 0.3);
  opacity: 1;
}
input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder {
  color: rgba(39, 39, 39, 0.3);
}
input[type=text]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
input[type=number]::-ms-input-placeholder {
  color: rgba(39, 39, 39, 0.3);
}
input[type=text].errors,
input[type=email].errors,
input[type=tel].errors,
input[type=number].errors {
  border-color: #FF93A9;
  background: #FFF0F3;
}

/* -- checkbox -- */
.checkbox,
.radiobox {
  margin-bottom: -1.8rem;
  /* errors */
}
.checkbox label,
.radiobox label {
  user-select: none;
  display: inline-block;
  margin-bottom: 1.8rem;
}
.checkbox label:not(:last-child),
.radiobox label:not(:last-child) {
  margin-right: 2.4rem;
}
.checkbox label input[type=text],
.checkbox label input[type=email],
.checkbox label input[type=tel],
.checkbox label input[type=number],
.radiobox label input[type=text],
.radiobox label input[type=email],
.radiobox label input[type=tel],
.radiobox label input[type=number] {
  margin: 1.8rem 0 0 auto;
  max-width: calc(100% - 4rem);
}
.checkbox label.df,
.radiobox label.df {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.checkbox label span,
.radiobox label span {
  display: inline-block;
}
.checkbox input[type=checkbox],
.checkbox input[type=radio],
.radiobox input[type=checkbox],
.radiobox input[type=radio] {
  cursor: pointer;
  vertical-align: top;
  position: relative;
  top: 0.1rem;
  margin-right: 1rem;
  width: 3rem;
  height: 3rem;
  background: #FFF;
  border: 1px solid #DDD;
  border-radius: 4px;
}
.checkbox input[type=checkbox]:focus,
.checkbox input[type=radio]:focus,
.radiobox input[type=checkbox]:focus,
.radiobox input[type=radio]:focus {
  border-color: #B50033;
}
.checkbox input[type=checkbox]:checked,
.checkbox input[type=radio]:checked,
.radiobox input[type=checkbox]:checked,
.radiobox input[type=radio]:checked {
  border-color: #DDD;
  background: #FFF url(../img/common/checkbox_checked.svg) no-repeat center/16px auto;
}
.checkbox.round input[type=radio],
.radiobox.round input[type=radio] {
  border-radius: 50%;
}
.checkbox.round input[type=radio]:checked,
.radiobox.round input[type=radio]:checked {
  background: #FFF url(../img/common/checkbox_checked_round.svg) no-repeat center/100% auto;
}
.checkbox.db label,
.radiobox.db label {
  width: 100%;
  margin-right: 0;
}
.checkbox.crm3,
.radiobox.crm3 {
  display: flex;
  flex-wrap: wrap;
}
.checkbox.crm3 label,
.radiobox.crm3 label {
  width: calc((100% - 4.8rem - 14.4rem) / 3);
}
.checkbox.crm3 label:nth-child(3n),
.radiobox.crm3 label:nth-child(3n) {
  margin-right: 0;
  width: calc((100% - 4.8rem + 2.88rem) / 3);
}
@media screen and (max-width: 900px) {
  .checkbox.crm3,
  .radiobox.crm3 {
    display: block;
  }
  .checkbox.crm3 label,
  .radiobox.crm3 label {
    width: 100% !important;
  }
}
.checkbox .errors input[type=checkbox],
.checkbox .errors input[type=radio],
.radiobox .errors input[type=checkbox],
.radiobox .errors input[type=radio] {
  border-color: #FF93A9;
  background-color: #FFF0F3;
}

/* -- select -- */
.select {
  position: relative;
  /* errors */
}
.select::before {
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0.4rem;
  right: 2.1rem;
  margin: auto;
  width: 0.8rem;
  height: 0.8rem;
  border-bottom: 1px solid #272727;
  border-left: 1px solid #272727;
  content: "";
  z-index: 30;
  transform: rotate(-45deg);
}
.select::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  border: 1px solid #DDD;
  background: #fff;
  content: "";
  z-index: 20;
}
.select select {
  cursor: pointer;
  position: relative;
  padding: 0 3.5rem 0 2rem;
  width: 100%;
  line-height: 6rem;
  z-index: 30;
}
.select select.selectFirstColor {
  color: rgba(39, 39, 39, 0.3);
}
.select.errors::after {
  border-color: #FF93A9;
  background: #FFF0F3;
}

/* -- textarea -- */
textarea {
  color: #272727;
  display: block;
  padding: 1.1rem 2rem;
  height: 130px;
  width: 100%;
  border: 1px solid #DDD;
  background: #FFF;
}
textarea::-webkit-input-placeholder {
  color: rgba(39, 39, 39, 0.3);
}
textarea:-moz-placeholder {
  color: rgba(39, 39, 39, 0.3);
  opacity: 1;
}
textarea::-moz-placeholder {
  color: rgba(39, 39, 39, 0.3);
  opacity: 1;
}
textarea:-ms-input-placeholder {
  color: rgba(39, 39, 39, 0.3);
}
textarea.errors {
  border-color: #FF93A9;
  background: #FFF0F3;
}

/* -- redTxt -- */
.redTxt {
  font-size: 12px;
  font-weight: bold;
  color: #B50033;
  display: block;
  position: relative;
  top: 4px;
}

/* -- formFlow -- */
.formFlow {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: 5rem auto 0;
  max-width: 505px;
}
.formFlow li {
  position: relative;
  padding: 0 18px 0 15px;
  z-index: 20;
  /* act */
}
.formFlow li:not(:last-child):after {
  position: absolute;
  top: 24px;
  right: 0;
  width: 130px;
  height: 1px;
  background: #E5E7EB;
  transform: translateX(100%);
  z-index: 10;
  content: "";
}
.formFlow li .formFlow_num {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "archivo-expanded", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  color: rgba(39, 39, 39, 0.5);
  width: 48px;
  height: 48px;
  border: 1px solid #D0D0D0;
  border-radius: 50%;
}
.formFlow li .formFlow_txt {
  font-size: 12px;
  line-height: 1;
  text-align: center;
  margin-top: 10px;
  opacity: 0.5;
}
.formFlow li.act .formFlow_num {
  color: #FFF;
  background: #272931;
  border: 1px solid #272931;
}
.formFlow li.act .formFlow_txt {
  opacity: 1;
}
@media screen and (max-width: 900px) {
  .formFlow {
    max-width: 240px;
  }
  .formFlow li {
    padding: 0 15px;
  }
  .formFlow li:not(:last-child):after {
    top: 17px;
    width: 23px;
  }
  .formFlow li .formFlow_num {
    margin: 0 auto 8px;
    padding-top: 1px;
    width: 35px;
    height: 35px;
  }
}

/* -- form_txt_box01 -- */
.form_txt_box01 {
  line-height: 1.68;
  text-align: center;
  margin-top: 5.5rem;
}
.form_txt_box01 > :not(:last-child) {
  margin-bottom: 2.3rem;
}
.form_txt_box01 .tit {
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 900px) {
  .form_txt_box01 {
    text-align: left;
    margin: 5.5rem auto 0;
    width: fit-content;
  }
  .form_txt_box01 .tit {
    text-align: center;
  }
}

/* -- form -- */
form#form {
  margin: 9.4rem auto 0;
}
form#form > dl > dt {
  font-weight: bold;
  font-size: 2.6rem;
  line-height: 1.5;
}
form#form > dl > dd:not(:last-child) {
  margin-bottom: 9.4rem;
}

/* -- form_table -- */
.form_table {
  margin-top: 6.3rem;
  width: 100%;
}
.form_table tr.required > th::after {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 11px;
  line-height: 1;
  color: #B50033;
  position: absolute;
  top: 2.1rem;
  right: 4.2rem;
  width: 38px;
  height: 19px;
  border: 1px solid #B50033;
  border-radius: 0;
  background: none;
  content: "必須";
}
.form_table tr:last-child > td {
  padding-bottom: 0;
}
.form_table th {
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  padding: 0.6rem 90px 0 0;
  width: 26rem;
}
.form_table th span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 4.7rem;
}
.form_table td {
  padding-bottom: 4rem;
}
.form_table td .radiobox {
  margin-top: 1.3rem;
}
.form_table .address_box {
  width: 100%;
}
.form_table .address_box th {
  padding: 0.7rem 0 0 0;
  width: 9rem;
}
.form_table .address_box td {
  padding-bottom: 1.5rem;
}
.form_table .address_box td.post_code {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.form_table .address_box td.post_code input {
  width: 16rem;
  margin-right: 1.2rem;
  order: 1;
}
.form_table .address_box td.post_code button {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #FFF;
  width: 11.6rem;
  height: 3.4rem;
  background: #272727;
  border-radius: 0;
  order: 2;
}
.form_table .address_box td.post_code .redTxt {
  width: 100%;
  order: 3;
}
.form_table .address_box td .checkbox.crm3_outer,
.form_table .address_box td .radiobox.crm3_outer {
  display: flex;
  flex-wrap: wrap;
}
.form_table .address_box td .checkbox.crm3_outer > *,
.form_table .address_box td .radiobox.crm3_outer > * {
  width: 39%;
}
.form_table .address_box td .checkbox.crm3_outer > * > label,
.form_table .address_box td .radiobox.crm3_outer > * > label {
  display: block;
}
.form_table .address_box td .checkbox.crm3_outer > *:nth-child(3n), .form_table .address_box td .checkbox.crm3_outer > *:nth-child(3n),
.form_table .address_box td .radiobox.crm3_outer > *:nth-child(3n),
.form_table .address_box td .radiobox.crm3_outer > *:nth-child(3n) {
  width: 22%;
}
.form_table .address_box td .checkbox.crm3_outer > *:nth-child(3n) > label, .form_table .address_box td .checkbox.crm3_outer > *:nth-child(3n) > label,
.form_table .address_box td .radiobox.crm3_outer > *:nth-child(3n) > label,
.form_table .address_box td .radiobox.crm3_outer > *:nth-child(3n) > label {
  margin-right: 0;
}
.form_table .address_box td .checkbox.crm3_outer .redTxt,
.form_table .address_box td .radiobox.crm3_outer .redTxt {
  width: 100%;
}
@media screen and (max-width: 900px) {
  .form_table .address_box td .checkbox.crm3_outer,
  .form_table .address_box td .radiobox.crm3_outer {
    display: block;
  }
  .form_table .address_box td .checkbox.crm3_outer > *,
  .form_table .address_box td .radiobox.crm3_outer > * {
    width: 100% !important;
  }
}
.form_table .scale {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.form_table .scale input {
  text-align: center;
  width: 6rem;
  margin-right: 1rem;
  padding: 0 0.5rem;
}
.form_table .scale input:not(:first-child) {
  margin-left: 2rem;
}
.form_table .scale-txt {
  width: 100%;
  margin-top: 1.4rem;
}
.form_table .day {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.form_table .day .select {
  width: 10rem;
  margin-right: 1rem;
}
.form_table .day .select::after {
  border-radius: 0.4rem;
}
.form_table .day .select:not(:first-child) {
  margin-left: 2rem;
}
.form_table .day .select select {
  line-height: 5rem;
}
@media screen and (max-width: 900px) {
  .form_table {
    margin-top: 20px;
    width: 100%;
  }
  .form_table tr.required th::after {
    top: 14px;
    right: 5px;
  }
  .form_table th {
    display: block;
    padding: 0 45px 0 0;
    width: 100%;
  }
  .form_table th span {
    height: 4.7rem;
  }
  .form_table td {
    display: block;
    padding-bottom: 20px;
  }
  .form_table .address_box {
    width: 100%;
  }
  .form_table .address_box th {
    font-size: 95%;
    padding: 0 0 10px;
    width: 100%;
  }
  .form_table .address_box th span {
    height: auto;
  }
  .form_table .address_box td.post_code button {
    font-size: 14px;
  }
}

/* -- formCheck -- */
.formCheck {
  text-align: center;
  margin-top: 3rem;
}
.formCheck label {
  width: 100%;
}
.formCheck a {
  text-decoration: underline;
  text-decoration-color: #272727;
  text-underline-offset: 7px;
}
@media screen and (min-width: 901px) {
  .formCheck a:hover {
    text-decoration-color: transparent;
  }
}
.formCheck .redTxt {
  display: block;
}
@media screen and (max-width: 900px) {
  .formCheck {
    text-align: left;
  }
  .formCheck label {
    text-indent: -4rem;
    padding-left: 4rem;
  }
  .formCheck label .txtlink[target=_blank] {
    display: inline-block;
    text-indent: 0;
  }
  .formCheck label .txtlink[target=_blank]::before {
    top: 11px;
  }
  .formCheck label .txtlink[target=_blank]::after {
    top: 8px;
  }
}

/* -- formBtn -- */
.formBtn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 3.9rem;
}
.formBtn > * {
  max-width: 45rem;
  width: 100%;
  /* back */
}
.formBtn > *:not(:last-child) {
  margin-bottom: 2rem;
}
.formBtn > *.back button {
  background: #D0D0D0;
}
.formBtn button {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FFF;
  padding: 0 0 2px 2px;
  width: 100%;
  height: 8rem;
  background: #000;
  border-radius: 0;
  transition: background 0.3s;
}
@media screen and (min-width: 901px) {
  .formBtn button:hover {
    background: #B50033;
  }
  .formBtn .back button:hover {
    background: #000;
  }
}
@media screen and (max-width: 900px) {
  .formBtn > * {
    max-width: none;
  }
  .formBtn > *:not(:last-child) {
    margin: 0 0 15px;
  }
}

/* -- form_comfirm_table -- */
.form_comfirm_table {
  margin-top: 9.4rem;
  width: 100%;
}
.form_comfirm_table th,
.form_comfirm_table td {
  padding: 2.7rem 0 2.6rem;
  border-bottom: 1px solid #E1E1E1;
}
.form_comfirm_table th {
  font-weight: bold;
  width: 24rem;
  padding-right: 3rem;
}
.form_comfirm_table td {
  padding-right: 3rem;
}
@media screen and (max-width: 900px) {
  .form_comfirm_table {
    margin-top: 20px;
    width: 100%;
  }
  .form_comfirm_table th {
    display: block;
    padding: 15px 0 0;
    width: 100%;
    border-bottom: none;
  }
  .form_comfirm_table td {
    display: block;
    padding: 8px 0 15px;
  }
}

.g-recaptcha {
  margin-top: 4rem;
}/*# sourceMappingURL=form.css.map */