@-webkit-keyframes slidein {
    from {
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }
    to {
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}
@keyframes slidein {
    from {
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }
    to {
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}
@-webkit-keyframes slideup {
    from {
        transform: translate3d(0, 20px, 0);
        opacity: 0
    }
    to {
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}
@keyframes slideup {
    from {
        transform: translate3d(0, 20px, 0);
        opacity: 0
    }
    to {
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}
.contact_inner {
    padding: 3rem 1.875rem 0
}
.contact_lead {
    margin-top: 1.75rem;
    margin-bottom: 1.5rem;
    color: #505050;
    font-size: 0.875rem;
    line-height: 1.71;
    letter-spacing: 0.07rem
}
.contact_step {
    padding-top: 1.5rem
}
.contact_complete {
    padding-top: 2.5rem
}
.step {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #f0e9e1
}
.step_item {
    padding: 0 0 1rem;
    width: 33.333%
}
.step_item._active .step_label {
    color: #251f42
}
.step_item._active .step_label span {
    color: #f7674c
}
.step_item:first-child .step_label::before {
    content: none
}
.step_label {
    position: relative;
    color: #949494;
    font-size: 0.875rem;
    letter-spacing: 0.07rem;
    text-align: center
}
.step_label span {
    display: block;
    margin-bottom: 0.375rem;
    font-weight: bold;
    font-size: 0.625rem;
    font-family: Muli
}
.step_label::before {
    position: absolute;
    top: 50%;
    left: -0.25rem;
    transform: translateY(-50%);
    border-width: 0.25rem 0 0.25rem 0.5rem;
    border-style: solid;
    border-color: transparent transparent transparent #949494;
    width: 0;
    height: 0;
    content: ""
}
.form_item {
    border-bottom: 1px solid #f0e9e1;
    padding-top: 1.6875rem;
    padding-bottom: 2rem
}
.form_label {
    color: #251f42;
    font-weight: 500;
    font-size: 1.125rem
}
.form_req {
    color: #8a4d58
}
.form_req::after {
    display: inline-block;
    margin: 0 0.3125rem;
    content: ":";
    color: #251f42
}
.form_input {
    margin-top: 1rem
}
.form_input textarea, .form_input input[type=text], .form_input input[type=tel] {
    border: solid 1px #ededed;
    border-radius: 0.25rem;
    background-color: #fff;
    padding: 0.6875rem 1rem;
    font-size: 0.875rem
}
.form_input._name .form_list .form_list-item input {
    width: 100%
}
.form_input._mail input {
    width: 100%
}
.form_input._mail .form_note {
    padding-top: 1.5rem;
    padding-bottom: 1rem
}
.form_input._tel input {
    width: 100%
}
.form_input._inquiry .form_note {
    padding-top: 0.1875rem
}
.form_input._inquiry textarea {
    margin-top: 1rem;
    width: 100%;
    height: 6.6875rem
}
.form_note {
    color: #505050;
    font-size: 0.875rem
}
.form_list {
    display: flex
}
.form_list._define .form_list-item + .form_list-item {
    margin-left: 0.9375rem
}
.form_list._define .form_list-label {
    color: #505050;
    font-size: 0.875rem
}
.form_list._define .form_list-des {
    margin-top: 0.5rem
}
.form_agree {
    padding-top: 1.8125rem
}
.form_submit {
    margin: 2.5rem auto 0
}
.form_text {
    padding-top: 0.25rem;
    color: #505050;
    font-size: 0.875rem;
    line-height: 1.71;
    letter-spacing: 0.07rem
}
.form_submit-list {
    display: flex;
    flex-direction: column-reverse
}
.form_submit-item._back {
    margin-top: 1.5rem
}
.complete_inner {
    padding: 0 1.875rem;
    text-align: center
}
.complete_heading {
    position: relative;
    padding-top: 6.25rem;
    color: #251f42;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.78;
    letter-spacing: 0.09rem
}
.complete_heading::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
    background-image: url("/img/contact/icon_complete.png");
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
    width: 12.75rem;
    height: 4.25rem;
    content: ""
}
.complete_text {
    margin-top: 0.75rem;
    color: #505050;
    font-size: 0.875rem;
    line-height: 1.71;
    letter-spacing: 0.07rem;
    text-align: left
}
.complete_link {
    margin: 2.25rem auto 0
}
/* 2022.12.21 年末年始の案内追加 */
.holiday_txt {
  margin-bottom: 2.0rem;
}
.holiday_txt p {
  margin-bottom: 1.5rem;
  color: #FF7960;
  font-size: 0.875rem;
  line-height: 1.71;
  letter-spacing: 0.07rem
}
.typeform-widget {
  height: 270px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
    .contact_inner {
        margin: 0 auto;
        padding: 0 5%;
        max-width: calc(800px + 10%)
    }
    .contact_step {
        padding-top: 4.0625rem
    }
    .contact_lead {
        margin-top: 3.75rem;
        margin-bottom: 2rem;
        font-size: 0.9375rem;
        line-height: 1.6;
        letter-spacing: 0.075rem
    }
    .contact_complete {
        padding-top: 5rem
    }
    .step_item {
        padding: 1rem 0
    }
    .form_input {
        margin-top: 1rem
    }
    .form_input._name .form_list .form_list-item {
        width: 20rem
    }
    .form_input._mail .form_note {
        padding-top: 1.5625rem;
        padding-bottom: 1rem
    }
    .form_input._tel input {
        width: 19.6875rem
    }
    .form_input._inquiry .form_note {
        padding-top: 0.8125rem
    }
    .form_input._inquiry textarea {
        margin-top: 1rem;
        width: 50rem
    }
    .form_list._define {
        padding-top: 0.25rem
    }
    .form_list._define .form_list-item + .form_list-item {
        margin-left: 1.25rem
    }
    .form_list._define .form_list-des {
        margin-top: 0.5rem
    }
    .form_agree {
        padding-top: 1.8125rem
    }
    .form_submit {
        margin-top: 3.75rem
    }
    .form_submit._input {
        width: 19.6875rem
    }
    .form_submit-list {
        flex-direction: row;
        justify-content: center
    }
    .form_submit-item._back {
        margin-top: 0;
        width: 10rem
    }
    .form_submit-item._send {
        margin-left: 1.5rem;
        width: 19.6875rem
    }
    .complete_inner {
        margin: 0 auto;
        padding: 0 5%;
        max-width: calc(1080px + 10%)
    }
    .complete_heading {
        padding-top: 6.25rem
    }
    .complete_text {
        margin-top: 0.75rem;
        font-size: 0.9375rem;
        line-height: 1.87;
        letter-spacing: 0.075rem;
        text-align: center
    }
    .complete_link {
        margin-top: 3.5rem;
        width: 19.6875rem
    }
  .typeform-widget {
      height: 500px;
	  margin-bottom: 3rem;
  }
}