/* TokyoExpat shared theme — HUMAIN-simple, 勝色 #55576C
   Load AFTER each page's embedded <style>. Logo stays Cormorant. */








:root{
  --k:#55576c;
  --k2:#6e7090;
  --k3:#3e4057;
  --k-l:rgba(85,87,108,0.08);
  --k-b:rgba(85,87,108,0.18);
  --k-m:rgba(85,87,108,0.45);
  --ink:#1b1f2a;
  --ink2:#2c3540;
  --muted:#5a6472;
  --muted2:#8a949e;
  --white:#ffffff;
  --bg:#f7f6f3;
  --bg2:#ededf1;
  --border:#e6e3dc;
  --nav-h:64px;
  --sans:'Avenir Next','Avenir','Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP','Century Gothic',sans-serif;
  --logo-font:'Cormorant Garamond','CG Fallback',Georgia,'Times New Roman',serif;
  --display:var(--sans);
}








html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);}
body{font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;}








.sec-title,
.page-hero h1,
.hero h1,
h1,h2,h3{
  font-family:var(--sans);
}








/* Keep logo lockup on Cormorant even if --display flipped */
.nav-logo span[style*="font-family"],
.footer-logo span[style*="font-family"]{
  font-family:var(--logo-font) !important;
}








.btn-kachi,.btn-line,.btn-white,.btn-outline-w,.nav-cta,.btn{
  min-height:44px;
}








.section-kachi .wp-icon-wrap span,
.section-dark .wp-icon-wrap span,
.stats-row .stat-num{
  color:#fff;
}








@media(max-width:899px){
  .btn-kachi,.btn-line,.btn-white,.btn-outline-w,.nav-cta,.btn{
    min-height:48px;
    padding:14px 22px;
    font-size:1rem;
    justify-content:center;
    text-align:center;
  }
}








@media(max-width:639px){
  body{font-size:17px;line-height:1.7}
  .section{padding:56px 20px}
  .hero-content,.page-hero .inner,.wrap{padding-left:20px;padding-right:20px}
  .hero h1,.page-hero h1,h1.page-title{
    font-size:clamp(2.2rem,10vw,2.8rem);
    line-height:1.1;
  }
  .hero-sub,.page-hero p,.lead{font-size:1.08rem;line-height:1.75}
  .sec-title{font-size:1.85rem;text-align:left}
  .sec-sub{font-size:.8rem;text-align:left}
  .hero-btns,.about-btns{flex-direction:column;align-items:flex-start}
  .hero-btns a,.about-btns a,
  .btn-kachi,.btn-line,.btn-white,.btn-outline-w{
    width:auto !important;
    max-width:none !important;
    align-self:flex-start;
  }
  .svc-axis-grid,.why-grid,.testimonials-grid{grid-template-columns:1fr}
  .stats-row{display:grid;grid-template-columns:1fr 1fr 1fr}
  .stat-num{font-size:1.35rem}
  .stat-label{font-size:.68rem}
  .footer-bottom{text-align:center}
  .cta-block{text-align:left}
  .cta-block .btn-kachi{width:auto !important;max-width:none !important}
}








/* AI Concierge: treat leftover pill buttons as a normal menu item */
a.nav-ai-link{
  display:inline-flex !important;
  align-items:center;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:6px 12px !important;
  border-radius:6px !important;
  font-size:1.05rem !important;
  font-weight:400 !important;
  color:#444 !important;
  gap:0 !important;
}
a.nav-ai-link svg{display:none !important;}
a.nav-ai-link:hover{color:var(--ink) !important;background:var(--k-l) !important;}








/* Header logo lockup — one size sitewide */
.nav-logo{align-items:center;gap:8px;}
.nav-logo > span:first-child{
  width:50px !important;
  height:50px !important;
}
.nav-logo svg{
  width:50px !important;
  height:50px !important;
}
.nav-logo > span:last-child{
  font-family:var(--logo-font) !important;
  font-size:1.9rem !important;
}








