@charset "UTF-8";
.contact-form .form-text,
.contact-form .form-select {
  width: 100%;
  font-size: 16px;
  font-family: inherit;
  color: inherit;
  line-height: 1.5;
  padding: 0.5em 1em;
  background-color: var(--color-white);
  vertical-align: top;
  border: 1px solid var(--color-gray02);
  appearance: none;
  border-radius: 5px 5px;
  color: var(--color-black);
}
.contact-form input[type=radio],
.contact-form input[type=check] {
  font-size: 16px;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin: 0 0.25em 0.25em 0;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: var(--color-gray02);
}
.contact-form label {
  margin-right: 1em;
}
.contact-form .list {
  display: grid;
  grid-template-columns: 100%;
  gap: 2em 0;
}
@media print, screen and (768px <= width) {
  .contact-form .list {
    gap: 1px 0;
    border-style: solid;
    border-color: var(--color-green02);
    border-width: 0 0 1px;
  }
}
.contact-form .item {
  display: grid;
  grid-template-columns: 100%;
  gap: 1em 0;
}
@media print, screen and (768px <= width) {
  .contact-form .item {
    grid-template-columns: 15em 1fr;
    gap: 0;
  }
}
.contact-form .must:after {
  content: "※";
  color: var(--color-red02);
}
.contact-form .left {
  background-color: var(--color-green02);
  padding: 0.5em 1em;
}
@media print, screen and (768px <= width) {
  .contact-form .left {
    padding: 1.5em 1.5em;
  }
}
@media print, screen and (768px <= width) {
  .contact-form .right {
    padding: 1.5em 1.5em;
    border-style: solid;
    border-color: var(--color-green02);
    border-width: 1px 0 0;
  }
}
.contact-form .name {
  display: grid;
  grid-template-columns: 2em 1fr;
  gap: 1em 1em;
  align-items: center;
}
@media print, screen and (768px <= width) {
  .contact-form .name {
    grid-template-columns: 2em 1fr 2em 1fr;
  }
}
.contact-form .name + br {
  display: none;
}
.contact-form .name_ex {
  grid-column-start: 2;
  font-size: var(--font-size14);
  color: var(--color-gray02);
}
.contact-form .address01 {
  display: grid;
  grid-template-columns: 2em 9em 1fr;
  gap: 0.5em 1em;
}
.contact-form .address01-mark {
  margin: auto 0;
}
.contact-form .address01-btn {
  background-color: var(--color-gray03);
  border-width: 0;
  border-radius: 5px 5px;
}
.contact-form .address01-text {
  font-size: smaller;
  line-height: 1.3;
  margin: auto 0;
}
.contact-form .address02 {
  display: grid;
  grid-template-columns: 100%;
  gap: 0.5em 0.5em;
}
.contact-form .address02 + br {
  display: none;
}
.contact-form .telno_ex + br {
  display: none;
}
.contact-form .mail + br {
  display: none;
}
.contact-form .situmon_ex + br {
  display: none;
}
.contact-form .birth {
  display: grid;
  grid-template-columns: auto 1fr auto 0.75fr auto 0.75fr auto;
  gap: 0 0.5em;
  align-items: center;
}
@media print, screen and (768px <= width) {
  .contact-form .birth {
    gap: 0 1em;
  }
}
.contact-form .birth select {
  text-align: center;
}
.contact-form .birth + br {
  display: none;
}

.form-kiyaku {
  display: flex;
  justify-content: center;
}
.form-kiyaku-link {
  display: flex;
  align-items: center;
  gap: 0.5em;
  position: relative;
  z-index: 0;
  color: inherit;
  padding: 0 0 0 1.5em;
}
.form-kiyaku-link::before {
  font: var(--fa-font-solid);
  content: "\f138";
  position: absolute;
  z-index: 1;
  top: 0.5em;
  left: 0;
  color: var(--color-red02);
}

.form-agree-label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
.form-agree-input {
  width: 1.5em;
  height: 1.5em;
}
.form-agree-text {
  cursor: pointer;
}
.form-agree-error {
  color: var(--color-red02);
  text-align: center;
}

.form-btn-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 20px;
}
.form-btn {
  border-width: 0;
  cursor: pointer;
  width: 14em;
  font-size: var(--font-size18);
  font-family: inherit;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  padding: 1em 0.5em;
  border-radius: 5px;
}
@media print, screen and (768px <= width) {
  .form-btn {
    width: 14em;
  }
}
.form-btn-a {
  color: var(--color-white);
  background-color: var(--color-red02);
}
.form-btn-b {
  background-color: var(--color-gray03);
}