@charset "UTF-8";
.c-page-title {
  --bgi: url("/_assets/contact/img/ttl-main.svg");
}
@media print, screen and (min-width: 769px) {
  .c-page-title {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 768px) {
  .c-page-title .c-page-title-en {
    left: -3.8636363636vw;
    top: -10.9090909091vw;
    width: 19.0909090909vw;
  }
}
@media print, screen and (min-width: 769px) {
  .c-page-title .c-page-title-en {
    left: -52px;
    top: -66px;
    width: 115px;
  }
}

@media only screen and (max-width: 768px) {
  .p-contact {
    margin-bottom: 18.1818181818vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact {
    margin-bottom: 120px;
  }
}
@media only screen and (max-width: 768px) {
  .p-contact .p-contact-text {
    font-size: 3.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-contact-text {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p-contact .p-contact-text + p {
    margin-block: 4.5454545455vw 9.0909090909vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-contact-text + p {
    margin-block: 20px 77px;
  }
}
.p-contact .p-form-item {
  background: #f9fafd;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-item {
    margin-inline: -4.5454545455vw;
    padding: 5.4545454545vw 2.2727272727vw 6.8181818182vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
}
.p-contact .p-form-item:nth-child(even) {
  background: #f3f5fb;
}
.p-contact .p-form-name {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1.375;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-name {
    font-size: 3.6363636364vw;
    padding-inline: 2.2727272727vw 10.4545454545vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-name {
    font-size: 1.6rem;
    padding-inline: 30px 76px;
    width: 286px;
  }
}
.p-contact .p-form-name.is-required::after {
  background: var(--red);
  color: #fff;
  content: "必須";
  display: -ms-grid;
  display: grid;
  font-weight: bold;
  place-content: center;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-name.is-required::after {
    font-size: 2.7272727273vw;
    height: 4.5454545455vw;
    right: 0;
    width: 8.4090909091vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-name.is-required::after {
    font-size: 1.2rem;
    height: 20px;
    right: 20px;
    width: 37px;
  }
}
.p-contact .p-form-error {
  color: #e60012;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-error {
    font-size: 2.7272727273vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-error {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-element {
    border-top: 1px solid var(--gray);
    font-size: 3.1818181818vw;
    margin-top: 2.7272727273vw;
    padding-left: 2.2727272727vw;
    padding-top: 5vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-element {
    font-size: 1.4rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-left: 2px solid var(--gray);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 7px;
    padding: 30px 0 30px 30px;
    width: 100%;
  }
}
.p-contact input[type=text],
.p-contact input[type=email],
.p-contact input[type=tel] {
  background: #fff;
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 10px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 10px;
}
@media only screen and (max-width: 768px) {
  .p-contact input[type=text],
  .p-contact input[type=email],
  .p-contact input[type=tel] {
    font-size: 3.1818181818vw;
    height: 10.4545454545vw;
    padding-inline: 4.5454545455vw;
    width: 77.9545454545vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact input[type=text],
  .p-contact input[type=email],
  .p-contact input[type=tel] {
    font-size: 1.4rem;
    height: 45px;
    padding-inline: 20px;
    width: 625px;
  }
}
.p-contact input[type=text]::-webkit-input-placeholder, .p-contact input[type=email]::-webkit-input-placeholder, .p-contact input[type=tel]::-webkit-input-placeholder {
  color: #99a1af;
}
.p-contact input[type=text]::-moz-placeholder, .p-contact input[type=email]::-moz-placeholder, .p-contact input[type=tel]::-moz-placeholder {
  color: #99a1af;
}
.p-contact input[type=text]:-ms-input-placeholder, .p-contact input[type=email]:-ms-input-placeholder, .p-contact input[type=tel]:-ms-input-placeholder {
  color: #99a1af;
}
.p-contact input[type=text]::-ms-input-placeholder, .p-contact input[type=email]::-ms-input-placeholder, .p-contact input[type=tel]::-ms-input-placeholder {
  color: #99a1af;
}
.p-contact input[type=text]::placeholder,
.p-contact input[type=email]::placeholder,
.p-contact input[type=tel]::placeholder {
  color: #99a1af;
}
.p-contact .p-form-radio input {
  display: none;
}
.p-contact .p-form-radio input:checked + label::before {
  display: block;
}
.p-contact .p-form-radio label {
  display: block;
  line-height: 2.375;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-radio label {
    font-size: 3.6363636364vw;
    padding-left: 6.8181818182vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-radio label {
    font-size: 1.6rem;
    padding-left: 30px;
  }
}
.p-contact .p-form-radio label::before {
  background: #0071bc;
  border-radius: 100%;
  content: "";
  display: none;
  position: absolute;
  top: 0.77em;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-radio label::before {
    height: 3.6363636364vw;
    left: 0.6818181818vw;
    width: 3.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-radio label::before {
    height: 16px;
    left: 3px;
    width: 16px;
  }
}
.p-contact .p-form-radio label::after {
  background: #fff;
  border: 1px solid #99a1af;
  border-radius: 100%;
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 10px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 10px;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0.6em;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-radio label::after {
    height: 5vw;
    width: 5vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-radio label::after {
    height: 22px;
    width: 22px;
  }
}
.p-contact textarea {
  background: #fff;
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 10px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 10px;
}
@media only screen and (max-width: 768px) {
  .p-contact textarea {
    font-size: 3.1818181818vw;
    height: 46.1363636364vw;
    padding-inline: 4.5454545455vw;
    width: 90.9090909091vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact textarea {
    font-size: 1.4rem;
    height: 273px;
    padding-inline: 20px;
    width: 677px;
  }
}
.p-contact textarea::-webkit-input-placeholder {
  color: #99a1af;
}
.p-contact textarea::-moz-placeholder {
  color: #99a1af;
}
.p-contact textarea:-ms-input-placeholder {
  color: #99a1af;
}
.p-contact textarea::-ms-input-placeholder {
  color: #99a1af;
}
.p-contact textarea::placeholder {
  color: #99a1af;
}
.p-contact .p-form-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-submit {
    gap: 2.2727272727vw;
    margin-top: 10.2272727273vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-submit {
    gap: 10px;
    margin-top: 67px;
  }
}
.p-contact .p-form-submit span {
  display: block;
  position: relative;
}
.p-contact .p-form-submit span::after {
  background: #fff;
  content: "";
  display: block;
  -webkit-mask-image: url("/_assets/img/icon-arrow01.svg");
          mask-image: url("/_assets/img/icon-arrow01.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-submit span::after {
    height: 3.1818181818vw;
    right: 4.5454545455vw;
    width: 3.1818181818vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-submit span::after {
    height: 14px;
    right: 20px;
    width: 14px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-submit span:hover::after {
    background: var(--red);
  }
}
.p-contact .p-form-submit input {
  background: var(--red);
  color: #fff;
  display: -ms-grid;
  display: grid;
  font-weight: bold;
  place-content: center;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-contact .p-form-submit input {
    border-radius: 6.8181818182vw;
    font-size: 4.0909090909vw;
    height: 13.6363636364vw;
    width: 72.7272727273vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-submit input {
    font-size: 1.8rem;
    border-radius: 30px;
    border: 2px solid var(--red);
    height: 60px;
    width: 388px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-contact .p-form-submit input:hover {
    background: #fff;
    color: var(--red);
  }
}