@charset "UTF-8";
:root {
  --inner-scale: 1;
  --vw-base: calc(1440 / var(--inner-scale));
  --inner: 1280;
  --inner-1305: 1305;
  --fz-ratio: 1; /* font-size倍率 */
}
@media screen and (max-width: 1024px) {
  :root {
    --inner-scale: calc(0.9 / (1280 / 1440));
    --fz-ratio: 1.57;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --vw-base: 375;
    --inner-scale: 1;
    --inner: 343;
    --fz-ratio: 1;
  }
}

/* ===============================
  会社概要
=============================== */
.contact__hero {
  background: url(../img/contact/contact_hero.jpg) no-repeat center center/cover;
}

/*------------------------------
contact-tel
------------------------------*/
.contact-tel {
  padding-top: min( 100 * 100vw / var(--vw-base) , 100/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .contact-tel {
    padding-top: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px );
  }
}

.contact-tel__message {
  width: calc(600 / var(--inner) * 100%);
  margin: 0 auto;
  font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  text-align: center;
}
.contact-tel__message.thanks {
  padding: 10em 0;
}
@media (max-width: 767px) {
  .contact-tel__message {
    width: 100%;
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
    text-align: left;
  }
}

.contact-tel__content {
  width: calc(1152 / var(--inner) * 100%);
  margin: 0 auto;
  margin-top: calc(110 / var(--inner) * 100%);
  border: 2px solid #1D2088;
  padding: calc(40 / var(--inner) * 100%) 0;
  border-radius: min( 8 * 100vw / var(--vw-base) , 8/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .contact-tel__content {
    width: 100%;
    margin-top: calc(50 / var(--inner) * 100%);
  }
}

.contact-tel__title {
  font-size: min( (32 * 100vw / var(--vw-base)) * var(--fz-ratio) , 32/var(--vw-base) * 1440px );
  font-weight: 700;
  line-height: normal;
  text-align: center;
  color: #000;
}
@media (max-width: 767px) {
  .contact-tel__title {
    font-size: min( (24 * 100vw / var(--vw-base)) * var(--fz-ratio) , 24/var(--vw-base) * 1440px );
  }
}

.contact-tel__link {
  display: block;
  margin-top: 2%;
  text-align: center;
  line-height: normal;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #1D2088;
}
@media (max-width: 767px) {
  .contact-tel__link {
    margin-top: calc(30 / var(--inner) * 100%);
  }
}

.contact-tel__number {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min( (50 * 100vw / var(--vw-base)) * var(--fz-ratio) , 50/var(--vw-base) * 1440px );
  font-weight: 900;
}
.contact-tel__number::before {
  display: inline-block;
  content: "";
  position: relative;
  background: url(../img/icon_phone.png) no-repeat center center/contain;
  width: 0.56em;
  aspect-ratio: 57/74;
  margin-right: 0.24em;
}
@media (max-width: 767px) {
  .contact-tel__number {
    font-size: min( (32 * 100vw / var(--vw-base)) * var(--fz-ratio) , 32/var(--vw-base) * 1440px );
  }
}

.contact-tel__hours {
  font-size: min( (18 * 100vw / var(--vw-base)) * var(--fz-ratio) , 18/var(--vw-base) * 1440px );
  font-weight: 700;
}
@media (max-width: 767px) {
  .contact-tel__hours {
    font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  }
}

/*------------------------------
contact-form
------------------------------*/
.contact-form {
  padding: min( 106 * 100vw / var(--vw-base) , 106/var(--vw-base) * 1440px ) 0 min( 225 * 100vw / var(--vw-base) , 225/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .contact-form {
    padding: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px ) 0 min( 100 * 100vw / var(--vw-base) , 100/var(--vw-base) * 1440px );
  }
}

.contact-form__container {
  width: calc(1152 / var(--inner) * 100%);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contact-form__container {
    width: 100%;
  }
}

.contact-form__title {
  padding-left: min( 11 * 100vw / var(--vw-base) , 11/var(--vw-base) * 1440px );
  border-left: min( 8 * 100vw / var(--vw-base) , 8/var(--vw-base) * 1440px ) solid #1D2088;
}

.contact-form__title-en {
  display: block;
  font-size: min( (25 * 100vw / var(--vw-base)) * var(--fz-ratio) , 25/var(--vw-base) * 1440px );
  font-weight: 700;
  line-height: normal;
  font-family: "Poppins", sans-serif;
  color: #1D2088;
}
@media (max-width: 767px) {
  .contact-form__title-en {
    font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1440px );
  }
}

