@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--navy:#142c3d;--navy2:#203f52;--ink:#1d2d38;--muted:#65717a;--cream:#f5f7f7;--line:#dce4e7;--accent:#a8c4c5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP','Noto Sans SC',sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #78b8ce;outline-offset:4px}.container{max-width:1160px;margin:auto;padding:0 32px}.skip{position:absolute;top:-100px;left:10px;background:#fff;z-index:20;padding:10px}.skip:focus{top:10px}.site-header{height:84px;background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 0 #e7ecef}.header-inner{max-width:1320px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:30px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-symbol{display:grid;place-items:center;width:43px;height:43px;background:var(--navy);color:#fff;font-family:serif;font-size:25px}.brand-text{display:flex;flex-direction:column;line-height:1.35;letter-spacing:.06em}.brand-text strong{font-size:17px}.brand-text small{font-size:9px;color:var(--muted);letter-spacing:.15em;margin-top:3px}.header-actions{order:3;display:flex;align-items:center;gap:14px}.language{display:flex;align-items:center;gap:8px;font-size:12px;color:#9ba4aa}.lang{border:0;background:none;color:#83909a;cursor:pointer;padding:6px 2px}.lang.active{color:var(--navy);font-weight:700}nav{display:flex;align-items:center;gap:27px;margin-left:auto}nav a{font-size:12px;font-weight:600;white-space:nowrap;transition:color .2s}nav a:hover{color:#51819a}.nav-contact{background:var(--navy);color:#fff;padding:12px 17px}.nav-contact:hover{color:#fff;background:var(--navy2)}.menu-toggle{display:none}.hero{min-height:670px;position:relative;background:linear-gradient(115deg,#112938 5%,#23485a 100%);color:#fff;overflow:hidden;display:flex;align-items:center}.hero-content{width:100%;position:relative;z-index:1;padding-top:95px;padding-bottom:100px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;color:#527486;margin-bottom:27px}.eyebrow.light{color:#b4cdd2}.eyebrow .line{display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(43px,5.4vw,77px);line-height:1.48;letter-spacing:.09em;margin:0 0 28px;font-weight:600}.hero-lead{max-width:570px;color:#dbe7ea;font-size:16px;line-height:2.1;margin-bottom:37px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;padding:14px 22px;font-size:13px;font-weight:700;min-width:220px}.btn-white{background:#fff;color:var(--navy)}.btn:hover{transform:translateY(-2px)}.hero-foot{font-size:10px;letter-spacing:.19em;color:#b5ced4;margin-top:85px}.hero-foot span{margin:0 13px}.hero-geometry{position:absolute;inset:0;pointer-events:none;overflow:hidden}.orb{position:absolute;border:1px solid rgba(212,232,233,.16);border-radius:50%;width:640px;height:640px;right:-60px;top:45px}.orb-b{width:420px;height:420px;right:50px;top:155px}.mesh{position:absolute;width:390px;height:390px;right:140px;top:165px;transform:rotate(45deg);background:linear-gradient(130deg,transparent,rgba(187,218,220,.11));border:1px solid rgba(221,240,240,.1)}.section{padding:112px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px}.section h2{font-size:clamp(28px,3vw,42px);letter-spacing:.045em;line-height:1.55;margin:0;font-weight:600}.copy{padding-top:38px;color:#46555e;font-size:15px}.copy p{margin:0 0 21px}.services{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:43px}.section-head p{max-width:380px;font-size:14px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{background:#fff;padding:30px 25px;min-height:345px;display:flex;flex-direction:column;border:1px solid #e5ebed;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #152f3d12}.card-top{display:flex;justify-content:space-between;align-items:start;color:#76929e;font-size:12px;margin-bottom:38px}.card-icon{font-size:31px;color:#4b7182;line-height:1}.service-card h3{font-size:19px;margin:0 0 15px}.service-card p{font-size:13px;color:#58656c;margin:0 0 25px;line-height:1.95}.service-card small{font-size:10px;letter-spacing:.09em;color:#718c98;margin-top:auto}.approach-grid{display:grid;grid-template-columns:46% 1fr;gap:90px;align-items:center}.approach-art{height:480px;background:linear-gradient(145deg,#dce7e8,#a9c3c8);display:grid;place-items:center;position:relative;overflow:hidden}.approach-art:before{content:'';position:absolute;border:1px solid #ffffff88;width:380px;height:380px;border-radius:50%;left:-70px;bottom:-80px}.art-frame{width:240px;height:270px;border:1px solid #ffffffab;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#234757;background:#ffffff16}.art-frame span{font-family:serif;font-size:105px;line-height:1.5}.art-frame small{font-size:9px;letter-spacing:.2em}.value{display:flex;gap:24px;padding:23px 0;border-bottom:1px solid var(--line)}.value:first-of-type{margin-top:20px}.value>span{font-size:12px;color:#63899a}.value h3{font-size:17px;margin:0 0 7px}.value p{color:var(--muted);font-size:13px;margin:0}.company{background:var(--cream)}.company-caption{font-size:14px;color:var(--muted);margin-top:20px}.profile{margin:0}.profile>div{display:grid;grid-template-columns:115px 1fr;gap:20px;padding:21px 0;border-bottom:1px solid #d4dfe2;font-size:14px}.profile>div:first-child{border-top:1px solid #d4dfe2}.profile dt{font-weight:700}.profile dd{margin:0;color:#52616a}.contact{background:var(--navy);color:#fff;text-align:center}.contact .eyebrow{margin-bottom:24px}.contact h2{font-size:clamp(30px,4vw,49px)}.contact p{color:#d7e6e9;font-size:15px;max-width:620px;margin:26px auto}.contact-notice{max-width:620px;margin:38px auto 0;border:1px solid #6b8792;padding:16px 22px;color:#d5e2e5;font-size:12px}.footer{padding:38px 0;background:#0e202c;color:#fff}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-name{font-size:18px;font-weight:700;letter-spacing:.08em}.footer small{font-size:10px;color:#9bb2bd;letter-spacing:.08em}.footer-right{display:flex;flex-direction:column;align-items:end;gap:8px;font-size:12px;color:#d7e2e6}@media(max-width:1050px){nav{gap:13px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:280px}.two-col,.approach-grid{gap:50px}}@media(max-width:800px){.site-header{height:72px}.header-inner{padding:0 20px}.header-actions{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;width:35px;height:40px;padding:7px;cursor:pointer}.menu-toggle span{height:2px;background:var(--navy);width:100%}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;box-shadow:0 12px 20px #1027351c;padding:18px 25px 25px;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px;border-bottom:1px solid #edf0f2}.nav-contact{text-align:center;margin-top:12px}.container{padding:0 24px}.hero{min-height:600px}.hero-content{padding-top:75px;padding-bottom:75px}.hero-foot{margin-top:65px}.orb{right:-340px}.orb-b{right:-230px}.mesh{right:-150px}.section{padding:75px 0}.two-col,.approach-grid{grid-template-columns:1fr;gap:28px}.copy{padding-top:0}.section-head{display:block}.section-head p{margin-top:20px}.approach-art{height:300px;order:2}.approach-grid>div:nth-child(2){order:1}.footer-inner{align-items:start}.footer-right{text-align:right}}@media(max-width:540px){.brand-text strong{font-size:14px}.brand-symbol{width:38px;height:38px}.brand-text small{font-size:8px}.hero h1{font-size:43px}.hero-lead{font-size:14px}.service-grid{grid-template-columns:1fr}.service-card{min-height:250px}.section h2{font-size:29px}.profile>div{grid-template-columns:90px 1fr;gap:10px;font-size:12px}.footer-inner{flex-direction:column}.footer-right{align-items:start;text-align:left}}

