
.contact { background-color: #F4F4F4; padding: 50px 0; }
.contact.white { background-color: #fff; }
.contact .form {padding: 100px 0; }
.contact .form.border { border-top: 1px solid #e5e5e4; }
.contact h4 { text-align: center; font-size: 20px; font-weight: 500; position: relative; padding: 0 0 20px; }
.contact h4::after { content: ''; position: absolute; height: 2px; width: 60px; bottom: 0; left: 0; right: 0; background-color: #D12F18; margin: auto; }

.contact .caption { padding: 50px 0; text-align: center; }
.contact .caption span { font-size: 24px; min-width: 400px; line-height: 65px; height: 65px; display: inline-block; background-color: #000; color: #fff; }
.contact .caption span.gray { background-color: #666666; }
.contact .required { text-align: center; padding: 0 0 30px; }
.contact .req { display: inline-block; font-size: 12px; background-color: #CA0001; color: #fff; padding: 0 5px; margin: 0 5px 0 10px; }
.contact .form_item { padding: 15px 0; display: flex; justify-content: space-between; flex-wrap: wrap; }
.contact .form_item .head { width: 170px; padding: 15px 0; }
.contact .form_item .data { width: calc(100% - 190px); max-width: 650px; }
.contact .form_item input[type="text"] { padding: 0 20px; border: 1px solid #e5e5e4; width: 100%; height: 58px; line-height: 58px; font-size: 18px; box-sizing: border-box; appearance: none; -moz-appearance: none; -webkit-appearance: none; }

.contact .form_item .data_wrap { display: flex; align-items: center; flex-wrap: wrap; }
.contact .form_item .data_wrap:not(:last-child) { padding: 0 0 20px; }
.contact .form_item .zip { position: relative; }
.contact .form_item .zip input { width: 40%; padding: 0 20px 0 40px; }
.contact .form_item .zip::after { left: 15px; top: 15px; content: '〒'; display: block; position: absolute; }
.contact .form_item .zip .btn { height: 30px; line-height: 30px; width: 150px; font-size: 14px; margin-left: 20px; border-radius: 5px; }
.contact .privacy { font-size: 14px; padding: 80px 0 30px; line-height: 180%; }
.contact .privacy a { text-decoration: underline; color: #1933A5; display: inline-block; }
.contact .btn_wrap { padding: 100px 0 0; text-align: center; }
.contact .btn { margin: 0 5px; vertical-align: top; width: 60%; max-width: 320px; height: 70px; line-height: 70px; transition: 0.5s; cursor: pointer; border-radius: 10px; font-size: 20px; text-align: center; border: none; background-color: #000; color: #fff; display: inline-block; }
.contact .btn.back { background-color: #666666; }
.contact .btn:hover { opacity: 0.8; }

.contact .confirm .head { padding: 0; }
.contact .confirm .caption { padding: 50px 0 30px; }
.contact .confirm .caption span { height: 50px; line-height: 50px; min-width: 320px; font-size: 18px; }
.contact .confirm .form { padding: 30px 0; }
.contact .confirm .inner900 { max-width: 700px; }

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

    .contact { padding: 50px 0 30px; }
    .contact h4 { font-size: 18px; }
    .contact .required { font-size: 14px; }
    .contact .caption { padding: 30px 0; }
    .contact .caption span { font-size: 18px; min-width: 0; width: 70%; max-width: 380px; height: 50px; line-height: 50px; }
    .contact .form { padding: 30px 0 50px; }
    .contact .form_item { padding: 8px 0; }
    .contact .form_item .head,
    .contact .form_item .data { width: 100%; max-width: none; }
    .contact .form_item .head { padding: 0 0 10px; }
    .contact .form_item input[type="text"] { padding: 0 12px; height: 48px; line-height: 48px; font-size: 16px; }
    .contact .form_item .zip input { padding: 0 15px 0 32px; }
    .contact .form_item .zip::after { left: 12px; top: 12px; }
    .contact .form_item .zip .btn { font-size: 12px; width: 120px; }
    .contact .form_item .data_wrap:not(:last-child) { padding: 0 0 15px; }
    .contact .privacy { padding: 30px 0; }
    .contact .btn_wrap { padding: 30px 0 0; }
    .contact .btn { max-width: 420px; width: 60%; font-size: 16px; height: 50px; line-height: 50px; margin: 5px 0; }

    .contact .confirm .form_item .head { padding: 0; font-weight: 600; }
    .contact .confirm .caption span { font-size: 16px; min-width: 0; width: 280px; }
}