@charset "UTF-8";
.form_part {
  --labelColor: var(--formLabelColor);
  --borderColor: var(--formBorderColor);
  --bgColor: var(--formBgColor);
  --borderWidth: var(--formBorder);
  --partsRadius: var(--formRadius);
  --h: var(--formPartHeight);
  --topPadding: var(--formPartPaddingRow);
  --bottomPadding: var(--formPartPaddingRow);
  --leftPadding: var(--formPartPaddingColumn);
  --rightPadding: var(--formPartPaddingColumn);
  --formPartTextColor: var(--formTextColor);
  display: flex;
  flex-direction: column;
  grid-gap: var(--space1);
  width: 100%;
}
.form_part:not(:last-child) {
  margin-bottom: var(--space4);
}
.form_part .label {
  color: var(--labelColor);
  font-size: var(--fontSize_l);
  font-family: "Montserrat", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400;
}
.form_part .label .require::before {
  content: "*";
  color: #C53027;
}
.form_part .error {
  color: #C53027;
  margin-top: calc(var(--space1) / 2);
}
.form_part select.bg-white,
.form_part input.bg-white,
.form_part textarea.bg-white {
  --bgColor: #FFF;
}

.input_wrap,
.select_wrap,
.textarea_wrap {
  position: relative;
}

input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]),
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  display: block;
  border: var(--borderWidth) solid var(--borderColor);
  background: var(--bgColor);
  border-radius: var(--partsRadius);
  padding: var(--topPadding) var(--rightPadding) var(--bottomPadding) var(--leftPadding);
  height: var(--h);
  width: 100%;
  box-sizing: border-box;
  font-size: var(--fontSize);
  color: var(--formPartTextColor);
}

.auth_code_wrap {
  display: flex;
  flex-direction: row;
  grid-gap: 0px var(--space1);
  --codeH: calc(var(--h) * 1.5);
}
.auth_code_wrap input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]) {
  height: var(--codeH);
  font-size: var(--fontSize_ll);
  text-align: center;
}

.select_wrap {
  --rightPadding: calc(var(--formPartPaddingColumn) + var(--space2));
}
.select_wrap::after {
  width: 8px;
  height: 6px;
  background: var(--primaryColor);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: calc(var(--formPartPaddingColumn) + (var(--space2) - 8px) / 2);
  margin: auto;
  pointer-events: none;
}

.combobox_wrap {
  position: relative;
}
.combobox_wrap .group .control {
  width: var(--h);
  height: var(--h);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.combobox_wrap .group .control::before {
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: 8px;
  height: 6px;
  background: var(--primaryColor);
}
.combobox_wrap:not(.active) .listbox_wrap {
  max-height: 0px;
  overflow: hidden;
  border: 0;
}
.combobox_wrap .listbox_wrap {
  position: absolute;
  left: 0;
  top: calc(var(--h) + 2px);
  width: 100%;
  min-width: 180px;
  max-height: 120px;
  overflow-y: auto;
  box-sizing: border-box;
  background: #FFF;
  border: 1px solid var(--baseBorderColor);
  border-radius: 4px;
  transition: var(--animationDuration) max-height;
}
.combobox_wrap .listbox_wrap::-webkit-scrollbar {
  display: none;
}
.combobox_wrap div[role=listbox] div[role=option] {
  cursor: pointer;
  margin: 0;
  display: block;
  padding: 4px 12px;
}
.combobox_wrap div[role=listbox] div[role=option][aria-selected=true], .combobox_wrap div[role=listbox] div[role=option].selected, .combobox_wrap div[role=listbox] div[role=option]:hover {
  background: var(--bodyColor);
}

textarea {
  font-family: "Montserrat", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400;
  height: auto;
}

label {
  position: relative;
  cursor: pointer;
  --crHeight: calc(var(--h) * 2 / 5);
  --diffSize:4px;
}
label input[type=checkbox], label input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  filter: Alpha(opacity=0);
}
label input[type=checkbox] + .txt,
label input[type=checkbox] + .wpcf7-list-item-label, label input[type=radio] + .txt,
label input[type=radio] + .wpcf7-list-item-label {
  position: relative;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  grid-gap: var(--space1);
  align-items: center;
  flex-wrap: wrap;
  height: var(--h);
}
label input[type=checkbox] + .txt::before,
label input[type=checkbox] + .wpcf7-list-item-label::before, label input[type=radio] + .txt::before,
label input[type=radio] + .wpcf7-list-item-label::before {
  width: var(--crHeight);
  height: var(--crHeight);
  content: "";
  border: var(--borderWidth) solid var(--borderColor);
  background: var(--bgColor);
}
label input[type=checkbox] + .txt::after,
label input[type=checkbox] + .wpcf7-list-item-label::after, label input[type=radio] + .txt::after,
label input[type=radio] + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: var(-animationDuration) opacity;
  width: calc(var(--crHeight) - var(--diffSize) * 2);
  height: calc(var(--crHeight) - var(--diffSize) * 2);
  box-sizing: border-box;
  left: var(--diffSize);
  background: var(--primaryColor);
}
label input[type=checkbox]:not(:checked) + .txt::after,
label input[type=checkbox]:not(:checked) + .wpcf7-list-item-label::after, label input[type=radio]:not(:checked) + .txt::after,
label input[type=radio]:not(:checked) + .wpcf7-list-item-label::after {
  opacity: 0;
  filter: Alpha(opacity=0);
}
label input[type=radio] + .txt::before,
label input[type=radio] + .wpcf7-list-item-label::before {
  border-radius: 50%;
}
label input[type=radio] + .txt::after,
label input[type=radio] + .wpcf7-list-item-label::after {
  border-radius: 50%;
}
label.switch {
  --crHeight: 24px;
}
label.switch input + .txt {
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin-left: auto;
}
label.switch input + .txt::before {
  width: 40px;
  border-radius: calc(var(--crHeight) / 2);
  background: var(--secondaryColor);
  border: 0;
}
label.switch input + .txt::after {
  width: calc(var(--crHeight) - 4px);
  height: calc(var(--crHeight) - 4px);
  border: 0;
  background: #FFF;
  border-radius: 50%;
  top: 0;
  right: 16px;
  left: auto;
  bottom: 0;
  margin: auto;
  transform: none;
  transition: var(--animationDuration) transform;
}
label.switch input:checked + .txt:after {
  transform: translateX(12px);
}
label.switch input:not(:checked) + .txt:after {
  opacity: 1;
  filter: Alpha(opacity=100);
  display: block;
}

