.kagi-home { --kh-ink:#17394f; --kh-blue:#176aa1; --kh-line:#d6e2eb; color:var(--kh-ink); font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; line-height:1.75; background:#fff; }
.kh-wrap { width:min(1080px,calc(100% - 48px)); margin:auto; }
.kh-hero { padding:44px 0 20px; background:linear-gradient(160deg,#eef5f9 25%,#f8fbfd); border-bottom:1px solid var(--kh-line); }
.kh-eyebrow { margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.11em; color:var(--kh-blue); }
.kh-hero h1 { margin:0; font-size:clamp(28px,3.4vw,42px); line-height:1.5; letter-spacing:.035em; }
.kh-service { white-space:nowrap; }
.kh-lead { margin:16px 0 28px; color:#506979; font-size:15px; }
.kh-hero-heading { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:center; gap:24px; }
.kh-hero-visual { display:block; overflow:hidden; border-radius:12px; }
.kh-hero-visual img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.kh-entry-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:20px; }
.kh-urgent { position:relative; padding:26px 30px; border:1px solid #b8d2c6; border-top:4px solid #17764a; border-radius:12px; background:#fff; }
.kh-label { color:#17764a; font-size:13px; font-weight:700; }
.kh-urgent h2 { margin:5px 0 4px; font-size:28px; letter-spacing:.025em; }
.kh-urgent p { margin:0 0 19px; font-size:14px; color:#506979; }
.kh-primary { display:flex; align-items:center; justify-content:center; gap:9px; padding:15px 10px; background:#17764a; border:1px solid #17764a; color:#fff; border-radius:7px; font-size:17px; font-weight:700; text-decoration:none; }
.kh-primary:hover { background:#105d39; color:#fff; }
.kh-primary svg { width:20px; height:20px; }
.kh-primary>span { margin-left:auto; }
.kh-note { display:block; text-align:center; font-size:12px; color:#506979; margin-top:7px; }
.kh-region-link { display:block; text-align:center; margin:12px 0 0; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.kh-compare { display:grid; gap:14px; }
.kh-intent-card { display:flex; align-items:center; gap:18px; padding:20px 22px; border:1px solid #c7dbe9; border-radius:12px; background:#fff; color:var(--kh-ink); text-decoration:none; }
.kh-intent-card:hover { background:#f2f8fc; border-color:var(--kh-blue); }
.kh-intent-card small { display:block; color:var(--kh-blue); font-size:12px; }
.kh-intent-card strong { display:block; margin:2px 0 6px; font-size:23px; }
.kh-intent-card span>span { font-size:13px; color:#506979; }
.kh-intent-card b { margin-left:auto; font-size:22px; color:var(--kh-blue); }
.kh-other { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; padding:20px 0 0; font-size:13px; }
.kh-other>span { color:#617583; }
.kh-other a { padding:5px 15px; border-radius:5px; background:#fff; border:1px solid var(--kh-line); font-weight:700; }
.kh-region { padding-top:42px; padding-bottom:42px; scroll-margin-top:85px; }
.kh-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:23px; }
.kh-section-heading h2 { font-size:25px; line-height:1.5; margin:0; }
.kh-section-heading p:not(.kh-eyebrow) { font-size:13px; color:#607687; margin:0; }
.kh-section-heading .kh-eyebrow { margin-bottom:5px; font-size:11px; }
.kh-section-heading>a { font-size:14px; font-weight:700; white-space:nowrap; }
.kh-search { display:grid; grid-template-columns:1fr 1fr auto; gap:16px; padding:20px; background:#eef4f8; border-radius:8px; align-items:end; }
.kh-search label>span { display:block; font-weight:700; font-size:12px; margin-bottom:6px; }
.kh-search select { width:100%; min-height:48px; border:1px solid #b7cbd9; border-radius:5px; background:#fff; padding:10px 13px; color:var(--kh-ink); font-size:16px; }
.kh-search button { min-height:48px; padding:11px 27px; background:var(--kh-blue); color:#fff; border:0; border-radius:5px; font-size:15px; font-weight:700; cursor:pointer; }
.kh-search button span { padding-left:10px; }
.kh-regions { margin-top:23px; }
.kh-regions summary { cursor:pointer; font-size:14px; font-weight:700; padding:6px 0 14px; }
.kh-region-list>div { display:grid; grid-template-columns:88px 1fr; padding:13px 0; border-bottom:1px solid #e4ebf0; align-items:baseline; }
.kh-region-list h3 { margin:0; font-size:13px; }
.kh-region-list ul { display:flex; flex-wrap:wrap; gap:9px 23px; margin:0; padding:0; list-style:none; font-size:14px; }
.kh-region-list a { display:block; padding:3px 0; text-decoration:underline; text-underline-offset:4px; }
.kh-guide { background:#f1f5f8; padding:38px 0; }
.kh-checklist { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; list-style:none; padding:0; margin:26px 0 0; }
.kh-checklist li+li { border-left:1px solid #ccdce7; padding-left:26px; }
.kh-checklist li>span { color:#5484a5; font-size:12px; font-weight:700; }
.kh-checklist h3 { margin:4px 0 10px; font-size:18px; }
.kh-checklist p { font-size:13px; color:#526b7b; line-height:1.9; margin:0; }
.kh-articles { padding-top:40px; }
.kh-articles ul { padding:0; margin:0; list-style:none; }
.kh-articles li { border-bottom:1px solid var(--kh-line); display:flex; gap:20px; justify-content:space-between; padding:16px 0; }
.kh-articles a { font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.kh-about { padding-top:38px; padding-bottom:40px; }
.kh-about h2 { font-size:19px; }
.kh-about p { max-width:800px; font-size:13px; color:#526b7b; }
.kh-about nav { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.kagi-home a:focus-visible,.kagi-home button:focus-visible,.kagi-home select:focus-visible,.kagi-home summary:focus-visible { outline:3px solid #217abb; outline-offset:4px; }
@media(max-width:700px) {
  .kh-wrap { width:calc(100% - 32px); }
  .kh-hero { padding-top:25px; }.kh-eyebrow { font-size:12px; }
  .kh-hero h1 { font-size:27px; letter-spacing:0; }.kh-desktop-break { display:none; }
  .kh-hero-heading { grid-template-columns:minmax(0,1fr) 88px; gap:12px; }
  .kh-hero-heading .kh-eyebrow { font-size:11px; letter-spacing:0; }
  .kh-hero-heading h1 { font-size:24px; }
  .kh-hero-visual img { aspect-ratio:1; object-position:80% center; }
  .kh-lead { font-size:13px; margin:12px 0 22px; }
  .kh-entry-grid { grid-template-columns:1fr; gap:12px; }
  .kh-urgent { padding:18px; }.kh-urgent h2 { font-size:25px; }.kh-urgent p { font-size:12px; margin-bottom:14px; }
  .kh-primary { font-size:15px; padding:14px 10px; }.kh-note { font-size:11px; }
  .kh-compare { gap:10px; }.kh-intent-card { padding:15px 16px; gap:12px; }
  .kh-intent-card strong { font-size:21px; margin:1px 0 3px; }.kh-intent-card span>span { font-size:11px; }
  .kh-other { gap:10px; font-size:12px; }.kh-other a { padding:5px 12px; }
  .kh-region { padding-top:30px; padding-bottom:30px; }.kh-section-heading { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:17px; }
  .kh-section-heading h2 { font-size:22px; }.kh-section-heading p:not(.kh-eyebrow) { font-size:12px; }
  .kh-search { grid-template-columns:1fr; gap:13px; padding:17px; }.kh-search button { margin-top:3px; }
  .kh-region-list>div { grid-template-columns:54px 1fr; gap:10px; padding:12px 0; }
  .kh-region-list ul { gap:5px 17px; font-size:13px; }
  .kh-guide { padding:28px 0; }.kh-checklist { grid-template-columns:1fr; gap:20px; margin-top:20px; }
  .kh-checklist li+li { border-left:0; padding-left:0; border-top:1px solid #ccdce7; padding-top:18px; }
  .kh-checklist h3 { font-size:17px; }.kh-articles { padding-top:28px; }.kh-about { padding-top:28px; padding-bottom:30px; }
}
