:root{--page-bg:#f4f7fb;--ink:#08182d;--navy:#061326;--blue:#0a66ff;--cyan:#50dcff;--line:#cbd5e2;--muted:#52657a;--accent:var(--blue);--focus:#3bd6ff}
body.corporate{background:var(--page-bg);color:var(--ink);font-size:16px;line-height:1.85}::selection{background:#0a66ff;color:#fff}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}
.site-header{height:82px;position:sticky;top:0;z-index:90;background:#f4f7fbeb;backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{border-color:#cbd5e280;box-shadow:0 10px 35px #0a25400a}.header-inner{height:100%;max-width:1540px;margin:auto;padding:0 34px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:11px;flex:none}.brand img{width:25px;height:35px;object-fit:contain}.brand>span{font:700 23px/1 var(--sans);letter-spacing:-.04em}.desktop-nav{margin-left:auto;display:flex;gap:32px;align-items:center}.desktop-nav a{font-size:14px;font-weight:650;position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--blue);transition:right .3s}.desktop-nav a:hover::after{right:0}.header-actions{display:flex;align-items:center;gap:12px}.header-contact{background:var(--blue);color:#fff;border-radius:999px;padding:11px 18px;display:flex;align-items:center;gap:18px;font-size:13px;font-weight:700;transition:.25s}.header-contact:hover{background:#004ed0;transform:translateY(-2px)}.nav-toggle{color:var(--ink)}
.hero{position:relative;min-height:calc(100svh - 100px);margin:0 16px 16px;overflow:hidden;border-radius:16px;background:radial-gradient(circle at 75% 42%,#0a4880 0,#081e3a 21%,#061426 51%,#030b17 100%);color:#fff;isolation:isolate}.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-grid{position:absolute;inset:0;z-index:-3;background-image:linear-gradient(#8ccfff0d 1px,transparent 1px),linear-gradient(90deg,#8ccfff0d 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000 15%,transparent 92%)}.hero-glow{position:absolute;width:54vw;height:54vw;right:-7vw;top:-10vw;border-radius:50%;background:#0d7cff1c;filter:blur(80px);animation:breathe 6s ease-in-out infinite alternate}.hero-inner{min-height:calc(100svh - 100px);display:flex;flex-direction:column;position:relative;z-index:2;padding-top:clamp(80px,11vh,130px)}.hero-copy{width:min(770px,64%)}.hero-kicker{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;color:#a7daf5;margin-bottom:25px}.hero-kicker span{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}.hero h1{font-size:clamp(58px,6.2vw,96px);font-weight:720;line-height:1.2;letter-spacing:-.065em}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#fff 15%,#55dfff 70%,#4a94ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{max-width:660px;font-size:18px;line-height:1.95;color:#bdd0e1;margin-top:30px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:38px}.primary-cta{min-height:64px;padding:15px 19px 15px 24px;border-radius:9px;background:#fff;color:#07192c;display:inline-flex;align-items:center;justify-content:space-between;gap:44px;font-weight:750;font-size:15px;box-shadow:0 16px 50px #02060d55;transition:.3s}.primary-cta b{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:400;transition:.3s}.primary-cta:hover{transform:translateY(-3px);background:#dff8ff}.primary-cta:hover b{transform:rotate(8deg)}.secondary-cta{font-size:14px;font-weight:700;color:#c9d9e7;border-bottom:1px solid #6e91ae;padding:13px 0;display:inline-flex;gap:20px}.hero-bottom{margin-top:auto;padding:25px 0 28px;border-top:1px solid #9fc7e72b;display:flex;gap:42px;color:#9eb9cf;font:600 13px/1.5 var(--sans)}.motion-toggle{position:absolute;right:24px;bottom:21px;z-index:3;color:#a9c0d1}
.proof{background:#fff;padding:52px 0 25px;border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid>div{padding:0 28px;border-left:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:18px}.proof-grid>div:first-child{border-left:0;padding-left:0}.proof-grid strong{font:650 clamp(35px,3.3vw,50px)/1 var(--sans);letter-spacing:-.06em;color:var(--blue);white-space:nowrap}.proof-grid strong small{font-size:.34em;letter-spacing:0;margin-left:4px;color:#445e75}.proof-grid p{font-size:13px;line-height:1.6;color:var(--muted)}.proof-note{font-size:11px;color:#7b8b9b;margin-top:24px;text-align:right}
.section-space{padding-block:130px}.section-index{display:flex;gap:20px;align-items:center;font-weight:700;color:#5e7185}.section-index span{font:700 18px/1 var(--sans);color:var(--blue)}.section-index p{font-size:14px}.split-heading{display:grid;grid-template-columns:31% 69%;gap:30px}.split-heading h2,.section-head h2{font-size:clamp(46px,5.2vw,72px);line-height:1.35;letter-spacing:-.055em;font-weight:680}.split-heading h2 span{color:var(--blue)}.large-copy{font-size:19px;line-height:2.05;max-width:780px;margin-top:42px;color:#40566b}.tension-list{margin-top:85px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;border-block:1px solid var(--line)}.tension-list p{font-size:19px;font-weight:700;padding:27px 0}.tension-list span{display:block;font-size:13px;color:#65798c;font-weight:600;margin-bottom:4px}.tension-list i{font-style:normal;color:#6aa8ef;font-size:27px;padding:0 28px}
.services{background:#fff}.section-head{display:grid;grid-template-columns:31% 69%;gap:30px;align-items:start;margin-bottom:65px}.service-rows{border-top:1px solid #91a4b6}.service-rows article{display:grid;grid-template-columns:9% 37% 1fr;gap:28px;padding:48px 0;border-bottom:1px solid var(--line)}.big-no{font:650 24px/1 var(--sans);color:var(--blue);padding-top:8px}.service-label{font-size:14px;color:#5c7287;font-weight:700}.service-rows h3{font-size:30px;line-height:1.55;margin-top:10px;letter-spacing:-.035em}.service-body>p{font-size:16px;line-height:1.95;color:#465b70;max-width:590px}.service-body ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.service-body li{font-size:12px;font-weight:700;border:1px solid #c4d0dc;padding:5px 11px;border-radius:999px;color:#31526e}
.cases{background:var(--navy);color:#fff}.section-head.dark .section-index{color:#9fb2c4}.section-head.dark>div:last-child>p{color:#91a9bd;margin-top:18px;font-size:14px}.case-list{border-top:1px solid #6a849b66}.case-list article{display:grid;grid-template-columns:21% 27% 1fr 21%;gap:28px;align-items:center;padding:46px 0;border-bottom:1px solid #6a849b66}.case-meta{display:flex;flex-direction:column;gap:11px;align-items:flex-start}.case-meta span{font-size:16px;font-weight:700}.case-meta b{font-size:12px;color:#71dcff;border:1px solid #4a849866;border-radius:999px;padding:4px 10px}.case-list h3{font-size:25px;line-height:1.55;letter-spacing:-.03em}.case-list article>p{font-size:14px;color:#a9bdce;line-height:1.95}.case-list article>strong{font:650 28px/1.2 var(--sans);color:#fff;letter-spacing:-.04em}.case-list article>strong small{font-size:.48em;margin-left:4px}.case-list article>strong i{font:600 12px/1.5 var(--jp);color:#6f8da6;display:block;margin-top:9px;letter-spacing:0}.case-list article:nth-child(2)>strong{font-size:19px;color:#69dcff}.case-more{margin-top:48px;margin-left:21%;border-top:1px solid #6a849b66}.case-more p{display:grid;grid-template-columns:210px 1fr;gap:20px;border-bottom:1px solid #6a849b66;padding:20px 0;color:#a9bdce;font-size:14px}.case-more span{color:#fff;font-weight:700}
.process{background:#eef3f8}.process-flow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #97aabd}.process-flow li{padding:34px 28px 0;border-left:1px solid #b9c7d3;min-height:330px;position:relative}.process-flow li:first-child{border-left:0;padding-left:0}.process-flow li>span{font:650 50px/1 var(--sans);color:#a9bfd2;letter-spacing:-.05em}.process-flow li p{font-size:13px;color:var(--blue);font-weight:750;margin-top:50px}.process-flow h3{font-size:24px;margin:7px 0 17px}.process-flow small{font-size:14px;line-height:1.9;color:#52677a}.process-flow li::after{content:"";position:absolute;top:-5px;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--blue)}.process-flow li:first-child::after{left:0}
.stance{background:#061426 url("tokyo-night-hq.png") center 54%/cover no-repeat;color:#fff;overflow:hidden;position:relative;isolation:isolate}.stance::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#03101feb 0%,#041528d9 38%,#061d35b8 72%,#061426d6 100%),linear-gradient(0deg,#03101fe8 0%,transparent 45%,#0614267d 100%);z-index:-1}.stance-grid{min-height:690px;display:grid;grid-template-columns:38% 62%;align-items:center}.stance-label{font-size:14px;font-weight:700;color:#a8dbff;margin-bottom:28px;text-shadow:0 2px 16px #000}.stance h2{font-size:clamp(42px,4.8vw,67px);line-height:1.45;letter-spacing:-.055em;text-shadow:0 3px 24px #0009}.stance h2 em{font-style:normal;color:#72e3ff}.stance-grid>div:last-child>p:not(.stance-label){font-size:17px;line-height:2;max-width:750px;color:#d5e7f6;margin-top:30px;text-shadow:0 2px 14px #000}.stance blockquote{margin:38px 0 0;padding-top:26px;border-top:1px solid #a7ccff66;font-size:23px;font-weight:700;text-shadow:0 2px 14px #000}
.company-grid{display:grid;grid-template-columns:55% 1fr;gap:9%}.company h2{font-size:clamp(39px,4vw,57px);line-height:1.55;letter-spacing:-.045em;margin-top:38px}.founder{margin-top:55px}.founder p{font-size:13px;color:#577089;font-weight:700}.founder h3{font-size:31px;letter-spacing:.08em;margin:7px 0}.founder span{font-size:14px;color:#607487}.company dl{border-top:1px solid #95a8ba}.company dl>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.company dt{font-size:13px;color:#6b7d8f;font-weight:700}.company dd{font-size:15px;line-height:1.9}
.contact-section{background:#fff;padding:115px 0}.contact-section .wrap>p{font-size:16px;color:#5b7288;font-weight:650}.contact-section h2{font-size:clamp(48px,6.3vw,88px);line-height:1.35;letter-spacing:-.06em;margin:20px 0 48px}.contact-book{border-block:1px solid #9bafc0;display:flex;justify-content:space-between;align-items:center;padding:27px 4px;color:var(--ink);transition:.3s}.contact-book span{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center;color:#5a7085}.contact-book b{font-size:18px;color:var(--ink)}.contact-book i{width:66px;height:66px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-style:normal;font-size:30px;transition:.3s}.contact-book:hover{padding-inline:16px;color:var(--blue)}.contact-book:hover i{transform:rotate(8deg)}
.site-footer{background:#030b17;color:#fff;padding:55px 0 28px}.footer-main{display:flex;justify-content:space-between;align-items:end;padding-bottom:55px}.footer-brand>span{font-size:31px}.footer-main>p{font-size:20px;font-weight:700}.footer-bottom{border-top:1px solid #49617a77;padding-top:25px;display:flex;justify-content:space-between;gap:30px;color:#879bad;font-size:12px}.footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom a:hover,.footer-bottom button:hover{color:#fff}.menu-dialog{--page-bg:#071426;--ink:#fff}.menu-dialog nav a{font-family:var(--jp);font-weight:700}.menu-cta{margin-top:46px;background:#fff;color:#071426}.modal{--focus:#0a66ff}.modal .kicker{font-family:var(--jp)}
@keyframes breathe{from{opacity:.55;transform:scale(.85)}to{opacity:1;transform:scale(1.12)}}
@media(min-width:1500px){.hero-copy{width:760px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.hero-copy{width:70%}.proof-grid>div{display:block}.proof-grid p{margin-top:12px}.case-list article{grid-template-columns:20% 28% 1fr}.case-list article>strong{grid-column:2/4}.process-flow{grid-template-columns:1fr 1fr}.process-flow li{min-height:290px;border-bottom:1px solid #b9c7d3}.stance-grid{grid-template-columns:32% 68%}}
@media(max-width:800px){body.corporate{font-size:15px}.wrap{width:calc(100% - 40px)}.site-header{height:70px}.header-inner{padding:0 18px}.brand>span{font-size:21px}.brand img{width:22px;height:31px}.header-contact{font-size:12px;padding:9px 13px}.header-contact span{display:none}.hero{margin:0 8px 8px;min-height:760px;border-radius:11px}.hero-inner{min-height:760px;padding-top:72px}.hero-copy{width:100%}.hero-kicker{font-size:13px;margin-bottom:20px}.hero h1{font-size:clamp(43px,11.5vw,68px);line-height:1.28}.hero-lead{font-size:16px;line-height:1.9;margin-top:25px;max-width:92%}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px;margin-top:31px}.primary-cta{min-height:58px;font-size:14px;gap:25px;padding:12px 14px 12px 18px}.secondary-cta{font-size:13px}.hero-bottom{gap:10px 24px;display:grid;grid-template-columns:1fr 1fr;font-size:11px;padding-right:45px}.motion-toggle{right:13px;bottom:18px}.motion-toggle [data-motion-text]{display:none}.proof{padding-top:40px}.proof-grid{grid-template-columns:1fr 1fr;gap:0}.proof-grid>div{padding:20px 10px;border-left:0;border-top:1px solid var(--line)}.proof-grid>div:nth-child(odd){padding-left:0;border-right:1px solid var(--line)}.proof-grid strong{font-size:36px}.proof-grid p{font-size:11px}.proof-note{text-align:left;line-height:1.7}.section-space{padding-block:86px}.split-heading,.section-head{display:block}.section-index{margin-bottom:25px}.split-heading h2,.section-head h2{font-size:clamp(39px,10vw,54px);line-height:1.42}.large-copy{font-size:16px;line-height:2;margin-top:27px}.tension-list{margin-top:50px;display:block;padding:12px 0}.tension-list p{padding:15px 0}.tension-list i{display:block;transform:rotate(90deg);padding:0 5px}.section-head{margin-bottom:38px}.service-rows article{grid-template-columns:45px 1fr;padding:34px 0;gap:8px 10px}.service-rows article>div:last-child{grid-column:2}.service-label{font-size:12px}.service-rows h3{font-size:24px}.service-body>p{font-size:15px}.case-list article{display:block;padding:36px 0}.case-meta{flex-direction:row;align-items:center}.case-list h3{font-size:26px;margin:23px 0 16px}.case-list article>p{font-size:15px}.case-list article>strong{display:block;margin-top:27px}.case-more{margin:35px 0 0}.case-more p{display:block;font-size:13px}.case-more span{display:block;margin-bottom:7px}.process-flow{grid-template-columns:1fr}.process-flow li,.process-flow li:first-child{min-height:0;padding:28px 0 32px 76px;border-left:0}.process-flow li>span{position:absolute;left:0;top:29px;font-size:38px}.process-flow li p{margin-top:0}.process-flow h3{font-size:22px}.stance-grid{min-height:0;display:block;padding-block:80px}.stance h2{font-size:40px}.stance-grid>div:last-child>p:not(.stance-label){font-size:15px}.company-grid{display:block}.company-grid dl{margin-top:55px}.company h2{font-size:36px}.contact-section{padding:82px 0}.contact-section h2{font-size:44px;margin-bottom:35px}.contact-book span{display:block}.contact-book b{display:block;margin-bottom:6px}.contact-book i{width:56px;height:56px}.footer-main{display:block}.footer-main>p{margin-top:35px}.footer-bottom{display:block}.footer-bottom nav{margin-top:20px}.js-reveal [data-reveal]{transform:translateY(15px)}}
@media(max-width:480px){.header-contact{font-size:0;width:42px;height:42px;padding:0;display:grid;place-items:center}.header-contact::before{content:"相談";font-size:11px}.company dl>div{grid-template-columns:90px 1fr;gap:12px}.contact-book{gap:14px}.contact-book span{font-size:12px}.contact-book b{font-size:15px}.contact-section h2{font-size:39px}.hero-bottom p:nth-child(4){display:none}}
@media(prefers-reduced-motion:reduce){.hero-glow{animation:none!important}}

/* Photographic stance section */













.stance::before{background:linear-gradient(90deg,#03101f80 0%,#04152894 52%,#061426b0 100%),linear-gradient(0deg,#03101fb5 0%,transparent 48%,#06142666 100%)}
.stance-grid{display:flex;align-items:center;justify-content:flex-end}
.stance-grid>div{width:min(760px,65%)}
.stance-grid>div>p:not(.stance-label){font-size:17px;line-height:2;max-width:750px;color:#e2edf7;margin-top:30px;text-shadow:0 2px 14px #000}




@media(max-width:1100px){.stance-grid>div{width:68%}}
@media(max-width:800px){.hero h1{font-size:clamp(39px,8vw,46px)}.stance{background-position:42% center}.stance-grid{display:block;padding-block:90px}.stance-grid>div{width:100%}.stance-grid>div>p:not(.stance-label){font-size:15px}}
