@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{font-family:'DM Sans','Noto Sans JP',sans-serif;color:#183148;background:#fff;font-synthesis:none;--accent:#155bdd;--ink:#183148;--pale:#f0f6fa;--line:#dce4e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #eb9e18;outline-offset:5px}button,a{touch-action:manipulation}img{display:block;width:100%;height:100%;object-fit:cover}p{line-height:1.95}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(1.65rem,2.8vw,2.7rem);line-height:1.55;letter-spacing:-.045em;font-weight:700}h3{font-size:1.2rem;line-height:1.6}header{height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;gap:30px}.logo{display:flex;gap:11px;align-items:center;font-size:1.65rem;font-weight:800;letter-spacing:.015em;line-height:1.1}.logo small{display:block;font-size:.62rem;letter-spacing:.14em;margin-top:7px}.logomark{font-size:2.25rem;font-weight:800;color:var(--accent);border-bottom:4px solid currentColor;line-height:1}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.16em;color:var(--accent);margin-bottom:22px;line-height:1.8}.small{font-size:.8rem;color:#596b79;line-height:1.8}.button{background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:19px 26px;border:1px solid var(--accent);font-weight:600;cursor:pointer;min-height:60px;transition:transform .2s,filter .2s}.button:hover{filter:brightness(.9);transform:translateY(-2px)}.button span{font-size:1.35rem}.secondary{background:transparent;color:var(--accent)}.section{padding:98px max(6%,calc((100% - 1180px)/2));}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:.94rem;margin-bottom:6px}.proposal-bar{background:#142d40;color:#fff;display:flex;justify-content:space-between;padding:8px 5%;font-size:.75rem;gap:16px}.concept header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);height:92px}.concept nav{display:flex;align-items:center;gap:27px;font-size:.83rem;font-weight:600}.nav-cta{padding:15px 20px;background:var(--accent);color:#fff}.menu-toggle{display:none}.hero{position:relative;min-height:645px;display:grid;grid-template-columns:48% 52%;padding:28px 3% 68px 6%;overflow:hidden;background:#f0f6fa}.hero-copy{align-self:center;z-index:1;padding:32px 0}.hero h1{font-size:clamp(2.45rem,4vw,4.4rem);font-weight:800;line-height:1.5;letter-spacing:-.065em;margin:0 0 24px}.hero-sub{font-size:1rem;margin-bottom:30px}.hero-small{font-size:.75rem;margin-top:19px}.hero-image{margin:0;position:relative;min-width:0}.hero-image img{border-radius:150px 8px 8px 8px}.hero-image figcaption{position:absolute;bottom:13px;right:15px;font-size:.65rem;color:#17344c;background:#ffffffe0;padding:4px 8px}.hero-index{position:absolute;left:6%;bottom:21px;font-size:.75rem;letter-spacing:.2em}.value-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:1080px;margin:auto;padding:30px 0;text-align:center;font-size:.92rem;font-weight:500}.value-strip span+span{border-left:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-grid article{position:relative;padding:40px;background:var(--pale);overflow:hidden}.number{position:absolute;right:25px;top:8px;font-size:5.2rem;opacity:.1;font-weight:500}.service-grid h3{font-size:1.55rem;margin-bottom:18px}.service-grid p:not(.eyebrow){font-size:.96rem;max-width:460px}.service-grid a{display:block;border-top:1px solid var(--line);padding-top:23px;margin-top:30px;font-size:.9rem;color:var(--accent);font-weight:700}.services>.small{margin-top:20px}.scenes{background:var(--pale)}.scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}.scene-grid>a{position:relative;background:white;padding:28px 23px 48px;min-height:208px;border-bottom:3px solid transparent;transition:border-color .2s,transform .2s}.scene-grid>a:hover{border-color:var(--accent);transform:translateY(-4px)}.scene-grid span{font-size:.8rem;color:var(--accent)}.scene-grid h3{margin:25px 0 9px;font-size:1.08rem}.scene-grid p{font-size:.86rem;margin:0}.scene-grid b{position:absolute;right:24px;bottom:16px;color:var(--accent);font-weight:400}.scenes>.small{margin:20px 0 0}.flow ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:50px 0 0}.flow li{border-top:1px solid var(--line);padding-top:22px}.flow li>span{font-size:2.2rem;color:var(--accent);font-weight:500}.flow h3{margin:18px 0 12px}.flow li p{font-size:.9rem}.faq{display:grid;grid-template-columns:35% 65%;background:var(--pale)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:23px 0;display:flex;justify-content:space-between;gap:18px;font-weight:500;line-height:1.7}summary::-webkit-details-marker{display:none}summary span{color:var(--accent)}details[open] summary span{transform:rotate(45deg)}details p{padding:0 10px 15px 0;font-size:.95rem}.company{display:grid;grid-template-columns:1fr 1fr;gap:65px}.company p{font-size:.95rem}.company dl{align-self:center;margin:0;display:grid;grid-template-columns:100px 1fr}.company dt,.company dd{margin:0;padding:24px 0;border-bottom:1px solid var(--line);font-size:.9rem;line-height:1.9}.company dt{font-weight:600}.contact{background:var(--ink);color:white}.contact .eyebrow{color:#99c9ff}.form-layout{display:grid;grid-template-columns:30% 1fr;gap:70px;margin-top:48px}.form-layout aside p{font-size:.9rem;color:#d6e1e9}.demo-note{border-top:1px solid #ffffff40;padding-top:22px;margin-top:30px;font-size:.8rem;line-height:1.9;color:#d6e1e9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-grid label{display:block;font-size:.86rem;line-height:1.8}.form-grid .full{grid-column:1/-1}em{font-style:normal;font-size:.72rem;margin-left:7px;color:#b2d9ff}input,select,textarea{width:100%;margin-top:9px;min-height:49px;padding:12px 13px;background:#fff;color:#183148;border:1px solid #cad7e0;border-radius:0;font-size:1rem}textarea{resize:vertical}form>.button{margin-top:25px}form>.small{color:#d6e1e9;margin-top:17px}.confirmation{margin-top:22px;padding:25px;background:#fff;color:var(--ink)}[hidden]{display:none!important}.confirmation dl{display:grid;grid-template-columns:140px 1fr;font-size:.86rem;gap:12px}.confirmation dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.confirmation p{font-size:.9rem}footer{padding:55px 6%;display:flex;align-items:center;gap:35px;flex-wrap:wrap}footer>p,footer>a:not(.logo){font-size:.85rem;margin:0}footer small{display:block;width:100%;font-size:.7rem;color:#617583}.mobile-cta{display:none}.overview{background:#f7f9fb}.overview header{background:transparent}.overview-intro{max-width:1300px;margin:auto;padding:65px 5% 60px}.overview-intro h1{font-size:clamp(2.5rem,4.6vw,4.7rem);line-height:1.45;letter-spacing:-.055em;margin-bottom:25px}.overview-intro>div{display:flex;justify-content:space-between;gap:25px;align-items:center}.overview-intro p{font-size:1rem}.edition{display:flex;gap:20px;align-items:center;font-size:5.5rem;line-height:1;letter-spacing:-.07em}.edition>span{font-size:.75rem;letter-spacing:.1em;line-height:1.6}.concept-cards{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:0 5% 90px;gap:30px}.card-image{display:block;aspect-ratio:1.25;position:relative;overflow:hidden}.card-image img{transition:transform .4s}.card-image:hover img{transform:scale(1.04)}.card-image>span{position:absolute;right:13px;bottom:13px;background:#fff;padding:10px 15px;font-size:.7rem;letter-spacing:.08em}.card-meta{display:flex;justify-content:space-between;font-size:.72rem;margin:23px 0 12px;color:#4b6174}.concept-card h2{font-size:1.37rem;letter-spacing:-.035em;line-height:1.3;margin-bottom:15px}.concept-card h3{font-size:1rem}.concept-card>p{font-size:.89rem;color:#566775;min-height:100px}.card-link{border-top:1px solid #c9d3dc;padding:19px 0;display:flex;justify-content:space-between;font-weight:500;font-size:.93rem}.overview-note{padding:65px 6%;background:#fff}.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:35px 0 45px}.strategy-grid span{color:var(--accent)}.strategy-grid h3{font-size:1.06rem;margin-top:17px}.strategy-grid p{font-size:.9rem;color:#526577}.overview-note details a{text-decoration:underline;color:var(--accent)}.overview footer{border-top:1px solid var(--line)}
/* B: editorial warmth, offset photography and serif typography. */
.b{--accent:#39654b;--ink:#283e32;--pale:#f2f0e9;--line:#d9dfd6;background:#fcfbf7;color:#283e32}.b header{background:#fcfbf7}.b .hero{background:#f2f0e9;min-height:695px;padding:48px 6% 76px;grid-template-columns:48% 52%}.b .hero h1,.b h2{font-family:'Noto Serif JP',serif;font-weight:500;letter-spacing:-.045em}.b .hero h1{font-size:clamp(2.25rem,3.4vw,3.7rem);line-height:1.65}.b .hero-image{padding-top:18px}.b .hero-image img{border-radius:48% 48% 0 0;height:540px}.b .hero-index{right:auto;bottom:24px;letter-spacing:.35em}.b .button{border-radius:40px}.b .nav-cta{border-radius:30px}.b .manifesto{text-align:center;padding-top:80px;padding-bottom:40px}.b .manifesto p:last-child{margin-top:30px}.b .value-strip{background:#fcfbf7}.b .services{padding-top:70px}.b .service-grid article{background:transparent;border-top:1px solid var(--line);padding:35px 15px}.b .contact .eyebrow{color:#b9d8ba}.b .contact em{color:#c7e1bb}.b .contact .button{background:#e4edc7;color:#283e32;border-color:#e4edc7}.b .contact .secondary{background:#fff;border-color:#39654b}.b .scenes{border-radius:0 100px 0 0}.b .scene-grid>a{background:#fcfbf7}.b .form-layout aside p,.b form>.small,.b .demo-note{color:#d8e4d7}
/* C: energetic campaign typography with an image-led full-width hero. */
.c{--accent:#1649e9;--ink:#10297a;--pale:#f0f3ff;--line:#cbd5f1;color:#112b73}.c .hero{background:#1649e9;color:#fff;min-height:710px;display:block;padding:75px 6% 80px}.c .hero-copy{width:53%;position:relative;padding:0}.c .hero h1{font-size:clamp(2.7rem,4.75vw,5.2rem);line-height:1.38;font-weight:900}.c .hero .eyebrow{color:#e7ff75}.c .hero-image{position:absolute;inset:0 0 0 47%;margin:0}.c .hero-image img{border-radius:0;object-position:center}.c .hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1649e9 0%,transparent 32%);pointer-events:none}.c .hero-image figcaption{z-index:1}.c .hero-copy{z-index:2}.c .hero .button{background:#e8ff6b;color:#112b73;border-color:#e8ff6b;box-shadow:5px 5px 0 #0b2479}.c .hero-index{z-index:2;font-size:1.25rem;font-weight:800;letter-spacing:.08em}.c .value-strip{max-width:none;background:#e8ff6b;font-weight:700;padding:24px 6%}.c .value-strip span+span{border-color:#a9c25e}.c .scene-grid>a{border:1px solid #1649e9;box-shadow:5px 5px 0 #d7e1ff}.c .scene-grid>a:hover{box-shadow:5px 5px 0 #1649e9}.c .scenes h2{font-weight:900}.c .service-grid article{border-top:5px solid var(--accent)}.c .flow li>span{font-size:3rem;font-weight:800}.c .contact{background:#12338d}.c .contact .button{background:#e8ff6b;color:#112b73;border-color:#e8ff6b}.c .contact .secondary{background:white}.c footer{background:#eef3ff}
@media(min-width:1600px){.hero{padding-left:max(6%,calc((100% - 1400px)/2));padding-right:max(3%,calc((100% - 1400px)/2))}.hero-image{max-height:650px}.hero-copy{padding-right:20px}}
@media(max-width:1100px){.concept nav{gap:15px}.concept nav>a:not(.nav-cta){font-size:.77rem}.logo{font-size:1.4rem}.section{padding:75px 5%}.hero{min-height:570px}.hero h1{font-size:3.1rem}.scene-grid{grid-template-columns:1fr 1fr}.form-layout{gap:35px}.b .hero-image img{height:490px}.c .hero{min-height:620px}.c .hero h1{font-size:3.8rem}.concept-cards{gap:22px}.concept-card h2{font-size:1.15rem}}
@media(max-width:800px){html{scroll-padding-top:90px}header,.concept header{height:78px;padding:0 5%}.logo{font-size:1.3rem}.logomark{font-size:1.8rem}.logo small{font-size:.55rem}.menu-toggle{display:block;border:0;background:transparent;color:var(--ink);font-size:.85rem;min-height:44px;cursor:pointer}.concept nav{display:none;position:absolute;top:78px;left:0;right:0;padding:20px 5%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0001}.concept .menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.concept nav>a{padding:13px;font-size:1rem!important}.proposal-bar{font-size:.65rem;padding:8px 5%}.proposal-bar>span:last-child{display:none}.hero,.b .hero{display:flex;flex-direction:column;padding:32px 5% 43px;min-height:0}.hero-copy{padding:10px 0 24px}.hero h1,.b .hero h1{font-size:clamp(2.15rem,6.6vw,3.5rem);line-height:1.5;margin-bottom:16px}.hero .eyebrow{font-size:.68rem;margin-bottom:17px}.hero-sub{font-size:.91rem;margin-bottom:24px}.hero-small{font-size:.68rem;margin-top:14px}.hero-image{width:100%;height:330px}.hero-image img{border-radius:75px 5px 5px 5px}.hero-index{font-size:.6rem;bottom:13px}.hero-image figcaption{font-size:.6rem}.value-strip{padding:20px 4%;font-size:.74rem}.section{padding:60px 5%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px}.eyebrow{font-size:.7rem;margin-bottom:14px}.service-grid{gap:18px}.service-grid article{padding:26px}.service-grid h3{font-size:1.2rem}.scene-grid{gap:14px}.scene-grid>a{padding:22px 18px 40px;min-height:180px}.scene-grid h3{font-size:1rem}.flow ol{grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.faq{grid-template-columns:1fr;gap:20px}.company{grid-template-columns:1fr;gap:15px}.company dl{margin-top:5px}.form-layout{grid-template-columns:1fr;gap:27px;margin-top:27px}.form-layout aside h3{display:none}.form-layout aside p{margin-bottom:8px}.demo-note{margin-top:17px;padding-top:14px}.contact .section-heading>p{margin-top:16px}footer{padding:38px 5% 95px;gap:23px}footer>p{width:100%}.mobile-cta{display:block;position:fixed;bottom:14px;left:5%;right:5%;z-index:20;background:var(--accent);color:#fff;text-align:center;padding:15px 20px;box-shadow:0 4px 20px #0003;font-weight:600}.overview header>.small{font-size:.65rem;max-width:105px}.overview-intro{padding:42px 5%}.overview-intro h1{font-size:2.6rem}.overview-intro>div{align-items:start}.overview-intro p{font-size:.9rem}.edition{font-size:3.7rem;gap:10px}.edition>span{font-size:.6rem}.concept-cards{grid-template-columns:1fr;max-width:580px;padding:0 5% 40px;gap:35px}.card-image{aspect-ratio:1.5}.concept-card h2{font-size:1.5rem}.concept-card>p{min-height:0}.card-meta{font-size:.75rem}.strategy-grid{grid-template-columns:1fr;gap:15px}.overview-note h2{font-size:1.6rem}.overview-note{padding:45px 5%}.overview footer{padding-bottom:40px}.b .hero-image{height:360px;padding-top:0;max-width:550px;align-self:center}.b .hero-image img{height:100%;border-radius:150px 150px 0 0}.b .hero-copy{padding-bottom:20px}.b .scenes{border-radius:0 60px 0 0}.b .manifesto{padding-top:55px}.b .manifesto h2{font-size:1.5rem}.b .manifesto p{font-size:.9rem}.c .hero{display:flex;padding:34px 5% 43px;min-height:0}.c .hero-copy{width:100%;padding:0 0 22px}.c .hero h1{font-size:clamp(2.55rem,7.5vw,4rem)}.c .hero-image{position:relative;inset:auto;height:330px;margin:0 -5.6%;width:111.2%}.c .hero-image:after{background:none}.c .hero-index{font-size:.9rem;bottom:13px}.c .value-strip{font-size:.72rem;padding:20px 3%}.c .mobile-cta{background:#e8ff6b;color:#112b73}.c .hero-small{margin-bottom:0}}
@media(max-width:480px){.service-grid{grid-template-columns:1fr}.hero-image{height:260px}.section h2{font-size:1.65rem}.scene-grid>a{padding:18px 13px 36px}.scene-grid p{font-size:.8rem}.scene-grid h3{font-size:.95rem}.form-grid{grid-template-columns:1fr;gap:20px}.form-grid .full{grid-column:auto}.confirmation dl{grid-template-columns:1fr;gap:5px}.confirmation dd{margin-bottom:12px}.overview-intro h1{font-size:2.3rem}.overview-intro>div{display:block}.edition{margin-top:15px;font-size:3rem;gap:16px}.overview-intro>div>p{margin-bottom:10px}.company dl{grid-template-columns:83px 1fr}.hero .button{padding:16px 22px;font-size:.9rem}.b .hero-image{height:300px}.b .hero h1{font-size:2.13rem}.c .hero-image{height:265px}.flow h3{font-size:1.05rem}.value-strip{font-size:.67rem}.overview header{gap:10px}}
@media(max-width:480px){.c .hero h1{font-size:clamp(1.8rem,8.5vw,2.35rem);letter-spacing:-.065em)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