.contact-email{display:inline-block;margin:1.2rem 0;color:#fff;font-size:clamp(1rem,2.5vw,1.5rem);font-weight:650;text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.contact-email:hover{opacity:.78}.contact-note{font-size:.88rem;opacity:.85;max-width:42rem}

/* ICHIMORI brand refresh */
:root{--navy:#235b45;--navy2:#2d7955;--ink:#203d32;--muted:#637a70;--cream:#f5f9f5;--line:#dce8df;--accent:#83bf74}
.brand-logo{width:62px;height:58px;object-fit:contain;flex-shrink:0}.hero{background:linear-gradient(118deg,#1b4a37 0%,#307652 72%,#44865a 100%)}.hero-logo{position:absolute;width:min(34vw,400px);right:2%;top:19%;opacity:.14;filter:brightness(0) invert(1);pointer-events:none}.hero-content{position:relative}.hero-content .hero-logo{right:0}.approach-art{background:linear-gradient(135deg,#e4f1df,#9acb94)}.art-frame{color:#2b6947}.eyebrow{color:#44845a}.eyebrow.light{color:#d0e8cf}.card-icon,.card-top,.service-card small{color:#438d59}.footer{background:#183b2c}.footer-name{display:flex;align-items:center;gap:12px}.footer-logo{width:52px;height:48px;object-fit:contain;background:#fff;border-radius:7px;padding:3px}.contact{background:linear-gradient(120deg,#214e38,#347b51)}
@media(max-width:800px){.brand-logo{width:48px;height:45px}.hero-logo{width:52vw;right:-5%;top:30%;opacity:.09}}

/* Representative profile */
.representative{background:#f5f9f5}.rep-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:clamp(28px,6vw,90px);margin-top:35px}.rep-sidebar{border-top:3px solid #5caa68;padding-top:22px}.rep-label{color:#4c8c5b;font-size:.86rem;letter-spacing:.08em}.rep-sidebar h3{font-size:clamp(1.7rem,3vw,2.4rem);margin:12px 0 30px;color:#203d32}.rep-quote{font-size:1.28rem;line-height:1.9;color:#35764e;font-weight:600}.rep-content h3{font-size:1.2rem;color:#255b3f;margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid #d6e6da}.rep-content h3:not(:first-child){margin-top:36px}.rep-content p{line-height:2;margin:0 0 18px;color:#354e40}@media(max-width:760px){.rep-layout{grid-template-columns:1fr;gap:26px}.rep-sidebar h3{margin-bottom:12px}.rep-quote{font-size:1.08rem}}


/* 2026 gradient refresh: original layout and bilingual behavior retained */
:root{--navy:#15543d;--navy2:#277d58;--ink:#194b3b;--muted:#5c786b;--cream:#f4faf4;--line:#dbe9db;--accent:#82c98c}
.site-header{background:rgba(255,255,255,.96)}
.brand-logo{width:61px;height:58px}
.hero{
  color:#15543d;
  background:
    radial-gradient(ellipse at 84% 12%,rgba(191,230,116,.38),transparent 33%),
    radial-gradient(ellipse at 80% 74%,rgba(102,190,140,.25),transparent 42%),
    radial-gradient(ellipse at 5% 93%,rgba(137,212,181,.26),transparent 40%),
    linear-gradient(118deg,#ffffff 5%,#f7fff2 51%,#dff4d9 100%);
}
.hero::before{
  content:"";position:absolute;right:-1%;top:0;width:32%;height:39%;
  background:url('leaf-accent.jpg') center/cover no-repeat;
  opacity:.55;mask-image:linear-gradient(to left,#000 40%,transparent 100%);
  pointer-events:none;
}
.hero::after{
  content:"";position:absolute;bottom:-13%;left:-8%;width:120%;height:39%;
  background:linear-gradient(125deg,rgba(117,204,166,.19),rgba(166,224,133,.34),rgba(61,161,131,.14));
  border-radius:50% 45% 0 0/65% 60% 0 0;transform:rotate(-5deg);pointer-events:none;
}
.hero h1{color:#15543d;font-family:'Noto Serif JP','Yu Mincho',serif;font-weight:600}
.hero-lead{color:#345c4c}
.eyebrow.light,.hero-foot{color:#367c58}
.btn-white{background:linear-gradient(105deg,#a7e6a0,#318e73);color:white;border-radius:4px;box-shadow:0 9px 22px #297d5c20}
.hero-logo{opacity:.24;filter:none;width:min(35vw,430px);top:20%;right:1%}
.hero-foot{position:relative;z-index:2}
.orb{border-color:rgba(72,145,102,.12)}.orb-b{border-color:rgba(72,145,102,.13)}
.mesh{background:linear-gradient(130deg,transparent,rgba(143,215,144,.10));border-color:rgba(72,145,102,.10)}
.approach-art{background:linear-gradient(140deg,#f7fff2 3%,#c9edc8 52%,#8fd3b3 100%);border-radius:8px}
.approach-art:before{border-color:#ffffff88}
.art-frame{width:75%;height:75%;border:1px solid #ffffff9c;background:#ffffff28;gap:15px}
.art-frame img{width:min(68%,235px);height:220px;object-fit:contain}
.art-frame small{color:#287652;font-weight:700}
.nav-contact{background:#257952}.nav-contact:hover{background:#175a41}
.contact{background:linear-gradient(115deg,#1a6248,#378e6c)}
.footer{background:#174d39}
@media(max-width:800px){
 .hero::before{width:50%;height:28%;opacity:.3}
 .hero-logo{width:46vw;right:-6%;top:40%;opacity:.12}
}
@media(max-width:540px){
 .hero{min-height:620px}
 .hero h1{font-size:clamp(35px,10vw,43px)}
 .hero-logo{width:60vw;top:50%;right:-15%;opacity:.10}
}


/* Approved brand visuals: desktop hero and secondary corporate banner */
.brand-visual{width:100%;background:#f7fff3;overflow:hidden}
.brand-visual img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;margin:auto}
@media(min-width:801px){
 html[lang="ja"] .hero{min-height:0;aspect-ratio:1552/928;display:block;background:#f7fff3 url("hero-brand.png") center center / 100% 100% no-repeat}
 html[lang="ja"] .hero::before,html[lang="ja"] .hero::after{display:none}
 html[lang="ja"] .hero-content{position:absolute;inset:0;max-width:none;padding:0}
 html[lang="ja"] .hero-geometry,html[lang="ja"] .hero .eyebrow,html[lang="ja"] .hero h1,html[lang="ja"] .hero-lead,html[lang="ja"] .hero-logo,html[lang="ja"] .hero-foot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
 html[lang="ja"] .hero .btn-white{position:absolute;left:4.2%;top:57.5%;width:18.5%;height:7.8%;min-width:0;opacity:0;z-index:3}
 html[lang="ja"] .hero .btn-white:focus-visible{opacity:.95;outline:3px solid #277d58}
}
@media(max-width:800px){
 .brand-visual img{width:100%;height:auto}
}

/* Final correction: 03 / OUR APPROACH without any secondary image */
.brand-visual{display:none!important}
.approach{background:linear-gradient(175deg,#fff 0%,#f8fcf7 76%,#e7f7e9 100%);position:relative;overflow:hidden}
.approach:after{content:"";position:absolute;pointer-events:none;left:-10%;right:-10%;bottom:-110px;height:210px;border-radius:50%;background:linear-gradient(95deg,rgba(104,207,168,.16),rgba(170,220,130,.20),rgba(92,186,153,.09))}
.approach .container{position:relative;z-index:1}
.approach-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:1px solid #d6e7d8}
.approach-heading .eyebrow{margin:0;color:#3f9b6a;font-size:15px;letter-spacing:.13em}
.approach-heading h2{font-size:22px}
.approach-content{display:grid;grid-template-columns:36% 1fr;gap:48px;align-items:center;padding-top:52px}
.approach-intro p{font-size:17px;line-height:2.15;color:#335d4b;margin:0}
.approach-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.approach-feature{text-align:center;padding:8px 18px;border-left:1px solid #d8e9db}
.approach-feature:first-child{border-left:0}
.feature-icon{width:80px;height:80px;margin:0 auto 18px;border-radius:50%;border:1px solid #d4e9d8;background:linear-gradient(135deg,#f8fff9,#e7f7e8);color:#287e58;display:grid;place-items:center}
.feature-icon svg{width:42px;height:42px}
.approach-feature h3{font-size:17px;line-height:1.5;color:#185d42;margin:0 0 12px}
.approach-feature p{font-size:12px;line-height:1.9;color:#5d7669;margin:0}
@media(max-width:900px){.approach-content{grid-template-columns:1fr;gap:34px}.approach-intro p{max-width:780px}}
@media(max-width:600px){.approach-heading{align-items:start;flex-direction:column;gap:10px}.approach-values{grid-template-columns:1fr;gap:12px}.approach-feature{border-left:0;border-top:1px solid #d8e9db;padding:22px 12px}.approach-feature:first-child{border-top:0}.approach-intro p{font-size:15px}}

/* 2026-10-28: First page matches the supplied reference. No extra leaf accent. */
.hero::before{display:none!important;background:none!important;content:none!important}
@media(min-width:801px){
 html[lang="ja"] .hero{min-height:0!important;aspect-ratio:1552/489!important;background:#f7fff3 url("hero-reference.jpg") center/100% 100% no-repeat!important}
 html[lang="ja"] .hero .btn-white{left:6.45%!important;top:74.5%!important;width:17.8%!important;height:12%!important}
}
/* On small screens the content remains real selectable text and is not squeezed into a tiny screenshot. */
@media(max-width:800px){
 html[lang="ja"] .hero{background:linear-gradient(105deg,#fafff8e8,#effbe5bd),url("hero-reference.jpg") 67% center/cover no-repeat!important}
 .hero::before{display:none!important}
}
.site-header{background:#fff!important}
.approach{background:linear-gradient(175deg,#fff 0%,#fbfefa 70%,#e8f7e9 100%)}

/* Approved 03 / OUR APPROACH: banner image, no three feature icons */
.approach{background:#fff!important}
.approach .approach-heading{margin-bottom:28px}
.approach-banner-wrap{width:100%;overflow:hidden;border-radius:3px}
.approach-banner{display:block;width:100%;height:auto;aspect-ratio:1444/260;object-fit:cover}
.approach-description{max-width:920px;color:#345f4c;font-size:15px;line-height:2.1;margin:26px 0 0}
@media(max-width:650px){
 .approach-banner{height:190px;aspect-ratio:auto;object-fit:cover;object-position:center}
 .approach-description{font-size:14px}
}
