form {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background-color: #fff;
    margin-bottom: 150px;
}
form h1 {
    letter-spacing: 2px;
    margin: 0 0 15px;
    font-size: 22px;
    font-weight: bold;
    color: #333333;
}
form .contact_explain{
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
body > div:nth-child(3) > div {
    border: solid 1px #ddd;
    padding: 30px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background-color: #fff;
}
body > div:nth-child(3) > div > h1 {
    letter-spacing: 2px;
    margin: 0 0 15px;
    font-size: 22px;
    font-weight: bold;
    color: #333333;
    padding-left: 0;
}
form > div {
    width: 55%;
    margin: 0 auto;
    vertical-align: middle;
    margin-top: 50px;
    margin-bottom: 15px;
}
form > div > div {
    border-radius: 3px;
}
form > div > div > p {
    width: 405px;
    float: left;
    margin: 0 15px;
}
form > div > div.confirm_box > p {
    width: auto;
    float: none;
}
form > div > div:before, form > div > div:after {
    display: table;
    content: " ";
    clear: both;
}
form > div input[type=text], form > div input[type=email], form > div textarea, form > div select {
    display: block;
    /* min-width: 405px; */
    max-width: 405px;
    float: right;
    height: 38px;
    padding: 6px 12px;
    font-size: 16px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    margin: 0 15px;
}
form > div textarea {
    height: auto;
}
input[type=radio] {
    margin-left: 25px;
    margin-top: 8px;

}
body > div label {
    margin-bottom: 0;
    width: 250px;
    float: left;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    position: relative;
}
/* body > div label span {
    color: #fff;
    background: #fb3b6f;
    display: inline-block;
    padding: 2px 5px;
    font-size: 10px;
    font-size: 1rem;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    position: absolute;
    right: 16px;
    top: 19px;
} */
.container label + div {
    width: 75%;
    float: left;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}
button {
    display: block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    margin: 0 auto;
}
button:hover {
    background: #00b0da;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #00a1d0), color-stop(0, #00bedf));
    background: -webkit-linear-gradient(#00bedf, #00a1d0);
}
button {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}
body > div > a > button {
    margin-left: 0;
    margin: 0 auto;
    display: block;
}
a + button {
    margin-left: 20px
}
a {
    text-decoration: none;
}
a:focus, a:hover {
    outline: none;
    text-decoration: none;
}
input::-webkit-input-placeholder {
    color:   #777;
}
button {
    padding: 10px 13px 11px;
    font-size: 18px;
    cursor: pointer;
    font-weight: bold;
    font-weight: bold;
    border-radius: 4px;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    border: 1px solid #000;
    color: #ffffff;
    background: #000;
}
button::after{
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    margin-top: -4px;
    top: 50%;
    right: 20px;
}
button:hover{
    background: #5c5c5c;
    color: #fff;
    border: 1px solid #5c5c5c;
}
button:hover:after{
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}
input[type=button] {
    border: solid 2px #000;
    padding: 20px 50px;
    position: relative;
    letter-spacing: 0.1rem;
    background-size: 200% 100%;
    font-size: 18px;
}
input + div, select + div, textarea + div {
    float: right;
    width: 420px;
    color: red;
    margin-bottom: -10px;
}
.error-form {
    border-color: #fb9a93 !important;
}
/* 追加分 */
.contact_confirm_ttl{
    margin-top: 15px;
}
.contact_explain_childbox{
    margin-bottom: 20px;
}
.contact_explain_childbox:last-child{
    margin-bottom: 100px;
}
.contact_confirm_ttl.ttl_06{
    margin-top: 6px;
}
.contact_confirm_ttl.ttl_07{
    margin-top: 46px;
}
.contact_confirm_ttl span{
    margin-left: 10px;
    padding: 3px 5px;
    border: 1px solid #b30000;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    background-color: #b30000;
}
.item{
    width: 430px;
    max-width: 427px;
}
.submit{
    border: solid 2px #000;
    padding: 20px 70px;
    position: relative;
    letter-spacing: 0.1rem;
    background-size: 200% 100%;
}
@media screen and (min-width:401px){
    .confirm_sp_explain,
    .thanks_sp_explain{
        display: none;
    }
}
@media screen and (max-width:470px){
    input + div, select + div, textarea + div{
        width: auto;
        float: left;
    }
}
@media screen and (max-width:768px){
    form > div{
        width: 90%;
    }
    .contact_explain{
        width: 80%;
    }
}
@media screen and (min-width:769px){
    .br_768{
        display: none;
    }
}
@media screen and (min-width:1271px) and (max-width:1400px){
    body > div label{
        width: 270px;
    }
}
@media screen and (min-width:800px) and (max-width:1270px){
    body > div label{
        width: 210px;
    }
}
@media screen and (max-width:1024px){
    form > div input[type=text],
    form > div input[type=email],
    form > div textarea,
    form > div select{
        float: none;
        margin: 0;
        min-width: none;
        max-width: none;
        box-sizing: border-box;
    }
    form > div input[type=text],
    form > div input[type=email],
    form > div textarea
    form > div select{
        padding: 25px 10px;
    }
    body > div label{
        padding-left: 0;
    }
    form > div input[type=text],
    form > div input[type=email], form > div textarea, form > div select{
        width: 100%;
    }
    .item{
        width: 100%;
    }
    .contact_confirm_ttl{
        margin-bottom: 10px;
    }
    .contact_confirm_ttl:last-child{
        margin-bottom: 0;
    }
    .confirm_all-box{
        width: 80%;
    }
    .confirm_box{
        text-align: center;
    }
    .confirm_box p{
        margin: 10px 0 0 0;
    }
    .confirm_box label.tl_ri{
        float: none;
        margin-right: 0;
        padding-right: 0;
    }
}
@media screen and (min-width:1025px){
    form > div input[type=text],
    form > div input[type=email],
    form > div textarea, form > div select{
        min-width: 400px;
    }
    /* .confirm_box.contact{
        padding-top: 50px;
    } */
    .confirm_box.contact p{
        width: 50%;
        float: left;
        margin: 0;
    }
    .tl_ri.contact_tl_ri{
        margin-bottom: 10px;
    }
    /* .contact_tl_ri{
        float: none;
    } */
}
@media screen and (min-width:1025px) and (max-width:1170px){
    form > div{
        width: 70%;
    }
}
@media screen and (min-width:1171px) and (max-width:1401px){
    form > div{
        width: 60%;
    }
}
@media screen and (min-width:1402px) and (max-width:1800px){
    form > div{
        width: 55%;
    }
}
@media screen and (min-width:1801px){
    form > div{
        width: 40%;
    }
}
/* お問い合わせの確認画面 */
.tl_ri{
    margin-right: 30px;
    text-align: right;
    color: #9a6603;
    font-weight: bold;
}
.confirm_submitbox{
    width: 20%;
    display: flex;
    justify-content: space-between;
}
.confirm_submitbox button{
    margin: 0;
}
.confirm_box{
    padding: 20px 0;
}
.confirm_submitbox input{
    font-weight: bold;
}
.confirm_content{
    overflow-wrap: break-word;
}
@media screen and (max-width:768px){
    .confirm_submitbox{
        width: 80%;
        display: block;
    }
    .confirm_submitbox input{
        -webkit-appearance: none;
        width: 100%;
        margin-bottom: 30px;
    }
    .confirm_submitbox button{
        width: 100%;
    }
}
@media screen and (min-width:768px) and (max-width:1000px){
    .confirm_submitbox{
        width: 63%;
    }
}
@media screen and (min-width:1001px) and (max-width:1200px){
    .confirm_submitbox{
        width: 50%;
    }
}
@media screen and (min-width:1201px) and (max-width:1400px){
    .confirm_submitbox{
        width: 40%;
    }
}
@media screen and (min-width:1401px) and (max-width:1600px){
    .confirm_submitbox{
        width: 35%;
    }
}
@media screen and (min-width:1601px) and (max-width:1920px){
    .confirm_submitbox{
        width: 30%;
    }
}
@media screen and (min-width:1801px) and (max-width:1852px){
    form > div input[type=text], form > div input[type=email], form > div textarea, form > div select{
        min-width: 365px;
    }
}
@media screen and (min-width:1921px) and (max-width:2401px){
    .confirm_submitbox{
        width: 25%;
    }
}
/* お問い合わせの完了画面 */
.thanks_ttl{
    margin-bottom: 50px;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
}
.thanks_txt{
    margin-bottom: 50px;
    text-align: center;
}
.thanks_btn{
    margin-bottom: 150px;
}
@media screen and (max-width:1024px){
    .thanks_box{
        width: 80%;
        margin: 0 auto;
    }
}