﻿@charset 'utf-8';

/* 共通 */
main.confirm .footer {
    overflow: hidden;
    margin: 3rem -1.5% 0;
}
main.confirm .footer > div {
  float: left;
  margin: 0 1.5%;
  width: 47%;
}
.contact .btn-default {
  text-align: center;
  max-width: 640px;
  background-color: #bfbfbf;
  color: #fff;
  width: 100%;
  margin: 0 auto;
  padding: 1rem;
  font-size: 2rem;
  border: none;
  border-radius: 6px;
}
.contact .btn-primary {
  text-align: center;
  max-width: 640px;
  background-color: #0094d6;
  color: #fff;
  width: 100%;
  margin: 0 auto;
  padding: 1rem;
  font-size: 2rem;
  border: none;
  border-radius: 6px;
}
.contact .errorArea {
  background-color: #ffdcec;
  padding: 1rem;
  text-align: center;
  color: #c00;
  font-size: 1.6rem;
}
.contact .error {
  color: #c00;
  margin: .25rem 0 0;
  font-size: 1.4rem;
}

/* 入力ページ： お電話でのお問い合わせ */
.index #tel .tel-inner {
  text-align: left;
  max-width: 1028px;
  margin: 0 auto;
  padding: 2rem 2.5% 0;
}
  .index #tel h2 {
    text-align: left;
    font-size: 2rem;
  }
    .index #tel h2 i {
      margin-right: .5rem;
      font-size: 2.1rem;
    }
  .index #tel-wrap {
    text-align: center;
  }
    .index #tel .tel-wrap-inner {
      border: 6px solid #c5cacc;
      margin: 8rem auto 0;
      padding: 1rem;
      max-width: 685px;
      width: 100%;
    }
      .index #tel .tel-wrap-inner .tel {
        padding: 0 0 .25rem;
        /*font-family: '新ゴ M', 'Shin Go Medium';*/
        font-weight: bold;
        font-size: 4rem;
        line-height: 1;
      }
        .index #tel .tel-wrap-inner .tel i {
          font-size: 3.2rem;
          margin-right: .5rem;
        }
      .index #tel .tel-wrap-inner .time {
        text-align: center;
        font-size: 2.2rem;
      }

