
[data-page="quote"] .s-form.qt { min-height: 100vh; min-height: 100svh; padding-top: calc(var(--head-h) + clamp(44px, 7vh, 72px)); padding-bottom: clamp(48px, 7vh, 70px); }
[data-page="quote"] .qt .grid { align-items: start; }
[data-page="quote"] .qt .form-head { grid-column: 1 / span 5; }
[data-page="quote"] .qt .kick { margin-bottom: 22px; }
[data-page="quote"] .qt .form-head .h2 { font-size: clamp(56px, 6.2vw, 92px); line-height: .98; letter-spacing: -.036em; max-width: 7.4em; }
[data-page="quote"] .qt .form-head .lede { margin-top: 30px; font-size: 18px; line-height: 1.6; max-width: 24em; }
[data-page="quote"] .qt .form-side { margin-top: 14px; }
[data-page="quote"] .qt .form-side .call-tel { font-size: clamp(34px, 2.9vw, 42px); }
[data-page="quote"] .qt .form-side .call-when { margin-top: 10px; }
[data-page="quote"] .qt .form-side .mail { margin-top: 16px; }
[data-page="quote"] .qt .qform { grid-column: 7 / span 6; padding-top: 6px; }
[data-page="quote"] .qt .qf-grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--hair); }
[data-page="quote"] .qt .fld { position: relative; display: grid; grid-template-columns: minmax(150px, 30%) 1fr; column-gap: var(--gap); align-items: baseline; padding: 0; border-bottom: 1px solid var(--hair); transition: border-color .25s; }
[data-page="quote"] .qt .fld label { margin: 0; padding: 21px 0 19px; line-height: 1.5; white-space: nowrap; }
[data-page="quote"] .qt .fld label .opt { display: inline; margin-left: .7em; font: 400 11px/1.4 var(--mono); letter-spacing: .06em; text-transform: none; color: var(--ink-3); }
[data-page="quote"] .qt .fld input,
[data-page="quote"] .qt .fld select,
[data-page="quote"] .qt .fld textarea { border-bottom: 0; padding: 15px 0 15px; font-size: 18px; min-width: 0; }
[data-page="quote"] .qt .fld input {
  background-image: linear-gradient(to right, var(--hair) 55%, transparent 55%);
  background-size: 6px 1px; background-repeat: repeat-x; background-position: 0 calc(100% - 13px);
}
[data-page="quote"] .qt .fld input:focus { background-image: none; }
[data-page="quote"] .qt .fld select { background-position: calc(100% - 12px) 52%, calc(100% - 7px) 52%; cursor: pointer; }
[data-page="quote"] .qt .fld:has(textarea) { grid-template-columns: 1fr; }
[data-page="quote"] .qt .fld:has(textarea) label { padding-bottom: 0; }
[data-page="quote"] .qt .fld textarea {
  min-height: 0; height: calc(3 * 34px + 8px); resize: none; padding: 8px 0 0; line-height: 34px; overflow: auto;
  background-image: linear-gradient(to right, var(--hair) 55%, transparent 55%), linear-gradient(to right, var(--hair) 55%, transparent 55%);
  background-size: 6px 1px; background-repeat: repeat-x; background-position: 0 41px, 0 75px; background-attachment: local;
}
[data-page="quote"] .qt .fld:focus-within { border-bottom-color: var(--accent); }
[data-page="quote"] .qt .fld.bad { border-bottom-color: var(--field-err); }
[data-page="quote"] .qt .ferr { position: absolute; right: 0; top: 50%; transform: translateY(-50%); min-height: 0; margin: 0; font-size: 13.5px; text-align: right; pointer-events: none; }
[data-page="quote"] .qt .fld:has(select) .ferr { right: 46px; }
[data-page="quote"] .qt .fld.bad input,
[data-page="quote"] .qt .fld.bad select { padding-right: min(17em, 50%); }
[data-page="quote"] .qt .qnote { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--hair); }
[data-page="quote"] .qt .qsend { margin-top: 28px; }
[data-page="quote"] .qt .qfine { margin-top: 16px; max-width: 30em; color: var(--ink-2); }
[data-page="quote"] .qt textarea::placeholder { color: var(--ink-3); opacity: .62; }
[data-page="quote"] .qt .qdone { min-height: 520px; padding-top: 34px; border-top: 1px solid var(--hair); }
[data-page="quote"] .qt .qdone .h2 { font-size: clamp(56px, 6.2vw, 92px); line-height: .98; letter-spacing: -.036em; }
[data-page="quote"] .qt .qdone .h2 em { display: block; }
[data-page="quote"] .qt .qdone p { margin-top: 26px; font-size: 18px; line-height: 1.6; max-width: 24em; }
@media (max-width: 1080px) {
  [data-page="quote"] .qt .form-head { grid-column: 1 / span 5; }
  [data-page="quote"] .qt .form-head .h2 { font-size: clamp(50px, 5.4vw, 60px); }
  [data-page="quote"] .qt .qform { grid-column: 6 / span 7; }
  [data-page="quote"] .qt .fld { grid-template-columns: minmax(128px, 32%) 1fr; }
}
@media (max-width: 760px) {
  [data-page="quote"] .s-form.qt { min-height: 0; padding-top: calc(var(--head-h) + 36px); padding-bottom: 64px; }
  [data-page="quote"] .qt .form-head,
  [data-page="quote"] .qt .qform { grid-column: 1 / -1; }
  [data-page="quote"] .qt .form-head .h2 { font-size: clamp(46px, 12.4vw, 54px); }
  [data-page="quote"] .qt .form-head .lede { margin-top: 22px; font-size: 17.5px; }
  [data-page="quote"] .qt .form-side { display: none; }
  [data-page="quote"] .qt .qform { margin-top: 112px; }
  [data-page="quote"] .qt .qf-grid { border-top: 0; }
  [data-page="quote"] .qt .fld { grid-template-columns: 1fr; border-bottom: 0; }
  [data-page="quote"] .qt .fld label { padding: 14px 0 0; }
  [data-page="quote"] .qt .fld input,
  [data-page="quote"] .qt .fld select { padding: 2px 0 7px; font-size: 18px; line-height: 1.3; min-height: 0; border-bottom: 1px solid var(--hair); }
  [data-page="quote"] .qt .fld input { height: 32px; }   
  [data-page="quote"] .qt .fld input { background-image: none; }   
  [data-page="quote"] .qt .fld textarea { height: calc(3 * 34px + 4px); padding: 4px 0 0; font-size: 18px; background-position: 0 37px, 0 71px; border-bottom: 1px solid var(--hair); }
  [data-page="quote"] .qt .fld input:focus,
  [data-page="quote"] .qt .fld select:focus,
  [data-page="quote"] .qt .fld textarea:focus { border-bottom-color: var(--accent); }
  [data-page="quote"] .qt .fld.bad input,
  [data-page="quote"] .qt .fld.bad select { padding-right: 28px; border-bottom-color: var(--field-err); }
  [data-page="quote"] .qt .ferr { position: static; transform: none; grid-column: 1; text-align: left; margin: 0; font-size: 13.5px; line-height: 1.4; }
  [data-page="quote"] .qt .fld.bad .ferr { padding-top: 8px; }
  [data-page="quote"] .qt .qnote { margin-top: 14px; padding: 12px 0; border-top: 1px solid var(--hair); }
  [data-page="quote"] .qt .qsend { width: 100%; justify-content: center; margin-top: 32px; }
  [data-page="quote"] .qt .qdone { min-height: 640px; padding-top: 26px; }
  [data-page="quote"] .qt .qdone .h2 { font-size: clamp(46px, 12.4vw, 54px); }
  [data-page="quote"] .callbar { grid-template-columns: 1fr; }
  [data-page="quote"] .callbar .cb-quote { display: none; }
  [data-page="quote"] .callbar .cb-call { border-right: 0; }
}
@media (min-width: 761px) { [data-page="quote"] .qt .form-side { margin-top: 30px; } }
@media (min-width: 761px) { [data-page="quote"] .qt .fld:focus-within { box-shadow: inset 0 -1px 0 var(--accent); } }
@media (max-width: 760px) {
  [data-page="quote"] .qt .fld input:focus, [data-page="quote"] .qt .fld select:focus, [data-page="quote"] .qt .fld textarea:focus { box-shadow: 0 1px 0 var(--accent); }
}
