/* 20260626 final override: small, reliable fixes loaded after styles.css */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.header-contact {
  display: none !important;
}

.site-header,
.sub-header {
  max-width: min(1180px, calc(100% - 32px)) !important;
  align-items: center !important;
  overflow: visible !important;
}

@media (min-width: 961px) {
  .site-header {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

.site-header .site-nav,
.sub-header .site-nav {
  min-width: 0 !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
}

.hero-bg {
  filter: brightness(0.9) saturate(1.04) contrast(1.06) !important;
}

.hero-overlay {
  background:
    linear-gradient(90deg, rgba(255, 253, 250, 0.92) 0%, rgba(255, 253, 250, 0.78) 27%, rgba(255, 253, 250, 0.22) 52%, rgba(255, 253, 250, 0.02) 100%) !important;
}

.hero h1,
.hero-lead,
.sub-hero h1,
.sub-hero p,
.price-hero h1,
.price-hero p {
  color: #15231f !important;
  text-shadow: none !important;
}

.message-page .message-profile-panel {
  min-height: 0 !important;
  padding: 28px !important;
  border: 1px solid rgba(6, 79, 120, 0.14) !important;
  border-left: 6px solid #078dba !important;
  border-radius: 8px !important;
  background: #fffdfa !important;
  box-shadow: 0 18px 42px rgba(6, 79, 120, 0.09) !important;
  filter: none !important;
  align-content: center !important;
  color: #15231f !important;
}

.message-page .message-profile-panel span,
.message-page .message-profile-panel strong {
  color: #15231f !important;
  text-shadow: none !important;
}

.message-page .message-profile-panel span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  color: #078dba !important;
  background: rgba(7, 141, 186, 0.08) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.message-page .message-profile-panel strong {
  margin-top: 18px !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.35 !important;
}

.price-clear-list {
  width: min(1120px, 100%) !important;
  margin: 28px auto !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(6, 79, 120, 0.12) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 50px rgba(6, 79, 120, 0.08) !important;
}

.price-clear-head {
  margin-bottom: 18px !important;
}

.price-clear-table {
  display: grid !important;
  gap: 10px !important;
}

.price-clear-row {
  display: grid !important;
  grid-template-columns: minmax(170px, 0.8fr) minmax(240px, 1fr) minmax(220px, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(6, 79, 120, 0.1) !important;
  border-radius: 8px !important;
  background: #f8fcfd !important;
}

.price-clear-row.head {
  color: #ffffff !important;
  background: #075f88 !important;
  font-weight: 900 !important;
}

.price-clear-row strong {
  color: #15231f !important;
  font-size: clamp(17px, 1.7vw, 22px) !important;
  line-height: 1.5 !important;
}

.fee-simulation {
  width: min(1120px, 100%) !important;
}

.fee-simulation div {
  border-radius: 0 !important;
  background: #075f88 !important;
}

.fee-simulation div:nth-child(2),
.fee-simulation div:nth-child(3) {
  background: #075f88 !important;
}

.fee-table-wrap {
  width: min(1120px, 100%) !important;
  max-width: 100% !important;
}

.fee-table.detailed,
.fee-table.care-fee {
  width: 100% !important;
}

@media (max-width: 960px) {
  .top-info-banner,
  .site-header .site-nav,
  .sub-header .site-nav,
  .site-header .header-contact,
  .sub-header .header-contact {
    display: none !important;
  }

  .site-header,
  .sub-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    z-index: 100 !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255, 253, 250, 0.98) !important;
    box-shadow: 0 8px 26px rgba(6, 79, 120, 0.09) !important;
  }

  .home-page .site-header {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding: 10px 10px 9px !important;
  }

  .home-page .site-header .brand {
    justify-content: center !important;
    width: 100% !important;
  }

  .home-page .site-header .brand-text {
    width: auto !important;
    text-align: center !important;
  }

  .home-page .site-header .site-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .home-page .site-header .site-nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: 4px 7px !important;
    border: 1px solid rgba(6, 79, 120, 0.14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    color: #30433d !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .home-page .hero {
    padding-top: 118px !important;
  }

  .brand-text strong {
    font-size: 18px !important;
    line-height: 1.1 !important;
  }

  .brand-text small {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .hero {
    min-height: 760px !important;
    padding-top: 74px !important;
  }

  .hero-bg {
    filter: brightness(0.86) saturate(1.05) contrast(1.08) !important;
    background-position: 62% center !important;
  }

  .hero-overlay {
    background:
      linear-gradient(180deg, rgba(255, 253, 250, 0.94) 0%, rgba(255, 253, 250, 0.82) 40%, rgba(255, 253, 250, 0.18) 100%) !important;
  }

  .hero-inner {
    width: 100% !important;
    padding: 0 18px !important;
  }

  .sub-hero,
  .price-hero {
    min-height: 0 !important;
    padding: 86px 18px 44px !important;
    background: #f7fcfd !important;
  }

  .price-clear-list {
    margin: 22px auto !important;
    padding: 18px !important;
  }

  .price-clear-row,
  .price-clear-row.head {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 14px !important;
  }

  .price-clear-row.head {
    display: none !important;
  }

  .price-clear-row span:first-child {
    color: #075f88 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .price-clear-row span:last-child {
    color: #40534d !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  .fee-simulation {
    grid-template-columns: 1fr !important;
  }

  .fee-table-wrap {
    overflow: visible !important;
    padding: 0 !important;
  }

  .fee-table.detailed,
  .fee-table.care-fee {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 8px !important;
    overflow: visible !important;
    background: #f4fbfd !important;
  }

  .fee-table.detailed .fee-row,
  .fee-table.care-fee .fee-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 1px solid rgba(6, 79, 120, 0.12) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  .fee-table.detailed .fee-row.head,
  .fee-table.care-fee .fee-row.head {
    display: none !important;
  }

  .fee-table.detailed .fee-row span,
  .fee-table.care-fee .fee-row span {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 10px 14px !important;
    border-top: 1px solid rgba(6, 79, 120, 0.08) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .fee-table.detailed .fee-row span:first-child,
  .fee-table.care-fee .fee-row span:first-child {
    display: block !important;
    border-top: 0 !important;
    color: #15231f !important;
    background: #fffdfa !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  .fee-table.detailed .fee-row span:nth-child(2)::before,
  .fee-table.care-fee .fee-row span:nth-child(2)::before {
    content: "10割/利用料";
    color: #40534d;
    font-weight: 800;
  }

  .fee-table.detailed .fee-row span:nth-child(3)::before,
  .fee-table.care-fee .fee-row span:nth-child(3)::before {
    content: "1割";
    color: #40534d;
    font-weight: 800;
  }

  .fee-table.detailed .fee-row span:nth-child(4)::before,
  .fee-table.care-fee .fee-row span:nth-child(4)::before {
    content: "2割";
    color: #40534d;
    font-weight: 800;
  }

  .fee-table.detailed .fee-row span:nth-child(5)::before,
  .fee-table.care-fee .fee-row span:nth-child(5)::before {
    content: "3割";
    color: #40534d;
    font-weight: 800;
  }

  .message-page .message-detail {
    grid-template-columns: 1fr !important;
    padding: 44px 18px 60px !important;
  }
}

/* 20260626 final photo tone: brighten the top care photo on PC and mobile */
body.home-page .hero-bg {
  filter: brightness(1.08) saturate(1.06) contrast(1.01) !important;
}

body.home-page .hero-overlay {
  background:
    linear-gradient(90deg, rgba(255, 253, 250, 0.5) 0%, rgba(255, 253, 250, 0.32) 34%, rgba(255, 253, 250, 0.08) 64%, rgba(255, 253, 250, 0.02) 100%) !important;
}

@media (max-width: 640px) {
  body.home-page .hero-bg {
    filter: brightness(1.1) saturate(1.06) contrast(1.01) !important;
  }

  body.home-page .hero-overlay {
    background:
      linear-gradient(180deg, rgba(255, 253, 250, 0.52) 0%, rgba(255, 253, 250, 0.22) 38%, rgba(255, 253, 250, 0.04) 100%) !important;
  }
}

/* 20260626 consultation photo tone: remove dark blue overlay from message photo */
body.home-page .statement-photo {
  background:
    url("./assets/care-consultation.png") center right / cover no-repeat !important;
  filter: brightness(1.18) saturate(1.06) contrast(1.01) !important;
}

body.home-page .mosaic-01,
body.home-page .photo-consultation,
body.home-page .service-photo.photo-consultation {
  filter: brightness(1.12) saturate(1.05) contrast(1.01) !important;
}
