/* 2026 visual refresh — keeps the existing information architecture intact */
:root{
  --ink:#111317;
  --muted:#6d737b;
  --line:#e5e7eb;
  --paper:#ffffff;
  --soft:#f5f6f7;
  --soft-2:#eef0f2;
  --accent:#16835f;
  --accent-dark:#0d5e43;
  --dark:#0b241b;
  --radius:22px;
  --shadow:0 18px 48px rgba(16,24,40,.08);
  --max:1180px;
}

html{scroll-padding-top:88px;background:var(--paper)}
body.landing{
  background:var(--paper);
  color:var(--ink);
  font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  letter-spacing:.02em;
}
body.landing p{color:#535961;line-height:1.95}
body.landing a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
body.landing h1,body.landing h2,body.landing h3{font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;letter-spacing:.01em;text-transform:none}
body.landing h2{font-weight:700;color:var(--ink)}
body.landing .inner{width:min(var(--max),calc(100% - 64px));max-width:none;margin-inline:auto}

/* Header */
body.landing #header{
  position:fixed; inset:0 0 auto 0; height:72px; padding:0 28px;
  display:flex; align-items:center; justify-content:flex-end; gap:22px;
  background:rgba(255,255,255,.88); border-bottom:1px solid rgba(17,19,23,.08);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  z-index:10000;
}
body.landing #header.alt{background:rgba(255,255,255,.82)}
body.landing #header .site-subnav{margin:0 auto 0 0;position:static;font-size:11px;letter-spacing:.12em;font-weight:700}
body.landing #header .site-subnav a{color:#656b73;text-decoration:none}
body.landing #header .site-subnav a:hover{color:var(--ink)}
body.landing #header a[href="#nav"]{
  position:static; width:auto; height:40px; line-height:40px; padding:0 42px 0 16px;
  border:1px solid #dfe2e6; border-radius:999px; color:var(--ink)!important;
  font-size:12px; font-weight:700; letter-spacing:.12em; background:#fff;
}
body.landing #header a[href="#nav"]:before{right:14px;color:var(--ink)}

/* Slide menu */
body.landing #nav{background:#0b241b;color:#fff;box-shadow:-30px 0 70px rgba(0,0,0,.18)}
body.landing #nav > ul.links > li{border-color:rgba(255,255,255,.12)}
body.landing #nav > ul.links > li > a:not(.button){color:rgba(255,255,255,.88);font-weight:600;letter-spacing:.04em}
body.landing #nav > ul.links > li > a:not(.button):hover{color:#fff;padding-left:.5rem}

/* Hero */
body.landing #banner{
  min-height:760px; padding:150px 32px 110px; display:flex; flex-direction:column; justify-content:center;
  background:
    linear-gradient(90deg,rgba(5,42,29,.86) 0%,rgba(7,63,44,.68) 46%,rgba(8,81,56,.18) 100%),
    url("../../images/banner_ (2).jpg") center/cover no-repeat;
  text-align:left; position:relative;
}
body.landing #banner:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:rgba(255,255,255,.25)}
body.landing #banner > *{position:relative;z-index:1;width:min(var(--max),100%);margin-left:auto;margin-right:auto}
body.landing #banner .hero-title-row{display:flex;align-items:center;gap:26px;margin:0 0 24px}
body.landing #banner .symbol{display:flex;flex:0 0 auto;margin:0!important}
body.landing #banner .symbol img{width:82px;height:auto;filter:none;opacity:1}
body.landing #banner h1{
  max-width:840px; margin:0!important; color:#fff; font-size:clamp(40px,6vw,78px);
  line-height:1.08; font-weight:700; letter-spacing:-.045em;
}
body.landing #banner .inner{width:min(var(--max),100%);margin:0 auto}
body.landing #banner p{max-width:620px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(15px,1.5vw,18px);line-height:1.95}
body.landing .hero-kicker{display:inline-flex!important;width:auto!important;margin:0 0 22px!important;padding:8px 12px;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
body.landing .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
body.landing .hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em}
body.landing .hero-actions .primary{background:var(--accent);color:#fff}
body.landing .hero-actions .primary:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
body.landing .hero-actions .ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06)}
body.landing .hero-actions .ghost:hover{background:rgba(255,255,255,.14)}


