@charset "utf-8";
/* ---------------------------------------------------------
contact us
---------------------------------------------------------*/
#contactTel h1,
#contactForm h1{
    box-sizing: border-box;
    position: relative;
    font-family :YuMincho,'Yu Mincho', serif;
    font-size: 24px;
    font-weight: 500;
    border-bottom: 1px solid #ccc;
    padding: 0 0 15px 55px;
}
#contactTel h1:before,
#contactForm h1:before{
    content: "";
    position: absolute;
    left: 10px;
    display: inline-block;
    width: 33px;
    height: 34px;
}
#contactTel h1{
    margin-bottom: 25px;
}
#contactTel h1:before{
    background: url(../images/icon_tel.png) no-repeat;
}
#contactForm h1:before{
    background: url(../images/icon_mail.png) no-repeat;
}

#formBox dl{
    display: block;
    border-bottom: 1px solid #ccc;
    width: 100%;
    font-size: 0;
    margin: 0 auto;
}
#formBox dt,
#formBox dd{
    position: relative;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    padding: 38px 25px;
    font-size: 16px;
}
#formBox dt{
    width: 33.0%;
    padding-left: 60px;
    font-family :YuMincho,'Yu Mincho', serif;
    font-weight: bold;
}
#formBox dt span{
    position: absolute;
    left: 10px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #ce2020;
    font-family: "メイリオ", sans-serif;
    text-align: center;
    font-size: 13px;
    color: #ce2020;
    padding: 3px 7px;
    margin-right: 10px;
}
#formBox dd{
    width: 67%;
    border-left: 4px double #ccc;
}
#formBox dl.freetextBox dt,
#formBox dl.freetextBox dd{
    vertical-align: top;
    box-sizing: border-box;
    padding: 30px 25px 20px;
}
#formBox dl.freetextBox dt{
    padding-left: 60px;
}
/* radioBtn */
.radioBtn{
    display: none;
}
.radioBtn + label{
    position:relative;
    display: inline-block;
    margin: 5px 40px 5px 0;
    padding-left: 34px;
    cursor: pointer;
}
.radioBtn + label::before{
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0;
    width: 24px;
    height: 24px;
    border: 1px solid #ccc;
    border-radius: 50%;
}
.radioBtn:checked + label::after{
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 4px;
    width: 18px;
    height: 18px;
    background: #c6973b;
    border-radius: 50%;
}

/* chkBtn */
.chkBtn{
    display: none;
}
.chkBtn + label{
    position:relative;
    padding-left: 34px;
    cursor: pointer;
}
.chkBtn + label::before{
    content: "";
    display: block;
    position: absolute;
    top: -5px;
    left: 0;
    width: 24px;
    height: 24px;
    border: 1px solid #ccc;
}
.chkBtn + label::after{
    content: "";
    width: 0;
    height: 0;
}

.chkBtn:checked + label::after{
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 4px;
    width: 14px;
    height: 8px;
    border-top: 4px solid #c6973b;
    border-right: 4px solid #c6973b;
    transform: rotate(135deg);
}

/* formBox */
#formBox input[type="text"],
#formBox input[type="tel"],
#formBox input[type="email"],
#formBox textarea{
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #ccc;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-size: 16px;
    padding: 10px;
    outline: none;
}
#formBox textarea{
    resize: vertical;
    height: 10em;
    line-height: 1.6;
}
#formBox input[type="text"]:focus,
#formBox texture:focus {
    background: #fff;
    border: 1px solid #c6973b;
}
input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


/* policyBox */
.policyBox{
    margin: 50px 0;
    padding: 0 10px;
    text-align: center;
}

.policyLink{
    margin-bottom: 20px;
    text-align: center;
    font-size: 16px;
}
.policyLink a:link,
.policyLink a:visited{
    margin-right: 4px;
    text-decoration: underline;
    font-weight: bold;
    color: #c6973b;
}

/* btnBox */
.btnBox{
    margin-top: 50px;
    text-align: center;
}
.btnBox button{
    display: inline-block;
    width: 300px;
    margin: 0 20px;
    padding: 14px 42px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}
.prevBtn{
    background: #cecece;
    color: #333;
}
.nextBtn{
    background: #c6973b;
    color: #FFF;
}
.btnBox button:hover{
    opacity: 0.8;
}
.nextBtn:disabled{
    background: #BFBFBF;
    cursor: default;
}
.nextBtn:disabled:hover{
    opacity: 1;
}

/* err */
.err{
    margin-top: 8px;
    color: #A50E13;
}
.err:before {
    content: "!";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 6px;
    border-radius: 20px;
    background: #A50E13;
    text-align: center;
    font-weight: bold;
    color: #FFF;
    letter-spacing: 1px;
    line-height: 23px;
}
.errbgOn{
    background: #FFE7E7;
}

/* thanksBox */
.thanksBox{
    margin: 50px 0;
    text-align: center;
    font-size: 1.2em;
}

.thanksBox{
    margin: 20px 0;
}


@media screen and (max-width:750px) {
    #contactTel h1{
        margin-bottom: 0;
    }
    #formBox dt,
    #formBox dd,
    #formBox dl.freetextBox dt,
    #formBox dl.freetextBox dd{
        display: block;
        border-right:none;
        border-left:none;
        width: 100%;
    }
    #formBox dt,
    #formBox dl.freetextBox dt{
        padding: 10px 10px 10px 60px;
    }
    #formBox dd,
    #formBox dl.freetextBox dd{
        padding: 10px 10px 30px;
    }

    #formBox dt{
        background: #f5f5f5;
    }

}
