#main_img {
    background: url(../img/raster.png), url(../img/main_contact.jpg);
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
    display: table;
    height: 500px;
    padding: 0px;
    width: 100%;
}

h1 {
    color: white;
    display: table-cell;
    font-size: 2rem;
    font-weight: 600;
    height: 500px;
    line-height: 4rem;
    margin: 0 auto;
    padding: 0 2rem;
    text-align: center;
    text-shadow: -3px -3px 16px #333, 3px -3px 16px #333, 3px 3px 16px #333, -3px 3px 16px #333;
    width: 100%;
    vertical-align: middle;
}
section { 
    box-sizing: border-box;
    padding: 4rem 2rem;
    margin: auto;
    max-width: 1000px;
    width: 100%;
}

p {
    color: #6ba840;
    text-decoration: underline;
    font-size: 1.2rem;
    font-weight: 600;
    margin: 2rem auto;
}



form#mail_form{
    width : 90%;
    margin : 10px auto;
    padding : 10px 0;
    background : rgba(255, 255, 255, 0.45);
    border-radius : 7px;
    text-shadow : 0px 1px 0px #ffffff;
    background-color: white;
}
form#mail_form dl{
    width : 100%;
    margin : 0 auto;
    overflow : hidden;
}
form#mail_form dl dt{
    clear : both;
    width : 30%;
    float : left;
    border-top : 1px solid #ccc;
    box-sizing: border-box;
    padding : 1rem 0.5rem;
    margin: 0;
    text-align : right;
    overflow : hidden;
}
form#mail_form dl dd{
    width : 70%;
    float : right;
    border-top : 1px solid #ccc;
    box-sizing: border-box;
    padding : 1rem 0.5rem;
    margin: 0;
}
form#mail_form dl dt:first-child,
form#mail_form dl dt:first-child+dd{
    border : none;
}
form#mail_form dl dt span{
    display : block;
    font-size : 85%;
    color : #7bb71f;
}

/* -- for JavaScript ここから -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional{
    display : inline-block;
    float : left;
    font-weight : bold;
    padding : 3px 5px;
    border-radius : 2px;
}
form#mail_form dl dt span.required{
    color: crimson;
}
form#mail_form dl dt span.optional{
}
form#mail_form dd span{
    display : block;
    color : #ff0000;
}

/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */




form#mail_form input{
    height : 1.8em;
    border : 1px solid #cccccc;
    border-radius : 2px;
    background : #fafafa;
}
form#mail_form textarea{
    width : 95%;
    height : 6rem;
    resize : vertical;
    border : 1px solid #cccccc;
    border-radius : 2px;
    background : #fafafa;
}
form#mail_form input:focus,
form#mail_form textarea:focus{
    box-shadow : 0px 0px 5px #55ccff;
    border : 1px solid #55ccff;
    background : #ffffff;
}
form#mail_form input#business_name,
form#mail_form input#name_1,
form#mail_form input#name_2{
    height: 2rem;
    line-height: 2rem;
    padding-left: 1rem;
    width : 46%;
}
form#mail_form input#read_1,
form#mail_form input#read_2{
    height: 2rem;
    line-height: 2rem;
    padding-left: 1rem;
    width : 46%
}
form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm{
    height: 2rem;
    line-height: 2rem;
    padding-left: 1rem;
    width : 95%;
}
form#mail_form ul li{
    list-style-type : none;
    margin-bottom : 0.5em;
}
form#mail_form ul li label:hover{
    cursor : pointer;
}
form#mail_form ul li input{
    height : auto;
    margin-right : 0.5em;
}
form#mail_form input#postal{
    height: 2rem;
    line-height: 2rem;
    padding-left: 1rem;
    width : 10rem;
}
form#mail_form input#address_1,
form#mail_form input#address_2{
    display : block;
    height: 2rem;
    line-height: 2rem;
    padding-left: 1rem;
    width : 300px;
    margin-bottom : 7px;
}
form#mail_form input#phone{
    height: 2rem;
    line-height: 2rem;
    padding-left: 1rem;
    width : 10rem;
}
form#mail_form input#day{
    width : 160px;
}
form#mail_form input#mail_submit_button{
    width : auto;
    height : auto;
    padding : 4px 10px;
    vertical-align : middle;
    color : white;
    background : #ff607c;
    border : 1px solid #cccccc;
    border-radius : 2px;
    font-family : inherit;
    font-weight : bold;
}
form#mail_form input#mail_submit_button:hover{
    cursor : pointer;
    color : #106dff;
    background : #e0e0e0;
}




/* --responsive------------------------------------------- */


@media screen and (max-width : 767px){

    form#mail_form{
        width : 100%;    
    }
    form#mail_form dl{  
        width : 100%;
    }
    form#mail_form dl dt{
        width : auto;
        float : none;
        text-align : left;
        padding : 10px 0 5px;
        font-weight : bold;
    }
    form#mail_form dl dd{
        width : auto;
        float : none;
        border-top : none;
        padding : 0px 0 13px 0px;
    }
    form#mail_form dl dt span{
        font-weight : normal;
    }


    /* -- for JavaScript ここから -------------------------------------------------------------------------------- */

    form#mail_form dl dt span.required,
    form#mail_form dl dt span.optional{
        margin-right : 1em;
    }

    /* -- for JavaScript ここまで -------------------------------------------------------------------------------- */


    form#mail_form input{
        height : 25px;
    }
    form#mail_form input#name_1,
    form#mail_form input#name_2,
    form#mail_form input#read_1,
    form#mail_form input#read_2,
    form#mail_form input#mail_address,
    form#mail_form input#mail_address_confirm,
    form#mail_form input#postal,
    form#mail_form input#address_1,
    form#mail_form input#address_2,
    form#mail_form input#phone,
    form#mail_form input#day,
    form#mail_form textarea{
        max-width : 98%;
        -webkit-appearance : none;
    }

}

/*-------------------------------------------スマホ用--------------------------------*/

@media only screen and (max-width: 500px) {
    #main_img {
        background: url(../img/raster.png), url(../img/main_contact.jpg);
        background-repeat: repeat, no-repeat;
        background-size: auto, cover;
        display: table;
        height: 300px;
        padding: 0px;
        width: 100%;
    }

    h1 {
        color: white;
        display: table-cell;
        font-size: 1.4rem;
        font-weight: 400;
        height: 300px;
        line-height: 3rem;
        margin: 0;
        padding: 0 2rem;
        text-align: center;
        text-shadow: -3px -3px 16px #333, 3px -3px 16px #333, 3px 3px 16px #333, -3px 3px 16px #333;
        width: 100%;
        vertical-align: middle;
    }
    section { 
        box-sizing: border-box;
        padding: 1rem;
        width: 100%;
    }
    p {
        color: #6ba840;
        font-size: 1rem;
        font-weight: 600;
        margin: 2rem auto;
        text-decoration: underline;
    }
    
    
    
    
    
    
    
    
    
    
    
    
}