/* Small static-migration overrides. The original design remains in cmn/css/. */
a:focus-visible, button:focus-visible { outline: 3px solid #8b6500; outline-offset: 4px; }
.js-tel a { color: inherit; }
.static-location { padding: 30px; min-height: 240px; background: #fff; line-height: 1.9; }
.static-location p:first-child { font-weight: bold; }
.static-notice { padding: 24px; border-left: 5px solid #edd95a; background: #fff; }
.static-form-preview input:disabled, .static-form-preview textarea:disabled { opacity: 1; cursor: not-allowed; color: #555; }
.header_spMenu, .gnav_spMenuClose { font-family: inherit; background: transparent; border-radius: 0; appearance: none; }
.utility-page { min-width: 0; background: #f9f9f9; }
.utility-page main { max-width: 800px; margin: 60px auto; padding: 30px; font-size: 16px; line-height: 2; background: #fff; }
.utility-page h1 { font-size: 28px; margin: 24px 0; }
.utility-page ul { list-style: disc; padding-left: 1.5em; }
.utility-page a { text-decoration: underline; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
/* The old fixed desktop viewport scaled down on tablets. Allow natural reflow. */
@media (min-width: 688px) and (max-width: 1199px) {
  body { min-width: 0; }
  .container, .subPageContainer .container { width: calc(100% - 48px); }
  .header img { max-width: 90%; height: auto; }
  .gnav_logo { float: none; height: 30px; margin-bottom: 14px; }
  .gnav_list { float: none; display: flex; flex-wrap: wrap; gap: 12px 24px; }
  .gnav_list li { margin: 0; }
  .topSection01_catch { float: none; }
  .topSection01_text { padding-left: 0; }
  .topSection02Main_item { width: 100%; float: none !important; }
  .topSection02SubList { margin-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .topSection02SubList_item { float: none; width: auto; margin: 0; padding-left: 20px; }
  .topSection03Main_item { width: 47%; }
  .topSection04Main_left, .topSection04Main_right { float: none; width: 100%; margin-bottom: 24px; }
  .topSection04Main_pic img { width: 100%; }
  .sectionSpacer { margin-top: -125px; padding-top: 125px; }
}
@media (max-width: 687px) {
  .header_spMenu, .gnav_spMenuClose { padding-top: 0; }
  .static-location { min-height: 0; padding: 20px; }
  /* Keep navigation usable if JavaScript is unavailable. */
  html:not(.navigation-ready) .gnav { position: relative; left: 0; height: auto; }
  html:not(.navigation-ready) .gnav_inner { position: relative; left: 0; width: 100%; height: auto; padding: 0; }
  html:not(.navigation-ready) .gnav_list { padding: 16px; }
  html:not(.navigation-ready) .gnavSpContact,
  html:not(.navigation-ready) .header_spMenu,
  html:not(.navigation-ready) .gnav_spMenuClose { display: none; }
}
