/* ==========================================================================
   LENDIX Corporate - main.css
   ========================================================================== */

:root{
  --green-deep:#0F4D3C;
  --green-accent:#3CA377;
  --navy:#1C3A5E;
  --bg:#EFEFEA;
  --bg-alt:#EFEDE4;
  --ink:#14201B;
  --ink-soft:#556059;
  --line:#DCDED7;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.9;overflow-x:hidden;}
img{max-width:100%;display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;border:none;background:none;cursor:pointer;}
ul{list-style:none;}

.outline{font-weight:900;color:transparent;-webkit-text-stroke:1.5px rgba(15,77,60,.2);font-size:64px;letter-spacing:.01em;line-height:1;display:block;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

.pill-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:13px 26px;font-size:13px;font-weight:500;letter-spacing:.03em;transition:.25s;}
.pill-btn.outline-dark{border:1px solid rgba(20,32,27,.35);color:var(--ink);}
.pill-btn.outline-dark:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.pill-btn.small{padding:11px 22px;font-size:12.5px;}

/* ---------- header ---------- */
.page-pad{padding:18px;}
header{position:absolute;top:0;left:0;right:0;z-index:20;padding:30px 40px;}
.header-inner{display:flex;align-items:center;justify-content:space-between;}
.logo{font-weight:900;font-size:20px;letter-spacing:.04em;color:var(--ink);display:flex;align-items:center;gap:8px;}
.logo .dot{width:9px;height:9px;border-radius:50%;background:var(--green-deep);}
nav.main-nav ul{display:flex;gap:34px;}
nav.main-nav a{font-size:13.5px;letter-spacing:.03em;color:var(--ink);position:relative;padding-bottom:3px;}
nav.main-nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--green-deep);transition:width .25s ease;}
nav.main-nav a:hover::after{width:100%;}
.header-right{display:flex;align-items:center;gap:14px;}
.menu-toggle{width:44px;height:44px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.menu-toggle span{display:block;width:15px;height:1.5px;background:#fff;position:absolute;transition:.3s;}
.menu-toggle span:nth-child(1){transform:translateY(-4px);}
.menu-toggle span:nth-child(2){transform:translateY(4px);}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translateY(0);}
.menu-toggle.active span:nth-child(2){transform:rotate(-45deg) translateY(0);}

/* ---------- fullscreen nav overlay ---------- */
.nav-overlay{position:fixed;inset:0;z-index:150;background:linear-gradient(135deg,var(--green-deep),var(--navy));display:flex;flex-direction:column;justify-content:space-between;padding:120px 32px 48px;opacity:0;pointer-events:none;transform:translateY(-12px);transition:.45s ease;}
.nav-overlay.active{opacity:1;pointer-events:auto;transform:translateY(0);}
.nav-grid{max-width:1160px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;}
.nav-grid li{list-style:none;}
.nav-grid a{display:flex;align-items:baseline;gap:14px;color:#fff;font-size:34px;font-weight:700;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.nav-grid a .dot{width:7px;height:7px;border-radius:50%;background:var(--green-accent);flex-shrink:0;}
.nav-grid a .ja{font-size:13px;font-weight:400;color:rgba(255,255,255,.6);}
.nav-overlay-foot{max-width:1160px;margin:0 auto;width:100%;display:flex;justify-content:space-between;color:rgba(255,255,255,.6);font-size:12px;flex-wrap:wrap;gap:10px;}

/* ---------- hero (rounded card) ---------- */
.hero{position:relative;height:calc(100vh - 36px);min-height:680px;border-radius:28px;overflow:hidden;color:var(--ink);}
.hero-media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-color:#AEDBC1;}
.hero-copy{position:absolute;left:56px;bottom:150px;z-index:2;max-width:640px;}
.hero-eyebrow{font-size:12px;letter-spacing:.1em;color:var(--green-deep);font-weight:500;opacity:0;animation:rise .8s .15s ease forwards;}
.hero h1{font-size:56px;line-height:1.35;font-weight:900;color:var(--ink);opacity:0;animation:rise .9s .3s ease forwards;}
.hero-tagline{margin-top:20px;font-size:15px;color:var(--ink-soft);opacity:0;animation:rise .9s .45s ease forwards;}
.hero-cta{position:absolute;left:56px;bottom:56px;z-index:2;background:var(--ink);color:#fff;padding:18px 30px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:10px;opacity:0;animation:rise .9s .55s ease forwards;}
.hero-cta:hover{background:var(--green-deep);}
.hero-note{position:absolute;right:56px;bottom:56px;z-index:2;background:rgba(255,255,255,.55);backdrop-filter:blur(6px);border-radius:999px;padding:12px 26px;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:16px;opacity:0;animation:rise .9s .65s ease forwards;}
.hero-note .date{font-weight:700;color:var(--green-deep);}
.hero-note .sep{width:1px;height:16px;background:rgba(20,32,27,.25);}
@keyframes rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* ---------- trust strip ---------- */
.trust{padding:80px 0 64px;}
.trust-inner{display:grid;grid-template-columns:repeat(3,1fr);}
.trust-item{padding:0 30px;border-left:1px solid var(--line);}
.trust-item:first-child{border-left:none;padding-left:0;}
.trust-item .ttl{font-weight:700;font-size:18px;color:var(--green-deep);display:flex;align-items:center;gap:10px;}
.trust-item .ttl .n{font-size:12px;color:var(--green-accent);font-weight:700;}
.trust-item p{font-size:13px;color:var(--ink-soft);margin-top:12px;}

/* ---------- section common ---------- */
.section{padding:110px 0;}
.sec-eyebrow{font-size:12px;letter-spacing:.2em;color:var(--green-accent);font-weight:700;}

/* label + outline + button block (BUSINESS / COMPANY) */
.head-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;margin-bottom:56px;align-items:start;}
.head-split .label-col .sec-eyebrow{display:block;margin-bottom:6px;}
.head-split .label-col .pill-btn{margin-top:22px;}
.head-split .copy-col h3{font-size:24px;font-weight:700;max-width:19em;}
.head-split .copy-col p{font-size:13px;color:var(--ink-soft);margin-top:14px;max-width:30em;}

/* ---------- business ---------- */
.biz-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:stretch;}
.biz-list-item{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);}
.biz-list-item .num{font-size:13px;color:var(--green-accent);font-weight:700;width:2em;flex-shrink:0;}
.biz-list-item .txt{flex:1;}
.biz-list-item .txt h4{font-size:16.5px;font-weight:700;}
.biz-list-item .txt p{font-size:13px;color:var(--ink-soft);margin-top:8px;max-width:34em;}
.arrow-btn{width:40px;height:40px;border-radius:50%;background:var(--green-deep);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;transition:.25s;}
.biz-list-item:hover .arrow-btn{background:var(--green-accent);transform:translateX(3px);}
.biz-photo{min-height:420px;border-radius:2px;background-size:cover;background-position:center;background-color:var(--green-deep);}

