.contact-page .f-canvas { height:auto; }
.contact-page .f-footer { position:relative; top:auto; transform:none; }
.inquiry-main {
  --deep-green:#316d32; --rule:#c4d4be; --paper:#f2f6ee; --error:#97391e;
  width:min(calc(100% - 48px),1040px); margin:auto; padding:426px 0 100px;
  font-size:var(--body-size,16px); line-height:1.75; overflow-wrap:anywhere;
}
.inquiry-intro { text-align:center; margin:0 auto 44px; }
.inquiry-english { width:auto; height:25px; margin:0 auto 17px; }
.inquiry-lettering { width:min(440px,85%); height:auto; margin:auto; }
.inquiry-greeting { margin-top:22px; }
.inquiry-form { margin:0; }
.preview-note { border-left:4px solid var(--deep-green); background:var(--paper); padding:12px 20px; font-weight:500; }
.kind-field { min-width:0; margin:34px 0 0; border:0; padding:0 0 27px; }
.kind-field legend,.inquiry-row > label,.privacy-section h2 { padding:0; font-family:var(--hira); font-weight:800; }
.kind-field legend { margin-bottom:12px; }
.kind-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; }
.kind-options label { display:flex; align-items:center; gap:.65em; min-height:52px; padding:10px 16px; border:1.5px solid #95a78e; border-radius:4px; cursor:pointer; }
.kind-options label:hover,.kind-options label:has(:checked) { background:var(--paper); border-color:var(--deep-green); }
.kind-options label:has(:checked) { box-shadow:inset 0 0 0 1px var(--deep-green); }
.inquiry-form :is([type="radio"],[type="checkbox"]) { flex:none; width:1.2em; height:1.2em; margin:0; font:inherit; accent-color:var(--deep-green); cursor:pointer; }
.field-flag { display:inline-block; vertical-align:middle; margin-left:.45em; color:var(--deep-green); font:700 var(--small-size,14px)/1.4 var(--hira); }
.field-flag.optional { color:#596055; font-weight:500; }
.inquiry-row { display:grid; grid-template-columns:minmax(11.5em,32%) minmax(0,1fr); align-items:start; gap:20px; padding:18px 0; border-top:1px solid var(--rule); }
.inquiry-row > label { padding-block:.45em; }
.inquiry-row :is(input,textarea) { width:100%; padding:.53em .73em; font:500 1em/1.55 var(--yu); color:#1f251d; background:#fff; border:1.5px solid #8a9985; border-radius:4px; }
.inquiry-row input { min-height:48px; }
.inquiry-row textarea { display:block; min-height:9em; resize:vertical; }
.inquiry-form :is(input,textarea,.policy-scroll,button):focus-visible,.thanks-content a:focus-visible { outline:3px solid var(--deep-green); outline-offset:3px; }
.inquiry-row [aria-invalid="true"],.kind-options label:has([aria-invalid="true"]) { border-color:var(--error); }
.form-summary,.field-error { color:var(--error); font-weight:700; }
.form-summary:not(:empty) { margin:16px 0; }
.field-error:not(:empty) { margin-top:.5em; }
.privacy-section { border-top:2px solid var(--deep-green); padding-top:24px; margin-top:14px; }
.privacy-section h2 { font-size:1.18em; }
.policy-scroll { margin:12px 0 17px; padding:12px 20px; max-height:8.5em; overflow-y:scroll; scrollbar-gutter:stable; border:1.5px solid #95a78e; background:#f8faf6; font-weight:500; }
.policy-scroll h3 { margin:.85em 0 .2em; font-size:1em; color:var(--deep-green); }
.policy-scroll p + p { margin-top:.35em; }
.agreement { display:flex; align-items:center; gap:.7em; min-height:48px; cursor:pointer; width:fit-content; }
.inquiry-action { text-align:center; margin-top:28px; }
.drawn-action { display:inline-flex; justify-content:center; align-items:center; gap:1.3em; padding:15px 32px; min-height:54px; color:white; background:#326d32; border-radius:3% 2% 3% 2% / 8% 5% 9% 5%; font:800 1.13em/1.5 var(--hira); }
.drawn-action img { width:.75em; filter:brightness(0) invert(1); }
.drawn-action:hover { background:#285b28; }
.drawn-action:disabled { opacity:.6; cursor:default; }
.inquiry-action p,.thanks-preview { margin:.65em 0 0; font-size:var(--small-size,14px); color:#4d594b; }
.thanks-content { max-width:850px; text-align:center; margin:auto; }
.thanks-owl { width:140px; height:auto; margin:24px auto 20px; }
.thanks-content h1 { margin:14px auto; color:var(--deep-green); font:800 2.05em/1.4 var(--hira); }
.thanks-content h1 span { display:inline-block; }
.thanks-phone { max-width:36em; margin:1.6em auto; padding:1.1em 1.4em; border-block:1.5px solid var(--rule); }
.thanks-phone > p:first-child { text-align:left; font-weight:500; }
.phone-number { margin-top:.5em; font:800 1.45em/1.5 var(--hira); }
.phone-number span { font-size:.65em; }
@media(max-width:1199px) {
  .inquiry-main { width:min(calc(100% - 40px),690px); padding:36px 0 12px; }
  .inquiry-intro { margin-bottom:24px; }
  .inquiry-english { height:18px; margin-bottom:14px; }
  .inquiry-lettering { width:min(280px,90%); }
  .inquiry-greeting { margin:16px auto 0; }
  .thanks-content h1 { font-size:1.8em; }
  .thanks-owl { width:108px; }
}
@media(max-width:640px) {
  .kind-options,.inquiry-row { grid-template-columns:minmax(0,1fr); }
  .kind-field { margin-top:24px; padding-bottom:20px; }
  .kind-options { gap:8px; }
  .kind-options label { min-height:46px; padding:8px 12px; }
  .inquiry-row { gap:6px; padding:15px 0; }
  .inquiry-row > label { padding:0; }
  .privacy-section { margin-top:8px; }
  .policy-scroll,.preview-note { padding:12px 14px; }
  .inquiry-action { margin-top:22px; }
  .thanks-phone { padding:1em .35em; }
}
