/* Loaded only on the site root and area pages. The bar is part of the HTML
   from the first paint, including when JavaScript is unavailable. */
:root {
  --nl-apply-gap: max(16px, env(safe-area-inset-bottom, 0px));
  --nl-apply-height: max(58px, 3.55rem);
  --nl-apply-room: calc(var(--nl-apply-height) + var(--nl-apply-gap) + 16px);
  scroll-padding-block-end: var(--nl-apply-room);
}
.nl-apply-dock {
  position: fixed;
  inset: auto auto var(--nl-apply-gap) 50%;
  z-index: 30;
  transform: translateX(-50%);
  width: min(440px, calc(100% - 32px));
  box-sizing: border-box;
  pointer-events: none;
}
.nl-apply-dock > .nl-apply-button {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .65em;
  width: 100%;
  min-height: var(--nl-apply-height);
  padding: .42em 1.25em;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #087343;
  color: #fff;
  font-family: 'NLive JP', 'BIZ UDPGothic', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  pointer-events: auto;
  box-shadow: 0 0 0 1px #5eaa87, 0 3px 12px #14283a36;
}
.nl-apply-button svg { flex: none; }
.nl-apply-dock > .nl-apply-button:hover { background: #065632; color: #fff; }
.nl-apply-dock > .nl-apply-button:focus-visible {
  outline: 3px solid #172b41;
  outline-offset: 3px;
  box-shadow: 0 0 0 8px #fff;
}
.nl-apply-clearance { display: block; height: var(--nl-apply-room); flex-shrink: 0; }

@media (max-width: 700px) {
  :root {
    --nl-apply-height: max(48px, 2.95rem);
    --nl-apply-gap: max(8px, env(safe-area-inset-bottom, 0px));
    --nl-apply-room: calc(var(--nl-apply-height) + var(--nl-apply-gap) + 16px);
  }
  .nl-apply-dock {
    inset: auto 0 0;
    width: auto;
    transform: none;
    background: #fff;
    pointer-events: auto;
    border-top: 1px solid #cbd9e2;
    padding: 6px max(14px, env(safe-area-inset-right, 0px)) var(--nl-apply-gap) max(14px, env(safe-area-inset-left, 0px));
  }
  .nl-apply-dock > .nl-apply-button { font-size: 1rem; border-color: transparent; box-shadow: none; }
  .nl-apply-dock > .nl-apply-button:focus-visible { outline-offset: 0; box-shadow: inset 0 0 0 2px #fff; }
  html[data-nlive-tone="night"] .nl-apply-dock { background: #14283a; border-color: #526c80; }
  html[data-nlive-tone="night"] .nl-apply-dock > .nl-apply-button { border-color: #b4d7c7; }
}
@media (max-height: 480px) {
  :root { --nl-apply-height: max(44px, 2.75rem); --nl-apply-gap: max(7px, env(safe-area-inset-bottom, 0px)); }
  .nl-apply-dock > .nl-apply-button { padding-block: .2em; }
}
/* The previous standalone file also contains work and consultation screens.
   Their focus and layout remain independent of the area and home screens. */
body[data-frame-page="standalone"].show-chapter:not(:has(#regions:not([hidden]), #regional-article:not([hidden]))) > :is(.nl-apply-dock,.nl-apply-clearance) { display: none; }
html:has(> body[data-frame-page="standalone"].show-chapter):not(:has(#regions:not([hidden]), #regional-article:not([hidden]))) { scroll-padding-block-end: 0; }
@media print {
  .nl-apply-dock, .nl-apply-clearance { display: none; }
}
