/* v134 — sitewide editorial system */
:root{--ink:#1f2421;--ink-soft:#59615b;--paper:#fffefa;--kinari:#f3f0e8;--akane:#9e3428;--akane-deep:#76251d;--hairline:#d8d4ca}
html,body{overflow-x:hidden}
body{color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.9;letter-spacing:.02em}
h1,h2,.section-title,.hub-hero-title{font-family:"Zen Old Mincho","Hiragino Mincho ProN",serif;font-weight:600;letter-spacing:.055em}
.site-header{background:#fffefa!important;border-bottom:1px solid var(--hairline)!important;box-shadow:none!important;backdrop-filter:none!important}
.site-header .container{background:#fffefa!important}.site-header .logo{background:transparent!important}.site-header .logo-mark{color:var(--akane)!important}.site-header .logo-sub{color:var(--ink-soft)!important}
.nav a{color:var(--ink)!important}.nav .nav-cta{color:#fff!important;background:var(--akane)!important;border-radius:999px!important}

/* Three service pages: split editorial hero */
body:not(.branding-page) .hub-hero{padding:0!important;background:var(--paper)!important;min-height:700px!important;overflow:visible!important}
.hub-hero>.container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
.hub-hero-grid{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:minmax(0,54%) minmax(420px,46%)!important;gap:0!important;align-items:stretch!important}
.hub-hero-visual{min-height:700px!important;order:1!important}
.hub-hero-photo{height:100%!important;min-height:700px!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
.hub-hero-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.hub-hero-photo-deco{display:none!important}
.hub-hero-text{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;order:2!important;padding:90px clamp(42px,6vw,96px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;max-width:none!important;background:var(--paper)!important}
.hub-hero-eyebrow{color:var(--akane)!important;font-size:11px!important;letter-spacing:.18em!important;margin-bottom:24px!important}
.hub-hero-eyebrow span{color:var(--akane)!important;background:transparent!important}.hub-hero-eyebrow .badge-dot{position:static!important;width:8px!important;height:8px!important;flex:0 0 8px!important;background:var(--akane)!important;border-radius:50%!important}
.hub-hero-title{font-size:clamp(38px,4.2vw,58px)!important;line-height:1.48!important;color:var(--ink)!important;margin-bottom:24px!important;text-wrap:balance!important}
.hub-hero-title .accent-red,.hub-hero-title .accent-gold,.hub-hero-title .accent-tq{color:var(--akane)!important}
.hub-hero-sub{color:var(--ink-soft)!important;font-size:15px!important;line-height:2!important;margin-bottom:26px!important}
.hub-hero .hub-hero-sub strong{color:var(--ink)!important;background:transparent!important}
.hero-check{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0 0 28px!important;padding:20px 0!important;border-top:1px solid var(--hairline)!important;border-bottom:1px solid var(--hairline)!important}
.hero-check li{color:var(--ink-soft)!important;font-size:13px!important;padding-left:18px!important}.hero-check li::before{background:var(--akane)!important;color:var(--akane)!important}
.hub-hero-eyebrow{order:1!important}.hub-hero-title{order:2!important}.hub-hero-sub{order:3!important}.hub-hero-cta{order:4!important;display:flex!important;gap:12px!important;flex-wrap:wrap!important}.hero-check{order:5!important}.btn{border-radius:999px!important;letter-spacing:.06em!important}.btn-primary{background:var(--akane)!important;border-color:var(--akane)!important;color:#fff!important}.hub-hero-cta .btn-secondary{display:inline-flex!important;background:transparent!important;border:1px solid var(--ink)!important;color:var(--ink)!important}

/* Content rhythm and cards */
section:not(.hub-hero){padding-top:92px!important;padding-bottom:92px!important}
.container{max-width:1120px!important;padding-left:24px!important;padding-right:24px!important}
.section-label{font-size:10px!important;letter-spacing:.35em!important;color:var(--akane)!important;text-transform:uppercase!important}
.section-title{font-size:clamp(27px,3.4vw,40px)!important;line-height:1.55!important;color:var(--ink)!important;text-wrap:balance!important;margin-bottom:20px!important}
.section-subtitle{color:var(--ink-soft)!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important}
.hub-pain,.hub-position,.hub-faq{background:var(--kinari)!important}
.services,.hub-portfolio{background:var(--paper)!important}
.service-card,.hub-pain-card,.hub-faq-item,.hub-position-box{border:1px solid var(--hairline)!important;border-radius:2px!important;background:#fff!important;box-shadow:none!important}
.service-card{overflow:hidden!important;transition:transform .2s,border-color .2s!important}.service-card:hover{transform:translateY(-3px)!important;border-color:var(--akane)!important}
.service-card img{aspect-ratio:16/10!important;width:100%!important;object-fit:cover!important}
.hub-pain-card{border-left:3px solid var(--akane)!important;padding:20px 22px!important}
.hub-position-box{padding:clamp(36px,6vw,76px)!important}
.hub-faq-item{margin-bottom:10px!important}.hub-faq-q{padding:20px 22px!important}.hub-faq-a{padding:0 22px 22px!important;color:var(--ink-soft)!important}
.hub-cta{background:var(--ink)!important;color:#fff!important;text-align:center!important}.hub-cta h2{color:#fff!important;font-size:clamp(28px,4vw,44px)!important}.hub-cta p{color:rgba(255,255,255,.76)!important}.hub-cta .btn-primary{background:#fff!important;color:var(--ink)!important;border-color:#fff!important}
.floating-line{box-shadow:none!important}

/* Photography crops */
body:has(.hub-hero-photo img[src*="person-sakura"]) .hub-hero-photo img{object-position:52% center!important}
body:has(.hub-hero-photo img[src*="seminar-public"]) .hub-hero-photo img{object-position:center center!important}
body:has(.hub-hero-photo img[src*="lesson-smartphone"]) .hub-hero-photo img{object-position:center center!important}
body:has(.hub-hero-photo img[src*="komachi-camera"]) .hub-hero-photo img{object-position:50% 35%!important}

/* Branding: keep its sales structure, remove the old colourful template feel */
.hero{background:var(--kinari)!important;color:var(--ink)!important;padding:100px 24px 92px!important;border-bottom:1px solid var(--hairline)!important}
.hero::before,.hero::after,.hero-shape-1,.hero-shape-2{display:none!important}
.hero .container{max-width:960px!important}.hero-title{font-family:"Zen Old Mincho",serif!important;color:var(--ink)!important;font-size:clamp(36px,5.2vw,66px)!important;line-height:1.45!important}.hero-accent{color:var(--ink)!important;background:none!important;-webkit-text-fill-color:initial!important}
.hero-tagline,.hero-solution{color:var(--ink-soft)!important}.hero-tagline-sub{color:var(--akane)!important}.hero-benefits{max-width:760px!important;margin-left:auto!important;margin-right:auto!important}.hero-benefits li{color:var(--ink)!important;background:#fff!important;border:1px solid var(--hairline)!important;border-radius:2px!important}
.hero-image img{filter:none!important;max-height:420px!important;object-fit:contain!important}.hero-cta .btn-primary{background:var(--akane)!important;color:#fff!important}.hero-cta .btn-secondary{color:var(--ink)!important;border-color:var(--ink)!important}
.problem,.why-stamp,.why,.samples,.about,.testimonials,.industry,.research,.comparison,.guarantee,.plans,.mid-cta,.flow,.faq,.contact{background:var(--paper)!important;color:var(--ink)!important}
.problem:nth-of-type(even),.why-stamp,.about,.industry,.guarantee,.flow,.contact{background:var(--kinari)!important}
.problem-card,.why-card,.sample-card,.testimonial-card,.industry-card,.guarantee-card,.plan-card,.faq-item{background:#fff!important;border:1px solid var(--hairline)!important;border-radius:2px!important;box-shadow:none!important}
.mid-cta{background:var(--ink)!important;color:#fff!important}.mid-cta h2,.mid-cta p{color:#fff!important}

@media(max-width:900px){
  .hub-hero-grid{grid-template-columns:1fr!important}
  .hub-hero-visual,.hub-hero-photo{min-height:clamp(340px,55svh,540px)!important;height:clamp(340px,55svh,540px)!important}
  .hub-hero-text{padding:64px 7vw 72px!important}
}
@media(max-width:640px){
  .hub-hero-visual,.hub-hero-photo{min-height:clamp(320px,48svh,430px)!important;height:clamp(320px,48svh,430px)!important}
  .hub-hero-text{padding:52px 22px 64px!important}
  .hub-hero-title{font-size:clamp(30px,8.4vw,38px)!important;line-height:1.48!important}
  .hub-hero-eyebrow{font-size:9.5px!important;letter-spacing:.1em!important;padding-left:14px!important;padding-right:14px!important}
  .hub-hero-sub{font-size:14px!important}.hub-hero-cta{display:grid!important;grid-template-columns:1fr!important}.hub-hero-cta .btn{width:100%!important;justify-content:center!important}
  section:not(.hub-hero){padding-top:66px!important;padding-bottom:66px!important}
  .container{padding-left:20px!important;padding-right:20px!important}
  .floating-line{display:none!important}
  .hero{padding:72px 20px 64px!important}.hero-title{font-size:clamp(32px,9vw,42px)!important}.hero-benefits{display:grid!important;grid-template-columns:1fr!important}.hero-cta{display:grid!important;grid-template-columns:1fr!important}.hero-cta .btn{width:100%!important}
}