.radio_wrap,
.checkbox_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  grid-gap: 0px var(--space3);
}
.radio_wrap.vertical,
.checkbox_wrap.vertical {
  flex-direction: column;
  align-items: flex-start;
}

.checkbox_toggle_wrap,
.radio_toggle_wrap {
  width: 100 .checkbox_toggle_wrap, .radio_toggle_wrap;
  display: flex;
  flex-direction: column;
  grid-gap: var(--space1);
  box-sizing: border-box;
  padding: var(--space1);
  border: 1px solid var(--colorGray);
  border-radius: calc(var(--radius) / 2);
  transition: var(--animationDration) border-color, var(--animationDration) background;
}
.checkbox_toggle_wrap.active,
.radio_toggle_wrap.active {
  border-color: var(--primaryColor);
  background: var(--colorGray);
}
.checkbox_toggle_wrap label input + .txt,
.radio_toggle_wrap label input + .txt {
  font-size: var(--fontSize_n);
}
.checkbox_toggle_wrap label input + .txt::before, .checkbox_toggle_wrap label input + .txt::after,
.radio_toggle_wrap label input + .txt::before,
.radio_toggle_wrap label input + .txt::after {
  display: none !important;
}
.checkbox_toggle_wrap .memo,
.radio_toggle_wrap .memo {
  font-size: var(--fontSize_s);
}
@media (min-width: 521px) {
  .checkbox_toggle_wrap,
  .radio_toggle_wrap {
    grid-gap: var(--space1);
    padding: var(--space2);
  }
}

.mw_wpform_confirm .form_part,
.form_wrap_confirm .form_part {
  --borderColor: transparent;
  --borderWidth: 0px;
  --bgColor: none;
  --topPadding: 0px;
  --bottomPadding: 0px;
  --leftPadding: 0px;
  --rightPadding: 0px;
}
.mw_wpform_confirm .form_part:not(.for_agree) .cont,
.form_wrap_confirm .form_part:not(.for_agree) .cont {
  border-bottom: 1px solid var(--baseBorderColor);
  padding-bottom: var(--space1);
}
.mw_wpform_confirm .form_part.for_agree,
.form_wrap_confirm .form_part.for_agree {
  display: none;
}

.search_wrap {
  position: relative;
}
.search_wrap > input {
  padding-right: calc(var(--formPartHeight) / 2 + var(--rightPadding)) !important;
}
.search_wrap > button {
  left: auto;
  width: calc(var(--formPartHeight) / 2);
  height: calc(var(--formPartHeight) / 2);
  right: 10px;
  border: 0;
  background: none;
}
.search_wrap > button .icon {
  display: block;
  background-image: url("../images/icon/search.svg");
  background-size: contain;
  width: 100%;
  height: 100%;
}

.password_wrap {
  position: relative;
}
.password_wrap > input {
  padding-right: var(--space4);
}
.password_wrap > input + button {
  position: absolute;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  bottom: 0;
  margin: auto;
  right: var(--space2);
}

.wpcf7-form-control-wrap {
  width: 100%;
}

.form_part.for_agree .wpcf7-form-control-wrap {
  width: auto;
}
.form_part.for_agree .wpcf7-form-control-wrap .wpcf7-list-item {
  margin-left: 0;
  margin-right: 0;
}

.form_wrap .to_link {
  flex-direction: column;
}

.steps_wrap .steps {
  margin-bottom: var(--space1);
}

.steps {
  display: flex;
  flex-direction: row;
  grid-gap: 0 var(--columnGap);
  --columnGap: var(--space4);
  --thumbSize: 12px;
  --thumbBackground: #DDD;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.steps .step {
  position: relative;
  z-index: 1;
}
.steps .step:not(:last-child)::before {
  width: calc(var(--columnGap) + var(--thumbSize));
  height: 4px;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--thumbSize) / 2);
  margin: auto;
  background: var(--colorBlack);
  opacity: 0.1;
  filter: Alpha(opacity=10);
}
.steps .step .mark {
  width: var(--thumbSize);
  height: var(--thumbSize);
  background: var(--thumbBackground);
  border-radius: 50%;
  position: relative;
  z-index: 1;
}
.steps .step.here, .steps .step.done {
  --thumbBackground: var(--colorBlack);
}
.steps .step.done:not(:last-child)::before {
  opacity: 1;
  filter: Alpha(opacity=100);
}

.textEditor_wrap .editorBody .tiptap {
  outline: none;
  border: none;
}