.contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-form .label-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.contact-form .label-wrapper .label {
  font-weight: 500;
  text-wrap: nowrap;
}

.contact-form .label-wrapper .required {
  border-radius: 2px;
  background: #E60012;
  color: #fff;
  font-size: var(--fz12);
  padding: 4px 8px 5px;
  display: grid;
  place-items: center;
  line-height: 1;
  height: fit-content;
  text-wrap: nowrap;
}

.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form input[type="email"],
.contact-form select,
.contact-form .form-item-message textarea {
  border-radius: 3px;
  border: 2px solid #999;
  background: #FFF;
  box-shadow: 0 1px 3px 3px rgba(0, 0, 0, 0.06) inset;
  padding: 6px 8px;
  line-height: 1;
  margin-top: 4px;
  width: 100%;
}

.contact-form select {
  padding: 10px 8px;
  cursor: pointer;
}

.contact-form input::placeholder {
  color: #A0A0A0;
  
}

.contact-form input[type="checkbox"] {
  width: 15px;
  height: 15px;
  border-radius: 3px;
  border: 2px solid #999;
  margin-top: 0;
  margin-right: 15px;
  cursor: pointer;
  appearance: auto;
}

.contact-form .form-item-message textarea {
  line-height: 1.4;
  height: 240px;
  resize: none;
}

.checkbox-wrapper {
  display: flex;
  align-items: center;
  margin-top: 4px;
  padding: 5px 0 4px;
}
input[type="checkbox"] + label {
  user-select: none;
}

.contact-form hr {
  border-color: #bbb;
}

.contact-form p.content-confirm {
  margin-top: 4px;
  white-space: pre-wrap;
}

.btn-form-confirm,
.btn-form-back,
.btn-form-submit {
  width: 240px;
  max-width: 100%;
}

.btn-form-back {
  border-width: 2px;
}

.validation-message {
  color: var(--fct-red);
  font-size: var(--fz12);
  position: absolute;
}

.static {
  position: static;
}

@media (min-width:768px) {
  .contact-form {
    gap: 40px;
  }

.wpforms-field,
  .contact-form .form-item {
    display: flex;
    gap: 0 30px;
    align-items: start;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  }

.wpforms-field-label,
  .contact-form .label-wrapper {
    justify-content: space-between!important;
    width: 29%!important;
  }

  .contact-form .label-wrapper .label {
    font-size: var(--fz20);
  }

  .contact-form .label-wrapper .required {
    font-size: 1rem;
    padding: 5px 8px 6px;
  }

  .contact-form input[type="text"],
  .contact-form input[type="tel"],
  .contact-form input[type="email"],
  .contact-form select,
  .contact-form .form-item-message textarea {
    padding: 11px 13px;
    margin-top: 0px;
  }


.wpforms-field-required,
  .contact-form .input-area {
    flex: 1!important;
  }
  
  .contact-form select {
    padding: 15px 13px;
  }

  .checkbox-wrapper {
    margin-top: 0;
  }

  .contact-form p.content-confirm {
    font-size: var(--fz20);
    flex: 1;
    margin-top: 3px;
  }

  .btn-form-confirm {
    width: 460px;
  }

  .btn-wrapper {
    display: flex;
    gap: 42px;
  }

  .btn-form-back,
  .btn-form-submit {
    width: 286px;
  }

  .validation-message {
    font-size: var(--fz14);
  }
}


