/* top.css
=================================================================== */
/* pc */
/* sp */
@media screen and (min-width: 769px), print {
  footer {
    margin-top: 0 !important;
  }
  .tt-main {
    background: url(../../imgs/contact/mv.jpg) center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .contact {
    text-align: center;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
  }
  .contact p {
    line-height: 1.94;
  }
  .contact__box {
    margin-top: 6rem;
    background: #EFF3F5;
    padding: 3rem 0 2rem;
  }
  .contact__box h3 {
    font-size: 2rem;
    font-weight: 700;
    color: #73828B;
  }
  .contact__box p {
    padding-top: 0.5rem;
  }
  .contact__box span {
    font-size: 1.3rem;
    font-weight: 700;
    color: #73828B;
  }
  .contact__box .tel {
    font-size: 2.4rem;
    font-weight: 700;
    font-family: "Roboto Condensed", sans-serif;
    line-height: 1.7;
    padding: 0;
  }
  .contact__box .tel a {
    text-decoration: none;
    color: #73828B;
  }
  .contact__box .tel span {
    font-size: 3.2rem;
  }
  .form {
    margin: 6rem auto 0;
    max-width: 1100px;
    padding: 0 2rem;
  }
  .form__txt {
    line-height: 1.94;
  }
  .form form {
    margin: 2.5rem 0 0;
  }
  .form form label.error {
    display: block;
  }
  .form form table {
    width: 100%;
  }
  .form form tr {
    border-top: 1px solid #dddddd;
  }
  .form form tr:last-child {
    border-bottom: 1px solid #dddddd;
  }
  .form form th {
    padding: 2.5rem 0;
  }
  .form form th .ttl {
    display: inline-block;
    vertical-align: middle;
    font-weight: 700;
  }
  .form form .req {
    float: right;
    display: block;
    font-size: 1.2rem;
    background: #B9CAD5;
    color: #ffffff;
    padding: 0.1rem 0.4rem;
    -moz-border-radius: 5px;
         border-radius: 5px;
    margin-top: 0.3rem;
  }
  .form form td {
    padding: 2.5rem 0 2.5rem 2rem;
  }
  .form form td input.formText,
  .form form td textarea.formText {
    margin: -0.6rem 0;
  }
  .form form td label.error {
    display: block;
    margin-top: 1rem;
    color: #ff0000;
  }
  .form form input,
  .form form textarea {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    background: #F2F2F2;
  }
  .form form input {
    height: 3.5rem;
    width: 40rem;
  }
  .form form input#zip1, .form form input#zip2 {
    max-width: 8rem;
  }
  .form form input#zip1 {
    margin-right: 0.5rem;
  }
  .form form input#zip2 {
    margin-left: 0.5rem;
  }
  .form form #addr {
    width: 100%;
  }
  .form form textarea {
    width: 100%;
    height: 20rem;
  }
  .form form button#zipcode {
    -webkit-transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    transition: all 200ms ease;
    font-size: 1.2rem;
    background: #73828B;
    color: #ffffff;
    width: 16rem;
    -moz-border-radius: 3px;
         border-radius: 3px;
    padding: 0.5rem 0;
    margin-left: 2rem;
    cursor: pointer;
  }
  .form form button#zipcode:hover {
    background: #9eacb4;
  }
  .form .btn {
    -webkit-transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    transition: all 200ms ease;
    position: relative;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    display: block;
    margin: 4rem auto 8rem;
    background: #73828B;
    color: #ffffff;
    font-size: 1.8rem;
    width: 30rem;
    height: 6rem;
    cursor: pointer;
  }
  .form .btn:before {
    position: absolute;
    top: 45%;
    left: 20px;
    display: block;
    content: "";
    width: 0;
    height: 0;
    border: solid;
    border-width: 5px 0 4px 6px;
    border-color: transparent transparent transparent #ffffff;
  }
  .form .btn:hover {
    background: #9eacb4;
  }
  .form .btn_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 4rem auto 8rem;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .form .btn_list .btn {
    width: 30rem;
    margin: 0 3rem;
  }
  #finish {
    margin: 0 auto 9rem;
  }
  #finish p {
    text-align: center;
    line-height: 2;
  }
  #error {
    margin: auto;
    text-align: center;
  }
  #error h5 {
    font-size: 1.8rem;
    padding-bottom: 3rem;
  }
  #error li {
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .tt-main {
    background: url(../../imgs/contact/mv_sp.jpg) center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  footer {
    margin-top: 0 !important;
  }
  .contact {
    padding: 0 2rem;
  }
  .contact__box {
    margin-top: 4rem;
    background: #EFF3F5;
    padding: 3rem;
    text-align: center;
  }
  .contact__box h3 {
    font-size: 2rem;
    font-weight: 700;
    color: #73828B;
    padding-bottom: 0.5rem;
  }
  .contact__box span {
    font-size: 1.3rem;
    font-weight: 700;
    color: #73828B;
  }
  .contact__box .tel {
    font-size: 2.4rem;
    font-weight: 700;
    font-family: "Roboto Condensed", sans-serif;
    line-height: 1;
    padding: 0.7rem 0 0.3rem;
  }
  .contact__box .tel a {
    text-decoration: none;
    color: #73828B;
  }
  .contact__box .tel span {
    font-size: 3.2rem;
  }
  .form {
    margin: 4rem auto 0;
    padding: 0 2rem;
  }
  .form .tt-lv3 {
    font-size: 1.75rem;
    white-space: nowrap;
  }
  .form__txt {
    line-height: 2;
  }
  .form form {
    margin: 2.5rem auto 0;
  }
  .form form table {
    width: 100%;
  }
  .form form tr {
    border-top: 1px solid #dddddd;
  }
  .form form tr:last-child {
    border-bottom: 1px solid #dddddd;
  }
  .form form th {
    display: block;
    padding: 2rem 0 1rem;
  }
  .form form th .ttl {
    display: inline-block;
    vertical-align: middle;
    font-weight: 700;
  }
  .form form .req {
    float: right;
    display: block;
    font-size: 1.2rem;
    background: #B9CAD5;
    color: #ffffff;
    padding: 0.1rem 0.4rem;
    -moz-border-radius: 3px;
         border-radius: 3px;
    margin-top: 0.2rem;
  }
  .form form td {
    display: block;
    width: 100%;
    padding-bottom: 2rem;
  }
  .form form td label.error {
    display: block;
    margin-top: 1rem;
    color: #ff0000;
  }
  .form form input,
  .form form textarea {
    display: block;
    background: #F2F2F2;
    width: 100%;
  }
  .form form input {
    height: 3.5rem;
  }
  .form form input#zip1, .form form input#zip2 {
    max-width: 6rem;
    display: inline-block;
  }
  .form form input#zip1 {
    margin-right: 0.5rem;
  }
  .form form input#zip2 {
    margin-left: 0.5rem;
  }
  .form form button#zipcode {
    -webkit-transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    transition: all 200ms ease;
    font-size: 1.2rem;
    background: #73828B;
    color: #ffffff;
    width: 16rem;
    height: 3rem;
    -moz-border-radius: 5px;
         border-radius: 5px;
    margin-left: 0.5rem;
  }
  .form form button#zipcode:hover {
    background: #9eacb4;
  }
  .form form textarea {
    height: 20rem;
  }
  .form .btn {
    -webkit-transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    transition: all 200ms ease;
    position: relative;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    display: block;
    background: #73828B;
    color: #ffffff;
    margin: 3rem auto 9rem;
    font-size: 1.8rem;
    width: 30rem;
    height: 6rem;
  }
  .form .btn:hover {
    background: #9eacb4;
  }
  .form .btn:before {
    position: absolute;
    top: 45%;
    left: 20px;
    display: block;
    content: "";
    width: 0;
    height: 0;
    border: solid;
    border-width: 5px 0 4px 6px;
    border-color: transparent transparent transparent #ffffff;
  }
  .btn_list {
    margin: 3rem auto 6rem;
  }
  .btn_list .btn {
    margin: 2rem auto;
  }
  #finish {
    margin: 4rem auto;
    text-align: center;
  }
  #error {
    text-align: center;
  }
  #error h5 {
    font-size: 1.6rem;
    padding-bottom: 3rem;
  }
}
