:root{--ink:#49343d;--brand:#c7466b;--brand-dark:#83324d;--surface-pink:#fff0f3;--surface-warm:#fff8f6;--line:#efd9df;--gold:#b78222;--cta:#c34266;--muted:#76616a;--heading-bg:#c7466b;--heading-start:#c04467;--heading-text:#ffffff;--heading-border:#b33f60;--heading-shadow:#f2d3db;--heading-decoration:#ffffff40;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;color:var(--ink);background:var(--surface-warm)}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cta);outline-offset:3px}button{touch-action:manipulation}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,h4{margin:0}button:disabled{cursor:default}.article{max-width:800px;margin:auto;background:#fff;overflow:clip}.hero{font-size:inherit;line-height:0}.hero img{width:100%;aspect-ratio:1659/948}.article-body{padding:20px 24px 40px}h2{position:relative;font-size:1.25rem;line-height:1.65;letter-spacing:.02em;border:1px solid var(--heading-border);padding:17px 20px;background:linear-gradient(115deg,var(--heading-start),var(--heading-bg));border-radius:12px 12px 12px 3px;color:var(--heading-text);box-shadow:0 4px 0 var(--heading-shadow);overflow:hidden}h2:before{content:"";position:absolute;right:-14px;top:-24px;width:64px;height:64px;border:1px solid var(--heading-decoration);border-radius:50%;pointer-events:none}h2:after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:1px;background:var(--heading-decoration);pointer-events:none}
.advice{display:flex;align-items:center;gap:14px;margin:22px 0}.advice p{position:relative;flex:1;min-width:0;background:#fff3f5;border:1px solid #f3dce3;border-radius:10px;padding:16px 18px;font-size:1rem;line-height:1.85}.advice p:after{content:"";position:absolute;right:-6px;top:28px;width:10px;height:10px;background:inherit;border-top:1px solid #f3dce3;border-right:1px solid #f3dce3;transform:rotate(45deg)}.advice img{width:104px;height:140px;object-fit:cover;object-position:56% center;flex:0 0 104px;margin-top:6px}.advice-warm p{background:var(--surface-warm);border-color:#f0dfd8}.advice-warm p:after{border-color:#f0dfd8}
.scroll-hint{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:.8125rem;color:var(--muted);margin:0 2px 8px}.scroll-hint span{font-size:1.3rem;line-height:1}.comparison-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:9px;scrollbar-color:#d99bae #fff0f4;scrollbar-width:thin}.comparison{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1188px;text-align:center;font-size:.875rem;line-height:1.65}.agent-col{width:128px}.score-col{width:92px}.point-col{width:150px}.contact-col{width:124px}.search-col{width:140px}.area-col{width:106px}.comparison th,.comparison td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 6px}.comparison thead th{background:#fbe4eb;color:var(--brand-dark);font-weight:700;padding:12px 4px;white-space:nowrap}.comparison tr>*:last-child{border-right:0}.comparison tbody tr:last-child>*{border-bottom:0}.comparison tr>th:first-child{position:sticky;left:0;z-index:2;box-shadow:2px 0 0 rgba(199,70,107,.08);background:#fff}.comparison thead tr>th:first-child{background:#fbe4eb;z-index:3}.comparison tbody th{font-weight:500}.comparison small{display:block;font-size:.75rem;line-height:1.6;white-space:nowrap;margin-top:2px}.comparison .rating{background:#fff9f1}.rating strong{display:block;font-size:1.25rem;line-height:1.4;font-weight:650;margin-top:4px}.stars{position:relative;display:inline-block;color:#dedbd0;font-size:.9rem;letter-spacing:-1.2px;white-space:nowrap;line-height:1.2}.stars:after{content:"★★★★★";position:absolute;left:0;top:0;width:var(--rating);overflow:hidden;color:var(--gold)}.service{border:0;background:transparent;color:var(--brand-dark);padding:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;font-weight:600;line-height:1.5;font-size:.875rem}.service>span:last-child{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#dca7b7}.service:hover>span:last-child{color:var(--cta)}.service img{width:106px;max-height:34px;object-fit:contain}.rank{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:1rem;font-weight:750;line-height:1;background:var(--gold)}.rank-2{background:#8b7b87}.rank-3{background:#b87548}.mark{display:block;font-size:2rem;line-height:1.1;color:#bc5879;margin-bottom:6px;font-weight:400}.mark.best{color:#b28331}.mark.triangle{color:#a18a46}.comparison .positive{background:#fff2f5}.cell-link{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--brand);font-size:inherit;line-height:inherit;min-height:66px}.cell-link:hover{color:var(--cta)}.intro-copy{margin:23px 0 20px;font-size:1rem;line-height:1.95}.intro-copy p+p{margin-top:18px}.text-link{display:inline;border:0;background:transparent;padding:0;color:var(--brand);text-decoration:underline;text-underline-offset:3px;line-height:inherit;text-align:left}.text-link:hover{color:var(--cta)}
.jobs-section{margin-top:30px}.jobs-heading{display:flex;align-items:center;justify-content:center;gap:13px;font-size:1.125rem;letter-spacing:.03em;color:var(--brand-dark);margin-bottom:18px;text-decoration:underline;text-decoration-color:#f5d1dd;text-decoration-thickness:5px;text-underline-offset:4px;text-decoration-skip-ink:none}.jobs-heading:before,.jobs-heading:after{content:"";display:block;width:23px;height:1px;background:#ce7894;transform:rotate(56deg)}.jobs-heading:after{transform:rotate(-56deg)}.jobs-carousel{position:relative;padding:16px;background:var(--surface-warm);border-radius:12px}.jobs-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#e0b0c0 transparent}.job-card{flex:0 0 calc((100% - 24px)/3);min-width:0;background:#fff;border:1px solid #f0dce1;border-radius:9px;overflow:hidden;display:flex;flex-direction:column;padding-bottom:12px;scroll-snap-align:start}.job-card>img{aspect-ratio:1.5;object-fit:cover;width:100%}.job-card h4{font-size:.875rem;line-height:1.6;padding:12px 9px 0;font-weight:700;min-height:56px}.job-tags{font-size:.75rem;line-height:1.65;color:var(--muted);display:flex;gap:2px 6px;flex-wrap:wrap;padding:6px 12px 12px;flex:1}.job-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:white;background:var(--cta);border:1px solid #b8375d;border-radius:7px;font-size:.9375rem;font-weight:650;margin:0 10px;padding:9px 6px;box-shadow:0 2px 0 #a52b50}.job-button:hover{background:#b6375d}.job-button:active{transform:translateY(1px);box-shadow:0 1px 0 #a52b50}.job-note{font-size:.75rem;color:var(--muted);text-align:center;margin-top:10px}.carousel-arrow{position:absolute;top:40%;z-index:2;width:36px;height:44px;border:1px solid #eed4dd;border-radius:6px;background:rgba(255,255,255,.97);color:var(--brand-dark);font-size:1.9rem;line-height:1;box-shadow:0 2px 8px #93445e14}.carousel-arrow.previous{left:1px}.carousel-arrow.next{right:1px}.carousel-arrow:disabled{opacity:.35}.carousel-arrow[hidden]{display:none}
.prefecture-section{margin-top:36px}.prefecture-question{position:relative;width:fit-content;max-width:100%;margin:0 auto;padding:13px 18px;border:1px solid #e8d9ca;border-radius:16px;background:#fffaf2;color:#795845;font-size:1rem;font-weight:600;line-height:1.8;text-align:center}.prefecture-question:after{content:"";position:absolute;left:32px;bottom:-7px;width:12px;height:12px;border-right:1px solid #e8d9ca;border-bottom:1px solid #e8d9ca;background:#fffaf2;transform:rotate(45deg)}.prefecture-panel{border:1px solid var(--heading-border);border-radius:12px;overflow:hidden;background:#fff}.prefecture-title{position:relative;padding:17px 20px;background:linear-gradient(115deg,var(--heading-start),var(--heading-bg));border-bottom:1px solid var(--heading-border);color:var(--heading-text);font-size:1rem;font-weight:700;line-height:1.8;text-shadow:var(--heading-text-shadow,none)}.prefecture-title:before{content:"";position:absolute;left:18px;right:18px;bottom:8px;height:1px;background:var(--heading-decoration);pointer-events:none}.prefecture-guide-copy{display:block}.prefecture-guide-copy strong{color:inherit;font-weight:750}.prefecture-title .prefecture-time{display:inline-flex;align-items:center;min-height:26px;margin-top:8px;padding:2px 8px;border:1px solid #e4aebe;border-radius:999px;background:#fff;color:#843750;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap;text-shadow:none}.region{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px;background:#fff;align-items:start}.region+.region{border-top:1px solid #f3e1e6}.region h3{font-size:.875rem;line-height:1.7;color:var(--brand-dark);padding:10px 2px}.prefecture-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.prefecture-buttons button{min-height:44px;border:1px solid #e5b8c7;border-radius:6px;background:#fff5f7;padding:7px 3px;font-size:.9375rem;font-weight:600;color:var(--brand-dark);display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.prefecture-buttons button:after{content:"›";color:#b36b84;font-size:1.1rem}.prefecture-buttons button:hover{background:#fce4ec;border-color:#cd7b96}.prefecture-buttons button:active{background:#f8d5e1}.preview-toast{position:fixed;bottom:16px;left:16px;right:16px;z-index:20;max-width:620px;margin:auto;padding:12px 16px;background:#64384b;color:#fff;border-radius:8px;font-size:.875rem;line-height:1.6;box-shadow:0 6px 24px #78354c26}.preview-toast[hidden]{display:none}
@media(max-width:650px){.article-body{padding:16px 16px 28px}h2{font-size:1.0625rem;padding:13px 13px;line-height:1.7}.advice{margin:20px 0;gap:11px;align-items:flex-start}.advice p{font-size:.9375rem;padding:13px 13px;line-height:1.8}.advice img{width:84px;height:116px;flex-basis:84px;margin-top:6px}.comparison .agent-col{width:118px}.comparison{min-width:1178px}.comparison th,.comparison td{padding-top:13px;padding-bottom:13px}.service img{width:99px}.intro-copy{line-height:1.9}.jobs-section{margin-top:26px}.jobs-heading{font-size:1.0625rem;gap:8px}.jobs-carousel{padding:12px}.jobs-track{gap:12px;padding-bottom:5px}.job-card{flex-basis:85%}.job-card h4{font-size:1rem;padding:14px 13px 0;min-height:0}.job-tags{font-size:.875rem;padding:8px 14px 16px}.job-button{margin:0 14px;min-height:46px;font-size:1rem}.job-note{font-size:.8125rem}.prefecture-section{margin-top:30px}.prefecture-question{padding:12px 15px;font-size:.9375rem}.prefecture-title{padding:15px 14px;font-size:.9375rem}.region{display:block;padding:12px}.region h3{padding:0 0 9px;font-size:.875rem}.prefecture-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.prefecture-buttons button{font-size:.9375rem;min-height:46px;padding:8px 2px;gap:3px}}
@media(max-width:350px){.article-body{padding-inline:12px}.prefecture-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.job-card{flex-basis:91%}.jobs-heading{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Comparison actions and a restrained highlight for the existing first-ranked service. */
.job-count-col{width:180px}.reviews-col,.official-col{width:134px}
/* Crown outline is from the locally bundled Lucide icon set. */
.comparison .rank{position:relative;display:block;width:50px;height:36px;border-radius:0;background:transparent;line-height:1;--crown-stroke:#b29454;color:#6e501e}
.rank-crown{display:block;width:50px;height:36px;stroke:var(--crown-stroke);stroke-width:.6;stroke-linejoin:round;overflow:visible;filter:drop-shadow(0 1px .4px #6f4a1d14)}.crown-edge-light{stroke:#fffaf0;stroke-width:.22;opacity:.7}
.rank-label{position:absolute;top:20px;left:0;right:0;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:12px;line-height:14px;font-weight:700;letter-spacing:-.04em;text-align:center;text-shadow:0 1px 0 #fff7e780}
.comparison .rank-2{--crown-stroke:#a39aa9;color:#585260}
.comparison .rank-3{--crown-stroke:#b38e6d;color:#73513b}
.comparison .rank-first>*{background:#fff7f9;box-shadow:inset 0 2px #d4a0b0,inset 0 -2px #d4a0b0}
.comparison .rank-first>th:first-child{background:#fff7f9;box-shadow:inset 2px 0 #d4a0b0,inset 0 2px #d4a0b0,inset 0 -2px #d4a0b0,2px 0 0 #c7466b12}
.comparison .rank-first>*:last-child{box-shadow:inset -2px 0 #d4a0b0,inset 0 2px #d4a0b0,inset 0 -2px #d4a0b0}
.comparison .rank-first .rating{background:#fff4f6}.rank-first .rating strong{color:#9c4561}
.comparison .rank-first .positive{background:#fff7f9}
.comparison .action-cell,.comparison .job-count-cell{padding:16px 8px;vertical-align:top}
.review-button,.official-button,.job-count-button{display:flex;align-items:center;justify-content:center;gap:6px;width:116px;max-width:100%;height:44px;min-height:44px;flex:0 0 auto;margin:0 auto;padding:9px 5px;border-radius:7px;white-space:nowrap;font-size:.875rem;line-height:1.4;font-weight:650}
.review-button{background:#fff;border:1px solid #d6a5b6;color:#843750}
.review-button:hover{background:#fff0f4;border-color:#b86b88}
.official-button{background:#c34266;border:1px solid #b8375d;box-shadow:0 2px 0 #a52b50;color:#fff}
.official-button:hover{background:#b6375d}.official-button:active{transform:translateY(1px);box-shadow:0 1px 0 #a52b50}
.official-button span{font-size:1rem}
/* Original counts and notes; aligned actions with a compact count label below every button. */
.comparison .job-count-cell{padding-inline:12px}
.job-count-content{display:flex;flex-direction:column;align-items:center;gap:8px}
.job-count-value{display:inline-block;padding:2px 8px;border:1px solid #eadfd4;border-radius:5px;background:#faf6f0;color:#72543e;font-size:.8125rem;font-weight:500;line-height:1.5;white-space:nowrap}.job-count-value strong{font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums}
.job-count-notes{display:grid;gap:4px;width:100%;margin:0}
.comparison .job-count-note{margin:0;font-size:.75rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere;color:#76616a}
/* Compact the two longer Levwell source notes without changing the aligned button row. */
.comparison .job-count-cell--compact .job-count-content{gap:5px}
.comparison .job-count-cell--compact .job-count-notes{gap:2px}
.comparison .job-count-cell--compact .job-count-note{font-size:.625rem;line-height:1.35}
.comparison .contact-note{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.job-count-button{border:1px solid transparent;background:#5ed735;color:#fff;box-shadow:0 2px 0 #469f28}
.job-count-button:hover{background:#51c92b}.job-count-button:active{box-shadow:0 1px 4px #34452f24}
.point-icon{display:flex;align-items:center;justify-content:center;width:34px;height:32px;margin:0 auto 7px;border-radius:9px;background:#fae9ef;color:#ad5c7b}
.point-icon svg{display:block;flex-shrink:0}
h2{text-shadow:var(--heading-text-shadow,none)}
#ranking-heading{display:grid;justify-items:center;gap:7px;padding:19px 12px 21px;text-align:center;letter-spacing:0}
#ranking-heading .ranking-kicker{display:inline-flex;align-items:center;gap:10px;font-size:inherit;font-weight:600;line-height:1.5}
#ranking-heading .ranking-kicker:before,#ranking-heading .ranking-kicker:after{content:"";width:1.5px;height:1.1em;background:currentColor;border-radius:2px;opacity:.7;flex-shrink:0}
#ranking-heading .ranking-kicker:before{transform:rotate(-24deg)}
#ranking-heading .ranking-kicker:after{transform:rotate(24deg)}
#ranking-heading .ranking-title{display:flex;flex-wrap:wrap;justify-content:center;font-size:inherit;font-weight:800;line-height:1.55}
#ranking-heading .ranking-title>span{white-space:nowrap}
#ranking-heading .ranking-top{font-weight:900}
@media(max-width:350px){#ranking-heading{padding-inline:6px}}
.official-button,.job-count-button,.job-button,.review-button,.prefecture-buttons button{position:relative;overflow:hidden;isolation:isolate}
.official-button,.job-count-button,.job-button{transform-origin:center 80%}
.official-button:after,.job-count-button:after,.job-button:after,.review-button:after,.prefecture-buttons button:before{content:"";position:absolute;top:-30%;left:-60%;width:35%;height:160%;background:linear-gradient(100deg,transparent,#ffffff70,transparent);transform:translateX(0) skewX(-18deg);opacity:0;pointer-events:none;z-index:1}
@keyframes cta-nudge{0%,5%,15%,100%{transform:rotate(0)}7%{transform:rotate(-1.1deg)}9%{transform:rotate(1.1deg)}11%{transform:rotate(-.65deg)}13%{transform:rotate(.65deg)}}
@keyframes cta-glint{0%,12%{transform:translateX(0) skewX(-18deg);opacity:0}14%{opacity:.8}36%{transform:translateX(490%) skewX(-18deg);opacity:0}100%{transform:translateX(490%) skewX(-18deg);opacity:0}}
@keyframes glint-once{0%{transform:translateX(0) skewX(-18deg);opacity:0}12%{opacity:.65}100%{transform:translateX(490%) skewX(-18deg);opacity:0}}
@media(prefers-reduced-motion:no-preference){
  .official-button,.job-count-button,.job-button{animation:cta-nudge 8s ease-in-out var(--motion-delay,0s) infinite}
  .official-button:after,.job-count-button:after,.job-button:after{animation:cta-glint 4s ease-in-out var(--motion-delay,0s) infinite}
  .comparison tbody tr:nth-child(2) :is(.official-button,.job-count-button){--motion-delay:.6s}.comparison tbody tr:nth-child(3) :is(.official-button,.job-count-button){--motion-delay:1.2s}.comparison tbody tr:nth-child(4) :is(.official-button,.job-count-button){--motion-delay:1.8s}.comparison tbody tr:nth-child(5) :is(.official-button,.job-count-button){--motion-delay:2.4s}.comparison tbody tr:nth-child(6) :is(.official-button,.job-count-button){--motion-delay:3s}
  .job-card:nth-child(2) .job-button{--motion-delay:.8s}.job-card:nth-child(3) .job-button{--motion-delay:1.6s}
  .official-button:is(:hover,:focus-visible,:active),.job-count-button:is(:hover,:focus-visible,:active),.job-button:is(:hover,:focus-visible,:active){animation:none;transform:none}
  .review-button:is(:hover,:focus-visible):after,.prefecture-buttons button:is(:hover,:focus-visible):before{animation:glint-once .8s ease-out both}
}
@media(prefers-reduced-motion:reduce){.official-button,.job-count-button,.job-button{animation:none}.official-button:after,.job-count-button:after,.job-button:after,.review-button:after,.prefecture-buttons button:before{display:none}}
@media print{.official-button,.job-count-button,.job-button{animation:none}.official-button:after,.job-count-button:after,.job-button:after{display:none}}