/* ---------- flow ---------- */
.flow{background:var(--bg-alt);}
.flow-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;margin-top:50px;}
.flow-row::before{content:'';position:absolute;top:22px;left:8%;right:8%;height:1px;background:var(--line);}
.flow-step{position:relative;text-align:center;padding:0 20px;}
.flow-step .circle{width:46px;height:46px;border-radius:50%;background:var(--green-deep);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-weight:700;font-size:14px;position:relative;z-index:1;}
.flow-step h4{font-size:15px;font-weight:700;}
.flow-step p{font-size:12.5px;color:var(--ink-soft);margin-top:8px;}

/* ---------- company photos ---------- */
.company-photos{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;}
.company-photos .ph,
.company-photo-main,
.company-photo-sub{background-size:cover;background-position:center;border-radius:2px;background-color:var(--green-deep);}
.company-photo-main{aspect-ratio:4/3;}
.company-photo-sub{height:100%;}

/* ---------- gallery strip ---------- */
.gallery-strip{display:flex;gap:20px;padding:0 32px;max-width:1160px;margin:0 auto;}
.gallery-strip .g-item{flex:1;border-radius:2px;background-size:cover;background-position:center;background-color:var(--green-deep);}
.gallery-strip .g-item:nth-child(1){aspect-ratio:3/4;margin-top:40px;}
.gallery-strip .g-item:nth-child(2){aspect-ratio:3/5;}
.gallery-strip .g-item:nth-child(3){aspect-ratio:3/4;margin-top:60px;}
.gallery-strip .g-item:nth-child(4){aspect-ratio:3/5;margin-top:10px;}
.gallery-strip .g-item:nth-child(5){aspect-ratio:3/4;margin-top:70px;}

