@charset "UTF-8";
/* Subpages extend the approved TOP tokens; no parallel design system. */
.subpage .container { width:min(91%,1120px); }
.subpage main { overflow:clip; }
.breadcrumb { padding-block:20px; font-size:12px; color:#50677f; }
.breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; }
.breadcrumb li + li::before { content:"/"; color:#b7c7d7; margin-right:12px; }
.breadcrumb a:hover { color:var(--blue); text-decoration:underline; }
.page-hero { background:#f4fbfe; padding:45px 0 58px; }
.theme-care .page-hero { background:var(--cream); }
.theme-nursing .page-hero { background:var(--sky-2); }
.page-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(28px,4vw,56px); align-items:center; }
.page-eyebrow { color:var(--blue); font:500 12px/1.5 var(--font-head); letter-spacing:.2em; margin-bottom:18px; }
.theme-care .page-eyebrow { color:#bf521f; }
.page-name { font-size:15px; color:#a54b23; margin-bottom:20px; }
.page-hero h1 { font:500 clamp(30px,3.6vw,46px)/1.55 var(--font-display); color:var(--navy); letter-spacing:.02em; text-wrap:balance; }
.page-hero h1 em { color:var(--orange); font-style:normal; }
.page-area .page-hero h1 em { display:inline-block; max-width:100%; text-wrap:balance; }
.theme-nursing .page-hero h1 em { color:var(--blue); }
.page-lead { margin-top:24px; font-size:16px; line-height:2; }
.page-hero-photo { min-width:0; }
.page-hero-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:32px; background:#fff; }
.page-news .page-hero-photo img, .page-news-welcome .page-hero-photo img { object-position:right center; }
.page-section { padding:80px 0; }
.tint-sky { background:#f4fbfe; }
.tint-cream { background:#fff8f2; }
.section-heading { margin-bottom:34px; }
.section-heading h2,.split-story h2 { font:500 clamp(25px,3vw,36px)/1.65 var(--font-display); color:var(--navy); }
.section-heading p:not(.label) { margin-top:16px; max-width:760px; }
.section-heading.center { text-align:center; }
.section-heading.center p { margin-inline:auto; }
.page-section .label { font-size:13px; letter-spacing:.09em; margin-bottom:12px; }
.page-section h3 { font:700 21px/1.65 var(--font-head); color:var(--navy); }
.page-section p + p { margin-top:16px; }
.page-section .sample-note { margin-top:18px; }
.page-section figure figcaption { margin-top:10px; font-size:12px; color:#536c83; }
.page-jumps { padding:26px 4.5%; display:flex; flex-wrap:wrap; justify-content:center; gap:12px; border-bottom:1px solid var(--line); background:#fff; }
.page-jumps a { display:block; padding:10px 20px; font-size:14px; color:var(--navy); border-radius:30px; background:#f1f8fc; }
.page-jumps a:hover { background:#e0f0fa; color:var(--blue); }
.split-story { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:54px; }
.split-story > * { min-width:0; }
.split-story p { margin-top:20px; }
.split-story img { width:100%; border-radius:32px 8px 32px 8px; }
.split-story .service-logo { width:min(100%,360px); height:auto; border-radius:0; margin-bottom:24px; }
.split-story.reverse > figure { order:-1; }
/* Care introduction alignment */
#care-intro > .container > .service-logo { width:min(100%,360px); height:auto; margin-bottom:32px; }
#care-intro h2 span { display:block; }
#care-intro .care-intro-art { padding:12px; border:1px solid #f4d9c7; border-radius:24px; background:var(--cream); }
#care-intro .care-intro-art img { width:100%; height:auto; border-radius:12px; }
@media(max-width:760px) { #care-intro h2 { font-size:clamp(23px,7vw,27px); } }
/* End care introduction alignment */
.content-grid { display:grid; gap:24px; }
.content-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.content-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.info-card { padding:30px; background:#fff; border:1px solid var(--line); border-radius:20px; }
.info-card.care { background:var(--cream); border-color:#f4d9c7; }
.info-card.nursing { background:var(--sky-3); border-color:#cfe5f3; }
.info-card > img { width:100%; height:200px; object-fit:cover; border-radius:12px; margin-bottom:22px; }
.info-card > .support-photo { height:auto; aspect-ratio:3/2; }
.info-card h3 + p,.card-copy h3 + p { margin-top:14px; }
.coordination-card { display:flex; flex-direction:column; }
#service-compare .content-grid.two { margin-top:28px; }
.coordination-card .coordination-brand { margin:0 0 20px; }
.coordination-brand img { display:block; width:min(100%,380px); height:auto; margin-inline:auto; mix-blend-mode:multiply; }
.page-section .coordination-role { margin:0 0 12px; font:700 clamp(19px,2vw,22px)/1.6 var(--font-head); color:var(--navy); }
.page-section .coordination-description { margin:0 0 28px; }
.coordination-card .coordination-link { width:100%; min-height:54px; justify-content:space-between; gap:12px; margin-top:auto; padding:15px 14px; border-radius:12px; font-size:16px; box-shadow:none; }
.coordination-link > [aria-hidden] { flex:none; }
.coordination-card.care .coordination-link { color:#984316; border-color:#c37545; }
.coordination-card.care .coordination-link:hover { background:#fff3e8; }
.eyebrow { font-size:12px; font-weight:500; letter-spacing:.1em; color:#a94a20; margin-bottom:10px; }
.number-label { display:block; font:500 32px/1.2 var(--font-display); color:#ce611f; margin-bottom:18px; }
.photo-card { min-width:0; overflow:hidden; background:#fff; border-radius:22px; border:1px solid var(--line); }
.photo-card > img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.page-staff .photo-card > img { height:285px; object-fit:contain; padding:22px 24px 0; background:#fffbf7; }
.card-copy { padding:28px; }
.text-link { display:inline-flex; align-items:center; gap:20px; color:var(--tel-blue); font-weight:700; font-size:15px; padding-block:10px; border-bottom:1px solid #92bbda; margin-top:18px; }
.text-link:hover { color:#bd4d1a; border-color:currentColor; }
.bullet-list { margin-top:20px; padding-left:21px; list-style:disc; }
.bullet-list li { padding-block:6px; }
.bullet-list li::marker { color:var(--orange); }
.note-panel { padding:24px 28px; border-left:3px solid #82bce2; border-radius:0 14px 14px 0; background:#f1f8fc; margin-top:30px; font-size:14px; }
.note-panel h3 { font-size:18px; margin-bottom:10px; }
.definition-list { border-top:1px solid var(--line); }
.definition-list > div { display:grid; grid-template-columns:200px 1fr; gap:25px; padding:24px 8px; border-bottom:1px solid var(--line); }
.definition-list dt { font-weight:700; color:var(--navy); }
.definition-list dd { margin:0; }
.table-scroll { overflow:auto; max-width:100%; border:1px solid var(--line); border-radius:18px; }
.comparison-table { width:100%; border-collapse:collapse; font-size:15px; text-align:left; }
.comparison-table th,.comparison-table td { padding:22px; vertical-align:top; border-bottom:1px solid var(--line); }
.comparison-table thead { background:var(--sky-3); color:var(--navy); }
.comparison-table tbody th { width:23%; background:#fcfdfe; font-weight:500; }
.comparison-table tr:last-child td,.comparison-table tr:last-child th { border-bottom:0; }
.timeline-list { max-width:900px; margin:auto; }
.timeline-list > li { display:grid; grid-template-columns:72px minmax(0,1fr); gap:26px; position:relative; padding:0 0 40px; }
.timeline-list .step-number { display:flex; width:64px; height:64px; align-items:center; justify-content:center; border:1px solid #f1c6ab; border-radius:50%; background:var(--cream); color:#bd551d; font:500 24px var(--font-display); }
.timeline-list > li > div { border-bottom:1px solid var(--line); padding:8px 0 30px; }
.timeline-list h3 { margin-bottom:12px; }
.timeline-list > li:last-child { padding-bottom:0; }
.timeline-list img { width:200px; border-radius:16px; margin-top:16px; }
.page-cta { padding:60px 0; background:var(--cream); border-top:1px solid #fae8db; }
.page-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.page-cta h2 { color:var(--navy); font:500 36px/1.6 var(--font-display); margin-bottom:14px; }
.page-cta .btn { flex-shrink:0; }
.subpage .footer-nav ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:column; grid-template-rows:repeat(6,auto); gap:12px 16px; font-size:13px; }
.subpage .footer-inner { grid-template-columns:38% 36% 26%; }
.subpage .footer-nav a { font-size:13px; }
.filter-panel { margin-bottom:36px; padding:30px; background:#f4f9fc; border-radius:20px; }
.search-label { display:block; font-weight:700; color:var(--navy); margin-bottom:12px; }
.search-row { display:flex; gap:12px; }
.search-input { min-width:0; flex:1; border:1px solid #b9cedc; border-radius:9px; padding:14px 18px; font:inherit; background:#fff; color:var(--navy); }
.filter-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.filter-chip { border:1px solid #aac5d8; padding:9px 18px; border-radius:30px; background:#fff; color:#285575; font-size:14px; }
.filter-chip[aria-pressed="true"] { background:var(--tel-blue); border-color:var(--tel-blue); color:#fff; }
.filter-chip:hover { border-color:var(--blue); }
.filter-count { font-size:14px; margin:0 0 16px; }
.empty-state { padding:50px 24px; text-align:center; background:#f8fafc; border-radius:18px; }
.faq-stack { max-width:920px; margin:auto; }
.faq-stack .faq-item { margin-bottom:14px; }
.faq-category { color:#6c7483; font-size:12px; font-weight:400; display:block; margin-bottom:8px; }
.faq-stack summary { padding:23px 25px; cursor:pointer; }
.faq-answer { padding:0 26px 26px; line-height:2; }
.news-feed { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.news-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:24px; overflow:hidden; background:#fff; }
.news-card > a { display:flex; flex-direction:column; height:100%; }
.news-card img { width:100%; height:240px; object-fit:cover; transition:opacity .2s; }
.news-card a:hover img { opacity:.85; }
.news-card .card-copy { flex:1; }
.news-meta { display:flex; gap:15px; align-items:center; font-size:12px; color:#58697b; margin-bottom:15px; }
.news-card h2 { font:700 22px/1.65 var(--font-head); color:var(--navy); margin-bottom:16px; }
.article-layout { display:grid; grid-template-columns:minmax(0,760px) 250px; gap:70px; }
.article-body h2 { font:500 29px/1.65 var(--font-display); color:var(--navy); margin:40px 0 20px; }
.article-body p { line-height:2.1; }
.article-body img { width:100%; border-radius:22px; margin-block:30px; }
.article-aside { border-left:1px solid var(--line); padding-left:25px; }
.article-aside h2 { font-size:17px; margin-bottom:18px; color:var(--navy); }
.article-aside a { display:block; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.article-aside a:hover { color:var(--blue); }
.page-contact .page-lead,.contact-layout { font-size:18px; }
.page-contact .container.contact-layout { width:min(91%,780px); }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
.contact-layout > * { min-width:0; }
.contact-window { padding:40px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.contact-layout h2 { font:700 clamp(23px,2.5vw,29px)/1.6 var(--font-head); color:var(--navy); }
.contact-phone-panel { text-align:center; background:var(--cream); }
.contact-phone-panel > p:not(.label),.form-heading p { margin-top:16px; }
.contact-phone-link { flex-direction:column; gap:3px; width:min(100%,390px); min-height:94px; margin-top:24px; }
.contact-phone-link strong { font-size:clamp(26px,3vw,32px); line-height:1.5; white-space:nowrap; }
.contact-phone-link span { font-size:15px; }
.contact-layout .form-availability { margin:24px 0 30px; padding:16px 18px; border-left:3px solid #91bad8; background:#f1f8fc; font-size:16px; line-height:1.8; }
.form-availability a,.contact-form .field-help a { color:var(--tel-blue); text-decoration:underline; text-underline-offset:4px; }
.contact-form fieldset { min-width:0; border:0; padding:0; margin:0; }
.contact-form .form-field + .form-field { margin-top:28px; }
.contact-form .form-field > label { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:10px; color:var(--navy); font-size:18px; font-weight:700; }
.contact-form .required,.contact-form .optional { display:inline-block; padding:2px 9px; border-radius:5px; font-size:13px; line-height:1.7; font-weight:700; white-space:nowrap; vertical-align:middle; }
.contact-form .required { background:#fff0e6; color:#993e15; }
.contact-form .optional { background:#eef3f7; color:#536a7e; }
.contact-form input:not([type="checkbox"]):not([type="radio"]),.contact-form textarea { display:block; width:100%; max-width:100%; min-height:56px; padding:14px 16px; border:1px solid #b9cbda; border-radius:10px; background:#fff; color:var(--navy); font:400 18px/1.6 var(--font-body); }
.contact-form textarea { min-height:190px; resize:vertical; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#61758a; opacity:1; }
.contact-form :disabled { opacity:1; cursor:not-allowed; -webkit-text-fill-color:currentColor; }
.contact-form :is(input,textarea):focus-visible { outline:3px solid #79b7e5; outline-offset:3px; }
.page-contact .contact-form .field-help { font-size:15px; line-height:1.8; margin-top:9px; }
.contact-form .contact-topic-group > legend { padding:0; font-size:18px; line-height:1.8; font-weight:700; color:var(--navy); }
.contact-topic-group .optional { margin-left:10px; }
.topic-options { display:grid; gap:10px; margin-top:14px; }
.topic-option { display:flex; align-items:flex-start; gap:12px; min-height:76px; padding:14px 16px; border:1px solid #b9cbda; border-radius:12px; background:#fff; font-size:18px; color:var(--navy); cursor:pointer; }
.contact-form .topic-option input { flex:0 0 22px; width:22px; height:22px; margin-top:4px; accent-color:var(--blue); }
.topic-copy { min-width:0; }
.topic-title { display:block; font-size:18px; font-weight:700; line-height:1.6; }
.topic-hint { display:block; margin-top:3px; font-size:15px; line-height:1.7; color:var(--navy-soft); }
.topic-option:focus-within { outline:3px solid #79b7e5; outline-offset:3px; }
.topic-option input:checked + .topic-copy .topic-title { color:var(--tel-blue); }
.contact-form fieldset[disabled] .topic-option { cursor:not-allowed; }
.contact-form .form-consent { display:flex; align-items:flex-start; gap:12px; margin-top:32px; }
.contact-form .form-consent input { flex:0 0 22px; width:22px; height:22px; margin-top:5px; accent-color:var(--blue); }
.contact-form .form-consent label { font-size:18px; line-height:1.8; color:var(--navy); }
.contact-form .form-consent .required { margin-left:8px; }
.contact-form .form-actions { margin-top:32px; }
.contact-form .form-actions .btn { width:100%; min-height:60px; font-size:18px; }
.contact-form .btn:disabled { background:#e7eef3; color:#536a7e; box-shadow:none; transform:none; }
.contact-office { padding:8px 8px 0; }
.contact-office > p:not(.label) { margin-top:16px; }
.contact-office .address-part { display:inline-block; }
.contact-related { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:18px; }
.contact-related .text-link { min-height:48px; margin-top:0; font-size:16px; }
.page-contact :is(#contact-window,#form-section) { scroll-margin-top:110px; }
.policy-body { max-width:820px; margin-inline:auto; }
.policy-body h2 { font:500 27px/1.7 var(--font-display); color:var(--navy); margin:36px 0 18px; }
[hidden] { display:none !important; }
@media(min-width:1440px) { .page-hero { padding-block:65px; } }
@media(max-width:1000px) { .page-hero-inner { gap:25px; } .page-hero h1 { font-size:34px; } .split-story { gap:30px; } .content-grid.three { gap:16px; } .info-card,.card-copy { padding:23px; } .article-layout { grid-template-columns:minmax(0,1fr) 210px; gap:35px; } .page-cta-inner { gap:22px; } }
@media(max-width:760px) {
  .subpage .container { width:calc(100% - 40px); }
  .subpage .footer-inner { grid-template-columns:1fr; }
  .subpage .footer-nav a { font-size:14px; }
  .breadcrumb { font-size:11px; padding-block:16px; }
  .page-hero { padding:28px 0 35px; }
  .page-hero-inner { display:flex; flex-direction:column; align-items:stretch; gap:28px; }
  .page-eyebrow { margin-bottom:12px; font-size:11px; }
  .page-name { margin-bottom:14px; font-size:13px; }
  .page-hero h1 { font-size:clamp(26px,7.6vw,37px); line-height:1.65; }
  .page-lead { font-size:16px; line-height:1.95; margin-top:20px; }
  .page-lead br { display:none; }
  .page-hero-photo img { border-radius:24px; }
  .page-section { padding:50px 0; }
  .page-section h3 { font-size:20px; }
  .page-section p,.page-section li,.definition-list dd,.article-body p { font-size:16px; line-height:1.95; }
  .section-heading { margin-bottom:25px; }
  .section-heading h2,.split-story h2 { font-size:27px; text-wrap:balance; }
  .split-story { display:flex; flex-direction:column; gap:25px; align-items:stretch; }
  .split-story.reverse > figure { order:0; }
  .content-grid.two,.content-grid.three,.news-feed { grid-template-columns:1fr; gap:20px; }
  .info-card > img,.photo-card > img,.news-card img { height:auto; aspect-ratio:3/2; object-fit:cover; }
  .page-jumps { padding:20px; gap:8px; justify-content:flex-start; }
  .page-jumps a { display:flex; align-items:center; min-height:44px; font-size:14px; line-height:1.35; padding:9px 16px; }
  .note-panel { padding:20px; font-size:13px; }
  .definition-list > div { grid-template-columns:1fr; gap:8px; padding:20px 0; }
  .comparison-table th,.comparison-table td { padding:14px 12px; font-size:14px; line-height:1.75; }
  .comparison-table tbody th { width:22%; }
  .timeline-list > li { grid-template-columns:46px minmax(0,1fr); gap:15px; padding-bottom:22px; }
  .timeline-list .step-number { width:44px; height:44px; font-size:19px; }
  .timeline-list > li > div { padding-top:5px; }
  .page-cta { padding:45px 0; }
  .page-cta-inner { display:block; }
  .page-cta h2 { font-size:31px; }
  .page-cta .btn { display:flex; margin-top:28px; font-size:15px; }
  .filter-panel { padding:22px 18px; }
  .search-row { flex-wrap:wrap; }
  .search-input { flex-basis:100%; width:100%; padding:12px; font-size:16px; }
  .search-row .btn { padding:10px 22px; font-size:14px; min-height:44px; }
  .filter-chip { min-height:44px; font-size:14px; line-height:1.35; padding:10px 16px; }
  .filter-chips { gap:8px; }
  .faq-stack summary { padding:20px 16px; }
  .faq-answer { padding:0 18px 22px; font-size:16px; line-height:1.95; }
  .article-layout { grid-template-columns:1fr; gap:40px; }
  .article-aside { border-left:0; border-top:1px solid var(--line); padding:25px 0 0; }
  .article-aside a { display:flex; align-items:center; min-height:44px; }
  .article-body h2 { font-size:25px; }
  .page-contact .page-lead,.page-contact .contact-layout p,.page-contact .contact-layout li { font-size:17px; line-height:1.85; }
  .page-contact .container.contact-layout { width:calc(100% - 32px); gap:24px; }
  .contact-window { padding:24px 16px; border-radius:18px; }
  .page-contact .contact-layout .label { font-size:13px; }
  .page-contact .contact-layout .form-availability { font-size:15px; padding:14px; }
  .contact-form input:not([type="checkbox"]):not([type="radio"]),.contact-form textarea { padding:13px 12px; font-size:17px; }
  .topic-option { padding:14px 12px; gap:10px; }
  .contact-office { padding-inline:4px; }
}
@media(prefers-reduced-motion:reduce) { .news-card img { transition:none; } }
