
:root{--navy:#102842;--blue:#236da5;--muted:#64758a;--line:#e1e8ed;--paper:#f4f7fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.85;font-size:16px}a{color:inherit;text-decoration:none}.wrap{max-width:1160px;margin:auto;padding:0 28px}.header{background:#fff;position:sticky;top:0;z-index:9;border-bottom:1px solid var(--line)}.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{width:230px;max-width:100%;display:block}.brand small{font-size:11px;color:var(--muted);display:block;margin-top:-5px}.links{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;font-weight:700;letter-spacing:.06em}.links a:hover{color:var(--blue)}.hero{background:linear-gradient(115deg,#102842 0%,#173d63 62%,#246b9f 100%);color:#fff;padding:118px 0 110px;overflow:hidden}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.19em;color:#5fa8d9;text-transform:uppercase}.hero .eyebrow{color:#a8d7f4}.hero h1{font-size:clamp(35px,5vw,64px);line-height:1.45;letter-spacing:.045em;margin:22px 0}.hero p{max-width:720px;font-size:18px;color:#e3ebf3}.button{display:inline-block;background:#fff;color:var(--navy);padding:13px 25px;font-weight:700;border-radius:4px;margin-top:24px}.button.dark{background:var(--navy);color:#fff}.section{padding:96px 0}.soft{background:var(--paper)}.head{margin-bottom:36px}.head h2{font-size:clamp(27px,3.3vw,40px);line-height:1.45;margin:12px 0 15px}.lead{max-width:830px;font-size:17px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service{background:white;border:1px solid var(--line);padding:32px;border-radius:8px}.service .num{font-size:12px;font-weight:800;color:var(--blue)}.service h3{font-size:21px;margin:8px 0}.service p{margin:0;color:#435568}.tag{display:inline-block;border:1px solid #cbd9e4;color:#47677d;font-size:12px;padding:3px 10px;margin-top:18px}.feature{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:90px 1fr;gap:20px}.feature strong{font-size:20px}.feature p{margin:6px 0 0;color:#435568}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.step{background:white;border:1px solid var(--line);border-top:4px solid var(--blue);padding:22px 18px}.step span{font-weight:800;color:var(--blue);font-size:12px}.step h3{font-size:17px;margin:10px 0}.step p{font-size:14px;color:#435568;margin:0}.note{color:#607386;font-size:13px}.profile{display:grid;grid-template-columns:1fr 1.3fr;gap:45px}.profile .panel{background:var(--navy);color:white;padding:36px}.profile .panel h3{font-size:26px;margin:8px 0}.profile p{margin-top:0}.profile li{margin:8px 0}.company{background:#102842;color:white}.company .eyebrow{color:#a8d7f4}.details{width:100%;border-collapse:collapse}.details th,.details td{text-align:left;border-bottom:1px solid #496078;padding:18px 12px;vertical-align:top}.details th{width:180px;color:#b7c9d8}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}.contact-form{display:grid;gap:16px}.contact-form label{display:grid;gap:5px;font-size:14px;font-weight:700}.contact-form input:not([type=checkbox]),.contact-form textarea{font:inherit;border:1px solid #ccd7df;border-radius:4px;padding:11px;width:100%;background:white}.contact-form em{color:#cc3440}.contact-form .privacy-check{display:flex;align-items:center;gap:9px;font-weight:400}.contact-form button{background:var(--navy);border:0;color:white;font:inherit;font-weight:700;padding:14px 28px;cursor:pointer}.footer{border-top:1px solid var(--line);padding:30px 0;color:#66788b;font-size:12px}.footer .wrap{display:flex;justify-content:space-between;gap:16px}.footer a{text-decoration:underline}@media(max-width:850px){.nav{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.links{gap:13px}.hero{padding:85px 0}.grid,.profile,.contact-layout{grid-template-columns:1fr}.flow{grid-template-columns:repeat(2,1fr)}.section{padding:70px 0}}@media(max-width:500px){.wrap{padding:0 18px}.flow{grid-template-columns:1fr}.feature{grid-template-columns:48px 1fr}.details th{width:105px}.brand img{width:205px}.hero h1{font-size:35px}}


/* v8: white airy hero with decorative generated office visual */
.hero{position:relative;background:#f5f9fd;color:#102842;min-height:650px;display:flex;align-items:center;padding:105px 0;isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-2;inset:0 0 0 46%;background:url("hero_visual.jpg") center center/cover no-repeat}
.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#f8fbff 0%,#f8fbff 38%,rgba(248,251,255,.91) 51%,rgba(248,251,255,.16) 83%)}
.hero .wrap{width:100%}.hero .eyebrow{color:#2576b6}.hero h1{font-size:clamp(40px,5.4vw,76px);line-height:1.55;letter-spacing:.025em;max-width:850px;margin:18px 0 24px}.hero p{color:#213e5c;max-width:770px;font-size:clamp(16px,1.6vw,20px);line-height:2}.hero .button{background:#173f70;color:#fff;border-radius:6px;box-shadow:0 8px 22px rgba(20,54,90,.13)}
.service{position:relative;overflow:hidden}.service:before{content:"";position:absolute;right:-24px;top:-27px;width:108px;height:108px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#dceefc,#edf5fb 58%,transparent 60%);opacity:.9}.service h3,.service p,.service .num{position:relative}
@media(max-width:850px){.hero{min-height:570px;padding:85px 0}.hero:before{inset:0 0 0 22%;opacity:.5}.hero:after{background:linear-gradient(90deg,rgba(248,251,255,.99) 0%,rgba(248,251,255,.93) 64%,rgba(248,251,255,.63) 100%)}}
@media(max-width:500px){.hero{min-height:560px}.hero h1{font-size:clamp(32px,8vw,43px)}.hero p{font-size:16px}.hero:before{inset:0;opacity:.25}}


/* v9: abstract business overview and strengths */
.business-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:38px 0 52px}.overview-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 10px 25px rgba(17,47,75,.035)}.overview-card img{width:100%;height:175px;object-fit:cover;display:block;background:#eaf3fa}.overview-card>div{padding:26px}.overview-card .num{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.09em}.overview-card h3{font-size:21px;line-height:1.5;margin:10px 0}.overview-card p{font-size:15px;color:#435568;margin:0}.examples{background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px 38px}.examples h3{font-size:25px;line-height:1.5;margin:12px 0}.examples>p{color:#435568}.example-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.example-grid>div{padding:18px 20px;background:#f4f8fc;border-left:3px solid #3983b7;display:grid;gap:4px}.example-grid b{font-size:16px}.example-grid span{color:#52687c;font-size:14px}.strength-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}.strength-art img{display:block;width:100%;height:auto;border-radius:12px;background:#f1f7fb}.strength-list article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.strength-list article:first-child{border-top:1px solid var(--line)}.strength-list article>span{font-weight:800;color:#2476b1}.strength-list h3{font-size:21px;margin:0 0 7px;line-height:1.5}.strength-list p{margin:0;color:#435568;font-size:15px}@media(max-width:900px){.business-overview{grid-template-columns:1fr}.overview-card{display:grid;grid-template-columns:220px 1fr}.overview-card img{height:100%;min-height:200px}.strength-layout{grid-template-columns:1fr}.strength-art{max-width:580px;margin:auto}}@media(max-width:580px){.overview-card{display:block}.overview-card img{height:170px}.examples{padding:24px 18px}.example-grid{grid-template-columns:1fr}.strength-list h3{font-size:19px}}

/* v10 multi-page */
.nav{min-height:88px}.links{font-size:13px;gap:19px}.page-hero{background:linear-gradient(110deg,#f2f7fc,#eaf3fb);padding:76px 0 68px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;right:-70px;top:-100px;width:450px;height:450px;border:1px solid #c9e2f4;border-radius:50%;pointer-events:none}.page-hero h1{font-size:clamp(32px,4.2vw,52px);margin:14px 0;line-height:1.45}.page-hero p{max-width:800px;color:#496176;font-size:17px}.cta-strip{padding:65px 0;background:#16395c;color:#fff}.cta-strip p{color:#d7e7f4}.cta-strip .button{background:white;color:#16395c}.nav-card{background:#fff;border:1px solid var(--line);padding:32px;border-radius:12px;display:block;transition:transform .2s,box-shadow .2s}.nav-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,45,72,.08)}.nav-card h3{font-size:23px}.nav-card p{color:#52687c}.nav-card .more{color:#236da5;font-weight:700}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.split img{width:100%;border-radius:12px}.partner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.partner-list article{padding:28px;background:white;border:1px solid var(--line);border-radius:10px}.partner-list h3{font-size:20px;line-height:1.6;overflow-wrap:anywhere}.minor{font-size:13px;color:#62788b}.details a{text-decoration:underline}.company .details a{color:white}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer .wrap{align-items:center}.section.tight{padding:65px 0}.hero .wrap{position:relative}.business-overview{margin:24px 0 45px}@media(max-width:850px){.split,.partner-list{grid-template-columns:1fr}.page-hero{padding:55px 0}.footer .wrap{flex-wrap:wrap}}
