:root {
  --vw: 1vw;
}

/* ---------------------------------------------------------
animation
----------------------------------------------------------*/
.fadeAnimeBefore {
  visibility: hidden;
}

.fadeAnime {
  visibility: visible;
  animation-name: fadeAnime;
}

@keyframes fadeAnime {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes leftRotateAnime {
  0%, 100% {
    transform: rotate(0deg) translateY(0);
  }
  50% {
    transform: rotate(-20deg) translateY(0);
  }
}
@keyframes rotateAnime {
  0%, 100% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(5deg);
  }
}
@keyframes upAnime {
  from {
    transform: translateY(-5px);
  }
  to {
    transform: translateY(5px);
  }
}
/* ---------------------------------------------------------
body
----------------------------------------------------------*/
body {
  color: #424242;
}

/* ---------------------------------------------------------
.sec-contact
----------------------------------------------------------*/
.sec-contact {
  position: relative;
  display: flex;
  padding-top: 176px;
}
@media screen and (max-width: 1000px) {
  .sec-contact {
    display: block;
    padding: calc(37.33 * var(--vw)) calc(8 * var(--vw)) calc(8 * var(--vw));
  }
}
.sec-contact .ttl-area {
  width: 25.46875%;
  padding-top: 7.2916666667%;
  margin-left: 6.1979166667%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .ttl-area {
    width: 100%;
    padding: 0;
    margin-left: 0;
  }
}
.sec-contact .ttl-area .ttl {
  color: #3c6fa4;
}
.sec-contact .ttl-area .ttl .txt-en {
  display: block;
  font-size: 39px;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .sec-contact .ttl-area .ttl .txt-en {
    font-size: calc(5.06 * var(--vw));
  }
}
.sec-contact .ttl-area .ttl .txt-ja {
  display: block;
  font-size: 44px;
  font-weight: bold;
  margin-top: 10px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .ttl-area .ttl .txt-ja {
    font-size: calc(6.4 * var(--vw));
    margin-top: calc(1.6 * var(--vw));
  }
}
.sec-contact .ttl-area .txt {
  font-size: 19px;
  font-weight: bold;
  color: #595959;
  margin-top: 20px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .ttl-area .txt {
    font-size: calc(4.26 * var(--vw));
    line-height: 1.6;
    margin-top: calc(4.26 * var(--vw));
  }
}
.sec-contact .form-area {
  width: 48.5416666667%;
  margin-left: 8.9583333333%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area {
    width: 100%;
    margin: calc(5.33 * var(--vw)) 0 0;
  }
}
.sec-contact .form-area dl {
  display: block;
  background-color: #fbfcfd;
  padding: 10.7296137339% 8.2618025751% 10.6223175966% 10.6223175966%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area dl {
    padding: calc(2.66 * var(--vw));
  }
}
.sec-contact .form-area dt {
  display: flex;
  font-size: 19px;
  font-weight: bold;
  color: #595959;
  margin-top: 49px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area dt {
    font-size: calc(4.26 * var(--vw));
    margin-top: calc(8 * var(--vw));
  }
}
.sec-contact .form-area dt:first-child {
  margin-top: 0;
}
.sec-contact .form-area dt span {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background-color: #3c6fa4;
  line-height: 1;
  padding: 6px 9px 7px;
  border-radius: 7px;
  margin-right: 14px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area dt span {
    font-size: calc(3.46 * var(--vw));
    padding: calc(1.6 * var(--vw)) calc(2.13 * var(--vw));
    margin-right: calc(2.66 * var(--vw));
  }
}
.sec-contact .form-area dt span.icon-any {
  background-color: #adadae;
}
.sec-contact .form-area dd {
  margin-top: 14px;
}
.sec-contact .form-area select {
  width: 100%;
  height: 57px;
  font-size: 19px;
  font-weight: bold;
  color: #b7b7b7;
  padding: 0 17px;
  border-radius: 6px;
  border: 2px solid #999999;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area select {
    height: calc(13.86 * var(--vw));
    font-size: calc(3.73 * var(--vw));
    padding: 0 calc(3.2 * var(--vw));
  }
}
.sec-contact .form-area select:invalid {
  color: #b7b7b7;
}
.sec-contact .form-area select:valid, .sec-contact .form-area select.valid {
  color: #000;
}
.sec-contact .form-area .half {
  display: flex;
  gap: 0 15px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area .half {
    gap: 0 calc(2.66 * var(--vw));
  }
}
.sec-contact .form-area input[type=text], .sec-contact .form-area input[type=email] {
  width: 100%;
  height: 57px;
  font-size: 19px;
  font-weight: bold;
  padding: 0 17px;
  border-radius: 6px;
  border: 2px solid #999999;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area input[type=text], .sec-contact .form-area input[type=email] {
    height: calc(13.86 * var(--vw));
    font-size: calc(3.73 * var(--vw));
    padding: 0 calc(3.2 * var(--vw));
  }
}
.sec-contact .form-area input[type=file] {
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  color: #595959;
  margin-top: 10px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area input[type=file] {
    font-size: calc(3.46 * var(--vw));
    margin-top: calc(2.66 * var(--vw));
  }
}
.sec-contact .form-area input[type=file]::file-selector-button {
  width: 235px;
  height: 50px;
  font-size: 21px;
  font-weight: bold;
  color: #3c6fa4;
  background-color: transparent;
  border-radius: 100px;
  border: 2px solid #3c6fa4;
  margin-right: 29px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area input[type=file]::file-selector-button {
    width: calc(37.6 * var(--vw));
    height: calc(10.66 * var(--vw));
    font-size: calc(3.73 * var(--vw));
    margin-right: calc(3.2 * var(--vw));
  }
}
.sec-contact .form-area textarea {
  width: 100%;
  height: 267px;
  font-size: 19px;
  font-weight: bold;
  padding: 14px 17px;
  border-radius: 6px;
  border: 2px solid #999999;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area textarea {
    font-size: calc(3.73 * var(--vw));
    padding: calc(3.73 * var(--vw)) calc(3.2 * var(--vw));
    height: calc(53.33 * var(--vw));
  }
}
.sec-contact .form-area textarea.small {
  height: 150px;
}
.sec-contact .form-area ::placeholder {
  color: #b7b7b7;
}
.sec-contact .form-area .caution {
  font-size: 15px;
  font-weight: bold;
  color: #b7b7b7;
  margin-top: 14px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area .caution {
    font-size: calc(3.46 * var(--vw));
    line-height: 1.6;
    margin-top: calc(3.2 * var(--vw));
  }
}
.sec-contact .form-area input[type=submit] {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 301px;
  height: 75px;
  font-size: 19px;
  font-weight: bold;
  color: #fff;
  background-color: #3c6fa4;
  border-radius: 100px;
  margin: 40px auto 0;
}
@media screen and (max-width: 1000px) {
  .sec-contact .form-area input[type=submit] {
    width: calc(69.33 * var(--vw));
    height: calc(16 * var(--vw));
    font-size: calc(4.26 * var(--vw));
    margin: calc(8 * var(--vw)) auto 0;
  }
}
.sec-contact .result-area {
  width: 48.5416666667%;
  background-color: #fbfcfd;
  padding: 5.2083333333% 4.0104166667% 5.15625% 5.15625%;
  margin-left: 8.9583333333%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .result-area {
    width: 100%;
    padding: calc(8 * var(--vw)) calc(8 * var(--vw));
    margin: calc(5.33 * var(--vw)) 0 0;
  }
}
.sec-contact .result-area .txt1 {
  font-size: 32px;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .sec-contact .result-area .txt1 {
    font-size: calc(5.33 * var(--vw));
    text-align: center;
  }
}
.sec-contact .result-area .txt2 {
  font-size: 20px;
  font-weight: bold;
  margin-top: 10px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .result-area .txt2 {
    font-size: calc(3.73 * var(--vw));
    text-align: center;
    margin-top: calc(4.26 * var(--vw));
  }
}
.sec-contact .result-area .btn-back a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 301px;
  height: 75px;
  font-size: 19px;
  font-weight: bold;
  color: #fff;
  background-color: #3c6fa4;
  border-radius: 100px;
  margin: 80px auto 0;
}
@media screen and (max-width: 1000px) {
  .sec-contact .result-area .btn-back a {
    width: calc(69.33 * var(--vw));
    height: calc(16 * var(--vw));
    font-size: calc(4.26 * var(--vw));
    margin: calc(8 * var(--vw)) auto 0;
  }
}

span.wpcf7-spinner {
  display: none;
}
