@charset "UTF-8";
/************************************************************/
/*   KV   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    #KV{
        height: 50vh;
        background-image: url(/contact/img/kv.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
    .KV_set{
        width: 100%; height: 100%;
        padding-top: 50px;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        flex-direction: column;
    }
    .KV_icon{
        width: 20%;
        margin-bottom: 15px;
    }
    .KV_key{
        font-size: 2.4rem; font-weight: bold; color: #fff; letter-spacing: 0.6rem; line-height: 1;
        margin: 0 0 15px 0.6rem;
    }
    .KV_subkey{
        width: 70%;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    #KV{
        height: 50vh; min-height: 550px;
        background-image: url(/contact/img/kv.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
    .KV_set{
        width: 100%; height: 100%;
        padding-top: 80px;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        flex-direction: column;
    }
    .KV_icon{
        width: 80px;
        margin-bottom: 15px;
    }
    .KV_key{
        font-size: 3rem; font-weight: bold; color: #fff; letter-spacing: 0.6rem; line-height: 1;
        margin: 0 0 15px 0.6rem;
    }
    .KV_subkey{
        width: 300px;
    }
}

/************************************************************/
/*   COMMON   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    .CONTACT_key_box{
        width: 100%;
        text-align: center;
        font-size: 2.2rem; font-weight: bold; color: #007440; letter-spacing: 0.3rem; line-height: 1;
        text-indent: 0.3rem;
        padding-bottom: 20px;
        position: relative;
    }
    .CONTACT_key_box::before{
        content: ''; position: absolute;
        bottom: 0; left: 0; right: 0; margin: auto;
        width: 30px; height: 3px;
        background-color: #007440;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    .CONTACT_key_box{
        width: 100%;
        text-align: center;
        font-size: 3rem; font-weight: bold; color: #007440; letter-spacing: 0.6rem; line-height: 1;
        text-indent: 0.6rem;
        padding-bottom: 30px;
        position: relative;
    }
    .CONTACT_key_box::before{
        content: ''; position: absolute;
        bottom: 0; left: 0; right: 0; margin: auto;
        width: 60px; height: 3px;
        background-color: #007440;
    }
}

/************************************************************/
/*   C1   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    #C1{
        padding: 30px 0 0;
    }
    .C1_box01{
        width: 100%;
        padding: 30px 0;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        flex-direction: column;
    }
    .C1_tx01{
        font-size: 1.4rem; line-height: 2;
    }
    .C1_tx01 a{
        display: inline-block;
        text-decoration: underline;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    #C1{
        padding: 60px 0 0;
    }
    .C1_box01{
        width: 100%;
        padding: 60px 0;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        flex-direction: column;
    }
    .C1_tx01{
        font-size: 1.6rem; line-height: 2;
    }
    .C1_tx01 a{
        display: inline-block;
        text-decoration: underline;
    }
}

/************************************************************/
/*   C2   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    #C2{
        padding: 30px 0;
        background-color: #EDF7F5;
    }
    .C2_set{
        width: 100%;
        padding: 20px;
        background-color: #fff;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    #C2{
        padding: 60px 0;
        background-color: #EDF7F5;
    }
    .C2_set{
        width: 100%;
        padding: 60px 30px;
        background-color: #fff;
    }
}

/************************************************************/
/*   FORM   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    .form_set{
        width: 100%;
    }
    .form_box_L{
        width: 100%;
        margin-bottom: 10px;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .form_box_L p{
        font-size: 1.4rem;
    }
    .form_required{
        display: inline-block; padding: 2px 5px 5px 5px;
        background-color: #D72C19;
        border-radius: 6px;
        font-size: 1.2rem; font-weight: bold; color: #fff; line-height: 1;
        margin-left: 20px;
    }
    .form_box_R{
        width: 100%;
        margin-bottom: 20px;
    }
    .form_box_R input:not([type="checkbox"]),
    .form_box_R textarea{
        -webkit-appearance: none;
        appearance: none;
        width: 100%; padding: 10px;
        background-color: #F2F2F2; border: none; border-radius: 6px;
        font-size: 1.6rem; color: #000;
    }
    .form_post_set{
        width: 100%;
        display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center;
    }
    .form_post_box{
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
        margin-bottom: 10px;
    }
    .form_post_box p{
        font-size: 1.4rem;
    }
    .form_post_box input{
        max-width: 100px; margin: 0 10px;
    }
    .form_post_set a{
        display: block;
        font-size: 1.4rem;
        text-decoration: underline;
        margin-left: 10px;
    }
    .form_addr_set{
        width: 100%;
        margin-bottom: 10px;
    }
    .form_addr_set p{
        font-size: 1.2rem;
        margin-top: 5px;
    }
    .form_privacy_box{
        -webkit-overflow-scrolling: touch;
        overflow-y: scroll;
        width: 100%;
        height: 150px;
        padding: 20px 20px 0;
        margin-bottom: 20px;
        background-color: #F2F2F2;
        border-radius: 6px;
    }
    .form_privacy_key{
        font-size: 1.4rem; font-weight: bold;
    }
    .form_privacy_tx{
        font-size: 1.4rem;
        margin-bottom: 20px;
    }
    .form_privacy_check{
        width: 100%;
        text-align: right;
    }
    .form_privacy_check label{
        padding-left: 5px;
        font-size: 1.4rem; font-weight: bold;
    }
}
@media screen and (min-width:768px) and ( max-width:1023px) { /*TB*/
    .form_set{
        width: 100%; max-width: 700px;
        margin: 0 auto;
    }
    .form_box_L{
        width: 100%;
        margin-bottom: 10px;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .form_box_L p{
        font-size: 1.8rem;
    }
    .form_required{
        display: inline-block; padding: 2px 5px 5px 5px;
        background-color: #D72C19;
        border-radius: 6px;
        font-size: 1.4rem; font-weight: bold; color: #fff; line-height: 1;
        margin-left: 30px;
    }
    .form_box_R{
        width: 100%;
        margin-bottom: 30px;
    }
    .form_box_R input:not([type="checkbox"]),
    .form_box_R textarea{
        -webkit-appearance: none;
        appearance: none;
        width: 100%; padding: 10px;
        background-color: #F2F2F2; border: none; border-radius: 6px;
        font-size: 1.6rem; color: #000;
    }
    .form_post_set{
        width: 100%;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .form_post_box{
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .form_post_box p{
        font-size: 1.6rem;
    }
    .form_post_box input{
        max-width: 140px; margin: 0 10px;
    }
    .form_post_set a{
        display: inline-block;
        font-size: 1.6rem;
        text-decoration: underline;
        margin-left: 10px;
    }
    .form_addr_set{
        width: 100%;
        margin-bottom: 10px;
    }
    .form_addr_set p{
        font-size: 1.4rem;
        margin-top: 5px;
    }
    .form_privacy_box{
        -webkit-overflow-scrolling: touch;
        overflow-y: scroll;
        width: 100%;
        height: 200px;
        padding: 20px 20px 0;
        margin-bottom: 20px;
        background-color: #F2F2F2;
        border-radius: 6px;
    }
    .form_privacy_key{
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    .form_privacy_tx{
        font-size: 1.4rem;
        margin-bottom: 30px;
    }
    .form_privacy_check{
        width: 100%;
        text-align: right;
    }
    .form_privacy_check label{
        padding-left: 5px;
        font-size: 1.6rem; font-weight: bold;
    }
    .form_privacy_check input:hover,
    .form_privacy_check label:hover{
        cursor: pointer;
    }
}
@media screen and (min-width:1024px) , print { /*PC*/
    .form_set{
        width: 100%; max-width: 900px;
        margin: 0 auto;
        display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;
    }
    .form_box_L{
        width: 360px;
        padding-right: 60px;
        margin-bottom: 30px;
        display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center;
    }
    .form_box_L p{
        font-size: 1.8rem;
    }
    .form_required{
        display: inline-block; padding: 2px 5px 5px 5px;
        background-color: #D72C19;
        border-radius: 6px;
        font-size: 1.4rem; font-weight: bold; color: #fff; line-height: 1;
    }
    .form_box_R{
        width: calc(100% - 360px);
        margin-bottom: 30px;
    }
    .form_box_R input:not([type="checkbox"]),
    .form_box_R textarea{
        -webkit-appearance: none;
        appearance: none;
        width: 100%; padding: 10px;
        background-color: #F2F2F2; border: none; border-radius: 6px;
        font-size: 1.6rem; color: #000;
    }
    .form_post_set{
        width: 100%;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .form_post_box{
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .form_post_box p{
        font-size: 1.6rem;
    }
    .form_post_box input{
        max-width: 140px; margin: 0 10px;
    }
    .form_post_set a{
        display: inline-block;
        font-size: 1.6rem;
        text-decoration: underline;
        margin-left: 10px;
    }
    .form_addr_set{
        width: 100%;
        margin-bottom: 10px;
    }
    .form_addr_set p{
        font-size: 1.4rem;
        margin-top: 5px;
    }
    .form_privacy_box{
        -webkit-overflow-scrolling: touch;
        overflow-y: scroll;
        width: 100%;
        height: 200px;
        padding: 20px 20px 0;
        margin-bottom: 20px;
        background-color: #F2F2F2;
        border-radius: 6px;
    }
    .form_privacy_key{
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    .form_privacy_tx{
        font-size: 1.4rem;
        margin-bottom: 30px;
    }
    .form_privacy_check{
        width: 100%;
        text-align: right;
    }
    .form_privacy_check label{
        padding-left: 5px;
        font-size: 1.6rem; font-weight: bold;
    }
    .form_privacy_check input:hover,
    .form_privacy_check label:hover{
        cursor: pointer;
    }
}

/************************************************************/
/*   SUBMIT   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    .form_submit_set{
        width: 100%; padding: 30px 0;
        display: flex; flex-wrap: nowrap; align-items: center;
        flex-direction: column;
    }
    .form_submit_box{
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        border: none;
        padding: 20px; text-align: center;
        background-color: #007440; border-radius: 60px;
        /* position: relative; */
        font-size: 1.6rem; font-weight: bold; color: #fff; letter-spacing: 0.3rem;
        text-indent: 0.3rem;
    }
    /* .submitNext::after{
        content: ''; position: absolute;
        top: 0; bottom: 0; right: 30px; margin: auto;
        width: 10px; height: 10px;
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        transform: rotate(45deg);
    }
    .submitBack::after{
        content: ''; position: absolute;
        top: 0; bottom: 0; left: 30px; margin: auto;
        width: 10px; height: 10px;
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        transform: rotate(-135deg);
    }
    .submitBack{
        margin-bottom: 20px;
    }
    .form_submit_box span{
        font-size: 1.6rem; font-weight: bold; color: #fff; letter-spacing: 0.3rem;
        text-indent: 0.3rem;
    } */
    .form_submit_box:disabled{
        background-color: #ccc;
        pointer-events: none;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    .form_submit_set{
        width: 100%; padding: 30px 0;
        display: flex; flex-wrap: nowrap; justify-content: center;
    }
    .form_submit_box{
        -webkit-appearance: none;
        appearance: none;
        width: 350px;
        border: none;
        padding: 20px; text-align: center; margin: 0 20px;
        background-color: #007440; border-radius: 60px;
        /* position: relative; */
        font-size: 1.8rem; font-weight: bold; color: #fff; letter-spacing: 0.3rem;
        text-indent: 0.3rem;
    }
    /* .submitNext::after{
        content: ''; position: absolute;
        top: 0; bottom: 0; right: 30px; margin: auto;
        width: 10px; height: 10px;
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        transform: rotate(45deg);
    }
    .submitBack::after{
        content: ''; position: absolute;
        top: 0; bottom: 0; left: 30px; margin: auto;
        width: 10px; height: 10px;
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        transform: rotate(-135deg);
    }
    .form_submit_box span{
        font-size: 1.6rem; font-weight: bold; color: #fff; letter-spacing: 0.3rem;
        text-indent: 0.3rem;
    } */
    .form_submit_box:hover{
        cursor: pointer;
        background-color: #3BAD70;
    }
    .form_submit_box:disabled{
        background-color: #ccc;
        pointer-events: none;
    }
}

/************************************************************/
/*   CONFIRM   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    .form_confirm{
        width: 100%; padding: 10px;
        background-color: #F2F2F2; border: none; border-radius: 6px;
        font-size: 1.4rem;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    .form_confirm{
        width: 100%; padding: 10px;
        background-color: #F2F2F2; border: none; border-radius: 6px;
        font-size: 1.6rem;
    }
}

/************************************************************/
/*   COMPLETE   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    .COMP_box{
        width: 100%;
        padding: 30px 0 0;
    }
    .COMP_tx01{
        width: 100%;
        font-size: 1.4rem; line-height: 2;
    }
    .COMP_link_box{
        width: 100%;
        padding: 30px 10px;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    .COMP_box{
        width: 100%;
        padding: 60px 0 0;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
    }
    .COMP_tx01{
        width: 100%; max-width: 700px;
        font-size: 1.6rem; line-height: 2;
    }
    .COMP_link_box{
        width: 300px; margin: 0 auto;
        padding: 60px 0;
    }
}

/************************************************************/
/*   ALERT   */
/************************************************************/
@media screen and (max-width:767px) { /*SP*/
    .ALERT_key{
        width: 100%;
        margin-bottom: 20px;
        font-size: 1.8rem;
        text-align: center;
    }
    .ALERT_tx{
        width: 100%;
        text-align: center;
        font-size: 1.4rem;
    }
    .ALERT_link_box{
        width: 100%;
        padding: 30px 10px;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    .ALERT_key{
        width: 100%;
        margin-bottom: 30px;
        font-size: 2rem;
        text-align: center;
    }
    .ALERT_tx{
        width: 100%;
        text-align: center;
        font-size: 1.6rem;
    }
    .ALERT_link_box{
        width: 300px; margin: 0 auto;
        padding: 60px 0;
    }
}