.wpcf7-submit:disabled{
  opacity:.4;
  cursor:not-allowed;
  pointer-events:none;
}
.wpforms-page-indicator.progress {
	display: none;
}
.wpforms-field-label {
	position: relative!important;
    font-weight: 500!important;
	font-size: var(--fz20)!important;
	margin-bottom: 0!important;
}
.wpforms-field-label .wpforms-required-label {
	position: absolute;
	right: 0;
	top:-4px;
	border-radius: 2px;
	background: #E60012;
	color: #fff;
	font-size: var(--fz12);
	padding: 4px 8px 5px;
	display: grid;
	place-items: center;
	line-height: 1;
	height: auto;
	text-wrap: nowrap;
	padding: 5px 8px 6px;
	font-size: 0;
}
.wpforms-field-label .wpforms-required-label::before {
	content:"必須";
	font-size: 1rem;
	color: #FFF;
}
.lang-en .wpforms-field-label .wpforms-required-label {
	top:0px;
}
.lang-en .wpforms-field-label .wpforms-required-label::before {
	content:"Required";
	font-size: .75rem;
}
.wpforms-field fieldset {
	width: 100%!important;
}
#wpforms-2202-field_7-container,
#wpforms-2202-field_8-container,
#wpforms-2627-field_7-container,
#wpforms-2627-field_8-container {
	margin-bottom: 50px;
}
#wpforms-2202-field_7-container .wpforms-field-required,
#wpforms-2202-field_8-container .wpforms-field-required,
#wpforms-2627-field_7-container .wpforms-field-required,
#wpforms-2627-field_8-container .wpforms-field-required {
    position: absolute;
    left: 31.5%;
    top: 15px;
}
#wpforms-2202-field_7-container .wpforms-field-description,
#wpforms-2202-field_8-container .wpforms-field-description,
#wpforms-2627-field_7-container .wpforms-field-description,
#wpforms-2627-field_8-container .wpforms-field-description {
    position: absolute;
    left: 31.5%;
    top: 45px;
    font-size: initial;
}
.wpforms-container input.wpforms-field-medium, .wpforms-container select.wpforms-field-medium, .wpforms-container .wpforms-field-row.wpforms-field-medium, .wp-core-ui div.wpforms-container input.wpforms-field-medium, .wp-core-ui div.wpforms-container select.wpforms-field-medium, .wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium {
    max-width: 100%!important;
}

div.wpforms-container-full .wpforms-form label.wpforms-error, div.wpforms-container-full .wpforms-form em.wpforms-error {
	position: absolute !important;
    bottom: 2px !important;
    margin-top: 0 !important;
}
div.wpforms-container-full .wpforms-form #wpforms-2202-field_3-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_3-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_3-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_3-container em.wpforms-error {
    bottom: 40px!important;
}
div.wpforms-container-full .wpforms-form #wpforms-2202-field_7-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_7-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_8-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_8-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_7-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_7-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_8-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_8-container em.wpforms-error {
    bottom: -10px!important;
}

div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left {
    display: block;
    width: 100%;
    text-align: center!important;
}

div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-button {
	background: var(--gold)!important;
	width: 460px!important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
    height: 76px!important;
    text-align: center!important;
    margin: 30px auto 0!important;
    font-size: var(--fz20) !important;
}
div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-button.wpforms-page-prev {
    border: 1px solid var(--gold)!important;
    background: #fff!important;
	color: inherit!important;
}
.wpforms-submit-container {
    text-align: center!important;
}
.wpforms-submit.fin {
	background: var(--gold)!important;
	width: 460px!important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
    height: 76px!important;
    text-align: center!important;
    margin: 0px auto 0!important;
    font-size: var(--fz20) !important;
}
div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left button.wpforms-page-button:focus,
button.wpforms-submit.fin:focus {
	outline: none!important;
-webkit-tap-highlight-color: transparent!important;
}
.wpforms-entry-preview.wpforms-entry-preview-basic {
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important;
    -ms-flex-wrap: wrap!important;;
    flex-wrap: wrap!important;
    -webkit-box-pack: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
}
.wpforms-entry-preview.wpforms-entry-preview-basic .wpforms-entry-preview-label {
    width: 35% !important;
    background: #EFEFEF;
    line-height: 1;
    padding: 2.5%;
    text-align: center;
}
.wpforms-entry-preview.wpforms-entry-preview-basic .wpforms-entry-preview-value {
    width: 65% !important;
    padding: 2.5%;
    margin-bottom: 0 !important;
}
div.wpforms-container-full .wpforms-confirmation-container-full, div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
    background: transparent!important;
    border: none!important;
    padding: 0!important;
}
.wpforms-field-select select.wpforms-field-medium.wpforms-field-required {
    color: #A5A5A5;
}
.lang-en .wpforms-container .wpforms-form .wpforms-field-label {
	padding-right: 75px;
}