/* ---------- strengths / numbers on photo ---------- */
.strengths{position:relative;color:#fff;padding:130px 32px;background-size:cover;background-position:center;background-color:var(--ink);}
.strengths::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,16,.5),rgba(8,20,16,.8));z-index:1;}
.strengths-inner{position:relative;z-index:2;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;}
.strengths-head .en{font-size:12px;letter-spacing:.2em;color:var(--green-accent);font-weight:700;}
.strengths-head .outline{-webkit-text-stroke:1.5px rgba(255,255,255,.35);font-size:52px;margin-top:14px;}
.strengths-head p{margin-top:20px;font-size:13px;color:rgba(255,255,255,.75);max-width:24em;}
.strengths-head .pill-btn{margin-top:26px;border:1px solid rgba(255,255,255,.5);color:#fff;}
.strengths-head .pill-btn:hover{background:#fff;color:var(--green-deep);}
.strengths-stats .stat{border-top:1px solid rgba(255,255,255,.25);padding:28px 0;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;}
.strengths-stats .stat:last-child{border-bottom:1px solid rgba(255,255,255,.25);}
.strengths-stats .big{font-size:38px;font-weight:900;flex-shrink:0;}
.strengths-stats .stat p{font-size:12.5px;color:rgba(255,255,255,.72);max-width:22em;}

/* ---------- news list ---------- */
.news-list{margin-top:44px;}
.news-item{display:flex;gap:28px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line);}
.news-item .date{font-size:12.5px;color:var(--ink-soft);width:6.5em;flex-shrink:0;}
.news-item .cat{font-size:11.5px;color:var(--green-deep);border:1px solid var(--green-deep);border-radius:999px;padding:3px 12px;flex-shrink:0;}
.news-item .ttl{font-size:13.5px;flex:1;}
.news-more{margin-top:36px;text-align:right;}

/* ---------- split banner ---------- */
.split-banner{display:grid;grid-template-columns:1fr 1fr;}
.split-panel{padding:90px 40px;text-align:center;transition:.3s;position:relative;}
.split-panel.company-p{background:var(--bg-alt);}
.split-panel.inquiry-p{background:var(--green-deep);color:#fff;}
.split-panel h4{font-size:26px;font-weight:900;display:inline-flex;align-items:center;gap:10px;}
.split-panel h4 .dot{width:8px;height:8px;border-radius:50%;background:var(--green-accent);}
.split-panel .ja{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:10px;}
.split-panel.inquiry-p .ja{color:rgba(255,255,255,.7);}
.split-panel:hover{opacity:.88;}

/* ---------- inquiry cta band ---------- */
.inquiry-cta-band{position:relative;background:var(--ink);color:#fff;text-align:center;padding:120px 32px;}
.inquiry-cta-band .en{font-size:12px;letter-spacing:.2em;color:var(--green-accent);font-weight:700;}
.inquiry-cta-band h2{font-size:30px;font-weight:900;margin-top:14px;}
.inquiry-cta-band p{margin-top:18px;font-size:14px;color:#D7E4DC;max-width:34em;margin-left:auto;margin-right:auto;}
.inquiry-cta-btn{display:inline-flex;margin-top:34px;background:#fff;color:var(--ink);padding:17px 40px;font-size:14px;font-weight:600;}
.inquiry-cta-btn:hover{background:var(--green-accent);color:#fff;}

/* ---------- mega footer ---------- */
.mega-footer{background:linear-gradient(135deg,var(--green-deep),var(--navy));color:#fff;padding:90px 32px 40px;}
.mega-footer-inner{max-width:1160px;margin:0 auto;}
.mega-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 60px;margin-top:50px;}
.mega-footer-grid li{list-style:none;}
.mega-footer-grid a{display:flex;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:20px;font-weight:700;}
.mega-footer-grid a .dot{width:6px;height:6px;border-radius:50%;background:var(--green-accent);}
.mega-footer-grid a .ja{font-size:12px;font-weight:400;color:rgba(255,255,255,.55);}
.mega-footer-legal{margin-top:50px;display:flex;gap:26px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.6);}
.mega-footer-copy{margin-top:24px;font-size:11.5px;color:rgba(255,255,255,.45);}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .outline{font-size:44px;}
  .hero h1{font-size:32px;}
  .hero-copy{left:28px;bottom:170px;}
  .hero-cta{left:28px;}
  .hero-note{right:28px;}
  nav.main-nav{display:none;}
  .trust-inner{grid-template-columns:1fr;gap:20px;}
  .trust-item{border-left:none;padding:0;padding-top:20px;border-top:1px solid var(--line);}
  .trust-item:first-child{border-top:none;padding-top:0;}
  .head-split{grid-template-columns:1fr;gap:20px;}
  .biz-layout{grid-template-columns:1fr;}
  .biz-photo{min-height:260px;}
  .flow-row{grid-template-columns:1fr;gap:30px;}
  .flow-row::before{display:none;}
  .company-photos{grid-template-columns:1fr;}
  .gallery-strip{flex-wrap:wrap;}
  .gallery-strip .g-item{flex:1 1 40%;margin-top:0 !important;}
  .strengths-inner{grid-template-columns:1fr;gap:36px;}
  .split-banner{grid-template-columns:1fr;}
  .mega-footer-grid{grid-template-columns:1fr;}
  .nav-grid{grid-template-columns:1fr;}
  .nav-grid a{font-size:24px;}
}