.contact-form__title-ja {
  display: block;
  font-size: min( (30 * 100vw / var(--vw-base)) * var(--fz-ratio) , 30/var(--vw-base) * 1440px );
  font-weight: 700;
  line-height: normal;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #4E5463;
}
@media (max-width: 767px) {
  .contact-form__title-ja {
    font-size: min( (24 * 100vw / var(--vw-base)) * var(--fz-ratio) , 24/var(--vw-base) * 1440px );
  }
}

.contact-form__message {
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  color: #4E5463;
  margin-top: 0.8em;
}
@media (max-width: 767px) {
  .contact-form__message {
    font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1440px );
    margin-top: 2em;
  }
}

.contact-form__content {
  background: #F4F4F4;
  margin-top: 3%;
  padding: 7.4% 8.68% 11%;
}
@media (max-width: 767px) {
  .contact-form__content {
    margin-top: calc(30 / var(--inner) * 100%);
    padding: calc(40 / var(--inner) * 100%) calc(15 / var(--inner) * 100%);
  }
}

.contact-form__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.contact-form__items dt, .contact-form__items dd {
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.contact-form__items dt:nth-of-type(n + 2), .contact-form__items dd:nth-of-type(n + 2) {
  margin-top: 3.1%;
}
.contact-form__items dt {
  width: 26.2%;
}
.contact-form__items dt:last-of-type {
  align-self: flex-start;
}
.contact-form__items dd {
  width: 73.8%;
}
.contact-form__items dd input[type=text],
.contact-form__items dd input[type=tel],
.contact-form__items dd input[type=email],
.contact-form__items dd textarea {
  font: inherit;
  font-family: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  width: 100%;
  background: #fff;
  border: none;
  border-radius: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  padding: 0.5em 1em;
}
.contact-form__items dd input[type=text]::-moz-placeholder, .contact-form__items dd input[type=tel]::-moz-placeholder, .contact-form__items dd input[type=email]::-moz-placeholder, .contact-form__items dd textarea::-moz-placeholder {
  color: #ccc;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  color: #C1C1C1;
}
.contact-form__items dd input[type=text]::placeholder,
.contact-form__items dd input[type=tel]::placeholder,
.contact-form__items dd input[type=email]::placeholder,
.contact-form__items dd textarea::placeholder {
  color: #ccc;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  color: #C1C1C1;
}
.contact-form__items dd textarea {
  resize: vertical;
  min-height: 335px;
}
@media (max-width: 1024px) and (min-width: 768px) {
  .contact-form__items dt {
    width: 35%;
  }
  .contact-form__items dd {
    width: 65%;
  }
}
@media (max-width: 767px) {
  .contact-form__items {
    display: block;
  }
  .contact-form__items dt, .contact-form__items dd {
    width: 100%;
  }
  .contact-form__items dt:nth-of-type(n + 2) {
    margin-top: calc(40 / var(--inner) * 100%);
  }
  .contact-form__items dd {
    margin-top: calc(20 / var(--inner) * 100%);
  }
  .contact-form__items dd:nth-of-type(n + 2) {
    margin-top: calc(20 / var(--inner) * 100%);
  }
}

.contact-form__required {
  display: inline-block;
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  color: #fff;
  background: #1D2088;
  border-radius: min( 5 * 100vw / var(--vw-base) , 5/var(--vw-base) * 1440px );
  padding: 0 1em;
  margin-left: 0.67em;
}

.contact-form__radio {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 1px solid #1D2088;
  border-radius: 50%;
  position: relative;
  margin-right: 1em;
}
.contact-form__radio::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 0.5em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  transition: background-color 0.3s, border-color 0.3s;
  display: none;
}

.contact-form__radio-custom {
  display: flex;
  align-items: center;
}
.contact-form__radio-custom:has(input[type=radio]:checked) .contact-form__radio {
  background: #1D2088;
}
.contact-form__radio-custom:has(input[type=radio]:checked) .contact-form__radio::after {
  display: block;
}
.contact-form__radio-custom input[type=radio] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  width: 0;
  height: 0;
}

.contact-form__tel {
  display: flex;
  gap: 0 min( 22 * 100vw / var(--vw-base) , 22/var(--vw-base) * 1440px );
}

.contact-form__tel-input {
  width: min( 70 * 100vw / var(--vw-base) , 70/var(--vw-base) * 1440px );
}
.contact-form__tel-input:first-child {
  width: min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1440px );
}
.contact-form__tel-input:nth-child(n+2) {
  position: relative;
}
.contact-form__tel-input:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(min( 12 * 100vw / var(--vw-base) , 12/var(--vw-base) * 1440px ) * -1);
  transform: translate(-50%, -50%);
  background: #8C8C8C;
  width: min( 12 * 100vw / var(--vw-base) , 12/var(--vw-base) * 1440px );
  aspect-ratio: 12/2;
}
.contact-form__post-code {
  display: flex;
  gap: 0 min( 22 * 100vw / var(--vw-base) , 22/var(--vw-base) * 1440px );
}