/* EN/JP inner pages: paper hero (same as home) */
.inner-hero{
  background:var(--bg) !important;
  background-image:none !important;
}
.inner-hero::after{display:none !important;}
.inner-hero-label{color:var(--k) !important;}
.inner-hero h1{
  font-family:var(--sans) !important;
  color:var(--k) !important;
}
.inner-hero h1 em{color:var(--k) !important;}
.inner-hero-sub{color:var(--muted) !important;font-weight:400 !important;}
.inner-hero a:not(.btn-kachi){color:var(--k) !important;}
a.btn-kachi:not([style*="color:"]){color:#fff !important;}
a.btn-kachi:not([style*="color:"]):visited{color:#fff !important;}
a.btn-kachi:not([style*="color:"]):hover,
a.btn-kachi:not([style*="color:"]):focus-visible{color:#fff !important;}








@media(max-width:639px){
  .nav-wrap{padding:0 16px !important;justify-content:flex-start;}
  .nav-logo{margin-right:auto;}
}
















@media(max-width:639px){
  .prop-hero{
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    background:var(--bg,#f7f6f3) !important;
  }
  .prop-hero-bg,
  .prop-hero-overlay{display:none !important;}
  .prop-hero img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    min-height:200px !important;
    object-fit:cover !important;
    position:relative !important;
    z-index:1 !important;
  }
  .prop-hero-content-inner{
    position:relative !important;
    inset:auto !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:18px 20px 8px !important;
    background:var(--bg,#f7f6f3) !important;
  }
  .prop-hero-title{color:var(--k,#55576c) !important;font-size:1.65rem !important;}
  .prop-hero-sub{color:var(--k,#55576c) !important;font-weight:500 !important;}
  .prop-breadcrumb,
  .prop-breadcrumb a{color:var(--k,#55576c) !important;}
  .prop-status-badge{
    background:transparent !important;
    border:1px solid var(--k-b,rgba(85,87,108,.18)) !important;
    color:var(--k,#55576c) !important;
    backdrop-filter:none !important;
    margin-bottom:10px !important;
  }
  .prop-status-badge .badge{
    border:none !important;
    color:inherit !important;
    background:transparent !important;
    font-family:inherit !important;
    padding:0 !important;
  }
}








@media(max-width:639px){
  .about-btns,.hero-btns{align-items:flex-start !important;flex-direction:column}
  a.btn-kachi,a.btn-line,a.btn-white,a.btn-outline-w,
  .btn-kachi,.btn-line,.btn-white,.btn-outline-w{
    width:auto !important;
    max-width:none !important;
    display:inline-flex !important;
    align-self:flex-start !important;
  }
}
















/* ─────────────────────────────────────────────────────────────
   TOKYOEXPAT EDITORIAL LUXURY SYSTEM — 2026-09
   Shared presentation layer only. No property facts or content.
   ───────────────────────────────────────────────────────────── */
:root{
  --paper:#f8f7f3;
  --paper-deep:#efede7;
  --night:#242735;
  --night-soft:#303344;
  --mist:#e7ecf2;
  --accent:#9ab4d4;
  --shadow-soft:0 24px 70px rgba(30,33,46,.08);
  --shadow-float:0 18px 48px rgba(30,33,46,.13);
  --serif:'Cormorant Garamond','CG Fallback',Georgia,'Times New Roman',serif;
}








html{background:var(--paper);overflow-x:clip}
body{background:var(--paper);color:var(--ink);letter-spacing:.002em;overflow-x:clip}
body,button,input,select,textarea{font-kerning:normal;text-rendering:optimizeLegibility}








/* Navigation: quiet, architectural and free of decorative rules. */
.nav{
  height:72px;
  background:rgba(248,247,243,.92);
  border-bottom:0!important;
  box-shadow:0 1px 0 rgba(36,39,53,.055);
}
.nav-wrap{max-width:1240px;padding-inline:32px}
.nav-links{gap:8px}
.nav-links a,.nav-dropdown-btn,.nav-dropdown-toggle,a.nav-ai-link{
  border-radius:0!important;
  background:transparent!important;
  font-size:.92rem!important;
  letter-spacing:.015em;
}
.nav-links a:hover,.nav-links a.active,.nav-dropdown-btn:hover,.nav-dropdown-btn.active,.nav-dropdown-toggle:hover,a.nav-ai-link:hover{
  color:var(--k3)!important;
  background:transparent!important;
}
.nav-cta,.mob-cta-l{
  border-radius:2px!important;
  padding:12px 20px!important;
  background:var(--night)!important;
  box-shadow:none!important;
  letter-spacing:.04em;
}








/* Editorial type hierarchy. Japanese keeps a native Mincho stack. */
.hero h1,.page-hero h1,.inner-hero h1,.sec-title,h1.page-title{
  font-family:var(--serif)!important;
  font-weight:400!important;
  letter-spacing:-.025em!important;
}
html[lang="ja"] .hero h1,html[lang="ja"] .page-hero h1,
html[lang="ja"] .inner-hero h1,html[lang="ja"] .sec-title,
html[lang="ja"] h1.page-title{
  font-family:var(--sans)!important;
  letter-spacing:.015em!important;
}
.hero h1{font-size:clamp(4.2rem,7.4vw,7rem);line-height:.94!important}
.page-hero h1,.inner-hero h1{font-size:clamp(3.4rem,6vw,5.8rem);line-height:1!important}
.sec-title{font-size:clamp(2.7rem,4.8vw,4.4rem);line-height:1.02!important}
.sec-sub,.hero-kicker,.inner-hero-label{
  font-family:var(--sans)!important;
  font-size:.7rem!important;
  font-weight:600!important;
  letter-spacing:.2em!important;
}








/* Spacious rhythm and calm background changes. */
.hero{margin-top:72px;background:var(--paper)}
.hero-content{max-width:1240px;padding:92px 48px 76px}
.hero-sub{max-width:620px;font-size:1.14rem;line-height:1.9}
.section{padding:120px 48px}
.inner,.wrap{max-width:1180px}
.section-tinted{background:var(--paper-deep)!important}
.section-kachi{background:var(--night)!important}
.section-dark{background:var(--night-soft)!important}
.section-kachi::after,.section-dark::after{display:none!important}
.section + .section{border-top:0!important}








/* Cards become editorial fields rather than bordered tiles. */
.svc-card,.svc-axis,.lookfor-card,.why-card,.testimonial-card,
.case-card,.area-card,.info-card,.content-card,.guide-card,
.listing-card,.property-card,.faq-item,details{
  border:0!important;
  border-radius:2px!important;
  box-shadow:none!important;
}
.svc-card,.svc-axis,.why-card,.testimonial-card,.case-card,.info-card,.content-card,.guide-card{
  background:rgba(255,255,255,.7)!important;
}
.svc-card:hover,.svc-axis:hover,.lookfor-card:hover,.why-card:hover,
.case-card:hover,.area-card:hover,.listing-card:hover,.property-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--shadow-soft)!important;
}
.svc-card::before,.lookfor-card::before{display:none!important}
.svc-axis-head,.svc-axis-item,.faq-item,details,.footer-bottom{
  border:0!important;
}








/* Number labels share the text baseline; no floating AI-style numerals. */
.lookfor-num,.stat-num,.why-num,.step-num,.process-num,
.card-num,.svc-num,.area-num{
  font-family:var(--sans)!important;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:'tnum' 1,'lnum' 1;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:none!important;
}
.lookfor-card{padding:30px 28px;background:rgba(255,255,255,.52)!important}
.lookfor-grid{gap:2px;background:transparent}
.stats-row{
  border-radius:2px!important;
  background:var(--night)!important;
  box-shadow:var(--shadow-soft);
}
.stat-item{border:0!important;padding:32px 18px}








/* Buttons use a restrained rectangular silhouette. */
.btn-kachi,.btn-line,.btn-white,.btn-outline-w,.btn{
  border-radius:2px!important;
  min-height:50px;
  padding:14px 24px;
  box-shadow:none!important;
  letter-spacing:.035em;
}
.btn-kachi{background:var(--night)!important}
.btn-line{background:transparent!important;border:1px solid rgba(36,39,53,.18)!important}
.btn-kachi:hover,.btn-line:hover,.btn-white:hover,.btn-outline-w:hover,.btn:hover{
  transform:translateY(-1px)!important;
}








/* FAQ and long-form copy align to the common content edge. */
.faq-wrap,.faq-list,.faq-section,.article-body,.prose,.content-body{
  margin-left:0!important;
  margin-right:auto!important;
}
.faq-item,details{padding-left:0!important;padding-right:0!important}
.faq-question,details>summary{text-align:left!important}








/* Footer reads as one quiet closing field. */
.footer{background:var(--night)!important;border-top:0!important}
.footer a{transition:opacity .2s ease}
.footer a:hover{opacity:.72}








/* Media and embedded components must never push mobile layouts sideways. */
img,video,iframe,svg{max-width:100%}
.section,.inner,.wrap,.hero-content,.page-hero .inner{min-width:0}








@media(max-width:899px){
  .nav{height:64px}
  .hero{margin-top:64px}
  .section{padding:88px 32px}
  .hero-content{padding:72px 32px 58px}
  .lookfor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}








@media(max-width:639px){
  body{font-size:16px;line-height:1.78}
  .nav-wrap{padding-inline:18px!important}
  .nav-logo>span:first-child,.nav-logo svg{width:42px!important;height:42px!important}
  .nav-logo>span:last-child{font-size:1.55rem!important}
  .section{padding:72px 22px!important}
  .inner,.wrap,.hero-content,.page-hero .inner{
    width:100%!important;
    max-width:100%!important;
    padding-left:0;
    padding-right:0;
  }
  .hero-content{padding:64px 22px 52px!important}
  .hero h1{font-size:clamp(3.25rem,15vw,4.5rem)!important;line-height:.95!important}
  .page-hero h1,.inner-hero h1,h1.page-title{
    font-size:clamp(2.75rem,12vw,3.7rem)!important;
    overflow-wrap:anywhere;
  }
  html[lang="ja"] .hero h1,html[lang="ja"] .page-hero h1,
  html[lang="ja"] .inner-hero h1,html[lang="ja"] h1.page-title{
    font-size:clamp(2.35rem,10.7vw,3.25rem)!important;
    line-height:1.2!important;
    overflow-wrap:normal;
    word-break:normal;
  }
  .sec-title{font-size:clamp(2.25rem,10vw,3.15rem)!important;text-align:left!important}
  .hero-sub,.page-hero p,.inner-hero-sub,.lead{font-size:1rem!important;line-height:1.85!important}
  .lookfor-grid,.svc-axis-grid,.why-grid,.testimonials-grid,
  .case-grid,.area-grid,.listing-grid,.property-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .lookfor-card,.svc-card,.svc-axis,.why-card,.testimonial-card,.case-card,.info-card,.content-card,.guide-card{
    padding:26px 22px!important;
  }
  .stats-row{grid-template-columns:1fr!important;padding:8px 0}
  .stat-item{text-align:left!important;padding:22px!important}
  .hero-btns,.about-btns{align-items:stretch!important;width:100%}
  .hero-btns a,.about-btns a,.btn-kachi,.btn-line,.btn-white,.btn-outline-w{
    width:100%!important;justify-content:center!important;align-self:stretch!important;
  }
  .faq-wrap,.faq-list,.faq-section{width:100%!important;max-width:none!important}
}








/* ─────────────────────────────────────────────────────────────
   PAGE-SPECIFIC EDITORIAL SYSTEM — 2026-09
   Refines long-form guides and service pages without changing facts.
   ───────────────────────────────────────────────────────────── */
:root{
  --band-ivory:#f8f7f3;
  --band-stone:#eeece6;
  --band-mist:#e5e9ef;
  --band-indigo:#3f4257;
  --band-indigo-deep:#242735;
  --copy-wide:920px;
}








/* Stronger page rhythm: broad colour fields, never boxed-in strips. */
body.page-editorial main>.page-section{
  padding-block:clamp(92px,9vw,144px)!important;
  border:0!important;
}
body.page-editorial main>.page-section:nth-of-type(odd){background:var(--band-ivory)!important}
body.page-editorial main>.page-section:nth-of-type(even){background:var(--band-stone)!important}
body.page-editorial main>.page-section.page-section-gray{background:var(--band-mist)!important}
body.page-editorial main>.page-section.page-section-kachi{background:var(--band-indigo-deep)!important}
body.page-editorial .page-inner{max-width:1180px!important;padding-inline:32px}








/* Editorial components replace rounded dashboard tiles. */
body.page-editorial :is(.insight-card,.cost-card,.diff-card,.feat-card,.area-card-v,
  .service-card,.process-card,.info-item,.case-card,.price-item,.testimonial-card,
  .link-panel,.callout,.warn,.cred-strip,.cred-item,.contact-form){
  border-radius:0!important;
  box-shadow:none!important;
}
body.page-editorial :is(.insight-card,.cost-card,.diff-card,.feat-card,.service-card,
  .process-card,.info-item,.case-card,.price-item,.testimonial-card){border:0!important}
body.page-editorial :is(.cost-cards,.diff-grid,.feat-grid,.service-grid,.process-grid,
  .info-grid,.pricing-grid,.testimonials-grid){gap:clamp(24px,3vw,52px)!important}
body.page-editorial :is(.cost-card,.diff-card,.feat-card,.service-card,.process-card,
  .info-item,.price-item){background:transparent!important;padding:0!important}
body.page-editorial .insight-card{background:rgba(255,255,255,.64)!important;padding:30px 32px!important}
body.page-editorial .callout{background:rgba(255,255,255,.68)!important;border:0!important;padding:30px 34px!important}
body.page-editorial .warn{border:0!important;border-radius:0!important;background:#dddfe6!important;padding:28px 32px!important}








/* Areas: map, neighborhood directory and research each get a clear field. */
body.page-areas .tokyo-map-section{background:var(--band-indigo-deep)!important;color:#fff}
body.page-areas .tokyo-map-section :is(.sec-title,.sec-sub){color:#fff!important}
body.page-areas .area-card-v{border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
body.page-areas .acv-head{border-radius:0!important}
body.page-areas .insights-grid-areas{gap:36px!important}
body.page-areas .insight-card-areas{border:0!important;border-radius:0!important;background:transparent!important;padding:0!important}








/* Living: the original page is one long section, so each subject becomes an editorial chapter. */
body.page-living .phase-head{
  margin:clamp(96px,10vw,150px) 0 40px!important;
  padding:42px 44px!important;
  background:var(--band-indigo-deep)!important;
  color:#fff!important;
}
body.page-living .phase-head h2{color:#fff!important;margin:0!important}
body.page-living .phase-head-num{color:var(--accent)!important}
body.page-living .info-block{
  margin:0 0 36px!important;
  padding:clamp(32px,4vw,54px)!important;
  border:0!important;
  border-radius:0!important;
  background:var(--band-stone)!important;
}
body.page-living .info-block:nth-of-type(even){background:var(--band-mist)!important}
body.page-living .info-row{border:0!important;padding-block:13px!important}
body.page-living .area-teaser{border:0!important;border-radius:0!important;background:var(--band-indigo)!important}
body.page-living .faq-block{max-width:none!important;margin:64px 0 48px!important;padding:0!important}
body.page-living .sources-block{background:var(--band-stone)!important;border:0!important;border-radius:0!important;padding:42px!important}








/* Schools and healthcare: profiles remain legible, comparison becomes a full editorial band. */
body.page-schools .area-card-v,body.page-healthcare .area-card-v{
  border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;margin-bottom:34px!important
}
body.page-schools .acv-head,body.page-healthcare .acv-head{border-radius:0!important}
body.page-schools .compare-wrap,body.page-healthcare .compare-wrap{
  margin-block:110px!important;
  margin-inline:calc(50% - 50vw)!important;
  padding:76px max(32px,calc((100vw - 1180px)/2))!important;
  background:var(--band-indigo-deep)!important;
  color:#fff!important;
  border-radius:0!important;
}
body.page-schools .compare-wrap :is(h2,h3,.sec-title,.sec-sub),
body.page-healthcare .compare-wrap :is(h2,h3,.sec-title,.sec-sub){color:#fff!important}
body.page-schools .compare-scroll,body.page-healthcare .compare-scroll{background:#fff;color:var(--ink);border-radius:0!important}
body.page-schools .callout,body.page-healthcare .callout{margin-block:72px!important;background:var(--band-mist)!important}








/* Process and service pages: lists read as sequences, not collections of tiles. */
body.page-process .step-list,body.page-short-term .step-list,
body.page-purchase .step-list,body.page-corporate .step-list{max-width:900px!important}
body.page-editorial .step-item,body.page-editorial .step-row{
  border:0!important;border-radius:0!important;background:transparent!important;
  padding:24px 0!important;align-items:baseline!important
}
body.page-editorial .step-num,body.page-editorial .process-num{
  font-size:.78rem!important;line-height:1!important;padding-top:0!important;align-self:baseline!important
}
body.page-short-term .compare-wrap{
  border:0!important;border-radius:0!important;background:var(--band-indigo-deep)!important;
  padding:clamp(34px,5vw,64px)!important;color:#fff!important
}
body.page-short-term .compare-legend{color:#fff!important}
body.page-short-term .compare-scroll{background:#fff;color:var(--ink);border-radius:0!important}
body.page-short-term .compare-brand{
  display:inline-block!important;padding:5px 10px!important;margin-bottom:7px!important;
  background:#55576c!important;color:#fff!important;letter-spacing:.045em!important
}
body.page-short-term .compare-brand.brand-onehomes{background:#2f3348!important}
body.page-short-term .compare-brand.brand-mori{background:#444962!important}
body.page-short-term .compare-brand.brand-ascott{background:#565d7c!important}
body.page-short-term .compare-brand.brand-somerset{background:#68708f!important}
body.page-short-term .compare-brand.brand-oakwood{background:#3b4059!important}
body.page-short-term .compare-brand.brand-citadines{background:#737b9a!important}
body.page-short-term .compare-brand.brand-kitano{background:#4f5570!important}
body.page-short-term .compare-brand.brand-hyatt{background:#616986!important}








/* Market Insights: consulting-style editorial index, led by the newest report. */
body.page-market-insights .inner-hero{background:var(--band-indigo-deep)!important}
body.page-market-insights .inner-hero :is(.inner-hero-label,h1,.inner-hero-sub){color:#fff!important}
body.page-market-insights .inner-hero h1 em{color:#fff!important}
body.page-market-insights .insights-grid{
  max-width:1180px!important;margin:0 auto!important;padding:clamp(88px,10vw,144px) 32px!important;
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:64px 48px!important;background:var(--band-ivory)!important
}
body.page-market-insights .insight-card{
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;padding:0!important;overflow:visible!important
}
body.page-market-insights .insight-card:first-child{
  grid-column:1/-1!important;background:var(--band-indigo-deep)!important;color:#fff!important;
  padding:clamp(38px,6vw,72px)!important
}
body.page-market-insights .insight-card:first-child :is(h2,h3,.card-body,.card-stat-label){color:#fff!important}
body.page-market-insights .card-issue{color:var(--k2)!important;letter-spacing:.16em!important}
body.page-market-insights .insight-card:first-child .card-issue{color:var(--accent)!important}
body.page-market-insights .card-stats{border:0!important;background:transparent!important;gap:28px!important}








/* About and Migiwa: fewer objects, more typographic hierarchy. */
body.page-about .diff-card,body.page-migiwa .feat-card{min-height:0!important}
body.page-about .diff-num,body.page-migiwa .feat-icon{
  background:transparent!important;border:0!important;border-radius:0!important;
  color:var(--k)!important;width:auto!important;height:auto!important;justify-content:flex-start!important
}
body.page-about .cred-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px!important;background:transparent!important}
body.page-about .cred-item{background:rgba(255,255,255,.7)!important;padding:28px!important}
body.page-migiwa .feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.page-migiwa .faq-item{border:0!important;border-radius:0!important;background:transparent!important}








/* Contact: remove generic icons and rounded form container. */
body.page-contact .promise-icon{display:none!important}
body.page-contact .promise-item{display:block!important;border:0!important;padding:0!important;margin-bottom:34px!important}
body.page-contact .promise-title{font-family:var(--serif)!important;font-size:1.55rem!important;font-weight:500!important}
body.page-contact .contact-form{background:#fff!important;border:0!important;padding:clamp(30px,4vw,52px)!important}
body.page-contact .form-input,body.page-contact select,body.page-contact textarea{
  border-radius:0!important;border:0!important;border-bottom:1px solid rgba(36,39,53,.22)!important;
  background:transparent!important;padding-inline:0!important;box-shadow:none!important
}
body.page-contact .form-submit{border-radius:0!important}
body.page-contact .contact-form [style*="border-radius:10px"]{border-radius:0!important;border:0!important;background:var(--band-mist)!important}








/* Japanese pages: one sans-serif body, one Mincho display face, generous measure. */
html[lang="ja"] body.jp-page,
html[lang="ja"] body.jp-page :is(button,input,select,textarea){
  font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic','Meiryo',sans-serif!important
}
html[lang="ja"] body.jp-page :is(h1,h2,h3,.sec-title,.sec-title-w,.inner-hero h1){
  font-family:var(--sans)!important;
  font-weight:500!important;letter-spacing:.02em!important
}
body.jp-page main>.page-section{padding-block:clamp(88px,9vw,136px)!important;border:0!important}
body.jp-page main>.page-section:nth-of-type(odd){background:var(--band-ivory)!important}
body.jp-page main>.page-section:nth-of-type(even){background:var(--band-stone)!important}
body.jp-page main>.page-section.page-section-gray{background:var(--band-mist)!important}
body.jp-page main>.page-section.page-section-kachi{background:var(--band-indigo-deep)!important}
body.jp-page .page-inner{max-width:1180px!important;padding-inline:32px!important}
body.jp-page :is(.lead-copy,.section-copy){max-width:var(--copy-wide)!important;line-height:2!important}
body.jp-page .page-inner>.rv[style*="max-width:760px"]{max-width:var(--copy-wide)!important}
body.jp-page :is(.service-card,.process-card,.info-item,.case-card,.price-item,.testimonial-card,
  .link-panel,.cred-strip,.cred-item){border:0!important;border-radius:0!important;box-shadow:none!important}
body.jp-page :is(.service-grid,.process-grid,.info-grid,.pricing-grid,.testimonials-grid){gap:clamp(26px,4vw,56px)!important}
body.jp-page :is(.service-card,.process-card,.info-item,.price-item){background:transparent!important;padding:0!important}
body.jp-page .process-num{font-family:var(--sans)!important;line-height:1!important;align-self:baseline!important}
body.jp-page .testimonial-card{background:rgba(255,255,255,.68)!important;padding:34px!important}
body.jp-page .tcard-quote{display:none!important}
body.jp-page.jp-article .article{max-width:880px!important;padding-inline:32px!important}








@media(max-width:899px){
  body.page-editorial .page-inner,body.jp-page .page-inner{padding-inline:28px!important}
  body.page-market-insights .insights-grid{padding-inline:28px!important}
}








@media(max-width:639px){
  body.page-editorial main>.page-section,body.jp-page main>.page-section{padding-block:72px!important}
  body.page-editorial .page-inner,body.jp-page .page-inner{padding-inline:20px!important}
  body.page-living .phase-head{margin:72px -20px 28px!important;padding:34px 20px!important}
  body.page-living .info-block{margin-inline:-20px!important;padding:34px 20px!important}
  body.page-schools .compare-wrap,body.page-healthcare .compare-wrap{
    margin-block:72px!important;padding:54px 20px!important
  }
  body.page-market-insights .insights-grid{grid-template-columns:1fr!important;padding:72px 20px!important;gap:48px!important}
  body.page-market-insights .insight-card:first-child{grid-column:auto!important;padding:36px 24px!important}
  body.page-migiwa .feat-grid,body.page-about .cred-strip{grid-template-columns:1fr!important}
  body.page-short-term .compare-wrap{margin-inline:-20px!important;padding:42px 20px!important}
  body.jp-page .page-inner>.rv[style*="max-width"]{max-width:100%!important;width:100%!important}
  body.jp-page.jp-article .article{padding-inline:20px!important;max-width:100%!important}
}








/* Keep the full desktop navigation inside narrower laptop viewports. */
@media(min-width:900px) and (max-width:1420px){
  .nav-wrap{max-width:100%!important;padding-inline:18px!important}
  .nav-links{gap:0!important}
  .nav-links>a,.nav-dropdown-btn,.nav-dropdown-toggle,a.nav-ai-link{
    font-size:.82rem!important;padding-inline:8px!important;white-space:nowrap
  }
  .nav-cta-desktop{padding:10px 14px!important;font-size:.82rem!important;white-space:nowrap}
}
















/* ─────────────────────────────────────────────────────────────
   EDITORIAL CORRECTION — sharp surfaces, insight tiles, reports
   ───────────────────────────────────────────────────────────── */








/* Remove every residual rounded content surface on redesigned pages. */
body.page-editorial main *,
.report-body *,
article.article *{
  border-radius:0!important;
}








/* Market Insights: an editorial mosaic, not a ruled list. */
body.page-market-insights .insights-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:22px!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 32px 120px!important;
  background:transparent!important;
}
body.page-market-insights .insight-card{
  grid-column:span 6;
  min-height:340px!important;
  padding:38px 40px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  color:var(--night)!important;
  background:#e2e7ed!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden;
  position:relative;
  transition:transform .25s ease,background-color .25s ease!important;
}
body.page-market-insights .insight-card::after{
  content:'';
  position:absolute;
  right:-34px;
  bottom:-48px;
  width:180px;
  height:180px;
  background:rgba(85,87,108,.09);
  transform:rotate(32deg);
}
body.page-market-insights .insight-card:first-child{
  grid-column:span 12;
  min-height:430px!important;
  padding:54px 56px!important;
  background:var(--night)!important;
  color:#fff!important;
}
body.page-market-insights .insight-card:nth-child(3n+2){background:#d9d8df!important}
body.page-market-insights .insight-card:nth-child(3n){background:#ebe9e3!important}
body.page-market-insights .insight-card:nth-child(4n){background:var(--band-indigo)!important;color:#fff!important}
body.page-market-insights .insight-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 24px 54px rgba(30,33,46,.11)!important;
}
body.page-market-insights .card-issue{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  width:100%!important;
  margin:0 0 auto!important;
  font-family:var(--sans)!important;
  font-size:clamp(2.8rem,4.5vw,4.8rem)!important;
  font-weight:300!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  color:inherit!important;
}
body.page-market-insights .card-issue span{
  font-size:.68rem!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
  color:inherit!important;
  opacity:.66;
}
body.page-market-insights .card-body{
  width:min(100%,760px)!important;
  margin:72px 0 0!important;
}
body.page-market-insights .card-body h3{
  margin:0 0 16px!important;
  font-family:var(--serif)!important;
  font-size:clamp(2rem,3.25vw,3.35rem)!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
  color:inherit!important;
}
body.page-market-insights .insight-card:not(:first-child) .card-body h3{
  font-size:clamp(1.75rem,2.4vw,2.5rem)!important;
}
body.page-market-insights .card-body p{
  margin:0!important;
  font-size:.94rem!important;
  line-height:1.65!important;
  color:inherit!important;
  opacity:.74;
}
body.page-market-insights .card-stats{
  margin:34px 0 0!important;
  padding:0!important;
  display:block!important;
  color:inherit!important;
}
body.page-market-insights .card-stat{padding:0!important;border:0!important}
body.page-market-insights .card-stat-val{
  font-family:var(--sans)!important;
  font-size:1.1rem!important;
  color:inherit!important;
}
body.page-market-insights .card-stat-label{
  color:inherit!important;
  opacity:.58;
}








/* Report and explainer pages use the same header and typography system. */
.report-body,article.article{
  font-family:var(--sans)!important;
  font-size:18px!important;
  line-height:1.82!important;
  color:var(--ink)!important;
}
.report-body :is(p,li,td,th,figcaption,small),
article.article :is(p,li,td,th,figcaption,small){
  font-family:var(--sans)!important;
}
.report-body :is(h1,h2,h3,h4),
article.article :is(h1,h2,h3,h4){
  font-family:var(--serif)!important;
  font-weight:400!important;
  letter-spacing:-.02em!important;
}
html[lang="ja"] article.article :is(h1,h2,h3,h4){
  font-family:var(--sans)!important;
  letter-spacing:.015em!important;
}








@media(max-width:760px){
  body.page-market-insights .insights-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:0 20px 80px!important;
  }
  body.page-market-insights .insight-card,
  body.page-market-insights .insight-card:first-child{
    grid-column:1!important;
    min-height:300px!important;
    padding:30px 26px!important;
  }
  body.page-market-insights .card-body{margin-top:52px!important}
  .report-body,article.article{font-size:16px!important;line-height:1.8!important}
}
















/* ─────────────────────────────────────────────────────────────
   MOBILE LEGIBILITY CORRECTION — 2026-09-21
   Resolve inherited light-on-light combinations and residual radii.
   ───────────────────────────────────────────────────────────── */








/* Home: retain a deliberate dark-field treatment on dark sections. */
.section-kachi .wp-row,
.section-dark .wp-row,
.section-dark .case-card,
.section-kachi .case-card{
  border-radius:0!important;
}
.section-kachi .wp-row,
.section-dark .wp-row{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.13)!important;
}
.section-kachi .wp-desc,
.section-dark .wp-desc{
  color:rgba(255,255,255,.82)!important;
}
.section-dark .case-card,
.section-kachi .case-card{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.13)!important;
}
.section-dark .case-title,
.section-kachi .case-title{
  color:#fff!important;
}
.section-dark .case-row,
.section-kachi .case-row{
  color:rgba(255,255,255,.84)!important;
}
.section-dark .case-row b,
.section-kachi .case-row b{
  color:#fff!important;
}
.section-dark .case-kicker,
.section-kachi .case-kicker{
  color:#b9cbe1!important;
}
.about-grid [style*="border-radius:14px"],
section#migiwa [style*="border-radius:14px"]{
  border-radius:0!important;
}








/* Areas: the dark map field and its typography must stay together. */
body.page-areas main>.tokyo-map-section{
  background:var(--band-indigo-deep)!important;
  color:#fff!important;
}
body.page-areas main>.tokyo-map-section :is(.sec-title,.sec-sub){
  color:#fff!important;
}
body.page-areas main>.tokyo-map-section> .page-inner > p{
  color:rgba(255,255,255,.84)!important;
}
body.page-areas .acv-take{
  background:#e3e5ea!important;
}
body.page-areas .acv-take-label{
  color:#3e4057!important;
}
body.page-areas .acv-take-text{
  font-family:var(--sans)!important;
  font-style:normal!important;
  font-weight:500!important;
  font-size:1rem!important;
  line-height:1.75!important;
  color:#1b1f2a!important;
}








/* Corporate Housing: restore intentional contrast in the dark field. */
body.page-corporate .inner-hero a.btn-kachi[href*="jp/corporate-housing"]{
  background:#fff!important;
  color:#242735!important;
  border:1px solid rgba(255,255,255,.72)!important;
}
body.page-corporate .page-section-kachi .insight-card{
  background:rgba(255,255,255,.075)!important;
  border:0!important;
  border-radius:0!important;
}
body.page-corporate .page-section-kachi .insight-head{
  color:#fff!important;
}
body.page-corporate .page-section-kachi .insight-body{
  color:rgba(255,255,255,.84)!important;
}








/* Explainers: one font system across hero, statistics and article body. */
.report-body *,
article.article *{
  font-family:var(--sans)!important;
}
.report-body :is(h1,h2,h3,h4,.section-title),
article.article :is(h1,h2,h3,h4){
  font-family:var(--serif)!important;
  font-weight:400!important;
}
.hero-stats,
.hero-stats *{
  font-family:var(--sans)!important;
}
.inner-hero-wrap{
  font-family:var(--sans)!important;
}
.inner-hero-wrap :is(.inner-hero-label,.inner-hero-sub,.crumb){
  font-family:var(--sans)!important;
}
.inner-hero-wrap h1,
.inner-hero-wrap h1 em{
  font-family:var(--serif)!important;
}
html[lang="ja"] article.article :is(h1,h2,h3,h4),
html[lang="ja"] .inner-hero-wrap h1,
html[lang="ja"] .inner-hero-wrap h1 em{
  font-family:var(--sans)!important;
}








/* Mobile-specific clarity and line-breaking. */
@media(max-width:639px){
  .hero h1 em{
    display:inline-block!important;
    white-space:nowrap!important;
  }
  body:not(.page-editorial) .hero h1{
    font-size:clamp(2rem,9.7vw,2.55rem)!important;
  }
  .lookfor-card{
    background:#e5e4df!important;
    border:0!important;
    border-radius:0!important;
  }
  .lookfor-card:nth-child(even){
    background:#dfe4ea!important;
  }
  .lookfor-title{color:#1b1f2a!important}
  .lookfor-arrow{color:#3e4057!important}
  .section-kachi .wp-desc,
  .section-dark .wp-desc,
  .section-dark .case-row,
  .section-kachi .case-row,
  body.page-corporate .page-section-kachi .insight-body{
    color:rgba(255,255,255,.9)!important;
  }
  body.page-areas .acv-take{
    padding:20px!important;
  }
  body.page-areas .acv-take-text{
    font-size:1rem!important;
    line-height:1.78!important;
  }
}
















/* Final specificity corrections for the home panel and Areas map field. */
body.page-editorial.page-areas main>section.page-section.tokyo-map-section{
  background:var(--band-indigo-deep)!important;
  color:#fff!important;
}
body:not(.page-editorial) main .section [style*="border-radius:14px"]{
  border-radius:0!important;
}
















/* ─────────────────────────────────────────────────────────────
   WARM EDITORIAL PALETTE & TILE SEPARATION — 2026-09-21
   White, warm beige and indigo only; separation comes from space.
   ───────────────────────────────────────────────────────────── */
:root{
  --bg2:#efede7;
  --paper-deep:#efebe3;
  --mist:#ebe7df;
  --band-stone:#eee9e1;
  --band-mist:#e9e5dd;
}








/* Retire cool pale-blue fields in favour of warm neutrals. */
.section-tinted,
body.page-editorial main>.page-section.page-section-gray{
  background:#efebe3!important;
}
body.page-living .info-block:nth-of-type(even),
body.page-living .sources-block,
body.page-areas .acv-take,
body.page-editorial .warn{
  background:#e9e5dd!important;
}
body.page-market-insights .insight-card{
  background:#e8e3da!important;
}
body.page-market-insights .insight-card:nth-child(3n+2){
  background:#dedad2!important;
}
body.page-market-insights .insight-card:nth-child(3n){
  background:#f1eee8!important;
}
body.page-market-insights .insight-card:nth-child(4n){
  background:var(--band-indigo)!important;
}








/* Tiles have no drawn frames or rounded dashboard treatment. */
:is(.lookfor-card,.svc-axis,.why-quote,.wp-row,.case-card,.testimonial-card,
  .area-card,.area-card-v,.insight-card,.cost-card,.diff-card,.feat-card,
  .service-card,.process-card,.info-item,.price-item,.living-cta-card,
  .link-item,.contact-form,.callout,.warn){
  border:0!important;
  border-radius:0!important;
}
.svc-axis-head,
.svc-axis-item{
  border:0!important;
}








/* Service axes sit as two independent white surfaces on a beige field. */
.svc-axis-grid{
  gap:28px!important;
}
.svc-axis{
  background:#fff!important;
  box-shadow:none!important;
}
.svc-axis + .svc-axis{
  margin-top:0!important;
}








/* Home choice tiles use one warm-grey colour, without alternation. */
.lookfor-card,
.lookfor-card:nth-child(even){
  background:#e4e1db!important;
  border:0!important;
  border-radius:0!important;
}








/* The first-person employer quote is a sharp indigo field. */
.section-kachi .why-quote,
.section-dark .why-quote{
  background:rgba(255,255,255,.09)!important;
  border:0!important;
  border-radius:0!important;
}








/* Warm replacements for previously blue-tinted content panels. */
body.page-areas .acv-take{
  background:#e9e5dd!important;
}
body.page-corporate .page-section-kachi .insight-card{
  background:rgba(255,255,255,.075)!important;
}








/* Restore the original mobile display size while using the full row width. */
@media(max-width:639px){
  .hero-content{
    width:100%!important;
    max-width:none!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .hero h1{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(2.35rem,11vw,2.85rem)!important;
    letter-spacing:-.035em!important;
  }
  .hero h1 em{
    display:inline-block!important;
    white-space:nowrap!important;
  }
  .svc-axis-grid{
    gap:24px!important;
  }
  .svc-axis{
    padding:26px 22px!important;
  }
}
















/* Mobile hero scale correction — 2026-09-21 */
@media(max-width:639px){
  body:not(.page-editorial) .hero h1,
  .hero h1{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(3.25rem,14.5vw,3.9rem)!important;
    line-height:.92!important;
  }
  .hero h1 em{
    display:inline-block!important;
    white-space:nowrap!important;
  }
}
















/* Mobile hero: restore original display scale; gain fit from the side measure. */
@media(max-width:639px){
  .hero-content{
    width:100%!important;
    max-width:none!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body:not(.page-editorial) .hero h1,
  .hero h1{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(3.25rem,15vw,4.5rem)!important;
    line-height:.95!important;
    letter-spacing:-.035em!important;
  }
  .hero h1 em{
    display:inline-block!important;
    white-space:nowrap!important;
  }
}








/* Corporate Housing: readable secondary actions on warm light sections. */
body.page-corporate a.btn-kachi[style*="background:transparent"]{
  background:#fff!important;
  color:#242735!important;
  border:0!important;
}
body.page-corporate a.btn-kachi[style*="background:transparent"]:hover,
body.page-corporate a.btn-kachi[style*="background:transparent"]:focus-visible{
  background:#e4e1db!important;
  color:#1b1f2a!important;
}
















/* Living, corporate comparison and Insights separation — 2026-09-21 */








/* Living chapter summaries: retain clear contrast on the indigo chapter bands. */
body.page-living .phase-head p{
  max-width:760px!important;
  color:rgba(255,255,255,.88)!important;
  font-weight:400!important;
}








/* Corporate comparison: editorial rows with space, not a ruled spreadsheet. */
body.page-corporate .compare-scroll{
  overflow-x:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.page-corporate .compare-table{
  border-collapse:separate!important;
  border-spacing:0 12px!important;
}
body.page-corporate .compare-table thead th{
  padding:0 20px 10px!important;
  border:0!important;
  background:transparent!important;
  color:#55576c!important;
}
body.page-corporate .compare-table thead th.compare-col-us{
  color:#3e4057!important;
}
body.page-corporate .compare-table tbody tr,
body.page-corporate .compare-table tbody tr:hover{
  background:transparent!important;
}
body.page-corporate .compare-table td{
  padding:22px 20px!important;
  border:0!important;
  background:#eee9e1!important;
  color:#2c3540!important;
}
body.page-corporate .compare-table td:first-child{
  background:#dedad2!important;
  color:#1b1f2a!important;
}
body.page-corporate .compare-table td.compare-col-us{
  background:#55576c!important;
  color:#fff!important;
  font-weight:600!important;
}








/* Insights: the lead card must read as a separate object below the dark hero. */
body.page-market-insights .insights-grid{
  padding-top:72px!important;
}
body.page-market-insights .insight-card:first-child{
  box-shadow:0 22px 54px rgba(30,33,46,.10)!important;
}








@media(max-width:639px){
  body.page-corporate .compare-table{
    border-spacing:0 18px!important;
  }
  body.page-corporate .compare-table tr{
    padding:0!important;
    border:0!important;
    background:#eee9e1!important;
  }
  body.page-corporate .compare-table td{
    padding:14px 20px!important;
    background:transparent!important;
  }
  body.page-corporate .compare-table td:first-child{
    padding-top:20px!important;
    background:transparent!important;
    font-family:var(--serif)!important;
    font-size:1.35rem!important;
  }
  body.page-corporate .compare-table td.compare-col-us{
    margin-top:10px!important;
    padding:18px 20px!important;
    background:#55576c!important;
    color:#fff!important;
  }
  body.page-corporate .compare-table td.compare-col-us::before{
    color:rgba(255,255,255,.68)!important;
  }
  body.page-market-insights .insights-grid{
    padding-top:48px!important;
  }
}
















/* Listings: keep property highlight labels compact and identical in height. */
.prop-card .prop-highlights{
  align-content:flex-start!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  column-gap:6px!important;
  row-gap:6px!important;
}
.prop-card .prop-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:2px!important;
  line-height:1!important;
  white-space:nowrap!important;
}




/* Japanese headings: modern sans-serif. English display serif remains unchanged. */
html[lang="ja"] :is(
  h1,h2,h3,h4,h5,h6,
  .sec-title,.sec-title-w,.section-title,.page-title,
  .hero-title,.inner-hero-title,.prop-hero-title,
  .article-title,.article-heading,
  .faq-question,.faq-q,.accordion-title,.faq-item summary,details summary
){
  font-family:var(--sans)!important;
}








/* Japanese notes and explainer pages: unified editorial system. */
html[lang="ja"] body:is(.jp-article,.page-market-insights){
  font-family:var(--sans)!important;
  color:var(--ink)!important;
}
html[lang="ja"] body:is(.jp-article,.page-market-insights) .nav{
  height:72px!important;
  background:rgba(248,247,243,.92)!important;
  color:var(--ink)!important;
  font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic','Meiryo',sans-serif!important;
  letter-spacing:.002em!important;
}
html[lang="ja"] body:is(.jp-article,.page-market-insights) .nav-wrap{
  width:100%!important;
  max-width:1240px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0 32px!important;
}
@media(min-width:900px) and (max-width:1199px){
  html[lang="ja"] body:is(.jp-article,.page-market-insights) .nav-wrap{
    max-width:100%!important;
    padding-inline:18px!important;
  }
}
html[lang="ja"] body:is(.jp-article,.page-market-insights) :is(.nav-links,.nav-links a,.nav-lang,.nav-cta){
  font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic','Meiryo',sans-serif!important;
  letter-spacing:.002em!important;
}
html[lang="ja"] body:is(.jp-article,.page-market-insights) main :is(p,li,td,th,figcaption,small){
  letter-spacing:.002em!important;
}
html[lang="ja"] body.jp-article article.article :is(p,li){
  font-size:1.08rem!important;
  line-height:1.78!important;
}
html[lang="ja"] body:is(.jp-article,.page-market-insights) .inner-hero{
  margin-top:72px!important;
}
html[lang="ja"] body:is(.jp-article,.page-market-insights) :is(.inner-hero h1,.inner-hero-wrap h1,.inner-hero-wrap h1 em){
  font-family:var(--sans)!important;
  font-size:clamp(3.4rem,6vw,5.8rem)!important;
  font-weight:500!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:.02em!important;
}
html[lang="ja"] body.jp-article article.article,
html[lang="ja"] body.jp-article article.article *{
  font-family:var(--sans)!important;
}
html[lang="ja"] body.jp-article article.article{
  width:min(100%,880px)!important;
  max-width:880px!important;
  padding:48px 32px 112px!important;
  font-size:18px!important;
  line-height:2!important;
  color:var(--ink)!important;
}
html[lang="ja"] body.jp-article article.article h2{
  margin:3.4rem 0 1rem!important;
  font-size:1.7rem!important;
  font-weight:600!important;
  line-height:1.55!important;
  letter-spacing:.01em!important;
}
html[lang="ja"] body.jp-article article.article h3{
  margin:2.2rem 0 .65rem!important;
  font-size:1.15rem!important;
  font-weight:600!important;
  line-height:1.7!important;
  letter-spacing:.01em!important;
}
@media(max-width:639px){
  html[lang="ja"] body:is(.jp-article,.page-market-insights) .nav{height:64px!important;}
  html[lang="ja"] body:is(.jp-article,.page-market-insights) .inner-hero{margin-top:64px!important;}
  html[lang="ja"] body:is(.jp-article,.page-market-insights) :is(.inner-hero h1,.inner-hero-wrap h1,.inner-hero-wrap h1 em){
    font-size:clamp(2.2rem,10vw,2.8rem)!important;
    line-height:1.1!important;
  }
  html[lang="ja"] body.jp-article article.article{padding:36px 20px 88px!important;}
  html[lang="ja"] body.jp-article article.article h2{font-size:1.45rem!important;}
}

/* Restore the original English H1 typography; retain Japanese headings and logo. */
html[lang="en"] h1,
html[lang="en"] h1 em{
  font-family:var(--sans)!important;
  letter-spacing:-.02em!important;
}
html[lang="en"] .hero h1{
  font-size:clamp(3rem,7vw,5.4rem)!important;
  line-height:1.02!important;
}
html[lang="en"] .inner-hero h1,
html[lang="en"] .page-hero h1{
  font-size:clamp(2.2rem,5.5vw,3.6rem)!important;
  line-height:1.08!important;
}
@media(max-width:639px){
  html[lang="en"] .hero h1{
    font-size:clamp(2.35rem,11vw,2.85rem)!important;
    line-height:1.08!important;
  }
  html[lang="en"] .inner-hero h1,
  html[lang="en"] .page-hero h1{
    font-size:clamp(2.2rem,10vw,2.8rem)!important;
    line-height:1.1!important;
  }
}

/* English service hierarchy: medium-weight H1, restrained sans H2/H3. */
html[lang="en"] :is(.hero h1,.inner-hero h1,.page-hero h1,h1.page-title){
  font-weight:500!important;
}
html[lang="en"] body:not(.page-market-insights) .sec-title,
html[lang="en"] body:not(.page-market-insights) .section-title{
  font-family:var(--sans)!important;
  font-size:clamp(2rem,4vw,3rem)!important;
  font-weight:500!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}
html[lang="en"] body:not(.page-market-insights) main h2{
  font-family:var(--sans)!important;
  font-weight:500!important;
}
html[lang="en"] body:not(.page-market-insights) main h3{
  font-family:var(--sans)!important;
  font-weight:600!important;
}
html[lang="en"] :is(article.article,.report-body) :is(h2,h3){
  font-family:var(--serif)!important;
  font-weight:400!important;
}
@media(max-width:639px){
  html[lang="en"] body:not(.page-market-insights) .sec-title,
  html[lang="en"] body:not(.page-market-insights) .section-title{
    font-size:clamp(1.85rem,8vw,2.3rem)!important;
    line-height:1.14!important;
  }
}

html[lang="en"] :is(.hero h1 em,.inner-hero h1 em,.page-hero h1 em){
  font-weight:500!important;
}

/* Mobile H3 legibility across service and guide pages. */
@media(max-width:639px){
  html[lang="en"] body:is(
    .page-short-term,.page-process,.page-corporate,.page-purchase,
    .page-contact,.page-areas,.page-living,.page-schools,
    .page-healthcare,.page-about
  ) main h3{
    font-size:clamp(1.22rem,5.1vw,1.43rem)!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    font-weight:600!important;
    overflow-wrap:normal;
    word-break:normal;
  }
  html[lang="en"] body.page-market-insights .card-body h3,
  html[lang="en"] body.page-market-insights .insight-card:not(:first-child) .card-body h3{
    font-size:clamp(1.53rem,6.5vw,1.9rem)!important;
    line-height:1.28!important;
    letter-spacing:-.015em!important;
    overflow-wrap:normal;
    word-break:normal;
  }
}

/* Semantic heading elements keep the existing visual rhythm. */
h2.sec-title,h2.acv-name,h3.area-card-name{margin-top:0}
h3.area-card-name{margin-bottom:0}

/* Keep mobile data-detector links in the footer address visually consistent. */
.footer-contact a,
.footer-contact a[x-apple-data-detectors],
.footer-contact a[data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
}

/* Paired page navigation and September 2026 editorial layout corrections. */
html[lang="ja"] body.jp-page .inner-hero h1{
  font-size:clamp(3.4rem,5.7vw,5.6rem)!important;
  line-height:1.1!important;
  text-wrap:balance;
}
html[lang="ja"] body.jp-home .inner-hero h1{
  font-size:clamp(3.4rem,5.7vw,5.6rem)!important;
  max-width:22em;
}
html[lang="ja"] body.jp-home .jp-hero-photo{
  width:100%;
  max-width:none;
  margin:0;
}
html[lang="ja"] body.jp-home .jp-hero-photo img{
  width:100%;
  height:min(74vh,740px);
  min-height:560px;
  object-fit:cover;
  object-position:center 88%;
}
body.page-market-insights .inner-hero h1 em{
  color:#fff!important;
  opacity:1!important;
}
body.page-market-insights .insights-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:20px!important;
  padding:64px 32px 112px!important;
  max-width:1180px!important;
}
body.page-market-insights .insights-grid > h2,
body.page-market-insights .insights-grid > p{
  grid-column:1/-1!important;
  min-width:0;
  margin:24px 0 0!important;
  position:relative;
  z-index:1;
}
body.page-market-insights .insights-grid > h2{
  font-size:clamp(1.5rem,2.5vw,2rem)!important;
  line-height:1.35!important;
}
body.page-market-insights .insights-grid > p{
  margin:0 0 12px!important;
  max-width:100%;
  overflow-wrap:anywhere;
}
body.page-market-insights .insights-grid > .insight-card,
body.page-market-insights .insights-grid > .insight-card:first-of-type{
  grid-column:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  min-height:295px!important;
  height:auto!important;
  padding:32px 36px!important;
  background:#eeece6!important;
  color:#252733!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transform:none!important;
}
body.page-market-insights .insights-grid > .insight-card::after{
  content:none!important;
  display:none!important;
}
body.page-market-insights .insights-grid > .insight-card:hover{
  background:#e5e2d9!important;
  transform:translateY(-2px)!important;
}
body.page-market-insights .insights-grid > .insight-card .card-issue{
  margin:0 0 26px!important;
  color:#55576c!important;
  font-size:clamp(2.4rem,3vw,3.25rem)!important;
  line-height:1.05!important;
}
body.page-market-insights .insights-grid > .insight-card .card-issue span{
  color:#55576c!important;
}
body.page-market-insights .insights-grid > .insight-card .card-body{
  margin:0!important;
  min-width:0;
  position:relative;
  z-index:1;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-body h3{
  color:#252733!important;
  font-size:clamp(1.25rem,2vw,1.5rem)!important;
  line-height:1.32!important;
  margin:0 0 10px!important;
  overflow-wrap:anywhere;
}
body.page-market-insights .insights-grid > .insight-card .card-body p{
  color:#55576c!important;
  margin:0!important;
  line-height:1.55!important;
}
body.page-market-insights .insights-grid > .insight-card .card-stats{
  margin-top:auto!important;
  padding-top:24px!important;
  width:100%;
  justify-content:flex-end!important;
  color:#55576c!important;
  position:relative;
  z-index:1;
}
body.page-market-insights .insights-grid > .insight-card :is(.card-stat-val,.card-stat-label){
  color:#55576c!important;
}
@media(max-width:639px){
  html[lang="ja"] body.jp-page .inner-hero h1{
    font-size:clamp(2.7rem,10.5vw,3.25rem)!important;
    line-height:1.1!important;
  }
  html[lang="ja"] body.jp-home .inner-hero h1{
    font-size:clamp(2.7rem,10.5vw,3.25rem)!important;
  }
  html[lang="ja"] body.jp-home .jp-hero-photo img{
    height:42vh;
    min-height:240px;
    object-position:center 55%;
  }
  body.page-market-insights .insights-grid{
    grid-template-columns:minmax(0,1fr)!important;
    padding:48px 20px 80px!important;
    gap:16px!important;
  }
  body.page-market-insights .insights-grid > .insight-card{
    grid-column:1!important;
    min-height:270px!important;
    padding:28px 26px!important;
  }
}

/* Market Insights: image-free editorial covers and a clear article hierarchy. */
html[lang="en"] body.page-market-insights .insights-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:32px 28px!important;
  align-items:start!important;
  max-width:1100px!important;
  padding:28px 32px 112px!important;
}
html[lang="en"] body.page-market-insights .insights-grid > h2,
html[lang="en"] body.page-market-insights .insights-grid > p{
  grid-column:1/-1!important;
}
html[lang="en"] body.page-market-insights .insights-grid > h2{
  margin:30px 0 -8px!important;
  font-family:var(--sans)!important;
  font-size:clamp(1.5rem,2.2vw,1.9rem)!important;
  font-weight:550!important;
  letter-spacing:-.02em;
}
html[lang="en"] body.page-market-insights .insights-grid > h2:first-child{margin-top:0!important}
html[lang="en"] body.page-market-insights .insights-grid > p{
  margin:-14px 0 -8px!important;
  max-width:100%;
  font-size:14px;
  line-height:1.6;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card,
html[lang="en"] body.page-market-insights .insights-grid > .insight-card:first-of-type{
  position:relative!important;
  grid-column:auto!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
  text-decoration:none!important;
  color:#252733!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card:hover{
  background:transparent!important;
  transform:none!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card:focus-visible{
  outline:2px solid #55576c!important;
  outline-offset:5px;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card::after{
  content:none!important;
  display:none!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-issue{
  position:relative;
  display:flex!important;
  align-items:flex-end!important;
  width:100%;
  height:190px;
  margin:0!important;
  padding:22px 24px!important;
  background:#e9e7e0;
  color:#55576c!important;
  font-family:var(--sans)!important;
  font-size:58px!important;
  font-weight:450!important;
  letter-spacing:-.07em!important;
  line-height:.88!important;
  text-transform:none!important;
  transition:background-color .2s ease;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card:hover .card-issue{
  background:#dedbd2;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-issue span{
  position:absolute;
  top:22px;
  left:24px;
  display:block!important;
  margin:0!important;
  color:#686a78!important;
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:650!important;
  letter-spacing:.1em!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-body{
  margin:17px 0 0!important;
  min-width:0;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-body h3{
  margin:0 0 8px!important;
  color:#252733!important;
  font-family:var(--sans)!important;
  font-size:clamp(1.36rem,2vw,1.68rem)!important;
  font-weight:550!important;
  letter-spacing:-.025em!important;
  line-height:1.28!important;
  text-wrap:balance;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card:hover .card-body h3{
  color:#55576c!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-body p{
  margin:0!important;
  max-width:50ch;
  color:#686a78!important;
  font-size:14px!important;
  line-height:1.55!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-stats{
  position:absolute!important;
  top:139px;
  right:24px;
  z-index:1;
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  text-align:right!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-stat{
  text-align:right!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-stat-val{
  color:#3b3e50!important;
  font-family:var(--sans)!important;
  font-size:20px!important;
  font-weight:600!important;
  line-height:1.2!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-stat-label{
  margin-top:5px!important;
  color:#686a78!important;
  font-size:10px!important;
  font-weight:650!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"]{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  align-items:center!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-issue{
  height:260px;
  padding:28px 30px!important;
  font-size:78px!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-issue span{
  top:28px;
  left:30px;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-body{
  grid-column:2;
  grid-row:1;
  margin:0!important;
  padding:0 34px!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-body h3{
  font-size:clamp(1.75rem,2.8vw,2.2rem)!important;
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-stats{
  top:205px;
  right:calc(50% + 30px);
}
html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-stat-val{
  font-size:23px!important;
}
@media(max-width:700px){
  html[lang="en"] body.page-market-insights .insights-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px!important;
    padding:24px 20px 80px!important;
  }
  html[lang="en"] body.page-market-insights .insights-grid > h2{
    margin:30px 0 -12px!important;
  }
  html[lang="en"] body.page-market-insights .insights-grid > h2:first-child{margin-top:0!important}
  html[lang="en"] body.page-market-insights .insights-grid > p{
    margin:-14px 0 -8px!important;
  }
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card,
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"]{
    grid-column:1!important;
    display:block!important;
  }
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-issue,
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-issue{
    height:172px;
    padding:20px 22px!important;
    font-size:56px!important;
  }
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-issue span,
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-issue span{
    top:20px;
    left:22px;
  }
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-body{
    margin:17px 0 0!important;
    padding:0!important;
  }
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-body h3,
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-body h3{
    font-size:clamp(1.42rem,5.8vw,1.75rem)!important;
  }
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card .card-stats,
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-stats{
    top:122px;
    right:22px;
  }
  html[lang="en"] body.page-market-insights .insights-grid > .insight-card[data-featured="true"] .card-stat-val{
    font-size:20px!important;
  }
}
