
/* Esection Partner v2.3 | Inverted white/navy with original brand color lockup */
:root {
  --bg: #ffffff; --bg-deep: #f8f9f9; --surface: #ffffff; --surface-2: #f4f6f7;
  --ink: #09131d; --ink-soft: #1e3141; --muted: #405260;
  --line: rgba(9,19,29,.16); --line-strong: rgba(9,19,29,.40);
  --sans: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --serif: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
body {background:#fff; color:var(--ink); font-family:var(--sans);font-weight:400;letter-spacing:-.018em}
:is(h1,h2,h3,p,li,a) {text-wrap:pretty}
h1,h2,h3{font-feature-settings:'palt';}
.overline,.section-index,.kicker,.hero-bottom span,.hero-bottom a,.process-heading span,.process-step span,.menu-index,.menu-caption,.menu-trigger-label,.menu-bottom,.breadcrumb,.review-label {font-family:var(--sans);font-weight:600;letter-spacing:.13em}
.site-header, .site-header.scrolled{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 7px 30px rgba(5,18,30,.035)}
.site-header .brand,.menu-head .brand{background:#09131d;padding:7px 12px 7px 8px;border:1px solid rgba(200,171,112,.32);border-radius:2px;}
.brand-word {font-family:Georgia,"Times New Roman",serif; letter-spacing:-.045em} /* Original E/P letter colors preserved */
.desktop-nav a {color:#09131d;font-weight:600;letter-spacing:-.016em;font-size:12px}
.desktop-nav a:hover{color:var(--gold)}
.header-contact{color:#09131d;border-color:var(--line-strong);background:#fff;font-weight:600}
.menu-trigger{color:#09131d}.burger i{background:#09131d}
.menu-screen{background:radial-gradient(ellipse at 5% 86%,#f1f2ef,#ffffff 57%);color:#09131d}
.menu-head{border-bottom-color:var(--line)}.menu-title p{font:600 clamp(23px,2.4vw,38px)/1.65 var(--sans);letter-spacing:-.045em;color:#09131d}
.menu-caption,.menu-index,.menu-bottom{color:#405260}
.menu-links a{border-top-color:var(--line);font:550 clamp(19px,2vw,27px)/1.45 var(--sans);letter-spacing:-.035em;color:#09131d}
.menu-links a.featured{color:#09131d;border-left:3px solid var(--gold);padding-left:14px}
.menu-links a:hover{color:#09131d;background:rgba(200,171,112,.12)}
.menu-links a>span:last-child{color:var(--gold)}
.menu-close{color:#09131d;background:#fff;border-color:var(--line-strong);font-family:var(--sans);font-weight:600}
.hero{background:radial-gradient(ellipse at 83% 15%,#f0f2f3 0,transparent 47%),linear-gradient(153deg,#ffffff,#f9faf9 78%);color:#09131d}
.hero:before{opacity:.55}
.hero-title{font-family:var(--sans);font-weight:650;letter-spacing:-.055em;line-height:1.43;font-size:clamp(36px,3.5vw,55px);}
.hero-title strong{font-weight:700;color:var(--e-color);background:#09131d; padding:.035em .12em .10em;border-radius:1px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.hero-sub{font-family:var(--sans);font-size:clamp(18px,1.5vw,23px);font-weight:600;line-height:1.7;letter-spacing:-.045em;color:#09131d}
.hero-description{color:#273849;font-size:14px;line-height:2.05;letter-spacing:-.016em}
.button{font-family:var(--sans);font-weight:650;font-size:13px;letter-spacing:-.01em;border-radius:2px}
.button-primary{background:linear-gradient(120deg,#e7d29c,#bea063);border-color:#e0ca94;color:#13202a}
.button-outline{background:#fff;color:#09131d;border-color:#09131d}
.button-outline:hover{background:#f6f6f2}
.hero-bottom a{color:#09131d}
.hero-art{border-radius:2px;box-shadow:0 17px 50px rgba(7,17,27,.12);}
.section-head h2,.statement h2,.core-copy h3,.process-heading h3,.core-conclusion p,.out-copy h2,.philosophy h2,.closing h2,.page-hero h1,.info-panel h2{font-family:var(--sans);letter-spacing:-.055em;font-weight:650}
.section-head p{color:#304251}
.statement{background:#09131d;color:#f5f0e5}
.statement .section-index{color:var(--gold)}.statement .section-index:before{background:var(--gold)}
.statement h2{font-size:clamp(34px,3.45vw,53px);line-height:1.48}
.statement h2 strong{color:#947540} /* Gold accent kept unchanged */
.statement-right{border-top-color:rgba(245,240,229,.25)}
.statement-right p{color:#f5f0e5}
.keyword-line span{border-top-color:rgba(245,240,229,.25);color:#f5f0e5}
.core{background:linear-gradient(180deg,#ffffff,#f8f9f9 60%,#ffffff);color:#09131d}
.core-visual{background:#ffffff;border:1px solid rgba(9,19,29,.16);box-shadow:0 24px 62px rgba(9,19,29,.065)}
.core-copy h3{color:#09131d;line-height:1.5}
.core-copy p,.reward-strip p{color:#273849;line-height:2.15}
.reward-strip{background:#fff;border-color:rgba(9,19,29,.2)}
.reward-strip strong{color:var(--e-color);background:#09131d; padding:8px 13px;border-radius:2px;white-space:nowrap;font-family:var(--sans);font-size:25px;font-weight:650}
.reward-strip a{color:#09131d;border-color:var(--gold);font-weight:650}
.process-heading h3{font-family:var(--sans)}
.process-rail:before{background:rgba(9,19,29,.15)}
.process-step{background:#fff;border-color:rgba(9,19,29,.15);box-shadow:0 6px 15px rgba(9,19,29,.025)}
.process-step.is-active{background:rgba(190,153,85,.08);border-color:rgba(212,183,127,.45)}
.process-step b{font-weight:650;color:#09131d}
.process-step small{color:#405260}
.core-conclusion{border-top-color:var(--line)}
.core-conclusion strong{color:var(--gold)}
.outsourcing{background:#fff;color:#09131d;border-top:1px solid rgba(9,19,29,.1)}
.out-copy p{color:#273849}
.out-tags li{color:#09131d;border-color:var(--line)}
.out-image{box-shadow:0 14px 30px rgba(7,17,27,.1)}
.philosophy{background:#fff;color:#09131d;border-top:1px solid var(--line)}
.philosophy p{color:#273849}
.closing{background:linear-gradient(180deg,#f8f9f9,#ffffff);color:#09131d;border-top:1px solid var(--line)}
.closing p{color:#273849}
.site-footer{background:#fff;border-top:1px solid var(--line)}
.footer-inner{color:#09131d}.footer-inner small{color:#405260}
.page-hero{background:linear-gradient(135deg,#ffffff,#f3f5f5);color:#09131d}
.page-hero p{color:#273849}
.page-section{background:#fff;color:#09131d}
.info-panel{background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(9,19,29,.035)}
.info-panel h2{color:#09131d}
.info-panel p,.info-panel li{color:#273849}
.page-cta p{color:#405260}
.notice{color:#273849;background:rgba(199,172,109,.07)}
.breadcrumb{color:#405260}.breadcrumb a{color:#09131d;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
/* Refine space and mobile visual rhythm */
@media(min-width:951px){.hero{min-height:770px;padding-bottom:72px}.hero-layout{gap:6%}.section{padding-top:106px;padding-bottom:106px}}
@media(max-width:700px){
  .site-header .brand,.menu-head .brand{padding:6px 8px 6px 5px;gap:7px}
  .brand-word{font-size:19px}
  .hero{padding:calc(var(--header) + 33px) 0 56px}
  .hero-title{font-size:clamp(30px,8.15vw,38px);font-weight:680;letter-spacing:-.05em;line-height:1.47}
  .hero-sub{font-size:17px;line-height:1.72}
  .hero-description{font-size:13px;line-height:2.05}
  .hero-art{height:325px}
  .statement h2{font-size:clamp(30px,7.4vw,38px);line-height:1.54}
  .section-head h2{font-size:32px}
  .core-copy h3{font-size:26px}
  .reward-strip strong{display:inline-block;font-size:21px}
  .process-step{box-shadow:none}
  .out-copy h2{font-size:30px}
  .menu-links a{font-size:20px}
}
@media(max-width:350px){.brand-word{font-size:17px}.hero-title{font-size:29px}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
