@charset "UTF-8";
/* フォームのスタイルをリセット */
form,
input,
textarea,
select,
button,
label {
  all: unset;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: inherit;
}

/* input要素のタイプ別追加リセット（ブラウザ特有のスタイル削除） */
input[type=text],
input[type=email],
input[type=password],
input[type=search],
input[type=url],
textarea {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* buttonに対するリセットと基本的なカーソル設定 */
button {
  cursor: pointer;
}

/* select要素のリセット */
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* box-sizing: border-box を全体に適用 */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

input:-webkit-autofill {
  box-shadow: 0 0 0px 1000px white inset !important;
  -webkit-box-shadow: 0 0 0px 1000px white inset !important;
  -webkit-text-fill-color: #000 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

.forSP {
  display: none;
}

@media screen and (max-width: 768px) {
  .forPC {
    display: none;
  }
  .forSP {
    display: block;
  }
}
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif;
}

@media screen and (min-width: 769px) {
  .kvBox {
    padding-top: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .kvBox {
    padding-top: 12rem;
  }
}
.kv {
  background-image: url("../img/kv.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .kv {
    background-image: url("../img/sp/kv.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    width: 100%;
    height: auto;
  }
}
.kv__container {
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  .kv__container {
    width: 124rem;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  .kv__container {
    width: 100%;
  }
}
.kv__title {
  margin: 0;
  font-weight: 600;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .kv__title {
    padding: 6rem 0;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .kv__title {
    padding: 11.8rem 0;
    font-size: 3.4rem;
    text-align: center;
  }
}
.formCont {
  width: min(1075px, 67.18vw);
  margin: auto;
  padding-top: 9rem;
}
@media screen and (max-width: 768px) {
  .formCont {
    width: 90vw;
  }
}
.formCont h2 {
  font-size: min(24px, 1.5vw);
  color: #000000;
}
@media screen and (max-width: 768px) {
  .formCont h2 {
    font-size: 5vw;
    line-height: 1.42;
    text-align: center;
    width: 100%;
  }
}
.formCont p.lead {
  font-size: min(16px, 1vw);
  line-height: 1.75;
  color: #484d53;
  padding-bottom: 6px;
  border-bottom: 1px solid #00a9e5;
}
.formCont p.lead a {
  color: #82c8e6;
  -webkit-transition: opacity 0.4s ease, color 0.4s ease, border 0.4s ease;
  transition: opacity 0.4s ease, color 0.4s ease, border 0.4s ease;
}
.formCont p.lead a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .formCont p.lead {
    font-size: 3.2vw;
    line-height: 1.67;
    text-align: center;
    width: 100%;
    padding-bottom: 5.8vw;
    border-bottom: 0.26vw solid #00a9e5;
  }
}
.formCont p.attention {
  color: #000000;
  font-size: min(16px, 1vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .formCont p.attention {
    font-size: 3.2vw;
  }
}
.formCont p.attention span {
  color: #e60012;
}
.formCont p.thanks {
  font-size: min(20px, 1.25vw);
  line-height: 2;
  margin: min(80px, 5vw) 0 auto;
}
@media screen and (max-width: 768px) {
  .formCont p.thanks {
    font-size: 3.2vw;
    line-height: 1.6;
    text-align: center;
  }
}
.formCont .attentionBox {
  margin: min(56px, 3.5vw) 0 min(100px, 6.25vw);
  background: #efefef;
  padding: min(36px, 2.25vw);
}
@media screen and (max-width: 768px) {
  .formCont .attentionBox {
    padding: 4.9vw 5.3vw;
    margin-bottom: 10vw;
  }
}
.formCont .attentionBox p {
  font-size: min(20px, 1.25vw);
  line-height: 1.7;
  color: #e60012;
  margin: 0 0 0 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  .formCont .attentionBox p {
    font-size: 3.2vw;
    line-height: 1.6;
  }
}
.formCont p.backToTop {
  margin: auto auto min(90px, 5.625vw);
}
@media screen and (max-width: 768px) {
  .formCont p.backToTop {
    margin: auto auto 6vw;
  }
}
.formCont p.backToTop a {
  position: relative;
  width: min(380px, 23.75vw);
  height: min(52px, 3.25vw);
  margin: auto;
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  color: #fff;
  background-color: #00a8e4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: min(26px, 1.625vw);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
  z-index: 0;
}
.formCont p.backToTop a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 100%;
  width: 100%;
  background-color: #2d87b9;
  z-index: 0;
  -webkit-transition: right 0.4s ease;
  transition: right 0.4s ease;
}
@media screen and (max-width: 768px) {
  .formCont p.backToTop a::before {
    background-color: #00a8e4;
    -webkit-transition: initial;
    transition: initial;
  }
}
.formCont p.backToTop a:hover::before {
  right: 0;
}
.formCont p.backToTop a::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: min(18px, 1.1vw);
  width: min(26.6px, 1.66vw);
  height: min(26.6px, 1.66vw);
  background: url("../img/arrow.png") no-repeat center/contain;
  z-index: 10;
  -webkit-transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, transform 0.3s ease;
  transition: background-image 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .formCont p.backToTop a::after {
    -webkit-transition: initial;
    transition: initial;
  }
}
.formCont p.backToTop a:hover::after {
  background-image: url("../img/arrow_on.png");
  -webkit-transform: translateY(-50%) scale(1.2);
          transform: translateY(-50%) scale(1.2);
}
@media screen and (max-width: 768px) {
  .formCont p.backToTop a:hover::after {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.formCont p.backToTop a span {
  position: relative;
  z-index: 20;
}
.contact_btn02:hover .formCont p.backToTop a span {
  color: #fff;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 768px) {
  .formCont p.backToTop a {
    width: 100%;
    height: 8.8vw;
    font-size: 4vw;
    border-radius: 4.4vw;
  }
  .formCont p.backToTop a::after {
    right: 4.5vw;
    width: 5.9vw;
    height: 5.9vw;
  }
}
@media screen and (max-width: 768px) {
  .formCont.confirm p.lead {
    padding-bottom: 3vw;
  }
}
@media screen and (max-width: 768px) {
  .formCont.send p.lead {
    padding-bottom: 3vw;
    border: none;
  }
}

.formBody {
  width: 100%;
  margin-top: min(54px, 3.3vw);
}
.formBody dl {
  width: 100%;
  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;
  margin-bottom: min(57px, 3.56vw);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .formBody dl {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.formBody dl dt {
  width: 19.1%;
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  color: #000000;
}
@media screen and (max-width: 768px) {
  .formBody dl dt {
    font-size: 3.4vw;
    width: 100%;
  }
}
.formBody dl dt span {
  font-size: min(16px, 1vw);
  color: #e60012;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .formBody dl dt span {
    font-size: 55%;
  }
}
.formBody dl dd {
  width: 80.9%;
}
@media screen and (max-width: 768px) {
  .formBody dl dd {
    width: 100%;
    margin: 0 0 0 0;
    margin-top: 2.4vw;
  }
}
.formBody dl.textArea {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.formBody dl.textArea dt {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .formBody dl.textArea dt {
    margin-bottom: 1vw;
  }
}
.formBody dl.textArea dd {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}
.formBody dl.textArea dd textarea {
  border: 1px solid #898989;
  width: 100%;
  height: min(300px, 18.75vw);
  margin: min(16px, 1vw) 0 0 0;
  padding: 0.5em;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .formBody dl.textArea dd textarea {
    border: 0.07vw solid #898989;
    height: 75.3vw;
  }
}
.formBody dl.textArea dd.answer {
  margin-top: min(16px, 1vw);
  border: 0.53px solid #898989;
  padding: min(25px, 1.5vw) min(32px, 2vw);
  font-size: min(18px, 1.125vw);
  font-weight: 400;
  line-height: 1.33;
}
@media screen and (max-width: 768px) {
  .formBody dl.textArea dd.answer {
    font-size: 3.4vw;
  }
}
.formBody.confirm dl dd {
  font-size: min(18px, 1.125vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.formBody.confirm dl dd label {
  border: 0.53px solid #898989;
  padding: min(12px, 0.75vw) min(19px, 11.8vw);
  width: 100%;
  display: block;
}
@media screen and (max-width: 768px) {
  .formBody.confirm dl dd label {
    padding: 2.6vw 4vw;
    font-size: 3.4vw;
  }
}
.formBody.confirm dl dd label.short {
  width: 24%;
  float: left;
}
@media screen and (max-width: 768px) {
  .formBody.confirm dl dd label.short {
    width: 40.5vw;
  }
}
.formBody.confirm dl dd label.pref {
  width: min(472px, 29.5vw);
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0 0 0 0;
}
@media screen and (max-width: 768px) {
  .formBody.confirm dl dd label.pref {
    width: 40.5vw;
    height: 12vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.formBody.confirm dl dd label.pref span.prefName {
  width: min(145px, 9vw);
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .formBody.confirm dl dd label.pref span.prefName {
    display: block;
    width: 100%;
    margin-top: -11vw;
  }
}
.formBody.confirm dl dd label.pref span.answer {
  border: 0.53px solid #898989;
  padding: min(12px, 0.75vw) min(19px, 11.8vw);
  font-weight: 400;
  display: block;
  width: min(324px, 20.2vw);
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .formBody.confirm dl dd label.pref span.answer {
    display: block;
    width: 40.5vw;
    padding: 2.7vw 4vw;
    margin-top: -2.2vw;
  }
}
.formBody.confirm dl dd.postalpref {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

label {
  position: relative;
}

label.checkFirst .formError {
  top: -1.8rem !important;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  label.checkFirst .formError {
    top: -1.2rem !important;
  }
}

input,
select {
  border: 0.5px solid #898989;
  padding: min(12px, 0.75vw) min(19px, 11.8vw);
  font-size: min(18px, 1.125vw);
  font-weight: 600;
  color: #000;
}
@media screen and (max-width: 768px) {
  input,
  select {
    border: 0.06vw solid #484d53;
    font-size: 3.4vw;
    padding: 2.6vw 4vw;
    font-weight: 400;
  }
}

input:valid,
select:valid {
  color: #000;
}

input.full {
  width: 100%;
}

input.mid {
  width: 30.2%;
}

input.short {
  width: 24%;
}
@media screen and (max-width: 768px) {
  input.short {
    width: 40.5vw;
  }
}

label.pref {
  width: min(472px, 29.5vw);
  float: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  label.pref {
    width: 40.5vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
label.pref span {
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  color: #000000;
  margin-right: min(63px, 3.9vw);
}
@media screen and (max-width: 768px) {
  label.pref span {
    font-size: 3.4vw;
    margin-top: -7vw;
  }
}
label.pref select {
  width: min(324px, 20.2vw);
}
@media screen and (max-width: 768px) {
  label.pref select {
    width: 40.5vw;
    padding: 3.5vw 4vw;
  }
}

.cehckboxBox {
  margin-top: min(93px, 5.8vw);
  border-bottom: 1px solid #00a9e5;
  margin-bottom: min(60px, 3.75vw);
}
@media screen and (max-width: 768px) {
  .cehckboxBox {
    padding-bottom: 3vw;
    margin-bottom: 6vw;
  }
}
.cehckboxBox p {
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  color: #000000;
  padding-bottom: min(15px, 0.93vw);
  border-bottom: 1px solid #00a9e5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  .cehckboxBox p {
    font-size: 3.4vw;
    width: 100%;
    line-height: 1.42;
    padding-bottom: 2.6vw;
    border-bottom: 0.13vw solid #00a9e5;
    margin-bottom: 5vw;
  }
}
.cehckboxBox p span {
  font-size: 50%;
  color: #e60012;
  vertical-align: top;
}
.cehckboxBox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(32px, 2vw);
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  color: #000000;
}
@media screen and (max-width: 768px) {
  .cehckboxBox label {
    font-size: 4vw;
    margin-bottom: 5vw;
  }
}
.cehckboxBox label.checked {
  background: url("../img/bg_checked.webp") no-repeat center left;
  background-size: min(22.1px, 1.38vw);
  padding-left: min(30px, 1.875vw);
}
@media screen and (max-width: 768px) {
  .cehckboxBox label.checked {
    background-size: 4.52vw;
    padding-left: 6vw;
  }
}

input[type=checkbox] {
  position: relative;
  width: min(18px, 1.1vw);
  height: min(18px, 1.1vw);
  margin-right: 0.6rem;
  padding: 0 0 0 0;
  border: 1px solid #000;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type=checkbox]:checked::before {
  content: "";
  width: min(22.1px, 1.38vw);
  height: min(22.1px, 1.38vw);
  position: absolute;
  bottom: 2px;
  left: -1px;
  background: url("../img/checked.png") no-repeat;
  background-size: min(22.1px, 1.38vw);
}
@media screen and (max-width: 768px) {
  input[type=checkbox]:checked::before {
    width: 4.4vw;
    height: 4.1vw;
    background: url("../img/checked.png") no-repeat;
    background-size: 4.4vw;
  }
}
@media screen and (max-width: 768px) {
  input[type=checkbox] {
    width: 3.6vw;
    height: 3.6vw;
  }
}

.btnBox {
  margin: auto;
  margin-top: min(78px, 4.8vw);
  margin-bottom: min(93px, 5.8vw);
  width: min(862px, 53.8vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(100px, 6.25vw);
}
@media screen and (max-width: 768px) {
  .btnBox {
    margin-top: 12.2vw;
    margin-bottom: 8vw;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.btnBox button {
  position: relative;
  width: min(380px, 23.75vw);
  height: min(52px, 3.25vw);
  margin: auto;
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  color: #fff;
  background-color: #00a8e4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: min(26px, 1.625vw);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  overflow: hidden;
  cursor: pointer;
  z-index: 0;
}
.btnBox button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 100%;
  width: 100%;
  background-color: #2d87b9;
  z-index: 0;
  -webkit-transition: right 0.4s ease;
  transition: right 0.4s ease;
}
@media screen and (max-width: 768px) {
  .btnBox button::before {
    background-color: #00a8e4;
    -webkit-transition: initial;
    transition: initial;
  }
}
.btnBox button:hover::before {
  right: 0;
}
.btnBox button::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: min(18px, 1.1vw);
  width: min(26.6px, 1.66vw);
  height: min(26.6px, 1.66vw);
  background: url("../img/arrow.png") center/contain no-repeat;
  z-index: 10;
  -webkit-transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-image 0.3s ease, transform 0.3s ease;
  transition: background-image 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .btnBox button::after {
    -webkit-transition: initial;
    transition: initial;
  }
}
.btnBox button:hover::after {
  background-image: url("../img/arrow_on.png");
  -webkit-transform: translateY(-50%) scale(1.2);
          transform: translateY(-50%) scale(1.2);
}
@media screen and (max-width: 768px) {
  .btnBox button:hover::after {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.btnBox button span {
  position: relative;
  z-index: 20;
}
.contact_btn02:hover .btnBox button span {
  color: #fff;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 768px) {
  .btnBox button {
    width: 100%;
    height: 8.8vw;
    font-size: 4vw;
    border-radius: 4.4vw;
  }
  .btnBox button::after {
    right: 4.5vw;
    width: 5.9vw;
    height: 5.9vw;
  }
}
.btnBox input.btnForm {
  width: min(380px, 23.75vw);
  height: min(52px, 3.25vw);
  margin: auto;
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  color: #fff;
  background: url("../img/arrow.png") no-repeat center right min(18px, 1.1vw) #9fa0a0;
  background-size: min(26.6px, 1.66vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: min(26px, 1.625vw);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  text-align: center;
  cursor: pointer;
}
.btnBox input.btnForm:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .btnBox input.btnForm {
    width: 100%;
    height: 8.8vw;
    font-size: 4vw;
    background: url("../img/arrow.png") no-repeat center right 4.5vw #9fa0a0;
    background-size: 5.9vw;
    border-radius: 4.4vw;
    border: none;
    padding: 0 0;
  }
}

.viaTelBox {
  width: min(950px, 59.3vw);
  margin: auto auto min(200px, 10.5vw);
}
@media screen and (max-width: 768px) {
  .viaTelBox {
    width: 90vw;
    margin: 0 auto 17.5rem;
  }
}
.viaTelBox h3 {
  font-size: min(26px, 1.625vw);
  font-weight: 600;
  color: #00a8e4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .viaTelBox h3 {
    font-size: 4vw;
  }
}
.viaTelBox .viaTel {
  width: 100%;
  border: 2px solid #00a8e4;
  border-radius: min(10px, 0.625vw);
  padding: min(24px, 1.5vw) 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .viaTelBox .viaTel {
    border-radius: 2vw;
    padding: 6.6vw 0 8.8vw;
  }
}
.viaTelBox .viaTel p.lead {
  font-size: min(20px, 1.25vw);
  font-weight: 600;
  line-height: 1.7;
  color: #000;
  border: none;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .viaTelBox .viaTel p.lead {
    font-size: 4.2vw;
    line-height: 1.6;
    margin-bottom: 4vw;
  }
}
.viaTelBox .viaTel p.contact_text {
  margin: 0;
  font-size: min(12px, 0.75vw);
  color: #000;
  padding-top: 1rem;
}
@media screen and (max-width: 768px) {
  .viaTelBox .viaTel p.contact_text {
    font-size: 3.2vw;
    line-height: 1.45;
    margin-top: 2.5vw;
  }
}
.viaTelBox .viaTel p.tel {
  margin: 0;
}
.viaTelBox .viaTel p.tel a {
  font-size: min(35px, 2.18vw);
  font-weight: 600;
  color: #000;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .viaTelBox .viaTel p.tel a {
    font-size: 7.4vw;
  }
}
.viaTelBox .viaTel p.tel span {
  font-size: min(16px, 1vw);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .viaTelBox .viaTel p.tel span {
    display: block;
    font-size: 3.2vw;
    margin-top: -0.5vw;
  }
}
.viaTelBox .viaTel p.time {
  margin: 0;
  font-size: min(12px, 0.75vw);
  color: #000;
}
@media screen and (max-width: 768px) {
  .viaTelBox .viaTel p.time {
    font-size: 3.2vw;
    line-height: 1.45;
    margin-top: 2.5vw;
  }
}

.formError {
  position: absolute;
  left: auto !important;
  right: 0 !important;
}

.formError .formErrorContent {
  width: 100%;
  background: none;
  position: relative;
  color: #e60012;
  min-width: 120px;
  font-size: min(17px, 1.06vw);
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 4px 10px 4px 10px;
}
@media screen and (max-width: 768px) {
  .formError .formErrorContent {
    font-size: 3.2vw;
  }
}

.formError .formErrorArrow {
  display: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-image: url("../img/bg_select.webp");
  background-repeat: no-repeat;
  background-size: min(16px, 1vw);
  background-position: right min(16px, 1vw) center;
}
@media screen and (max-width: 768px) {
  select {
    background-image: url("../img/bg_select.webp");
    background-repeat: no-repeat;
    background-size: 3vw;
    background-position: right 3vw center;
  }
}
select:focus {
  background: none;
}

.formError {
  pointer-events: none;
}