﻿#contact .ttl_bg {
    position: relative;
    background-image: url(/images/common/bg_ttl.png);
    background-repeat: no-repeat;
    width: 100%;
    height: 288px;
    margin-bottom: 3.735%;
}
#contact .ttl_bg .ttl_img {
    position: absolute;
    top: 31.25%;
    left: 11.333%;
}



/* ///////////////////////////////////////////////////////////////////
入力フォーム
/////////////////////////////////////////////////////////////////// */
#contact #form .request {
    font-size: 2.6rem;
    line-height: 5rem;
    letter-spacing: 0.05em;
    width: 78.667%;
    margin: auto;
}
#contact .form_block {
    width: 86.667%;
    max-width: 650px;
    margin: 10.667% auto 26.667% auto;
}
#contact #form .form_block .input_contents {
    display: flex;
    align-items: center;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: 2.154%;
}
#contact #form .form_block .input_contents.required:after {
    content: '（必須）';
    color: #ff0000;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
}
#contact #form .form_block .input_block {
    margin-bottom: 7.119%;
}
#contact #form .form_block .contact_input {
    position: relative;
    width: 100%;
    height: 10rem;
    border-radius: 1rem;
    border: solid 1px #b4b4b4;
    padding: 3.667% 3.077%;
}
#contact input,
#contact textarea{
    font-size:3.8rem;
}

#contact input::placeholder {
    color: #dcdcdc;
    font-size: inherit;
    letter-spacing: 0.05em;
}
#contact #form .form_block .two_columns {
    display: flex;
    justify-content: space-between;
}
#contact #form .form_block .two_columns .contact_input {
    width: 48%;
}
#contact #form .form_block .two_tiers .contact_input:first-child {
    margin-bottom: 3.077%;
}
#contact #form .form_block textarea.contact_input {
    height: 41rem;
}
#contact #form .form_block input.input-validation-error,
#contact #form .form_block textarea.input-validation-error {
    background-color: #ffeaea;
    border: solid 1px #ff0000;
}
#contact .next_btn {
    position: relative;
    width: 83.077%;
    height: 12rem;
    border-radius: 1rem;
    margin: auto;
}
#contact .next_btn:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 5.926%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-repeat: no-repeat;
    width: 11px;
    height: 21px;
}
#contact .next_btn button {
    font-size: 2.8rem;
    line-height: 12rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    text-align: center;
    width: 100%;
}
#contact #form .next_btn {
    background-color: #c4edc7;
}
#contact #form .next_btn:after {
    background-image: url(/images/common/transition_arrow_brown.svg);
}
#contact #form .next_btn button {
    color: #7a6a56;
}



/* ///////////////////////////////////////////////////////////////////
確認画面
/////////////////////////////////////////////////////////////////// */
#contact #confirm .form_block {
    margin: 6.667% auto 26.667% auto;
}
#contact #confirm .confirmation, #contact #completion .completion {
    font-size: 2.6rem;
    line-height: 5rem;
    letter-spacing: 0.05em;
    width: 78.667%;
    max-width: 590px;
    margin: auto;
}
#contact #confirm .confirmation .ttl_confirmation,#contact #completion .completion .ttl_completion {
    font-size: 3.8rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: 4.923%;
}
#contact #confirm .form_block ul {
    margin: 8.462% auto 7.692% auto;
    padding-top: 10.769%;
    border-top: solid 1px #bcb4aa;
    border-bottom: solid 1px #bcb4aa;
}
#contact #confirm .form_block .input_contents {
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #dcdcdc;
    margin-bottom: 1.846%;
}
#contact #confirm .form_block li {
    margin-bottom: 7.8%;
}
#contact #confirm .form_block li:last-child {
    margin-bottom: 20%;
}
#contact #confirm .form_block .input_block {
    font-size: 3.2rem;
    line-height: 4.5rem;
    letter-spacing: 0.05em;
}
#contact #confirm .form_block .input_block .reading_kana_block {
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 1.017%;
}
#contact #confirm .form_block .input_block .reading_kana_block,#contact #confirm .form_block .input_block .name_block {
    display: flex;
}
#contact #confirm .form_block .input_block .family_name {
    margin-right: 3.692%;
}
#contact #confirm .next_btn {
    background-color: #3bc345;
}
#contact #confirm .next_btn button {
    color: #ffffff;
}
#contact #confirm .next_btn:after {
    background-image: url(/images/common/btn_arrow_white.svg);
}
#contact .back_btn {
    position: relative;
    margin: 5.538% auto 0 auto;
    width: fit-content;
    padding-left: 4.615%;
}
#contact #confirm .back_btn:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-image: url(/images/common/back_arrow_brown.svg);
    background-repeat: no-repeat;
    width: 11px;
    height: 21px;
}
#contact .back_btn button {
    font-size: 2.6rem;
    color: #7a6a56;
}





