@charset "UTF-8";
/*

 新潟中央観光バスに関するお問い合わせ
----------------------------------------------- */
/*

 お問い合わせ
----------------------------------------------- */
/* お電話によるお問い合わせ */
@media (width > 768px) {
  .contact-tel {
    padding-inline: 8.0409356725vw;
  }
}
@media (width <= 768px) {
  .contact-tel {
    padding-inline: 5.3191489362vw;
  }
}
@media (width > 768px) {
  .contact-tel {
    padding-top: 4.3859649123vw;
  }
}
@media (width <= 768px) {
  .contact-tel {
    padding-top: 10.6382978723vw;
    text-align: center;
  }
}
@media (width > 768px) {
  .contact-tel dt {
    font-size: clamp(12px, 1.3157894737vw, 20px);
  }
}
@media (width <= 768px) {
  .contact-tel dt {
    font-size: min(4.2553191489vw, 20px);
  }
}
@media (width > 768px) {
  .contact-tel dd {
    font-size: clamp(12px, 2.7777777778vw, 46px);
  }
}
@media (width <= 768px) {
  .contact-tel dd {
    font-size: min(9.0425531915vw, 38px);
  }
}
.contact-tel a {
  font-weight: bold;
  text-decoration: none;
}

/* お問い合わせフォーム */
@media (width > 768px) {
  .contact-form {
    padding-inline: 8.0409356725vw;
  }
}
@media (width <= 768px) {
  .contact-form {
    padding-inline: 5.3191489362vw;
  }
}
@media (width > 768px) {
  .contact-form {
    padding-top: 4.3859649123vw;
  }
}
@media (width <= 768px) {
  .contact-form {
    padding-top: 10.6382978723vw;
  }
}
@media (width > 768px) {
  .contact-form .message {
    margin-bottom: 3.6549707602vw;
  }
}
@media (width <= 768px) {
  .contact-form .message {
    margin-bottom: 5.3191489362vw;
  }
}
.contact-form dl {
  display: grid;
}
@media (width > 768px) {
  .contact-form dl {
    grid-template-columns: 16.081871345vw 1fr;
    gap: 1.8274853801vw 0;
  }
}
.contact-form dt {
  font-weight: 500;
}
@media (width > 768px) {
  .contact-form dt {
    padding-top: 0.8771929825vw;
  }
}
@media (width <= 768px) {
  .contact-form dt {
    margin-block: 6.6489361702vw 2.1276595745vw;
  }
}
.contact-form a {
  text-decoration: underline;
}
.contact-form a:hover {
  text-decoration: none;
}
.contact-form .required {
  display: inline-block;
  margin-left: 0.8em;
  color: var(--color-red);
  font-size: 85%;
}
.contact-form .name {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.contact-form .name label {
  display: grid;
  align-items: center;
  grid-template-columns: 2.6em 1fr;
}
@media (width > 768px) {
  .contact-form .name {
    gap: 1.4619883041vw;
  }
}
@media (width <= 768px) {
  .contact-form .name {
    gap: 3.9893617021vw;
  }
}
.contact-form input[type=text],
.contact-form input[type=number],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form textarea {
  appearance: none;
  border: 1px solid #707070;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  padding: 0.4em 0.6em;
}
@media (width <= 768px) {
  .contact-form input[type=text],
  .contact-form input[type=number],
  .contact-form input[type=email],
  .contact-form input[type=tel],
  .contact-form textarea {
    height: 11.9680851064vw;
  }
}
@media (width > 768px) {
  .contact-form textarea {
    height: 10.9649122807vw;
  }
}
@media (width <= 768px) {
  .contact-form textarea {
    height: 26.5957446809vw;
  }
}
.contact-form select {
  border: 1px solid #707070;
  border-radius: 0;
  box-shadow: 0;
  padding: 0.4em 0.7em;
}
@media (width <= 768px) {
  .contact-form select {
    height: 11.9680851064vw;
  }
}
.contact-form input[type=number]::-webkit-outer-spin-button,
.contact-form input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.contact-form .post input {
  width: 9em;
}
.contact-form .privacy > .label {
  position: relative;
  padding-left: 1.2em;
}
.contact-form .privacy > .label > span {
  position: absolute;
  left: 0;
}
.contact-form .privacy input + a {
  margin-left: 0.6em;
}
.contact-form .privacy small {
  display: block;
  margin-top: 1em;
}
@media (width > 768px) {
  .contact-form .privacy {
    margin-left: 16.081871345vw;
    margin-top: 3.6549707602vw;
  }
}
@media (width <= 768px) {
  .contact-form .privacy {
    margin-top: 7.9787234043vw;
  }
}
@media (width > 768px) {
  .contact-form .buttons {
    margin-left: 16.081871345vw;
  }
}
@media (width <= 768px) {
  .contact-form .buttons {
    text-align: center;
  }
}

/* ボタン */
@media (width > 768px) {
  .buttons {
    margin-top: 4.3859649123vw;
  }
}
@media (width <= 768px) {
  .buttons {
    margin-top: 10.6382978723vw;
  }
}
.buttons .btn {
  background: currentColor;
  border: 2px solid currentColor;
  border-radius: 9999px;
  text-align: center;
  display: inline-flex;
  align-items: center;
}
.buttons .btn::before, .buttons .btn::after {
  font-family: "Font Awesome 7 Free";
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  text-rendering: auto;
  flex-shrink: 0;
}
.buttons .btn {
  text-decoration: none;
}
.buttons .btn::after {
  display: flex;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  content: "\f105";
  border: 1px solid currentColor;
  border-radius: 50%;
  aspect-ratio: 1;
  background: #fff;
}
@media (width > 768px) {
  .buttons .btn::after {
    width: 1.7543859649vw;
    margin-left: 0.9502923977vw;
    font-size: clamp(12px, 0.730994152vw, 20px);
    transform: translateY(0.0730994152vw);
  }
}
@media (width <= 768px) {
  .buttons .btn::after {
    width: 5.3191489362vw;
    margin-left: 2.6595744681vw;
    font-size: min(2.1276595745vw, 20px);
    transform: translateY(0.1329787234vw);
  }
}
.buttons .btn:hover img {
  opacity: 1;
}
.buttons .btn {
  color: var(--color-blue);
  position: relative;
  transition: 0.2s;
}
.buttons .btn::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: currentColor;
  scale: 1.33;
  transform-origin: right top;
}
@media (width > 768px) {
  .buttons .btn::after {
    right: 1.4619883041vw;
  }
}
@media (width <= 768px) {
  .buttons .btn::after {
    right: 3.9893617021vw;
  }
}
.buttons .btn > input, .buttons .btn > a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  appearance: none;
  background: transparent;
  border: none;
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: 0.2s;
}
@media (width > 768px) {
  .buttons .btn > input, .buttons .btn > a {
    width: 27.7777777778vw;
    height: 4.7514619883vw;
    font-size: clamp(12px, 1.3157894737vw, 20px);
  }
}
@media (width <= 768px) {
  .buttons .btn > input, .buttons .btn > a {
    width: 79.7872340426vw;
    height: 13.2978723404vw;
    font-size: min(4.2553191489vw, 20px);
  }
}
.buttons .btn > span {
  position: absolute;
  left: 50%;
  translate: -50%;
  margin: 0;
}
.buttons .btn:hover {
  background-color: #fff;
}
.buttons .btn:hover > input, .buttons .btn:hover > a {
  color: var(--color-blue);
}

