/* per-field theme: green 介護 (default), navy タクシー, pink コンカフェ, teal 医療 */
body.kd{--kd-a:#168848;--kd-ad:#10703a;--kd-t:#eef8f1;--kd-l:#d3e5d9;--kd-s:#f2f9f4}
body.kd-taxi{--kd-a:#1f4e9c;--kd-ad:#173b78;--kd-t:#eef3fb;--kd-l:#d3deef;--kd-s:#f3f6fb}
body.kd-concept-cafe{--kd-a:#c92a6b;--kd-ad:#9f1d52;--kd-t:#fdf0f5;--kd-l:#f2d3e0;--kd-s:#fff6f9}
body.kd-medical{--kd-a:#0a7c86;--kd-ad:#07606a;--kd-t:#eaf6f7;--kd-l:#cfe5e8;--kd-s:#f1f8f9}
/* 介護 demo facilities (/kaigo/demo/). Reuses the ryoiku page components (.rk-*, .pm-*) with the green kaigo theme. */
*{box-sizing:border-box}
body.kd{--rk-ink:#14243a;--rk-muted:#44556a;--rk-accent:var(--kd-a);--rk-accent-dark:var(--kd-ad);--rk-line:var(--kd-l);--rk-tint:var(--kd-t);--rk-soft:var(--kd-s);--rk-shadow:0 1px 2px rgba(20,36,58,.05),0 10px 30px -12px rgba(20,36,58,.18);--pf-ink:#14243a;--pf-muted:#44556a;--pf-accent:var(--kd-a);--pf-accent-dark:var(--kd-ad);--pf-line:var(--kd-l);--pf-tint:var(--kd-t);--pf-soft:var(--kd-s);margin:0;background:#fbfdfb;color:#14243a;font:16px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif}
.kd a{color:var(--kd-ad);text-underline-offset:4px}
.kd .pm{--pm-accent:var(--kd-a);--pm-accent-d:var(--kd-ad);--pm-tint:var(--kd-t);--pm-line:var(--kd-l)}
.kd-skip{position:absolute;left:-9999px}.kd-skip:focus{left:16px;top:8px;background:#fff;padding:8px;z-index:50}
.kd-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:14px max(20px,calc((100% - 1200px)/2));background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #dfe9e2}
.kd-logo{font-size:26px;font-weight:800;letter-spacing:-.04em;text-decoration:none;color:#14243a;white-space:nowrap}.kd-logo b{color:var(--kd-a)}.kd-logo small{font-size:13px;font-weight:700;margin-left:10px;letter-spacing:0;color:#44556a}
.kd-nav{display:flex;gap:6px 22px;flex-wrap:wrap;margin-left:auto}.kd-nav a{font-size:14px;font-weight:700;text-decoration:none;color:#14243a;padding:8px 2px}.kd-nav .kd-cta{background:var(--kd-a);color:#fff;border-radius:999px;padding:9px 18px}
.kd main.shell{max-width:1200px;margin:0 auto;padding:20px 24px 72px}
.kd .breadcrumbs{font-size:13px;color:#5a6b7d;margin:0 0 14px}.kd .breadcrumbs a{color:#44556a}
.kd h1,.kd h2,.kd h3{color:#14243a;line-height:1.45;text-wrap:balance}
.kd-hero{position:relative;border-radius:24px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;background:#dfe9e2;margin:8px 0 28px}
.kd-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.kd-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.82) 38%,rgba(255,255,255,0) 72%)}
.kd-hero>div{position:relative;z-index:1;padding:clamp(24px,4vw,48px);max-width:620px}
.kd-hero .eyeline,.kd-eye{margin:0 0 8px;font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--kd-ad)}
.kd-hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 12px}.kd-hero p{margin:0 0 10px}
.kd-note{margin:14px 0 0;padding:12px 16px;border-radius:12px;background:var(--kd-t);border:1px solid var(--kd-l);font-size:14px}
.kd-actions{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:18px}
.kd-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:999px;background:var(--kd-a);color:#fff!important;font-weight:800;text-decoration:none}
.kd-btn-ghost{background:#fff;color:var(--kd-ad)!important;border:1.5px solid var(--kd-a)}
.kd-section{margin:44px 0 0}.kd-section>h2{font-size:clamp(22px,2.6vw,30px);margin:6px 0 16px}
.kd .region-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.kd .region-tabs[hidden]{display:none}
.kd .region-tabs button{font:inherit;font-size:14px;font-weight:700;min-height:44px;border:1px solid var(--kd-l);border-radius:12px;padding:0 18px;background:#fff;color:#14243a;cursor:pointer}
.kd .region-tabs button[aria-selected=true]{background:var(--kd-a);color:#fff;border-color:var(--kd-a)}
.kd [role=tabpanel]{background:#fff;border:1px solid var(--kd-l);border-radius:18px;padding:8px 18px 18px}.kd [role=tabpanel][hidden]{display:none}.kd [role=tabpanel] h3{margin:14px 0 6px;font-size:16px}
.kd .pref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.kd .pref-grid a{display:flex;justify-content:space-between;gap:10px;padding:14px 16px;border-radius:12px;background:var(--kd-s);text-decoration:none;color:#14243a;font-weight:700}.kd .pref-grid a:hover{background:var(--kd-t)}.kd .pref-grid b{font-size:13px;color:var(--kd-ad)}
.kd-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.kd-example{display:grid;gap:4px;padding:18px;border:1px solid var(--kd-l);border-radius:16px;background:#fff;text-decoration:none;color:#14243a}.kd-example strong{font-size:17px}.kd-example small{color:#44556a}.kd-example em{font-style:normal;font-weight:800;color:var(--kd-ad)}
.kd-tag{display:inline-block;padding:2px 12px;border-radius:999px;background:var(--kd-t);border:1px solid var(--kd-l);font-size:12px;font-weight:800;color:var(--kd-ad);letter-spacing:.08em}
.kd .fine{font-size:13px;color:#5a6b7d}
.kd .rk-table-wrap{overflow-x:auto;border:1px solid var(--kd-l);border-radius:16px;background:#fff;margin:14px 0}.kd .rk-plan-table{width:100%;border-collapse:collapse;min-width:560px}.kd .rk-plan-table th,.kd .rk-plan-table td{padding:12px 14px;border-bottom:1px solid var(--kd-l);text-align:center;font-size:15px}.kd .rk-plan-table thead th{background:var(--kd-s);font-size:14px}.kd .rk-plan-table th[scope=row]{text-align:left;font-weight:700}.kd .rk-plan-table small{display:block;font-weight:400;color:#5a6b7d}
.kd .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kd-staff{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.kd-person{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:16px;border:1px solid var(--kd-l);border-radius:16px;background:#fff}.kd-person img{width:96px;height:128px;object-fit:cover;object-position:50% 20%;border-radius:12px}.kd-person h3{margin:0;font-size:17px}.kd-person p{margin:4px 0;font-size:14px}
.kd-qa details{border:1px solid var(--kd-l);border-radius:12px;background:#fff;margin:0 0 8px;padding:0 16px}.kd-qa summary{cursor:pointer;font-weight:700;padding:14px 0}.kd-qa p{margin:0 0 14px}
.kd-foot{margin-top:56px;padding:28px 20px;text-align:center;font-size:13px;border-top:1px solid #dfe9e2;color:#5a6b7d}
@media(max-width:760px){.kd-header{flex-wrap:wrap;padding:10px 16px}.kd-nav{margin-left:0;width:100%;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.kd main.shell{padding:14px 16px 56px}.kd-hero::after{background:linear-gradient(0deg,rgba(255,255,255,.96) 0,rgba(255,255,255,.88) 58%,rgba(255,255,255,.1) 100%)}.kd-hero{min-height:380px}.kd-person{grid-template-columns:80px 1fr}.kd-person img{width:80px;height:108px}}
.kd .rk-fac-photo img{object-position:50% 22%}
.kd .pm-hero-photo img,.kd .pm-fig img,.kd .rk-main img{object-position:50% 24%}
.kd .rk-fac .rk-tags{max-height:5.4em}
.kd .rk-blurb{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 10px;font-size:14px;line-height:1.8;color:var(--rk-muted)}
.kd .rk-more{display:inline-block;margin-top:10px;font-weight:800;font-size:14px;color:var(--rk-accent-dark);text-decoration:none}
.kd .rk-fac-body h3{font-size:17px}
.kd .rk-fac .rk-tags li{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kd .rk-fac.is-featured .rk-fac-photo{height:196px}
@media(max-width:760px){.kd .rk-fac.is-featured .rk-fac-photo{height:auto}}
@media(max-width:760px){.kd .rk-fac .rk-tags{max-height:none}}
