.elementor-272 .elementor-element.elementor-element-ebeec0d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-272 .elementor-element.elementor-element-0c90ce4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-272 .elementor-element.elementor-element-c1ef8f1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for text-editor, class: .elementor-element-3957a78 */.nk-contact-intro{
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
}
.nk-contact-intro h2{
  margin: 0 0 12px;
  font-size: 34px;
  line-height: 1.5;
  color: #111827;
}
.nk-contact-intro p{
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  color: #4b5563;
}
@media (max-width: 767px){
  .nk-contact-intro h2{
    font-size: 28px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0fb36a8 */.nk-contact-form{
  max-width: 820px;
  margin: 0 auto;
  padding: 34px 28px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(17,24,39,.05);
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
}

.nk-form-row{
  margin-bottom: 22px;
}

.nk-form-row label{
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  line-height: 1.6;
}

.nk-contact-form input[type="text"],
.nk-contact-form input[type="email"],
.nk-contact-form input[type="tel"],
.nk-contact-form select,
.nk-contact-form textarea{
  width: 100%;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #111827;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 15px;
  line-height: 1.7;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: .2s ease;
}

.nk-contact-form textarea{
  min-height: 180px;
  resize: vertical;
}

.nk-contact-form input::placeholder,
.nk-contact-form textarea::placeholder{
  color: #9ca3af;
}

.nk-contact-form input:focus,
.nk-contact-form select:focus,
.nk-contact-form textarea:focus{
  outline: none;
  border-color: #ffd400;
  box-shadow: 0 0 0 4px rgba(255,212,0,.18);
}

.nk-contact-form select{
  background-image:
    linear-gradient(45deg, transparent 50%, #6b7280 50%),
    linear-gradient(135deg, #6b7280 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 42px;
}

.nk-form-submit{
  margin-top: 8px;
}

.nk-contact-form input[type="submit"],
.nk-contact-form button,
.nk-contact-form .wpcf7-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 52px;
  border: none;
  border-radius: 999px;
  background: #ffd400 !important;
  color: #111827 !important;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 0 26px;
  cursor: pointer;
  transition: .2s ease;
  box-shadow: 0 14px 30px rgba(255,212,0,.20);
}

.nk-contact-form input[type="submit"]:hover,
.nk-contact-form button:hover,
.nk-contact-form .wpcf7-submit:hover{
  opacity: .94;
  transform: translateY(-1px);
}

.nk-contact-form .wpcf7-spinner{
  margin: 12px 0 0 12px;
}

.nk-contact-form .wpcf7-not-valid-tip{
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #dc2626;
}

.nk-contact-form .wpcf7-response-output{
  margin: 20px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.8;
}

.nk-contact-form .wpcf7 form.sent .wpcf7-response-output{
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.nk-contact-form .wpcf7 form.invalid .wpcf7-response-output,
.nk-contact-form .wpcf7 form.failed .wpcf7-response-output,
.nk-contact-form .wpcf7 form.aborted .wpcf7-response-output{
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

@media (max-width: 767px){
  .nk-contact-form{
    padding: 24px 18px;
    border-radius: 18px;
  }

  .nk-contact-form input[type="submit"],
  .nk-contact-form button,
  .nk-contact-form .wpcf7-submit{
    width: 100%;
    min-width: 0;
  }
}/* End custom CSS */