.contact-form__post-code-input {
  width: min( 70 * 100vw / var(--vw-base) , 70/var(--vw-base) * 1440px );
}
.contact-form__post-code-input:first-child {
  width: min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1440px );
}
.contact-form__post-code-input:nth-child(n+2) {
  position: relative;
}
.contact-form__post-code-input:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(min( 12 * 100vw / var(--vw-base) , 12/var(--vw-base) * 1440px ) * -1);
  transform: translate(-50%, -50%);
  background: #8C8C8C;
  width: min( 12 * 100vw / var(--vw-base) , 12/var(--vw-base) * 1440px );
  aspect-ratio: 12/2;
}

.contact-form__address-input:nth-child(n+2) {
  margin-top: 10px;
}

.contact-form__privacy {
  margin-top: min( 70 * 100vw / var(--vw-base) , 70/var(--vw-base) * 1440px );
  text-align: center;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 400;
  line-height: normal;
}
.contact-form__privacy a {
  border-bottom: 1px solid #000;
}
.contact-form__privacy label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-form__privacy input {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  margin: 0;
  width: min( 18 * 100vw / var(--vw-base) , 18/var(--vw-base) * 1440px );
  aspect-ratio: 1/1;
  margin-right: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
}

.contact-form__submit {
  margin-top: min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1440px );
}

.contact-form__button {
  width: min( 250 * 100vw / var(--vw-base) , 250/var(--vw-base) * 1440px );
  margin: 0 auto;
  border-radius: 100px;
  cursor: pointer;
  position: relative;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  text-align: center;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background: #000;
  padding: 0.8em 0;
}
.contact-form__button input {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.contact-form__choices .wpcf7-list-item {
  display: block;
}
.contact-form__choices .wpcf7-list-item:has(input[type=radio]:checked) .contact-form__radio {
  background: #1D2088;
}
.contact-form__choices .wpcf7-list-item:has(input[type=radio]:checked) .contact-form__radio::after {
  display: block;
}
.contact-form__choices .wpcf7-list-item input {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  width: 0;
  height: 0;
}

.wpcf7-response-output { /* エラー&送信完了テキスト */
  font-size: 16px;
  text-align: center;
}

input[type=submit]:disabled {
  opacity: 0.5;
} /* 無効時透明度 */
.wpcf7-list-item {
  margin: 0;
}

.wpcf7-spinner {
  display: none !important;
}

.invalid-caution { /* バリデーションエラーメッセージ */
  width: 100%;
  color: #C1262D;
  font-size: min( 12 * 100vw / var(--vw-base) , 12/var(--vw-base) * 1440px );
  white-space: nowrap;
}

p:nth-child(n+2 of .invalid-caution) {
  display: none;
}

.bt_acc {
  pointer-events: none;
  opacity: 0.5;
}
.bt_acc.act {
  pointer-events: auto;
  opacity: 1;
}

[data-form-mode=con] .is-in {
  display: none !important;
}
[data-form-mode=con] .is-con-po {
  pointer-events: none !important;
}
[data-form-mode=con] input:not([type=submit]), [data-form-mode=con] textarea, [data-form-mode=con] select, [data-form-mode=con] label {
  pointer-events: none !important;
}
[data-form-mode=con] .contact-form__tel-input {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
[data-form-mode=con] .contact-form__tel-input::before {
  display: none;
}
[data-form-mode=con] .contact-form__tel {
  gap: 0;
}
[data-form-mode=con] .contact-form__post-code {
  gap: 0;
}
[data-form-mode=con] .contact-form__post-code-input {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
[data-form-mode=con] .contact-form__post-code-input::before {
  display: none;
}
[data-form-mode=con] .contact-form__button {
  margin-bottom: min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1440px );
}

[data-form-mode=in] .is-con {
  display: none !important;
}

.c-caution-wrap {
  position: relative;
}
.c-caution-wrap .invalid-caution {
  position: absolute;
  top: 100%;
  left: 0%;
  transform: translate(0%, 1em);
}
.contact.thanks .contact-form__items,
.contact.thanks .contact-form__privacy,
.contact.thanks .contact-form__submit {
  display: none;
}
/*# sourceMappingURL=contact.css.map */