:root{--paper:#f3eee4;--paper-2:#e8e1d3;--ink:#1b211c;--ink-soft:#3a423c;--muted:#66706a;--line:#d2cbbc;--accent:#1d4a40;--accent-hover:#163830;--on-accent:#f3eee4;--max:70rem;--pad:1.25rem;--header-h:4rem;--sticky-h:4.75rem}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-sans), "Helvetica Neue", sans-serif;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.5}html[lang=ja]{font-family:var(--font-jp), "Hiragino Sans", "Yu Gothic", sans-serif;line-height:1.7}body{background:var(--paper);min-height:100dvh;margin:0}[lang=ja] h1,[lang=ja] h2,[lang=ja] h3{font-family:var(--font-jp), "Hiragino Sans", sans-serif;letter-spacing:0;font-weight:600}img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,.serif{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.02em;font-weight:600;line-height:1.15}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,6vw,3.4rem)}.price{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.03em;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:600;line-height:1}h2{font-size:clamp(1.5rem,3.5vw,2rem)}h3{font-size:1.15rem}.lead{color:var(--ink-soft);max-width:38rem;font-size:1.05rem}.muted{color:var(--muted)}.wrap{width:min(var(--max), calc(100% - var(--pad) * 2));margin-inline:auto}.section{padding-block:3.5rem}.stack{flex-direction:column;gap:1rem;display:flex}.stack-lg{flex-direction:column;gap:1.75rem;display:flex}.kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:600}[lang=ja] .kicker{letter-spacing:.04em;text-transform:none}.btn{border:1px solid var(--accent);background:var(--accent);min-height:2.75rem;color:var(--on-accent);font:inherit;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--paper-2);color:var(--ink);border-color:var(--ink)}.actions{flex-wrap:wrap;gap:.7rem;display:flex}.grid-2,.grid-3,.grid-4{gap:1.25rem;display:grid}.card{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 70%, white);padding:1.25rem}.rule{background:var(--line);border:0;height:1px;margin:0}.site-header{z-index:20;height:var(--header-h);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, white);font-family:var(--font-sans), "Helvetica Neue", sans-serif;position:sticky;top:0}.header-inner{align-items:center;gap:1rem;height:100%;display:flex}.logo{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.03em;font-size:1.35rem;font-weight:600;text-decoration:none}.logo:hover{color:var(--ink)}.nav-desktop{align-items:center;gap:.95rem;margin-left:1.25rem;display:none}.nav-desktop a{font-size:.92rem;text-decoration:none}.nav-desktop a[aria-current=page]{text-decoration:underline}.header-cta{white-space:nowrap;justify-content:center;display:inline-flex;position:relative}.nav-sizer{pointer-events:none;display:grid}.nav-sizer>span{visibility:hidden;white-space:nowrap;grid-area:1/1}.nav-label{white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.header-end{align-items:center;gap:.75rem;margin-left:auto;display:flex}.lang-switch{gap:.45rem;font-size:.78rem;display:flex}.lang-switch a{color:var(--muted);text-decoration:none}.lang-switch a[aria-current=true]{color:var(--ink);font-weight:600}.menu{position:relative}.menu summary{cursor:pointer;font-size:.9rem;font-weight:600;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-panel{border:1px solid var(--line);background:var(--paper);flex-direction:column;gap:.65rem;width:min(18rem,100vw - 2rem);padding:.85rem;display:flex;position:absolute;top:calc(100% + .7rem);right:0}.menu-panel a{align-items:center;min-height:2.5rem;text-decoration:none;display:flex}.hero{align-items:center;gap:2rem;padding-block:2.75rem 3rem;display:grid}.photo{object-fit:cover;border:1px solid var(--line);background:var(--paper-2);width:100%;height:auto}.hero-photo{aspect-ratio:4/3}.portrait{aspect-ratio:3/4;max-height:28rem}.contact-photo{max-width:20rem}.city-photo{aspect-ratio:16/9}.team-tile{gap:.45rem;text-decoration:none;display:grid}.team-tile:hover h3{color:var(--accent)}.step-n{font-family:var(--font-serif), Georgia, serif;color:var(--accent);font-size:.9rem}.lang-marks{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.25rem;display:grid}.lang-mark{text-align:center;flex-direction:column;align-items:center;gap:.45rem;text-decoration:none;display:flex}.lang-mark:hover{color:inherit}.lang-mark:hover .lang-mark-script{color:var(--accent)}.lang-mark-script{letter-spacing:-.03em;font-size:clamp(1.7rem,4.4vw,3.4rem);font-weight:600;line-height:1.1}.lang-mark-script-ja{font-family:var(--font-jp), "Hiragino Sans", "Yu Gothic", sans-serif;letter-spacing:0}.lang-mark-script-ar{font-family:var(--font-ar), "Geeza Pro", Tahoma, sans-serif;letter-spacing:0;font-size:clamp(1.85rem,4.8vw,3.6rem);font-weight:700;line-height:1.25}.lang-mark-script-ko{font-family:var(--font-ko), "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;letter-spacing:0}.lang-mark-meta{color:var(--muted);font-size:.82rem;font-weight:600}.lang-mark[data-status=live] .lang-mark-meta{color:var(--accent)}.practice-list{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.practice-row{border-bottom:1px solid var(--line);gap:.2rem;padding:.95rem 0;text-decoration:none;display:grid}.practice-row strong{font-family:var(--font-serif), Georgia, serif;font-size:1.15rem;font-weight:500}.practice-row:hover strong{color:var(--accent)}.banner-embed{border:1px solid var(--ink);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem;display:flex}.banner-embed strong{font-family:var(--font-serif), Georgia, serif;font-size:1.15rem}.steps{color:var(--muted);gap:1rem;font-size:.85rem;font-weight:600;display:flex}.steps [data-active=true]{color:var(--ink)}.form{gap:1rem;display:grid}.form label{gap:.35rem;font-size:.9rem;font-weight:600;display:grid}.form input,.form select,.form textarea{border:1px solid var(--line);width:100%;min-height:2.75rem;color:var(--ink);font:inherit;background:#fff;border-radius:2px;padding:.55rem .7rem}.form textarea{resize:vertical;min-height:7rem}.form .check{align-items:flex-start;gap:.6rem;font-weight:400;display:flex}.form .check input{width:1.15rem;height:1.15rem;min-height:0;margin-top:.2rem}.legal-list{gap:.9rem;max-width:40rem;display:grid}.site-footer{border-top:1px solid var(--line);padding-block:3rem 6.5rem}.footer-inner{gap:2.25rem;display:grid}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 2rem;display:flex}.footer-brand{gap:.55rem;max-width:26rem;display:grid}.footer-tagline{color:var(--ink-soft);font-size:1.05rem;line-height:1.4}.footer-links{border-top:1px solid var(--line);gap:1.75rem;padding-top:1.75rem;display:grid}.footer-col{align-content:start;gap:.55rem;display:grid}.footer-col .kicker{margin-bottom:.2rem}.footer-col a{color:var(--ink-soft);text-decoration:none}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 1.5rem;padding-top:1.25rem;display:flex}.footer-bottom a{color:var(--ink-soft);text-decoration:none}.sticky-cta{z-index:24;padding:.7rem var(--pad) calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);display:flex;position:fixed;bottom:0;left:0;right:0}.sticky-cta .btn{width:100%}@media (width>=768px){:root{--pad:1.75rem}.hero{grid-template-columns:1.1fr .9fr;padding-block:4rem 4.5rem}.grid-2{grid-template-columns:1fr 1fr}.lang-marks{gap:1.25rem 2rem}.grid-4,.form-split{grid-template-columns:1fr 1fr}.footer-links{grid-template-columns:1fr 1fr 1fr}.site-footer{padding-bottom:2.75rem}.sticky-cta,.menu{display:none}.nav-desktop{display:flex}.header-cta{display:inline-flex}}@media (width>=1024px){:root{--pad:2rem}.grid-3{grid-template-columns:1fr 1fr 1fr}.grid-4{grid-template-columns:1fr 1fr 1fr 1fr}.section{padding-block:4.5rem}}@media (width<=767px){.header-cta{display:none}}
