*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#17392f;background:#fafbf8;font-family:"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid #dce6df;padding:25px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px}header img{width:190px;height:auto}nav{display:flex;gap:25px;font-size:13px;font-weight:600}nav a[aria-current]{color:#258563}nav a:last-child{border-left:1px solid #ddd;padding-left:22px}.wrap{max-width:1200px;margin:auto;padding:95px 40px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:bold;color:#278764;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5vw,74px);line-height:1.5;letter-spacing:.03em}h2{font-size:clamp(28px,3vw,42px);line-height:1.6}h3{font-size:22px;line-height:1.6}.hero{position:relative;min-height:700px;display:grid;grid-template-columns:1.1fr 1fr}.hero-copy{padding:100px 6vw 75px;align-self:center}.hero-copy p{font-size:14px}.hero-img{background:linear-gradient(0deg,#123d2822,#123d2800),url(cpoint-assets/home.jpg) center/cover}.hero h1{font-size:clamp(42px,4.7vw,72px)}.hero .eyebrow{margin-bottom:35px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-bottom:1px solid #39a27b;padding:16px 0;font-weight:bold;font-size:14px}.btn:after{content:'↗';color:#278764}.solid{background:#237b5b;color:white;padding:17px 27px;border:0}.solid:after{color:white}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:center}.split img{width:100%;max-height:520px;object-fit:cover}.lead{font-size:18px}.green{background:#eaf2eb}.dark{background:#143b2f;color:white}.dark .eyebrow{color:#92d8b7}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-top h2{margin:0}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:44px}.service{border-top:1px solid #afc5b8;padding-top:25px}.service figure{margin:0 0 24px;overflow:hidden}.service img{width:100%;height:250px;object-fit:cover;transition:transform .5s}.service:hover img{transform:scale(1.03)}.number{font-family:Georgia,serif;font-size:18px;color:#278764;margin-bottom:12px}.service p{font-size:14px;color:#496359}.band{padding:65px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px}.band h2{margin-bottom:10px}.pagehead{padding:85px max(6vw,24px) 70px;background:#eaf2eb}.pagehead h1{margin-bottom:5px;font-size:62px}.pagehead p{margin:0}.prose{max-width:780px}.prose p{margin-bottom:25px}.statement{font-size:clamp(26px,3vw,40px);font-weight:600;line-height:1.9}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.value{border-top:2px solid #39a27b;padding-top:22px}.value p{font-size:14px}dl{margin:0}dl div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #d0ddd3;padding:23px 0}dt{font-weight:bold}dd{margin:0}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.work img{width:100%;height:210px;object-fit:contain;background:white}.work h3{font-size:20px;margin-top:22px}.work p{font-size:14px}.journal{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.journal img{height:200px;width:100%;object-fit:cover}.journal h3{font-size:18px;margin-top:18px}.journal time{font-size:12px;color:#527060}.note{font-size:13px;color:#5c7266}.form{max-width:800px}.form label{display:block;font-weight:600;margin:22px 0 7px}.form input,.form select,.form textarea{width:100%;padding:15px;border:1px solid #9fb9aa;background:white;border-radius:0;font:inherit}.form textarea{min-height:190px}.form .check{display:flex;gap:12px;align-items:start;font-weight:normal;font-size:14px}.check input{width:auto;margin-top:10px}button{cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.55}footer{background:#102e25;color:#d4e2d9;padding:55px 6% 25px;font-size:12px}footer .footnav{display:flex;flex-wrap:wrap;gap:25px;margin:30px 0}footer img{width:190px;background:white;padding:10px}footer .bottom{border-top:1px solid #426052;padding-top:22px;margin-top:30px;display:flex;justify-content:space-between}a:focus-visible,button:focus-visible{outline:3px solid #39a27b;outline-offset:5px}.mobile-toggle{display:none}@media(max-width:850px){header{padding:20px 24px;flex-wrap:wrap}header img{width:160px}.mobile-toggle{display:block;border:0;background:none;color:#17392f}nav{display:none;width:100%;flex-wrap:wrap;gap:18px}nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:65px 25px 50px}.hero-img{height:340px;grid-row:2}.wrap{padding:65px 24px}.split{grid-template-columns:1fr;gap:35px}.grid{gap:35px}.works,.journal,.values{grid-template-columns:1fr 1fr}.band{align-items:start;flex-direction:column;padding:50px 24px}.pagehead h1{font-size:42px}.section-top{align-items:start;flex-direction:column}dl div{grid-template-columns:1fr;gap:7px}}@media(max-width:550px){.grid,.works,.journal,.values{grid-template-columns:1fr}.hero h1{font-size:41px}.service img{height:230px}.hero-img{height:290px}footer .bottom{flex-direction:column;gap:12px}}
/* Second edition: precise green, editorial typography, quieter footer */
body{color:#17382d;background:#fff;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}header{padding:18px 4%;background:#fffffff7;backdrop-filter:blur(14px)}header img{width:185px}nav{gap:25px}nav a:nth-last-child(2){background:#247653;color:white;padding:9px 18px;margin:-9px 0}.hero-v2{grid-template-columns:1.04fr 1fr;min-height:690px;background:#f5f8f4;overflow:hidden}.hero-copy{padding:65px 3vw 65px 6vw}.hero-v2 h1{font-size:clamp(42px,4.2vw,68px);font-weight:750;letter-spacing:.015em;line-height:1.4;margin-bottom:26px}.hero-v2 h1 em{font-style:normal;color:#2f9670}.hero-v2 .eyebrow{font-size:11px;letter-spacing:.13em;margin-bottom:24px}.hero-copy .hero-sub{font-size:22px;font-weight:600;line-height:1.65;margin-bottom:16px}.hero-copy>p:not(.hero-sub){color:#526a5e;font-size:13px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px}.text-link{font-size:13px;font-weight:bold;border-bottom:1px solid #93af9e;padding:7px 0}.hero-visual{margin:0;position:relative;min-height:600px;align-self:stretch}.hero-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-visual figcaption{position:absolute;bottom:24px;left:28px;right:28px;color:#173d2d;font-size:10px;letter-spacing:.1em;display:flex;justify-content:space-between;gap:15px;text-shadow:0 0 8px white}.hero-visual figcaption span{font-size:9px;letter-spacing:0}.proof-strip{display:grid;grid-template-columns:1fr 1fr 1.4fr;padding:32px 6%;border-bottom:1px solid #d7e2d9;gap:24px}.proof-strip>div{border-right:1px solid #d7e2d9;padding-right:20px;display:flex;flex-direction:column}.proof-strip>div:last-child{border:0}.proof-strip strong{font-size:30px;font-weight:500;letter-spacing:.02em;line-height:1.5}.proof-strip span{font-size:11px;color:#617469}.proof-strip>div:last-child strong{font-size:23px}.wrap{padding:95px 40px}.section-desc{font-size:14px;color:#617469}.value{padding-top:28px}.value h3{font-size:24px;margin:18px 0}.value .number{font-size:11px;letter-spacing:.12em}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:45px 0 20px}.steps article{border-top:1px solid #a4c2af;padding-top:20px}.steps span{color:#2b9269;font-size:28px}.steps h3{font-size:19px;margin:13px 0}.steps p{font-size:13px;color:#526b5b}.faq{max-width:1000px}.faq details{padding:23px 0;border-bottom:1px solid #d4e0d8}.faq summary{font-weight:bold;cursor:pointer;list-style:none;padding-right:35px;position:relative}.faq summary:after{content:'＋';position:absolute;right:0;color:#318962}.faq details[open] summary:after{content:'−'}.faq details p{margin:17px 0 0;color:#52675c;font-size:14px}.dark.band{background:#1b4f3a;padding:70px 6%;position:relative}.band .solid{background:#fff;color:#214e3a}.band .solid:after{color:#214e3a}footer{background:#f1f5f0;color:#254739;padding:60px 6% 25px}footer img{background:transparent;padding:0;width:220px}footer .bottom{border-color:#cad8cc;color:#617266}footer .footnav{margin:35px 0}footer p{line-height:2}.skip-link{position:absolute;top:-80px;z-index:100;background:white;padding:15px}.skip-link:focus{top:0}.team-note{padding:30px;border-left:3px solid #39a27b;background:#f2f6f0;margin-bottom:55px}@media(max-width:1000px){.hero-v2{grid-template-columns:1fr 1fr}.hero-actions{gap:14px}.hero-actions .solid{gap:20px;padding:15px 20px}.hero-v2 h1{font-size:48px}.hero-copy{padding-left:30px}.steps{grid-template-columns:1fr 1fr}.proof-strip>div:last-child strong{font-size:18px}}@media(max-width:850px){.hero-v2{grid-template-columns:1fr}.hero-v2 .hero-copy{padding:50px 24px 45px}.hero-v2 h1{font-size:52px}.hero-visual{min-height:390px;grid-row:2}.hero-visual>img{object-position:center 55%}.proof-strip{padding:28px 24px;gap:18px}.proof-strip strong{font-size:25px}.proof-strip span{font-size:10px}.proof-strip>div:last-child strong{font-size:16px}.wrap{padding:65px 24px}nav a:nth-last-child(2){margin:0}nav{align-items:center}}@media(max-width:550px){.hero-v2 h1{font-size:45px}.hero-copy .hero-sub{font-size:20px}.hero-visual{min-height:320px}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip>div:nth-child(2){border:0}.proof-strip>div:last-child{grid-column:1/-1;border-top:1px solid #d7e2d9;padding-top:18px}.proof-strip>div:last-child strong{font-size:22px}.steps{grid-template-columns:1fr}.hero-visual figcaption{left:15px;right:15px;font-size:8px}.hero-visual figcaption span{font-size:8px}.values{gap:38px}.value h3{font-size:23px}}

footer{background:#fff}footer img{background:transparent}section[id]{scroll-margin-top:115px}.history-section{background:#f6f8f4;border-top:1px solid #dde6dd;border-bottom:1px solid #dde6dd}.timeline{padding:0;margin:50px 0;list-style:none}.timeline li{display:grid;grid-template-columns:170px 1fr;gap:45px;padding:26px 0;border-top:1px solid #d6e0d7}.timeline time,.history-highlights time{color:#2d936b;font-size:27px;font-weight:500;letter-spacing:.02em}.timeline h3{font-size:20px;margin:3px 0 9px}.timeline p{font-size:14px;margin:0;color:#52695d}.history-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.history-highlights article{border-top:2px solid #39a27b;padding-top:24px}.history-highlights h3{font-size:19px;margin-top:15px}.history-highlights p{font-size:13px;color:#5b7163}@media(max-width:850px){.history-highlights{grid-template-columns:repeat(2,1fr)}.timeline li{grid-template-columns:120px 1fr;gap:20px}}@media(max-width:550px){.history-highlights{grid-template-columns:1fr}.timeline li{grid-template-columns:1fr;gap:10px}.timeline time{font-size:25px}}
.company-page main>.wrap.split h2{font-size:clamp(28px,2.6vw,34px)}

.business-network{background:#f3f7f2;border-top:1px solid #dae5da}.network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.network-link{display:block;background:#fff;border:1px solid #d5e2d6;padding:32px;transition:border-color .2s,transform .2s}.network-link:hover{border-color:#39a27b;transform:translateY(-3px)}.network-link h3{display:flex;justify-content:space-between;gap:20px;font-size:26px;margin:14px 0}.network-link h3 span{color:#2c936a}.network-link p{font-size:14px;color:#526b5c}.network-domain{font-size:12px;color:#3d7f60}.business-footer{display:flex;flex-wrap:wrap;gap:12px 25px;border-top:1px solid #d5e2d6;padding-top:25px;margin-top:30px}.business-footer>span{font-weight:bold}.business-footer a:hover{text-decoration:underline}.service-site{margin-top:12px}.service-site .btn{color:#237b5b}@media(max-width:550px){.network-grid{grid-template-columns:1fr}.network-link{padding:25px}.network-link h3{font-size:23px}.business-footer>span{width:100%}}