.wpcf7-response-output {
  margin-bottom: 0 !important;
}

/* お問い合わせフォーム */
.contact-form dd label {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
@media (width > 768px) {
  .contact-form .quotation {
    margin-top: 5.8479532164vw;
  }
}
@media (width <= 768px) {
  .contact-form .quotation {
    margin-top: 15.9574468085vw;
  }
}
.contact-form .vehicle {
  display: flex;
}
.contact-form .vehicle input[type=number] {
  width: 4em;
  text-align: right;
}
@media (width > 768px) {
  .contact-form .vehicle {
    gap: 2.1929824561vw;
  }
}
@media (width <= 768px) {
  .contact-form .vehicle {
    gap: 3.9893617021vw;
  }
  .contact-form .vehicle input[type=text], .contact-form .vehicle select {
    width: 15em;
  }
}
.contact-form .daytime {
  display: grid;
  display: flex;
}
@media (width > 768px) {
  .contact-form .daytime + .daytime {
    margin-top: 1.4619883041vw;
  }
}
@media (width <= 768px) {
  .contact-form .daytime + .daytime {
    margin-top: 3.9893617021vw;
  }
}
.contact-form .daytime input {
  text-align: right;
}
.contact-form .daytime .year input {
  width: 4.5em;
}
.contact-form .daytime .month input {
  width: 2.6em;
}
.contact-form .daytime .day input {
  width: 2.6em;
}
.contact-form .daytime .hour input {
  width: 2.6em;
}
@media (width > 768px) {
  .contact-form .daytime {
    gap: 2.1929824561vw;
  }
  .contact-form .daytime .year input {
    width: 5em;
  }
  .contact-form .daytime .month input {
    width: 3em;
  }
  .contact-form .daytime .day input {
    width: 3em;
  }
  .contact-form .daytime .hour input {
    width: 3em;
  }
}
@media (width <= 768px) {
  .contact-form .daytime {
    gap: 2.6595744681vw;
  }
  .contact-form .daytime .year input {
    width: 4.5em;
  }
  .contact-form .daytime .month input {
    width: 2.6em;
  }
  .contact-form .daytime .day input {
    width: 2.6em;
  }
  .contact-form .daytime .hour input {
    width: 2.6em;
  }
}
.contact-form .passengers input {
  width: 4em;
  text-align: right;
}