@charset "UTF-8";

/* text / email / textarea ------------------------------*/
input[type="text"],
input[type="email"],
input[type="tel"],
textarea{
  width: 100%;
  background: #fff;
  border: 1px solid var(--color-line) !important;
  padding: .4em 1em;
  line-height: 1.5;
  border-radius: 0 !important;
}
textarea{
  height: 200px;
}

/* radio checkbox ------------------------------*/
.mwform-checkbox-field,
.wpcf7-radio {
  display: inline-block;
  margin-right: 2em;
  margin-bottom: -18px;
  margin-left: 0;
}
.m-other .mwform-checkbox-field,
.m-other .mwform-radio-field {
  margin-right: 1em;
}
.mwform-checkbox-field label,
.wpcf7-radio label{
  display: flex;
  align-items: flex-start;
  cursor: pointer;
}
.mwform-checkbox-field label::before,
.wpcf7-radio label::before{
  content: "";
}
.mwform-checkbox-field label::before,
.wpcf7-radio label::before{
  display:block;
  aspect-ratio: 1/1;
	width: 1.3em;
  min-width: 1.3em;
	background: #fff;
	border: 1px solid #ccc;
  margin-right: .5em;
}
.wpcf7-radio label::before{
  border-radius: 50%;
}

input[type="checkbox"] + span,
input[type="radio"] + span {
  display: inline-block;
  line-height: 1.3em;
  position: relative;
  margin-right: 5px;
}
input[type="radio"] + span::before{
  border-radius: 50%;
}
input[type="checkbox"] + span::before,
input[type="radio"] + span::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
	width: 1.1em;
  min-width: 1.1em;
	background: #fff;
	border: 1px solid #ccc;
  position: absolute;
  top: .16em;
  left: -1.45em;
}

/* checked */
input[type="checkbox"]:checked + span::after,
input[type="radio"]:checked + span::after {
  content: "";
  display: block;
  position: absolute;
}
input[type="checkbox"]:checked + span::after {
  aspect-ratio: 1.6/1;
  width: .95em;
  min-width: .95em;
  left: -1.4em;
  top: .3em;
  border-bottom: 3px solid var(--color-key);
  border-left: 3px solid var(--color-key);
  transform-origin: center center;
  transform: rotate(-45deg);
}
input[type="radio"]:checked + span::after {
  aspect-ratio: 1/1;
  width: .65em;
  min-width: .65em;
  border-radius: 50%;
  background: var(--color-key);
  left: -1.195em;
  top: .38em;
}

/* button ------------------------------*/
.b-form button,
.b-searchform button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 280px;
  transition: .3s all;
  border-radius: 500px;
  padding: 1em 2em;
  font-weight: 700;
  background: var(--grad);
  color: #fff;
  transform: .3s all;
}
.b-form button[name="submitConfirm"],
.b-form button[name="送信ボタン"]{
  display: inline-block;
  max-width: 800px;
  margin: auto;
  color: #fff;
  text-decoration: none;
  position: relative;
  line-height: 1.5;
  z-index: 1;
  background: var(--linkColor);
}
.b-form button[name="submitBack"]{
  background: var(--color-gray);
}

@media screen and (min-width: 768px) {
  .b-form button:hover,
  .b-searchform button:hover {
    background: var(--color-key);
  }
}
.wpcf7-list-item {
  margin: 0 3em 1em 0 !important;
}
.wpcf7-list-item.first {
  margin-left: 0;
}
/* error ------------------------------*/
.b-form .error{
  display: block;
  width: 100%;
  font-size: 13px;
  color: #fff !important;
  border: 1px solid #c00;
  font-weight: 700;
  background: #c00;
  margin-top: 1em;
  padding: .2em 1em;
}

.smf-error-messages {
  line-height: 1em;
  font-size: 15px;
}

.mwform-checkbox-field{
  display: inline-block;
}

.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0 !important;
}

.mwform-checkbox-field input,
.mwform-radio-field input {
	margin-right: 0 !important;
}
.wpcf7 .wpcf7-submit:disabled {
	cursor: default !important;
  background: #ccc;
}

/* snow monkey forms overwrite ------------------------------*/
/*
.smf-label {
  margin: 0 2em 0 1.5em !important;
}
*/
.smf-label label {
  position: relative;
  cursor: pointer;
  margin-right: 1em;
}

/* radio */
.smf-form .smf-radio-button-control {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
}
.smf-form .smf-radio-buttons-control__control {
  padding-top: .55em;
}
.smf-form .smf-radio-button-control__control,
.smf-form .smf-checkbox-control__control {
  display: block;
  /*
  border: 1px solid #ccc !important;
  transform: translate(-.05em,-.21em);
  */
	border: 0 none !important;
  width: 1.5em !important;
}
.smf-form .smf-radio-button-control__control:checked,
.smf-form .smf-checkbox-control__control:checked {
  background: #fff !important;
	border: 0 none !important;
}

/* bottom */
.smf-action {
  margin-top: 50px;
  text-align: center;
}
.smf-action button.smf-button-control__control {
  display: inline-block;
  min-width: 320px;
  background: var(--color-key);
  color: #fff;
  font-weight: 700;
  text-align: center;
  border-radius: 100px;
  padding: 1.125em 2em;
  position: relative;
  z-index: 1;
  overflow: hidden;
  line-height: 1.5;
  border: 0 none;
}
.smf-action button.smf-button-control__control[data-action="back"] {
  background: var(--color-gray);
}
.smf-action button.smf-button-control__control:disabled {
  cursor: default;
  background: var(--color-gray);
}

@media screen and (min-width: 768px) {
  .smf-action button.smf-button-control__control {
    transition: .3s all;
  }
  .smf-action button.smf-button-control__control:hover {
    background: var(--color-hover);
  }
}

/* input / confirm */
.snow-monkey-form[data-screen="input"] .b-formWrap .m-confirm,
.snow-monkey-form[data-screen="back"] .b-formWrap .m-confirm {
  display: none;
}
.snow-monkey-form[data-screen="confirm"] .b-formWrap .m-input {
  display: none;
}

/* confirm */
.snow-monkey-form[data-screen="confirm"] .b-formBox .e-req {
  display: none;
}
@media screen and (max-width: 767px) {
  .snow-monkey-form[data-screen="confirm"] .smf-action {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  .snow-monkey-form[data-screen="confirm"] .smf-action .smf-button-control+.smf-button-control {
    margin-left: 0;
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .snow-monkey-form[data-screen="confirm"] .b-formBox dt {
    padding-top: 0;
  }
}