@media only screen and (max-width: 768px) {

.wpforms-container .wpforms-field, .wp-core-ui div.wpforms-container .wpforms-field {
    padding: 0px 0 15px!important;
    position: relative;
	margin-bottom: .5rem;
}
.wpforms-container .wpforms-form .wpforms-field-label, .wpforms-container .wpforms-form .wpforms-field-sublabel, .wpforms-container .wpforms-form .wpforms-field-description, .wpforms-container .wpforms-form textarea, .wpforms-container .wpforms-form li, .wpforms-container .wpforms-form th {
    hyphens: auto;
    margin-bottom: 1rem !important;
}
div.wpforms-container .wpforms-form .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern):not(.wpforms-field-radio):not(.wpforms-field-checkbox):not(.wpforms-field-layout):not(.wpforms-field-repeater) {
    overflow-x: inherit!important;
}
.wpforms-container .wpforms-form .wpforms-field-label {
    width: auto;
    display: inline-block;
}
.wpforms-field-label .wpforms-required-label {
	right: -50px;
	top: -1px;
}
.wpforms-field-label .wpforms-required-label::before {
    font-size: .75rem;
}
#wpforms-2202-field_7-container .wpforms-field-required,
#wpforms-2202-field_8-container .wpforms-field-required,
#wpforms-2627-field_7-container .wpforms-field-required,
#wpforms-2627-field_8-container .wpforms-field-required {
	position: relative;
	left: auto;
	top: auto;
	margin-bottom: 0;
}
#wpforms-2202-field_7-container .wpforms-field-description,
#wpforms-2202-field_8-container .wpforms-field-description,
#wpforms-2627-field_7-container .wpforms-field-description,
#wpforms-2627-field_8-container .wpforms-field-description {
	position: relative;
	left: auto;
	top: auto;
	line-height: 1.8;
	margin-bottom: 0;
}
#wpforms-2202-field_7-container,
#wpforms-2202-field_8-container,
#wpforms-2627-field_7-container,
#wpforms-2627-field_8-container {
    margin-bottom: .5rem;
}
.wpforms-container .wpforms-form li {
    margin-bottom: 0rem!important;
}
div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-button,
.wpforms-submit.fin {
	width: 100% !important;
    margin: 0px auto 0 !important;
}
div.wpforms-container-full .wpforms-form label.wpforms-error, div.wpforms-container-full .wpforms-form em.wpforms-error {
    position: relative !important;
    bottom: auto !important;
    margin-top: 10px !important;
}
div.wpforms-container-full .wpforms-form #wpforms-2202-field_3-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_3-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_7-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_7-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_8-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2202-field_8-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_3-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_3-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_7-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_7-container em.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_8-container label.wpforms-error,
div.wpforms-container-full .wpforms-form #wpforms-2627-field_8-container em.wpforms-error {
    bottom: auto !important;
}
.wpforms-container .wpforms-form .wpforms-field-description {
	margin-bottom: 0rem !important;
}
.wpforms-entry-preview.wpforms-entry-preview-basic {
    display: block !important;
}
.wpforms-entry-preview.wpforms-entry-preview-basic .wpforms-entry-preview-label,
.wpforms-entry-preview.wpforms-entry-preview-basic .wpforms-entry-preview-value {
	width: 100% !important;
}
.wpforms-entry-preview-basic .wpforms-entry-preview-label:not(:empty), div.wpforms-container-full .wpforms-entry-preview-basic .wpforms-entry-preview-label:not(:empty), div.wpforms-container-full .wpforms-form .wpforms-entry-preview-basic .wpforms-entry-preview-label:not(:empty) {
    margin-bottom: 0px!important;
}
.wpforms-entry-preview.wpforms-entry-preview-basic .wpforms-entry-preview-value {
    margin-bottom: 2px!important;
}
.lang-en .wpforms-container .wpforms-form .wpforms-field-label {
    padding-right: 0px;
}
.lang-en .wpforms-field-label .wpforms-required-label {
    right: -75px;
}
}