/* 入力ページ： お問い合わせフォーム */
.index #form .form-inner {
  text-align: left;
  max-width: 1028px;
  margin: 0 auto;
  padding: 16rem 0 0;
}
  .index #form h2 {
    text-align: left;
    font-size: 2rem;
  }
    .index #form h2 i {
      margin-right: .5rem;
      font-size: 2.1rem;
    }
  .index #form .header {
    margin: 0 2.5%;
  }
    .index #form .header p {
      padding: 1rem 0 0;
      font-size: 1.6rem;
    }

  /* 入力ページ： フォーム枠 */
  .index #form .content {
    padding: 4rem 5% 8rem;
  }
  .index #form .content input,
  .index #form .content textarea {
    font-size: 1.8rem;
    padding: .6rem 1rem;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
  }
  .index #form .table-form {
    width: 100%;;
  }
    .index #form .table-form th,
    .index #form .table-form td {
      display: block;
    }
    .index #form .table-form th {
      font-size: 1.8rem;
      padding: 1rem 0 .5rem;
    }
      .index #form .table-form .any,
      .index #form .table-form .must {
        font-size: 1.1rem;
        line-height: 1;
        margin: 0 0 0 .5rem;
        padding: 0 .4rem .2rem;
        color: #fff;
        border-radius: 3px;
      }
      .index #form .table-form .any {
        background-color: #08c;
      }
      .index #form .table-form .must {
        background-color: #c00;
      }
      .index #form .table-form .sub {
        font-size: 1.2rem;
        line-height: 1;
        color: #777;
        margin: 0 0 0 .5rem;
      }
    .index #form .table-form td {
      padding: 0 0 1rem;
    }
  .index #form .footer {
    text-align: center;
    margin: 3rem 0 0;
    padding: 3rem 5% 0;
    border-top: 1px solid #d5d5d5;
  }
    .index #form .footer small {
      display: block;
      text-align: left;
      font-size: 1.6rem;
    }
    .index #form .footer .btn-wrap {
      padding-top: 3rem;
    }
    .index #form .footer a:link,
    .index #form .footer a:visited,
    .index #form .footer a:hover,
    .index #form .footer a:active {
      text-decoration: underline;
    }

  /* 確認ページ： フォーム枠 */
  .confirm #form .form-inner {
    max-width: 1024px;
    margin: 0 auto;
  }
  .confirm #form h2 {
    text-align: left;
    font-size: 2rem;
  }
    .confirm #form h2 i {
      margin-right: .5rem;
      font-size: 2.1rem;
    }
  .confirm #form .header {
    text-align: left;
    margin: 0 5%;
    padding: 0 0 4rem;
    border-bottom: 1px solid #d5d5d5;
  }
    .confirm #form .header p {
      padding: 1rem 0 0;
      font-size: 1.6rem;
    }
  .confirm #form .content {
    margin: 0;
    padding: 0 5% 4rem;
  }
  .confirm #form .content input,
  .confirm #form .content textarea {
    font-size: 1.8rem;
    padding: .6rem 1rem;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
  }
  .confirm #form .table-form {
    width: 100%;
  }
    .confirm #form .table-form th,
    .confirm #form .table-form td {
      display: block;
      text-align: left;
      font-size: 1.8rem;
    }
    .confirm #form .table-form th {
      padding: 1rem 2rem .5rem;
      border-top: 1px dotted #ccc;
    }
    .confirm #form .table-form tr:nth-of-type(1) th {
      border-top: none;
    }
    .confirm #form .table-form td {
      padding: 0 2rem 1rem;
    }
      .confirm #form .table-form .any,
      .confirm #form .table-form .must {
        font-size: 1.1rem;
        line-height: 1;
        margin: 0 0 0 .5rem;
        padding: 0 .4rem .2rem;
        color: #fff;
        border-radius: 3px;
      }
      .confirm #form .table-form .any {
        background-color: #08c;
      }
      .confirm #form .table-form .must {
        background-color: #c00;
      }
      .confirm #form .table-form .sub {
        font-size: 1.2rem;
        line-height: 1;
        color: #777;
        margin: 0 0 0 .5rem;
      }
  .confirm #form .footer {
    text-align: center;
    margin: 0;
    padding: 3rem 5% 0;
    border-top: 1px solid #d5d5d5;
  }
    .confirm #form .footer small {
      display: block;
      text-align: left;
      font-size: 1.6rem;
    }
    .confirm #form .footer .btn-wrap {
      padding-top: 3rem;
    }
    .confirm #form .footer a:link,
    .confirm #form .footer a:visited,
    .confirm #form .footer a:hover,
    .confirm #form .footer a:active {
      text-decoration: underline;
    }

  /* エラーページ */
  .error_page #form .form-inner {
    max-width: 1024px;
    margin: 0 auto;
  }
  .error_page #form h2 {
    text-align: center;
    font-size: 2rem;
    padding: 2rem 0 0;
  }
    .error_page #form h2 i {
      margin-right: .5rem;
      font-size: 2.1rem;
    }
  .error_page #form .header {
    text-align: left;
    margin: 0 5%;
    padding: 0 0 4rem;
    border-bottom: 1px solid #d5d5d5;
  }
    .error_page #form .header p {
      padding: 1rem 0 0;
      font-size: 1.6rem;
    }
  .error_page #form .content {
    margin: 0;
    padding: 0 5% 4rem;
  }
  .error_page #form .footer {
    text-align: center;
    margin: 0;
    padding: 3rem 5% 0;
    border-top: 1px solid #d5d5d5;
  }
    .error_page #form .footer .btn-wrap {
      padding-top: 3rem;
    }
    .error_page .list-circle li {
      text-align: left;
      margin: .5rem 0 0;
      padding: 0 0 0 1rem;
      background: url('../images/common/ico-circle.svg') left 1.1rem no-repeat;
      -webkit-background-size: 5px 5px;
      background-size: 5px 5px;
      font-size: 1.6rem;
    }
    .error_page.contact .btn-default {
      display: block;
    }
    .error_page #form .footer {
      margin: 0 5%;
      padding: 3rem 0 6rem;
    }

  /* 完了ページ */
  .finish #form .form-inner {
    max-width: 1024px;
    margin: 0 auto;
  }
  .finish #form .header {
    text-align: left;
    margin: 0 5%;
    padding: 0 0 4rem;
    border-bottom: 1px solid #d5d5d5;
  }
    .finish #form .header h2 {
      text-align: center;
      font-size: 2rem;
      padding: 2rem 0 0;
    }
    .finish #form .header h2 i {
      margin-right: .5rem;
      font-size: 2.1rem;
    }
    .finish #form .header p {
      padding: 1rem 0 0;
      font-size: 1.6rem;
    }
  .finish #form .content {
    text-align: left;
    margin: 0;
    padding: 0 5% 4rem;
  }
    .finish #form .content p {
      padding: 3rem 2.5% 0;
      font-size: 1.6rem;
    }
    .finish #form .content li {
      padding: 0 2.5%;
      font-size: 1.6rem;
    }
  .finish #form .footer {
    text-align: center;
    margin: 0;
    padding: 3rem 5% 0;
    border-top: 1px solid #d5d5d5;
  }
    .finish #form .footer .btn-wrap {
      padding-top: 3rem;
    }
    .finish.contact .btn-default {
      display: block;
    }
    .finish #form .footer {
      margin: 0 5%;
      padding: 3rem 0 6rem;
    }