/* ///////////////////////////////////////////////////////////////////
お問い合わせ完了
/////////////////////////////////////////////////////////////////// */
#contact #completion .completion .thanks {
    font-size: 2.5rem;
    line-height: 5rem;
    letter-spacing: 0.05em;
}
#contact #completion .completion .thanks .if_you_dont_receive_it {
    margin: 8.136% auto 33.898% auto;
}
#contact #completion .completion .thanks .if_you_dont_receive_it a {
    color: #3cc346;
    text-decoration: underline;
}



/* ///////////////////////////////////////////////////////////////////
応募データをつなげる
/////////////////////////////////////////////////////////////////// */
#cpnLinkForm .ttl_bg {
    position: relative;
    background-image: url(/images/common/bg_ttl.png);
    background-repeat: no-repeat;
    width: 100%;
    height: 288px;
    margin-bottom: 3.735%;
}
#cpnLinkForm .ttl_bg .ttl_img {
    position: absolute;
    top: 20.6%;
    left: 11.2%;
}
#cpnLinkForm .txt_benefits_granted_block {
    width: 78.534%;
    max-width: 589px;
    margin: 0 auto 8.267% auto;
    font-size: 2.8rem;
    line-height: 4.2rem;
    letter-spacing: 0.05em;
    font-weight: bold;
}
#cpnLinkForm .txt_benefits_granted_block .please_enter_your_phone_num {
    margin-top: 7.131%;
}
#cpnLinkForm .txt_benefits_granted_block .please_enter_your_phone_num span {
    color: #3cc346;
}
#cpnLinkForm .enter_phone_number_block {
    width: 90.667%;
    max-width: 680px;
    margin: 0 auto 26.667% auto;
    background-color: #f5f5f5;
    padding: 10.667% 6% 9.067% 6%;
    box-sizing: border-box;
    border-radius: 10px;
}
#cpnLinkForm .enter_phone_number_block .the_phone_numb_you_entered {
    font-size: 2.8rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: 4.068%;
}
#cpnLinkForm span.field-validation-error {
    display: flex;
    font-size: 2rem;
    line-height: 30px;
    letter-spacing: 0.05em;
    background-color: #ffeaea;
    color: #ff0000;
    width: 100%;
    margin-bottom: 1.695%;
    height: 30px;
}
#cpnLinkForm span.field-validation-error::before {
    content: '';
    background-image: url(/images/common/required.svg);
    background-repeat: no-repeat;
    display: block;
    width: 36px;
    height: 30px;
    padding-left: 7.077%;
}
#cpnLinkForm input {
    position: relative;
    width: 100%;
    height: 10rem;
    border-radius: 1rem;
    border: solid 1px #b4b4b4;
    padding: 3.667% 3.077%;
    font-size: 3.8rem;
}
#cpnLinkForm input::placeholder {
    color: #dcdcdc;
    font-size: inherit;
    letter-spacing: 0.05em;
}
#cpnLinkForm .enter_phone_number_block .btn_alignment {
    margin-top: 10.509%;
}