@charset "utf-8";
:root{color-scheme:light;--ink:#172c31;--muted:#54676b;--paper:#f5f4ee;--surface:#fff;--line:#ccd8d6;--accent:#08776e;--accent-strong:#045d57;--accent-soft:#e1f1ed;--rust:#a64d35;--shadow:0 16px 42px rgba(20,45,48,.10);font-family:ui-sans-serif,system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);line-height:1.75}a{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,ul,ol,figure{margin-top:0}h1,h2,h3{line-height:1.35;letter-spacing:.01em}h1{font-size:clamp(2rem,4.3vw,4.1rem);max-width:17em;margin:.25em 0 .5em}h2{font-size:clamp(1.55rem,2.5vw,2.3rem);margin-bottom:.6em}h3{font-size:1.2rem;margin-bottom:.55em}p{max-width:72ch}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:none;color:var(--accent-strong);margin-bottom:.7rem}.site-header,.compare-header{max-width:1200px;margin:auto;padding:18px 28px 0}.head-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.brand-slot{min-width:0}.wordmark{display:inline-flex;flex-direction:column;text-decoration:none;font-weight:850;font-size:1.05rem;line-height:1.2}.wordmark small{font-size:.7rem;font-weight:650;letter-spacing:.08em}.booking{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.1rem;border:1px solid var(--accent-strong);border-radius:999px;background:var(--accent-strong);color:#fff;text-decoration:none;font-size:.9rem;font-weight:750;line-height:1.35;text-align:center}.booking:hover,.booking:focus-visible{background:#033f3b}.main-nav{display:flex;gap:8px;align-items:center;padding:14px 0 12px;border-bottom:1px solid var(--line)}.main-nav a{display:inline-flex;justify-content:center;padding:.35rem .75rem;border-radius:7px;text-decoration:none;font-size:.9rem;font-weight:700}.main-nav a:hover,.main-nav a:focus-visible{background:var(--accent-soft);outline:2px solid transparent}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:.5rem;z-index:5}.skip:focus{top:10px}.variant-main,.compare-main{max-width:1200px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(24px,5vw,72px);align-items:center;padding:64px 0 52px}.hero-a .hero-copy{padding:18px 0}.hero-a .hero-image{transform:rotate(1.2deg)}.hero-b{grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr)}.hero-b .hero-image{order:-1;transform:rotate(-1deg)}.hero-image{margin:0;background:#e4e7dd;border-radius:10px;padding:12px;box-shadow:var(--shadow)}.hero-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}.hero-image figcaption,.compare-card figcaption{font-size:.75rem;color:var(--muted);padding:.35rem .2rem 0}.primary-link,.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:6px;font-weight:800}.primary-link{padding:.68rem 1rem;background:var(--accent-strong);color:#fff;text-decoration:none}.primary-link:hover,.primary-link:focus-visible{background:#033f3b}.text-link{color:var(--accent-strong);text-decoration-thickness:1px;text-underline-offset:4px}.section{padding:48px 0;border-top:1px solid var(--line)}.section-heading{margin-bottom:24px}.section-heading .eyebrow{margin-bottom:.35rem}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.theme-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 8px 24px rgba(20,45,48,.04)}.theme-number{color:var(--accent);font-size:.8rem;font-weight:850;letter-spacing:.12em;margin-bottom:.25rem}.theme-card ul{padding-left:1.1rem;margin-bottom:0}.theme-card li{padding:.5rem 0}.theme-card li strong,.theme-card li span{display:block}.theme-card li strong{margin-bottom:.15rem}.theme-card li span{color:var(--muted);font-size:.94rem}.theme-start{border-top:4px solid #16897e}.theme-change{border-top:4px solid #5e8091}.theme-inherit{border-top:4px solid #b17140}.theme-business{border-top:4px solid #334b57}.form-categories{background:#e8efeb;padding:36px;border:0;border-radius:12px;margin-top:34px}.category-chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none}.category-chips li{border:1px solid #8ea9a1;background:#fff;border-radius:99px;padding:.4rem .9rem;font-weight:750}.category-note{color:var(--muted);font-size:.9rem}.profile{margin-top:34px}.profile-note{padding:16px 18px;border-left:4px solid var(--rust);background:#fff9f4}.location address{font-style:normal;font-weight:800;margin-bottom:10px}.response-note{color:var(--muted);font-size:.92rem}.variant-b{--accent:#97492f;--accent-strong:#71321f;--accent-soft:#f3e7de;--line:#d8cfc7;--paper:#f5f1ec}.variant-b .main-nav{border-bottom:2px solid #a36c52}.variant-b .form-categories{background:#eee3db}.variant-b .primary-link{background:#71321f}.mapping-section{padding-top:56px}.lead{max-width:68ch;color:var(--muted)}.mapping-list{list-style:none;padding:0;margin:28px 0 18px;border-top:1px solid var(--line)}.map-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:24px;padding:20px 12px;border-bottom:1px solid var(--line);align-items:center}.map-row:nth-child(even){background:rgba(255,255,255,.55)}.map-service p{margin-bottom:0;color:var(--muted)}.map-category{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#fff;border-left:4px solid var(--accent);border-radius:4px}.map-label{font-size:.72rem;font-weight:800;letter-spacing:.07em;color:var(--muted)}.map-category strong{font-size:.97rem}.mapping-note{padding:13px 16px;background:#f7ebe2;border-radius:5px;color:#503b32;font-size:.9rem}.site-footer,.compare-footer{max-width:1200px;margin:30px auto 0;padding:24px 28px 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.footer-name{display:flex;flex-direction:column;line-height:1.5}.footer-name span{font-size:.82rem;color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;max-width:610px}.footer-links a:not(.booking),.compare-footer>span{font-size:.88rem;font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}.compare-main{padding-bottom:12px}.compare-hero{max-width:830px;padding:70px 0 42px}.compare-hero h1{max-width:16em}.compare-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:46px}.compare-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr)}.compare-card figure{margin:0;background:#e8ebe5;padding:14px;display:flex;flex-direction:column;justify-content:center}.compare-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px}.card-copy{padding:24px 22px}.card-copy h2{font-size:1.38rem}.card-copy .eyebrow{margin-bottom:.35rem}.card-link{display:inline-flex;align-items:center;gap:12px;color:var(--accent-strong);font-weight:850;text-decoration:none;border-bottom:1px solid currentColor;padding:.35rem 0}.compare-b .card-link{color:#71321f}.compare-footer{align-items:center;margin-top:0}.compare-footer .booking{max-width:320px}
a:focus-visible{outline:3px solid #e6a64b;outline-offset:3px}
@media(max-width:900px){.compare-cards{grid-template-columns:1fr}.compare-card{grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr)}.map-row{grid-template-columns:minmax(0,1fr) minmax(220px,.75fr)}}
@media(max-width:760px){.site-header,.compare-header{padding:14px 18px 0}.head-row{align-items:stretch;flex-direction:column;gap:12px}.wordmark{font-size:1rem}.head-row .booking{width:100%;white-space:normal;overflow-wrap:anywhere}.main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:12px 0}.main-nav a{min-width:0;text-align:center;background:rgba(255,255,255,.55);padding:.45rem .4rem}.variant-main,.compare-main{padding-left:18px;padding-right:18px}.hero,.hero-b{grid-template-columns:1fr;gap:20px;padding:40px 0}.hero-b .hero-image{order:0}.hero h1{font-size:clamp(1.95rem,7vw,3rem);max-width:18ch}.hero-image{max-width:620px;width:100%;margin:0 auto}.theme-grid{grid-template-columns:1fr}.section{padding:36px 0}.form-categories{padding:24px 18px}.map-row{grid-template-columns:1fr;gap:12px;padding:18px 12px}.site-footer,.compare-footer{margin-top:20px;padding:22px 18px 30px;flex-direction:column}.footer-links{justify-content:flex-start}.compare-hero{padding:45px 0 28px}.compare-card{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.card-copy{padding:18px}.compare-card h2{font-size:1.2rem}}
@media(max-width:360px){.site-header,.compare-header{padding-left:14px;padding-right:14px}.variant-main,.compare-main{padding-left:14px;padding-right:14px}.main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav a{font-size:.82rem;padding:.48rem .25rem}.hero h1{font-size:1.95rem}.compare-card{grid-template-columns:1fr}.compare-card figure{padding:12px}.compare-card img{aspect-ratio:16/9}.card-copy{padding:16px}.booking{font-size:.84rem}}


/* v2 visual fixes: balanced Japanese headings and a visible keyboard focus ring. */
.compare-hero h1,
.hero h1,
.section-heading h2 {
  text-wrap: balance;
}
.main-nav a:focus-visible {
  outline: 3px solid #142e2b;
  outline-offset: 3px;
}
