﻿@charset "utf-8";
/*--------------------------------------------------------------------------------
 
  form

--------------------------------------------------------------------------------*/
.c-form {
  --border: 1px solid var(--border-color);
  display: grid;
}
.c-form.-no-line { --border: 0; }
.c-form_ttl {
  font-weight: bold;
  font-size: var(--fs-m);
}
.c-form_ttl .inner {
  display: flex;
  align-items: center;
}
@media (min-width:761px) {
  .c-form {
    grid-template-columns: max(25%, 220px) 1fr;
    row-gap: 1.5rem;
    border-top: var(--border);
    padding-top: 1.5rem;
  }
  .c-form.-no-line { padding-top: 0; }
  .c-form:not(.-no-line) .c-form_ttl,
  .c-form:not(.-no-line) .c-form_input:not(:has(+ .c-form_input)) {
    border-bottom: var(--border);
    padding-bottom: 1.5rem;
  }
  .c-form.-no-line .c-form_ttl,
  .c-form.-no-line .c-form_input:not(:has(+ .c-form_input)):not(:last-of-type) {
    padding-bottom: 0.5rem;
  }
  .c-form_input:not(:first-of-type).-no-ttl {
    padding-top: 1rem;
  }
  .c-form_ttl {
    padding-right: 2rem;
    padding-top: 0.35rem;
  }
  .c-form_ttl .inner {
    justify-content: space-between;
    column-gap: 2rem;
  }
  .c-form_ttl:has(+ .c-form_input + .c-form_input) {
    grid-row: span 2;
  }
  .c-form_input + .c-form_input,
  .c-form_input.-no-ttl {
    grid-column: 2 / -1;
  }
}
@media (max-width:760px) {
  .c-form {
    grid-template-columns: 1fr;
    row-gap: 0.75rem;
  }
  .c-form_ttl .inner {
    column-gap: 1rem;
  }
  .c-form_input:not(:has(+ .c-form_input)):not(:last-of-type) {
    padding-bottom: 1rem;
  }
  .c-form_input:not(:first-of-type).-no-ttl {
    padding-top: 1.5rem;
  }
}

/*--------------------------------------------------------------------------------
  .c-form-label
--------------------------------------------------------------------------------*/
.c-form-label {
  display: inline-block;
  width: 3.5em;
  text-align: center;
  line-height: 1;
  padding: 0.5em;
  font-size: var(--fs-3s-rem);
  font-weight: normal;
  color: #FFF;
  background-color: var(--color-warning);
}

/*--------------------------------------------------------------------------------
  .c-form-errmsg
--------------------------------------------------------------------------------*/
.c-form-errmsg {
  display: none;
  font-size: var(--fs-s);
  color: var(--color-warning);
}
.c-form_input:has(.is-err) .c-form-errmsg,
.c-form-check.is-err .c-form-errmsg { display: block; }
.c-form_input .c-form-errmsg { padding-top: 0.5rem; padding-bottom: 0.75rem; }
.c-form-errmsg + .c-form-errmsg { padding-top: 0; margin-top: -0.75rem; }
.c-form-check .c-form-errmsg { padding-bottom: 1.25rem; }
.c-form-check .c-form-errmsg + .c-form-errmsg { margin-top: -1.25rem; }
.c-form_ttl.u-pdt0 + .c-form_input .c-form-errmsg { padding-top: 0.15rem; }

/*--------------------------------------------------------------------------------
  .c-form-btn
--------------------------------------------------------------------------------*/
.c-form-btn-area {
  padding-top: var(--space-l);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.c-form-btn-area_item {
  --btn-width: 100%;
  --btn-fs: var(--fs-m);
  --btn-txt-fw: bold;
  width: min(100%, 400px);
}
@media (min-width:761px) {
  .c-form-btn-area { flex-direction: row-reverse; }
}
@media (max-width:760px) {
  .c-form-btn-area { flex-direction: column; }
}
.c-form-btn[type="submit"] { }
.c-form-btn:not([type="submit"]) { }

/*--------------------------------------------------------------------------------
  .c-form-tbl
--------------------------------------------------------------------------------*/
.c-form-tbl-heading { --heading2-mgb: 1rem; }
.c-form-tbl {
  --tbl-border-color: var(--color-gray-light);
  --tbl-th-bg: var(--color-gray-lightest);
  width: 100%;
  border-collapse: collapse;
  line-height: var(--line-height-s);
}
.c-form-tbl th,
.c-form-tbl td {
  padding: 1.25rem 1rem;
  border-width: 1px;
  border-style: solid;
  border-color: var(--tbl-border-color);
}
.c-form-tbl th {
  width: 20%;
  white-space: nowrap;
  text-align: left;
  vertical-align: top;
  background-color: var(--tbl-th-bg);
}
@media (max-width: 760px) {
  .c-form-tbl {
    font-size: var(--fs-s);
    display: grid;
  }
  .c-form-tbl tr {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
  }
  .c-form-tbl th,
  .c-form-tbl td {
    width: 100% !important;
    height: 100% !important;
    display: grid;
    text-align: left;
  }
  .c-form-tbl tr:not(:first-child) th { border-top: 0; }
  .c-form-tbl th {
    white-space: inherit;
    padding: 0.75rem;
  }
  .c-form-tbl td {
    border-top: 0;
    padding: 1.25rem 0.75rem;
  }
}

/*--------------------------------------------------------------------------------
  .c-form-alert
--------------------------------------------------------------------------------*/
.c-form-alert {
  padding: var(--box-space-s);
  border: 1px solid var(--color-warning);
  background-color: var(--color-warning-lightest);
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
}
.c-form-alert:not(:has(+ .c-form-btn-area)) {
  margin-bottom: var(--space-m);
}
.c-form-alert.-sendok {
  padding: var(--box-space-m);
}
.c-form-alert_ttl {
  font-weight: bold;
  font-size: var(--fs-l);
  color: var(--color-warning);
}

/*--------------------------------------------------------------------------------
  .c-form-sendok
--------------------------------------------------------------------------------*/
.c-form-sendok {
  margin-bottom: var(--space-m);
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.c-form-sendok_ttl {
  font-weight: bold;
  font-size: var(--fs-2l);
}

/*--------------------------------------------------------------------------------
  .c-form-msg
--------------------------------------------------------------------------------*/
.c-form-msg {
  padding-bottom: var(--space-m);
}