@media screen and (min-width: 721px) {
  .confirm #form .footer .btn:hover {
    cursor: pointer;
  }
}

@media screen and (max-width: 720px) {
  .index #tel .tel-wrap-inner {
    text-align: center;
    white-space: nowrap;
    border: 4px solid #c5cacc;
    padding: .9rem;
  }
    .index #tel .tel-wrap-inner .tel {
      display: block;
      font-size: 4.4rem;
      line-height: 1;
    }
    .index #tel .tel-wrap-inner .time {
      display: block;
      text-align: center;
      font-size: 3rem;
    }
  .index #tel .tel-wrap-inner {
    border: 5px solid #c5cacc;
    margin: 6rem auto 0;
    padding: 1rem;
    max-width: 685px;
    width: 100%;
  }
  .index #form .form-inner {
    text-align: left;
    max-width: 1028px;
    margin: 0 auto;
    padding: 12rem 0 0;
  }
  .index #tel h2 {
    text-align: left;
    font-size: 2.6rem;
  }
  .index #form h2 {
    text-align: left;
    font-size: 2.6rem;
  }
  .confirm #form .header p {
    padding: 1rem 0 0;
    font-size: 2.2rem;
  }
    .confirm #form .table-form th,
    .confirm #form .table-form td {
      display: block;
      text-align: left;
      font-size: 2.2rem;
    }

  /* エラーページ */
  .error_page #form h2 {
    text-align: center;
    font-size: 2.6rem;
    padding: 2rem 0 1rem;
  }
    .error_page #form .header p {
      padding: 1rem 0 0;
      font-size: 2.2rem;
    }
    .error_page .list-circle li {
      text-align: left;
      margin: .5rem 0 0;
      padding: 0 0 0 1rem;
      background: url('../images/common/ico-circle.svg') left 1.1rem no-repeat;
      -webkit-background-size: 5px 5px;
      background-size: 5px 5px;
      font-size: 2.2rem;
    }

  /* 完了ページ */
  .finish #form .header h2 {
    text-align: center;
    font-size: 2.6rem;
    padding: 2rem 0 0;
  }
  .finish #form .content p {
    padding: 3rem 2.5% 0;
    font-size: 2.2rem;
  }
  .finish #form .content li {
    padding: 0 2.5%;
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 640px) {
  .index #form .footer {
    text-align: center;
    margin: 3rem 0 0;
    padding: 3rem 0 0;
    border-top: 1px solid #d5d5d5;
  }
    .index #form .footer small {
      display: block;
      text-align: left;
      font-size: 1.6rem;
    }
    .index #form .footer .btn-wrap {
      padding-top: 3rem;
    }
  .index #tel .tel-wrap-inner {
    text-align: center;
    white-space: nowrap;
    border: 4px solid #c5cacc;
    padding: .9rem;
  }
    .index #tel .tel-wrap-inner .tel {
      display: block;
      font-size: 3.74rem;
      line-height: 1;
    }
    .index #tel .tel-wrap-inner .time {
      display: block;
      text-align: center;
      font-size: 2.55rem;
    }
  .index #tel .tel-wrap-inner {
    border: 4px solid #c5cacc;
    margin: 4rem auto 0;
    padding: 1rem;
    max-width: 685px;
    width: 100%;
  }
  .index #form .form-inner {
    text-align: left;
    max-width: 1028px;
    margin: 0 auto;
    padding: 8rem 0 0;
  }
  .index #tel h2 {
    text-align: left;
    font-size: 2.2rem;
  }
  .index #form h2 {
    text-align: left;
    font-size: 2.2rem;
  }
  .index #tel .tel-inner {
    text-align: left;
    max-width: 1028px;
    margin: 0 auto;
    padding: 2rem 5% 0;
  }
  .index #form .header {
    margin: 0 5%;
  }
  .confirm #form .header p {
    padding: 1rem 0 0;
    font-size: 2rem;
  }
    .confirm #form .table-form th,
    .confirm #form .table-form td {
      display: block;
      text-align: left;
      font-size: 2rem;
    }
  .confirm #form .footer {
    text-align: center;
    margin: 0;
    padding: 3rem 0 0;
    border-top: 1px solid #d5d5d5;
  }
  .contact.confirm .btn-default,
  .contact.confirm .btn-primary {
    padding: .75rem 1rem;
    font-size: 1.8rem;
  }

  /* エラーページ */
  .error_page #form h2 {
    text-align: center;
    font-size: 2.2rem;
    padding: 2rem 0 1rem;
  }
    .error_page #form .header p {
      padding: 1rem 0 0;
      font-size: 1.8rem;
    }
    .error_page .list-circle li {
      text-align: left;
      margin: .5rem 0 0;
      padding: 0 0 0 1rem;
      background: url('../images/common/ico-circle.svg') left 1.1rem no-repeat;
      -webkit-background-size: 5px 5px;
      background-size: 5px 5px;
      font-size: 1.8rem;
    }

  /* 完了ページ */
  .finish #form .header h2 {
    text-align: center;
    font-size: 2.2rem;
    padding: 2rem 0 0;
  }
  .finish #form .content p {
    padding: 3rem 2.5% 0;
    font-size: 1.8rem;
  }
  .finish #form .content li {
    padding: 0 2.5%;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 540px) {
  .index #tel .tel-wrap-inner {
    text-align: center;
    white-space: nowrap;
    border: 4px solid #c5cacc;
    padding: .9rem;
  }
    .index #tel .tel-wrap-inner .tel {
      display: block;
      font-size: 2.68rem;
      line-height: 1;
    }
    .index #tel .tel-wrap-inner .time {
      display: block;
      text-align: center;
      font-size: 1.83rem;
    }
  .index #tel .tel-wrap-inner {
    border: 4px solid #c5cacc;
    margin: 2rem auto 0;
    padding: 1rem;
    max-width: 685px;
    width: 100%;
  }
  .index #form .form-inner {
    text-align: left;
    max-width: 1028px;
    margin: 0 auto;
    padding: 4rem 0 0;
  }
  .index #tel h2 {
    text-align: left;
    font-size: 2rem;
  }
  .index #form h2 {
    text-align: left;
    font-size: 2rem;
  }
  .confirm #form .header p {
    padding: 1rem 0 0;
    font-size: 1.8rem;
  }
    .confirm #form .table-form th,
    .confirm #form .table-form td {
      display: block;
      text-align: left;
      font-size: 1.8rem;
    }

  /* エラーページ */
  .error_page #form h2 {
    text-align: center;
    font-size: 2rem;
    padding: 2rem 0 1rem;
  }
    .error_page #form .header p {
      padding: 1rem 0 0;
      font-size: 1.8rem;
    }
    .error_page .list-circle li {
      text-align: left;
      margin: .5rem 0 0;
      padding: 0 0 0 1rem;
      background: url('../images/common/ico-circle.svg') left 1.1rem no-repeat;
      -webkit-background-size: 5px 5px;
      background-size: 5px 5px;
      font-size: 1.8rem;
    }

  /* 完了ページ */
  .finish #form .header h2 {
    text-align: center;
    font-size: 2rem;
    padding: 2rem 0 0;
  }
  .finish #form .content p {
    padding: 3rem 2.5% 0;
    font-size: 1.8rem;
  }
  .finish #form .content li {
    padding: 0 2.5%;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 460px) {
  .index #tel .tel-wrap-inner {
    text-align: center;
    white-space: nowrap;
    border: 4px solid #c5cacc;
    padding: .9rem;
  }
    .index #tel .tel-wrap-inner .tel {
      display: block;
      font-size: 2.68rem;
      line-height: 1;
    }
    .index #tel .tel-wrap-inner .time {
      display: block;
      text-align: center;
      font-size: 1.83rem;
    }
  .confirm #form .header p {
    padding: 1rem 0 0;
    font-size: 1.6rem;
  }
    .confirm #form .table-form th,
    .confirm #form .table-form td {
      display: block;
      text-align: left;
      font-size: 1.6rem;
    }

  /* エラーページ */
  .error_page #form h2 {
    text-align: center;
    font-size: 1.8rem;
    padding: 2rem 0 1rem;
  }
    .error_page #form .header p {
      padding: 1rem 0 0;
      font-size: 1.6rem;
    }
    .error_page .list-circle li {
      text-align: left;
      margin: .5rem 0 0;
      padding: 0 0 0 1rem;
      background: url('../images/common/ico-circle.svg') left 1.1rem no-repeat;
      -webkit-background-size: 5px 5px;
      background-size: 5px 5px;
      font-size: 1.6rem;
    }

  /* 完了ページ */
  .finish #form .header h2 {
    text-align: center;
    font-size: 1.8rem;
    padding: 2rem 0 0;
  }
  .finish #form .content p {
    padding: 3rem 2.5% 0;
    font-size: 1.6rem;
  }
  .finish #form .content li {
    padding: 0 2.5%;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 400px) {
  .index #tel .tel-wrap-inner {
    text-align: center;
    white-space: nowrap;
    border: 4px solid #c5cacc;
    padding: .9rem;
  }
    .index #tel .tel-wrap-inner .tel {
      display: block;
      font-size: 2.33rem;
      line-height: 1;
    }
    .index #tel .tel-wrap-inner .time {
      display: block;
      text-align: center;
      font-size: 1.59rem;
    }
  .index #tel h2 {
    text-align: left;
    font-size: 1.8rem;
  }
  .index #form h2 {
    text-align: left;
    font-size: 1.8rem;
  }
  .index #form .header p {
    padding: 1rem 0 0;
    font-size: 1.4rem;
  }
}