/* Common shell from the 2026-09-30 Life/Lab source b100ebf.
   Link keeps its existing palette. The Life page uses its adopted sky palette. */
html:has(.kanairu-header) { scroll-padding-top: var(--header-height, 166px); }
.kanairu-header { position: sticky; top: 0; z-index: 30; }
.kanairu-header-top { background: linear-gradient(90deg, var(--link-soft), #fff 62%); }
.kanairu-header .kanairu-header-row {
  min-height: 112px;
  padding-block: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.kanairu-header .brand {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  white-space: normal;
}
.kanairu-logo, .kanairu-footer-logo { display: block; object-fit: contain; flex-shrink: 0; }
.kanairu-brand-name, .kanairu-service-title { display: block; }
.kanairu-brand-name { font-size: 1.3rem; line-height: 1.24; }
.kanairu-service-title { font-size: 1.14rem; line-height: 1.32; font-weight: 600; }
.kanairu-header-tagline { margin: 0; font-size: 1.26rem; font-weight: 600; line-height: 1.3; }
.kanairu-nav-band { border-top: 1px solid var(--link-border); background: rgba(255,255,255,.98); }
.kanairu-nav-band > .shell { display: block; min-height: 0; padding-block: 0; }
.kanairu-header nav {
  margin: 0;
  gap: clamp(10px, 1.5vw, 24px);
  justify-content: center;
  overflow: visible;
}
.kanairu-header nav a {
  min-height: 46px;
  padding: 8px 4px;
  font-size: .9rem;
  font-weight: 650;
  white-space: normal;
  text-align: center;
}
.kanairu-footer .shell { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.kanairu-footer-logo { margin-bottom: .75rem; }
.kanairu-footer .footer-identity { grid-column: auto; }
.kanairu-footer .footer-meta {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 22px;
  border-top: 1px solid var(--link-border);
  padding-top: 18px;
}
.kanairu-footer .footer-meta small { margin: 0 0 0 auto; }
.kanairu-life-page {
  --link-background: #F4FAFF;
  --link-soft: #EAF5FE;
  --link-border: #BCDDF7;
  --link-heading: #1B3550;
  --link-text: #1B3550;
  --link-muted: #526c80;
  --link-action: #295779;
  --link-hover: #D8ECFC;
  --link-selected: #295779;
}
.kanairu-life-page .kanairu-footer { background: linear-gradient(135deg, #D8ECFC, #EAF5FE 70%, #F4FAFF); }
.life-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr);
  gap: clamp(20px, 4vw, 48px);
  align-items: center;
  background: var(--link-background);
  border: 1px solid var(--link-border);
  border-radius: 20px;
  padding: clamp(16px, 3vw, 32px);
}
.life-hero-copy h1 { margin-block: .25em; }
.life-hero-photos {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #EAF5FE, #D8ECFC);
  border-radius: 13px;
  overflow: hidden;
}
.life-hero-photos img { width: 100%; height: 100%; object-fit: cover; display: block; }
.life-hero-photos img[hidden], #lifeHeroControls[hidden] { display: none; }
.life-profile-intro { display: flex; align-items: center; gap: 20px; }
.life-profile-intro img { object-fit: contain; flex-shrink: 0; }
.life-profile-intro h2 { margin-bottom: 8px; }
.life-profile-intro p { margin: 0; }
.provider-portrait.life-portrait { object-fit: contain; background: var(--link-soft); }

@media (max-width: 760px) {
  html:has(.kanairu-header) { scroll-padding-top: var(--header-height, 197px); }
  .kanairu-header .kanairu-header-row { min-height: 88px; gap: 10px; }
  .kanairu-logo { width: 64px; height: 64px; }
  .kanairu-brand-name { font-size: 1.08rem; }
  .kanairu-service-title { font-size: .97rem; }
  .kanairu-header-tagline { display: none; }
  .kanairu-header nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 4px; }
  .kanairu-header nav a { justify-content: center; font-size: .83rem; }
  .life-hero { grid-template-columns: 1fr; }
  .life-hero-copy { grid-row: 1; }
}
@media (max-width: 640px) {
  .kanairu-footer .shell { grid-template-columns: 1fr; }
  .kanairu-footer .footer-meta { flex-direction: column; align-items: flex-start; }
  .kanairu-footer .footer-meta small { margin: 0; }
  .life-profile-intro img { width: 92px; height: 106px; }
}

#additionalPrefectures[hidden] { display: none; }


/* The shared header and footer follow Lab's cherry-pink palette. */
.kanairu-lab-page{--link-background:#FFFCFD;--link-soft:#FBF1F3;--link-border:#EDC7CF;--link-heading:#7B3448;--link-text:#402D33;--link-muted:#55474B;--link-action:#A96575;--link-hover:#F8E9ED;--link-selected:#7B3448}
.kanairu-lab-page .kanairu-footer{background:var(--link-soft)}

/* Shared keyboard skip-navigation for the three public business pages. */
.kanairu-skip-link{position:fixed;z-index:10000;top:8px;left:8px;padding:12px 18px;background:#fff;color:#222;border:2px solid currentColor;border-radius:8px;transform:translateY(-160%)}
.kanairu-skip-link:focus{transform:translateY(0)}
#mainContent:focus{outline:none}

.life-service-photo {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 14px;
}
button:disabled{opacity:.45;cursor:not-allowed}
