@charset "UTF-8";
/*=======================================
お問い合わせ
=========================================*/
.p-contact {
  padding-top: 2.08333vw;
  padding-bottom: 15.625vw; }
  .p-contact__lead {
    margin-bottom: 6.09375vw;
    width: 66.97917vw;
    margin-left: auto;
    margin-right: auto; }
    .p-contact__lead .block1 {
      background: #E50012;
      color: #fff;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 3.125vw 4.32292vw 3.125vw 3.64583vw;
      border-radius: 3.125vw;
      margin-bottom: 6.97917vw; }
      .p-contact__lead .block1 .txt1 {
        width: 47.3043%; }
        .p-contact__lead .block1 .txt1 .title {
          font-size: clamp(25px, 1.45833vw, 36px);
          font-weight: 700;
          line-height: 1.5;
          margin-bottom: 0.98958vw; }
          @media screen and (max-width: 767px) {
            .p-contact__lead .block1 .txt1 .title {
              font-size: clamp(20px, 7.46667vw, 36px); } }
        .p-contact__lead .block1 .txt1 p {
          font-size: clamp(18px, 1.04167vw, 26px); }
          @media screen and (max-width: 767px) {
            .p-contact__lead .block1 .txt1 p {
              font-size: clamp(14px, 5.33333vw, 26px); } }
      .p-contact__lead .block1 .address {
        width: 45.2173%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border: 1px solid #F7F7F7;
        border-radius: 2.08333vw;
        text-align: center;
        padding: 2.08333vw 1.5625vw;
        font-size: clamp(14px, 0.83333vw, 21px); }
        @media screen and (max-width: 767px) {
          .p-contact__lead .block1 .address {
            font-size: clamp(11px, 4.26667vw, 21px); } }
    .p-contact__lead .block2 {
      text-align: center;
      margin-bottom: 3.125vw; }
      .p-contact__lead .block2 p {
        font-size: clamp(18px, 1.04167vw, 26px); }
        @media screen and (max-width: 767px) {
          .p-contact__lead .block2 p {
            font-size: clamp(14px, 5.33333vw, 26px); } }
  .p-contact__phone {
    background: #fff;
    border-radius: 4.16667vw 0 0 4.16667vw;
    padding-top: 3.64583vw;
    padding-bottom: 4.27083vw;
    margin-bottom: 6.51042vw; }
    .p-contact__phone.gray {
      background: transparent;
      padding-top: 0;
      padding-bottom: 0; }
      .p-contact__phone.gray .c-title1 {
        padding-top: 0; }
      .p-contact__phone.gray .block1 {
        background: #fff; }
    .p-contact__phone .c-title1 {
      margin-bottom: 1.77083vw; }
    .p-contact__phone .lead {
      text-align: center;
      margin-bottom: 3.125vw;
      font-size: clamp(18px, 1.04167vw, 26px); }
      @media screen and (max-width: 767px) {
        .p-contact__phone .lead {
          font-size: clamp(14px, 5.33333vw, 26px); } }
    .p-contact__phone .block1 {
      width: 33.33333vw;
      margin-left: auto;
      margin-right: auto;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border-radius: 2.08333vw;
      background: #F7F7F7;
      text-align: center;
      padding: 2.60417vw 1.04167vw 1.5625vw;
      position: relative; }
      .p-contact__phone .block1 .name {
        position: absolute;
        width: 20.83333vw;
        color: #fff;
        background: #E50012;
        border-radius: 2.08333vw;
        font-weight: 700;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        z-index: 1;
        top: -1.04167vw; }
        .p-contact__phone .block1 .name:after {
          display: block;
          content: "";
          position: absolute;
          border-top: 1.04167vw solid #E50012;
          border-left: 0.52083vw solid transparent;
          border-right: 0.52083vw solid transparent;
          left: 50%;
          margin-left: -0.52083vw;
          bottom: -0.78125vw; }
      .p-contact__phone .block1 .tel {
        margin-bottom: 0.26042vw; }
        .p-contact__phone .block1 .tel a {
          display: inline-block;
          background: url(../img/common/icon_freedial.svg) no-repeat left center;
          background-size: 2.08333vw 1.35417vw;
          padding-left: 2.5vw;
          color: #000;
          text-decoration: none;
          font-size: clamp(43px, 2.5vw, 62px);
          font-family: new-hero, "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
          line-height: 1.2;
          font-weight: 500; }
          @media screen and (max-width: 767px) {
            .p-contact__phone .block1 .tel a {
              font-size: clamp(34px, 12.8vw, 62px); } }
      .p-contact__phone .block1 .hour {
        font-size: clamp(14px, 0.83333vw, 21px);
        line-height: 1.5;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 767px) {
          .p-contact__phone .block1 .hour {
            font-size: clamp(11px, 4.26667vw, 21px); } }
  .p-contact__web-lead {
    margin-bottom: 4.6875vw; }
    .p-contact__web-lead .title {
      font-size: clamp(29px, 1.66667vw, 42px);
      font-weight: 700;
      margin-bottom: 3.64583vw;
      -webkit-text-decoration-line: underline;
              text-decoration-line: underline;
      -webkit-text-decoration-color: #E50012;
              text-decoration-color: #E50012;
      -webkit-text-decoration-style: wavy;
              text-decoration-style: wavy;
      text-decoration-thickness: 0.15625vw;
      text-underline-offset: 1.14583vw;
      text-decoration-skip-ink: none; }
      @media screen and (max-width: 767px) {
        .p-contact__web-lead .title {
          font-size: clamp(22px, 8.53333vw, 42px); } }
  .p-contact__web-form {
    background: #fff;
    -webkit-box-shadow: 0.52083vw 0.3125vw 0.52083vw rgba(0, 0, 0, 0.05);
            box-shadow: 0.52083vw 0.3125vw 0.52083vw rgba(0, 0, 0, 0.05);
    border-radius: 2.08333vw;
    padding: 2.5vw 2.08333vw 3.125vw; }
    .p-contact__web-form .h {
      margin-top: 3.85417vw;
      margin-bottom: 1.77083vw; }
    .p-contact__web-form table {
      width: 100%;
      margin-bottom: 2.08333vw; }
    .p-contact__web-form th,
    .p-contact__web-form td {
      padding-top: 1.04167vw;
      padding-bottom: 1.04167vw;
      border-top: 1px solid #ccc; }
    .p-contact__web-form tr:last-child th,
    .p-contact__web-form tr:last-child td {
      border-bottom: 1px solid #ccc; }
    .p-contact__web-form th {
      text-align: left;
      vertical-align: top;
      padding-top: 1.25vw;
      width: 200px;
      position: relative;
      color: #404040; }
      .p-contact__web-form th .required {
        position: absolute;
        right: 0;
        top: 1.71875vw;
        width: 1.66667vw;
        height: 1.66667vw;
        border-radius: 100%;
        background: #E50012;
        color: #fff;
        font-size: clamp(9px, 0.52083vw, 13px);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (max-width: 767px) {
          .p-contact__web-form th .required {
            font-size: clamp(7px, 2.66667vw, 13px); } }
    .p-contact__web-form td {
      width: calc(100% - 203);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding-left: 0.88542vw; }
    .p-contact__web-form input[type="text"],
    .p-contact__web-form input[type="email"],
    .p-contact__web-form select,
    .p-contact__web-form textarea {
      width: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border: 0.10417vw solid #ccc;
      padding: 0.72917vw 0.52083vw;
      font-size: clamp(18px, 1.04167vw, 26px);
      font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; }
      @media screen and (max-width: 767px) {
        .p-contact__web-form input[type="text"],
        .p-contact__web-form input[type="email"],
        .p-contact__web-form select,
        .p-contact__web-form textarea {
          font-size: clamp(14px, 5.33333vw, 26px); } }
    .p-contact__web-form input[type="radio"],
    .p-contact__web-form input[type="checkbox"] {
      width: 1.25vw;
      height: 1.25vw;
      vertical-align: middle;
      margin-top: 0;
      margin-left: 0;
      border: 0.10417vw solid #ccc; }
    .p-contact__web-form .privacy {
      text-align: center;
      margin-bottom: 2.08333vw;
      font-size: clamp(14px, 0.83333vw, 21px); }
      @media screen and (max-width: 767px) {
        .p-contact__web-form .privacy {
          font-size: clamp(11px, 4.26667vw, 21px); } }
    .p-contact__web-form .submit {
      text-align: center; }
      .p-contact__web-form .submit input[type="submit"] {
        cursor: pointer;
        background: #009140;
        color: #fff;
        width: 20.83333vw;
        border: 0;
        outline: 0;
        font-weight: 700;
        font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
        text-align: center;
        -webkit-box-shadow: 0.3125vw 0.3125vw 0.72917vw rgba(0, 0, 0, 0.15);
                box-shadow: 0.3125vw 0.3125vw 0.72917vw rgba(0, 0, 0, 0.15);
        border-radius: 3.125vw;
        padding: 0.78125vw;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: clamp(18px, 1.04167vw, 26px); }
        @media screen and (max-width: 767px) {
          .p-contact__web-form .submit input[type="submit"] {
            font-size: clamp(14px, 5.33333vw, 26px); } }

/*=======================================
送信完了
=========================================*/
.p-contact-thanks {
  padding-bottom: 13.22917vw; }

/* ----------------------------- スマホ（～767px） */
@media screen and (max-width: 767px) {
  .p-contact {
    padding-top: 0;
    padding-bottom: 48vw; }
    .p-contact__lead {
      margin-bottom: 16vw;
      width: auto;
      margin-left: 5.33333vw;
      margin-right: 5.33333vw; }
      .p-contact__lead .block1 {
        display: block;
        padding: 5.33333vw;
        border-radius: 2.66667vw;
        margin-bottom: 10.66667vw; }
        .p-contact__lead .block1 .txt1 {
          width: auto;
          margin-bottom: 5.33333vw; }
          .p-contact__lead .block1 .txt1 .title {
            font-size: clamp(13px, 4.8vw, 23px);
            margin-bottom: 3.2vw; }
          .p-contact__lead .block1 .txt1 p {
            font-size: clamp(10px, 3.73333vw, 18px); }
        .p-contact__lead .block1 .address {
          width: auto;
          border-radius: 2.66667vw;
          text-align: left;
          padding: 4vw;
          font-size: clamp(10px, 3.73333vw, 18px); }
      .p-contact__lead .block2 {
        text-align: left;
        margin-bottom: 8vw; }
        .p-contact__lead .block2 p {
          font-size: clamp(10px, 3.73333vw, 18px); }
      .p-contact__lead .bnr .c-bnr1 li {
        width: 100%;
        margin-right: 0; }
    .p-contact__phone {
      border-radius: 2.66667vw 0 0 2.66667vw;
      padding: 5.33333vw;
      padding-bottom: 10.66667vw;
      margin-bottom: 16vw; }
      .p-contact__phone .c-title1 {
        margin-bottom: 5.33333vw; }
      .p-contact__phone .lead {
        text-align: left;
        margin-bottom: 10.66667vw;
        font-size: clamp(10px, 3.73333vw, 18px); }
      .p-contact__phone .block1 {
        width: auto;
        border-radius: 2.66667vw;
        padding: 10.66667vw 4vw 5.33333vw; }
        .p-contact__phone .block1 .name {
          width: auto;
          border-radius: 5.33333vw;
          margin-left: 10.66667vw;
          margin-right: 10.66667vw;
          top: -2.66667vw; }
          .p-contact__phone .block1 .name:after {
            border-top-width: 2.66667vw;
            border-left-width: 2.66667vw;
            border-right-width: 2.66667vw;
            margin-left: -2.66667vw;
            bottom: -2.66667vw; }
        .p-contact__phone .block1 .tel {
          margin-bottom: 1.33333vw; }
          .p-contact__phone .block1 .tel a {
            background-size: 10.66667vw 6.93333vw;
            padding-left: 12.8vw;
            font-size: clamp(22px, 8.53333vw, 42px); }
        .p-contact__phone .block1 .hour {
          font-size: clamp(10px, 3.73333vw, 18px); }
    .p-contact__web-lead {
      margin-bottom: 10.66667vw; }
      .p-contact__web-lead .title {
        font-size: clamp(14px, 5.33333vw, 26px);
        margin-bottom: 8vw;
        text-decoration-thickness: 0.53333vw;
        text-underline-offset: 2.13333vw; }
    .p-contact__web-form {
      -webkit-box-shadow: 1.33333vw 1.33333vw 1.33333vw rgba(0, 0, 0, 0.05);
              box-shadow: 1.33333vw 1.33333vw 1.33333vw rgba(0, 0, 0, 0.05);
      border-radius: 2.66667vw;
      padding: 5.33333vw;
      padding-bottom: 8vw;
      position: relative;
      margin-left: -5.33333vw;
      margin-right: -5.33333vw; }
      .p-contact__web-form .h {
        margin-top: 10.66667vw;
        margin-bottom: 5.33333vw; }
      .p-contact__web-form table,
      .p-contact__web-form tbody,
      .p-contact__web-form tr,
      .p-contact__web-form th,
      .p-contact__web-form td {
        width: 100%;
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      .p-contact__web-form table {
        margin-bottom: 5.33333vw; }
      .p-contact__web-form th,
      .p-contact__web-form td {
        padding-top: 4vw;
        padding-bottom: 4vw; }
      .p-contact__web-form th {
        width: auto; }
        .p-contact__web-form th br {
          display: none; }
        .p-contact__web-form th .required {
          top: 4.26667vw;
          width: 8.53333vw;
          height: 8.53333vw;
          font-size: clamp(7px, 2.66667vw, 13px); }
      .p-contact__web-form td {
        width: 100%;
        padding-top: 0;
        padding-left: 0;
        padding-bottom: 5.33333vw;
        border-top: 0; }
      .p-contact__web-form input[type="text"],
      .p-contact__web-form input[type="email"],
      .p-contact__web-form select,
      .p-contact__web-form textarea {
        border: 0.53333vw solid #ccc;
        padding: 3.73333vw 2.66667vw;
        font-size: 16px; }
      .p-contact__web-form input[type="radio"],
      .p-contact__web-form input[type="checkbox"] {
        width: 6.4vw;
        height: 6.4vw;
        border: 0.53333vw solid #ccc; }
      .p-contact__web-form .privacy {
        margin-bottom: 10.66667vw;
        font-size: clamp(11px, 4.26667vw, 21px); }
      .p-contact__web-form .submit input[type="submit"] {
        width: 100%;
        -webkit-box-shadow: 0.8vw 0.8vw 1.86667vw rgba(0, 0, 0, 0.15);
                box-shadow: 0.8vw 0.8vw 1.86667vw rgba(0, 0, 0, 0.15);
        border-radius: 16vw;
        padding: 4vw;
        font-size: clamp(14px, 5.33333vw, 26px); }
  .p-contact-thanks {
    padding-bottom: 32vw; } }