/* Green brand refinements */
body.landing #header{border-bottom-color:rgba(22,131,95,.14)}
body.landing #header .site-subnav a{color:#0d5e43}
body.landing #header .site-subnav a:hover{color:#16835f}
body.landing #header a[href="#nav"]{border-color:rgba(22,131,95,.24);color:#0d5e43!important}
body.landing #header a[href="#nav"]:before{color:#0d5e43}
body.landing .hero-kicker{border-color:rgba(255,255,255,.5);background:rgba(10,96,67,.22)}
body.landing .slick-dots li.slick-active button:before{color:var(--accent)}
body.landing article.feature{border-color:rgba(22,131,95,.14)}
body.landing article.feature .content h2:after{content:"";display:block;width:44px;height:3px;margin-top:14px;border-radius:999px;background:var(--accent)}
body.landing .cp_qa01{border-color:rgba(22,131,95,.18)}

/* Sections */
body.landing .wrapper{padding:104px 0}
body.landing .wrapper.special{text-align:center;background:#fff}
body.landing .wrapper.style1{background:var(--soft)}
body.landing .wrapper.style3{background:linear-gradient(180deg,#0b241b 0%,#071a14 100%);color:#fff}
body.landing header.major.narrow{max-width:860px;margin:0 auto 54px}
body.landing header.major.narrow h2,
body.landing .wrapper > .inner > h2{font-size:clamp(28px,3vw,44px);line-height:1.2;letter-spacing:-.025em;margin-bottom:18px}
body.landing header.major.narrow p{font-size:15px;color:var(--muted)}

/* Client strip */
body.landing .slider{margin:18px auto 0}
body.landing .slider .slick-track{display:flex;align-items:center}
body.landing .slider li{padding:12px}
body.landing .slider img{width:100%;height:90px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:16px;filter:grayscale(1);opacity:.78;transition:.2s ease}
body.landing .slider img:hover{filter:none;opacity:1;transform:translateY(-2px)}
body.landing .slick-dots li button:before{font-size:7px;color:#9aa0a6}
body.landing .slick-dots li.slick-active button:before{color:var(--ink)}

/* Editorial service cards */
body.landing article.feature{
  display:grid!important;grid-template-columns:1.1fr .9fr;min-height:440px;margin:0 0 34px!important;
  overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:none;
}
body.landing article.feature.left{grid-template-columns:1.1fr .9fr}
body.landing article.feature.right{grid-template-columns:.9fr 1.1fr}
body.landing article.feature .image{display:block!important;width:auto!important;height:100%!important;min-height:390px;margin:0!important;overflow:hidden}
body.landing article.feature .image img{width:100%;height:100%;min-height:390px;object-fit:cover;transition:transform .55s ease}
body.landing article.feature:hover .image img{transform:scale(1.025)}
body.landing article.feature .content{display:flex!important;flex-direction:column;justify-content:center;width:auto!important;padding:54px!important;text-align:left;background:#fff}
body.landing article.feature .content h2{font-size:clamp(26px,3vw,40px);line-height:1.25;letter-spacing:-.025em;margin:0 0 20px}
body.landing article.feature .content p{font-size:15px;line-height:2;margin:0}
body.landing article.feature .actions{margin-top:28px}
body.landing article.feature.right .image{order:2}
body.landing article.feature.right .content{order:1}

/* Buttons */
body.landing .button,body.landing input[type="submit"]{
  min-height:46px;line-height:44px;padding:0 22px;border-radius:999px!important;border:1px solid #d9dde1!important;
  background:#fff!important;color:var(--ink)!important;box-shadow:none!important;font-size:12px;font-weight:700;letter-spacing:.06em
}
body.landing .button:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;transform:translateY(-1px)}
body.landing .actions{display:flex;gap:10px;flex-wrap:wrap}
body.landing .actions li{padding:0!important;margin:0!important}

/* FAQ */
body.landing .cp_qa01{border-top:0!important;margin:28px 0 90px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
body.landing .cp_qa01 .cp_actab{margin:0!important;color:var(--ink)!important}
body.landing .cp_qa01 .cp_actab label{min-height:70px;padding:18px 64px 18px 24px!important;border-bottom:1px solid var(--line)!important;font-size:15px;line-height:1.55;text-align:left;background:#fff}
body.landing .cp_qa01 .cp_actab label:hover{background:#fafafa}
body.landing .cp_qa01 .cp_actab label:after{right:24px!important;color:var(--accent)!important}
body.landing .cp_qa01 .cp_actab .cp_actab-content p{margin:0!important;padding:28px!important;background:#fafafa;font-size:14px;text-align:left;line-height:2}

/* News box / legacy blocks */
body.landing .box{border:1px solid var(--line)!important;border-radius:18px!important;background:#fff!important;padding:20px!important;color:#4f555d!important}
body.landing .innerS{max-width:980px;margin:0 auto}

/* Gallery */
body.landing #gallery{gap:18px!important}
body.landing #gallery a{display:block;overflow:hidden;border-radius:18px;background:#eee;box-shadow:0 1px 0 rgba(0,0,0,.03)}
body.landing #gallery img{border-radius:0!important;transition:transform .45s ease,filter .3s ease}
body.landing #gallery a:hover img{transform:scale(1.035);filter:brightness(.96)}

/* About */
body.landing .wrapper.style3 h2,body.landing .wrapper.style3 h3{color:#fff}
body.landing .wrapper.style3 p{color:rgba(255,255,255,.7)}
body.landing .features{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;margin-top:48px}
body.landing .features section{width:auto!important;margin:0!important;padding:42px!important;background:#0f2d22;border:0!important;text-align:left}
body.landing .features section .icon{position:static!important;display:flex!important;align-items:center;justify-content:center;width:46px!important;height:46px!important;margin:0 0 24px!important;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff!important;background:rgba(255,255,255,.04)!important;font-size:18px!important}
body.landing .features section h3{font-size:20px;margin-bottom:16px}
body.landing .features section p{font-size:13px;line-height:1.9}
body.landing .features section a{color:#fff!important;text-decoration:underline;text-underline-offset:4px}

/* Footer */
body.landing #footer{background:#06140f;padding:34px 0;border-top:1px solid rgba(255,255,255,.08)}
body.landing #footer .inner{padding:0!important}
body.landing #footer .copyright{margin:0;text-align:left;color:#7d838c;font-size:11px;letter-spacing:.06em}
body.landing #footer a{color:#aeb4bc!important}

/* Pagetop */
body.landing #pagetop{position:fixed!important;right:22px;bottom:22px;z-index:9000}
body.landing #pagetop center{display:block}
body.landing #pagetop img{width:46px!important;height:46px!important;object-fit:contain;padding:10px;border-radius:50%;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.14);border:1px solid var(--line)}

/* Legacy content cleanup */
body.landing font{font-family:inherit}
body.landing center{max-width:100%}
body.landing hr{border-color:var(--line)}

@media (max-width:900px){
  body.landing .inner{width:min(100% - 40px,var(--max))}
  body.landing #banner{min-height:680px;padding:132px 24px 90px;background-position:58% center}
  body.landing article.feature,body.landing article.feature.left,body.landing article.feature.right{grid-template-columns:1fr!important}
  body.landing article.feature .image,body.landing article.feature.right .image{order:1!important;min-height:300px}
  body.landing article.feature .content,body.landing article.feature.right .content{order:2!important;padding:36px!important}
  body.landing .features{grid-template-columns:1fr}
}

@media (max-width:600px){
  body.landing .inner{width:calc(100% - 28px)}
  body.landing #header{height:64px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}
  body.landing #header .site-subnav{flex:1 1 auto;margin:0;min-width:0;max-width:none;font-size:9px;letter-spacing:.04em;line-height:1.2;white-space:nowrap}
  body.landing #header .site-subnav a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.landing #header a[href="#nav"]{position:static!important;flex:0 0 auto;margin:0!important;height:38px;line-height:38px;padding:0 40px 0 14px;white-space:nowrap}
  body.landing #banner{min-height:620px;padding:112px 18px 72px;background-position:center center}
  body.landing #banner .hero-title-row{gap:14px;align-items:center;margin-bottom:24px}
  body.landing #banner .symbol img{width:58px}
  body.landing #banner h1{font-size:38px}
  body.landing #banner p{font-size:14px;line-height:1.9}
  body.landing .wrapper{padding:72px 0}
  body.landing article.feature{border-radius:18px;margin-bottom:20px!important}
  body.landing article.feature .image,body.landing article.feature .image img{min-height:250px}
  body.landing article.feature .content{padding:28px 24px!important}
  body.landing article.feature .content h2{font-size:26px}
  body.landing .features section{padding:30px 24px!important}
  body.landing #gallery{gap:10px!important}
  body.landing #gallery a{border-radius:12px}
  body.landing .slider img{height:76px}
}
