:root{--ink:#0d0e0f;--charcoal:#151718;--paper:#f5f5f3;--orange:#ff5714;--line:#d9d9d6;--max:1180px;--pad:clamp(24px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--ink);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.75;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}button{font:inherit}.section-shell{width:min(var(--max),calc(100% - var(--pad)*2));margin-inline:auto}.dark-section{background:var(--ink);color:#fff}.light-section{background:var(--paper);color:var(--ink)}
.site-header{height:72px;padding:0 max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:30px;background:rgba(13,14,15,.96);color:#fff;position:relative;z-index:30;border-bottom:1px solid #ffffff18}.brand{display:block;width:166px;flex:0 0 auto}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:22px;margin-left:auto;font-size:13px;color:#cfcfcf}.desktop-nav a:hover{color:#fff}.header-actions{height:100%;display:flex}.header-action{display:flex;align-items:center;padding:0 18px;font-size:13px;font-weight:900}.header-action.line{background:#06c755}.header-action.form{background:var(--orange)}.menu-button,.mobile-menu{display:none}
.hero{min-height:calc(100svh - 72px);position:relative;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(500px,1.25fr);align-items:center;padding:70px max(var(--pad),calc((100vw - var(--max))/2)) 142px;isolation:isolate}.grid-noise{position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,#000,transparent 85%);z-index:-2}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--orange),transparent)}.eyebrow,.section-index{font-size:12px;font-weight:800;letter-spacing:.24em}.hero h1{font-size:clamp(44px,5.5vw,80px);line-height:1.22;letter-spacing:-.045em;margin:18px 0 24px}.hero h1 em{color:var(--orange);font-style:normal}.service-name{display:inline-flex;gap:12px;border:1px solid #ffffffa6;padding:8px 14px;font-size:clamp(20px,2.2vw,30px);font-weight:900;letter-spacing:.04em;margin-bottom:24px}.hero-lead{font-size:21px;font-weight:800;line-height:1.6;margin-bottom:12px}.hero-detail{color:#bababa;font-size:15px}.hero-visual{margin:0 -8vw 0 -10%;position:relative;z-index:-1}.hero-visual img{width:100%;filter:drop-shadow(0 30px 35px #000)}.hero-cta{position:absolute;bottom:0;left:max(var(--pad),calc((100vw - var(--max))/2));width:min(720px,60vw)}.hero-cta>p{margin:0 0 8px;color:#c8c8c8;font-size:11px}.cta-duo{display:grid;grid-template-columns:1fr 1fr}.cta-button{min-height:86px;display:grid;grid-template-columns:1fr auto;align-content:center;padding:14px 20px}.cta-button.line{background:#06c755}.cta-button.form{background:var(--orange)}.cta-button small{font-size:10px;opacity:.8}.cta-button strong{font-size:18px}.cta-button b{grid-column:2;grid-row:1/3;font-size:26px;align-self:center;margin-left:16px}
.problems{padding:100px 0}.problem-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.problem-title h2,.split-heading h2{font-size:clamp(34px,4vw,58px);line-height:1.25;letter-spacing:-.04em;margin:16px 0 22px}.problem-title>p,.split-heading>p{color:#696969}.problem-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aaa;border-left:1px solid #aaa}.problem-card{padding:28px;border-right:1px solid #aaa;border-bottom:1px solid #aaa}.problem-card span{color:var(--orange);font-size:12px;font-weight:900}.problem-card h3{font-size:20px;line-height:1.55;margin:12px 0}.problem-card p{font-size:14px;color:#686868;margin:0}
.analysis{min-height:650px;position:relative;overflow:hidden}.analysis-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.analysis-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0d0e0ff5 5%,#0d0e0fd1 43%,#0d0e0f1a 86%)}.analysis-content{position:relative;padding:90px 0}.step-tag{display:inline-block;background:var(--orange);color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;padding:2px 8px}.mega-word{font-size:clamp(70px,9vw,128px);font-weight:950;line-height:.9;letter-spacing:-.065em;margin:18px 0 30px}.analysis h2,.creative h2{font-size:clamp(30px,3.6vw,48px);line-height:1.35}.analysis-content>p:last-of-type{color:#ccc}.radar{width:270px;height:270px;border:1px solid #ffffff42;border-radius:50%;position:absolute;top:205px;left:min(62%,720px);background:repeating-radial-gradient(circle,#ffffff18 0 1px,transparent 1px 43px)}.radar:before,.radar:after{content:"";position:absolute;background:#ffffff35}.radar:before{width:1px;height:100%;left:50%}.radar:after{height:1px;width:100%;top:50%}.radar i{position:absolute;width:18px;height:18px;background:var(--orange);border-radius:50%;left:calc(50% - 9px);top:calc(50% - 9px);box-shadow:0 0 0 10px #ff57142b}.radar span{position:absolute;left:50%;top:50%;font-size:10px;color:#d4d4d4;transform:rotate(calc(var(--i)*60deg)) translateY(-158px) rotate(calc(var(--i)*-60deg)) translateX(-50%)}
.strategy{padding:105px 0}.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}.split-heading .mega-word{margin:14px 0 0}.strategy-flow{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:center}.flow-card{min-height:290px;padding:25px;background:#fff;border-top:4px solid var(--ink);position:relative}.flow-card>span{position:absolute;right:20px;color:#aaa;font-weight:900}.flow-card h3{font-size:20px;margin:20px 0 10px}.flow-card p{font-size:14px;color:#666}.flow-arrow{text-align:center;font-size:25px}.icon{width:76px;height:76px;border:2px solid var(--ink);border-radius:50%;margin-top:24px;position:relative}.target-icon:before{content:"";position:absolute;inset:14px;border:2px solid var(--ink);border-radius:50%}.target-icon:after{content:"";position:absolute;width:32px;height:2px;background:var(--orange);left:36px;top:35px;transform:rotate(-35deg)}.message-icon:before{content:"…";font-size:36px;position:absolute;inset:-6px 0 0;text-align:center}.media-icon:before{content:"▤";font-size:38px;position:absolute;inset:5px 0;text-align:center}.graph-icon:before{content:"↗";font-size:44px;position:absolute;inset:-2px 0;text-align:center;color:var(--orange)}
.creative{padding:105px 0}.creative-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.creative-copy .mega-word{margin:16px 0 42px}.creative-copy>p:last-child{color:#aaa}.creative-panels{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:12px}.creative-panel{min-height:365px;padding:28px 22px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#26292b,#111);border-bottom:5px solid var(--orange);position:relative;overflow:hidden}.creative-panel:before{content:"";position:absolute;width:180px;height:180px;border:1px solid #ffffff17;border-radius:50%;right:-70px;top:-55px}.creative-panel b{position:absolute;top:22px;left:20px;color:#ffffff25;font-size:46px;letter-spacing:-.06em}.creative-panel h3{font-size:22px;margin-bottom:10px}.creative-panel p{color:#aaa;font-size:14px;margin:0}
.solutions{padding:105px 0}.solutions .split-heading{align-items:center}.solution-scroller{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #bbb}.solution-card{min-height:330px;padding:28px 24px;border-right:1px solid #bbb;position:relative;transition:.3s}.solution-card:hover{background:var(--ink);color:#fff;transform:translateY(-8px)}.solution-card small{color:var(--orange);font-weight:900}.solution-card h3{font-size:26px;margin-top:70px}.solution-card p{color:#777;font-size:14px}.solution-card span{position:absolute;bottom:24px;font-size:10px;letter-spacing:.17em}
.prescription{padding:105px 0}.prescription-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.prescription h2{font-size:clamp(38px,5vw,66px);line-height:1.2;margin:18px 0 25px}.prescription p{color:#aaa}.section-cta-duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:35px;max-width:470px}.mini-cta{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;font-weight:800}.mini-cta.line{background:#06c755}.mini-cta.form{background:var(--orange)}.checkup-board{padding:35px;border:1px solid #ffffff38;position:relative;background:linear-gradient(135deg,#1b1d1f,#0d0e0f);overflow:hidden}.checkup-board>p{font-size:12px;letter-spacing:.18em}.checkup-board ul{list-style:none;padding:0;margin:25px 0 0}.checkup-board li{display:flex;gap:25px;border-top:1px solid #ffffff20;padding:17px 5px}.checkup-board b{color:var(--orange)}.scan-line{position:absolute;height:1px;background:var(--orange);left:0;right:0;animation:scan 4s linear infinite}@keyframes scan{from{top:0}to{top:100%}}
.why{padding:105px 0}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa;border-left:1px solid #aaa}.why-grid article{padding:34px;border-right:1px solid #aaa;border-bottom:1px solid #aaa}.why-grid strong{font-size:70px;line-height:1;color:var(--orange)}.why-grid small{font-weight:900;letter-spacing:.18em}.why-grid h3{font-size:21px;margin-top:30px}.why-grid p{color:#666;font-size:14px}
.company{padding:105px 0}.company-grid{display:grid;grid-template-columns:.55fr 1.05fr 1fr;gap:60px;align-items:center}.company-mark{max-width:260px;padding:30px 24px;border:1px solid #ffffff30}.company-mark img{width:100%;height:auto}.company-message h2{font-size:clamp(32px,3.8vw,50px);line-height:1.35;margin:18px 0 25px}.company-message p{color:#aaa;font-size:14px}.company-data{margin:0;border-top:1px solid #ffffff35}.company-data div{display:grid;grid-template-columns:90px 1fr;padding:15px 0;border-bottom:1px solid #ffffff35}.company-data dt{color:#888;font-size:12px}.company-data dd{margin:0;font-size:14px}
.faq{padding:105px 0}.faq h2{font-size:clamp(40px,5vw,64px);margin:14px 0 50px}.faq-list{border-top:1px solid #aaa}.faq details{border-bottom:1px solid #aaa}.faq summary{list-style:none;font-size:18px;font-weight:800;padding:24px 60px 24px 0;cursor:pointer;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";position:absolute;right:10px;color:var(--orange);font-size:25px}.faq details[open] summary:after{content:"−"}.faq details p{max-width:800px;color:#666;padding:0 0 28px;margin:0}
.final-cta{padding:110px 0;background-image:linear-gradient(#0d0e0fda,#0d0e0ff2),url('./assets/analysis-desk.png');background-size:cover;background-position:center}.final-cta .section-shell{text-align:center}.final-cta>.section-shell>p:first-child{letter-spacing:.25em;color:var(--orange);font-size:12px}.final-cta h2{font-size:clamp(48px,7vw,88px);line-height:1.22;margin:20px 0}.final-cta h2 em{font-style:normal;color:var(--orange)}.final-lead{color:#aaa}.final-actions{display:grid;grid-template-columns:1fr 1fr;max-width:760px;margin:45px auto 0}.final-actions a{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:18px 24px;font-weight:900}.final-actions a.line{background:#06c755}.final-actions a.form{background:var(--orange)}.final-actions small{font-size:10px;opacity:.82}.final-actions span{font-size:19px}.final-actions b{grid-column:2;grid-row:1/3;font-size:30px}footer{background:#080808;color:#888;display:flex;align-items:center;gap:30px;padding:28px max(var(--pad),calc((100vw - var(--max))/2));font-size:12px}.footer-logo{width:150px;height:auto}footer small{margin-left:auto}.mobile-sticky{display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:800px){:root{--pad:22px}.site-header{height:60px;padding:0 20px;position:sticky;top:0}.brand{width:132px}.desktop-nav,.header-actions{display:none}.menu-button{display:grid;margin-left:auto;width:38px;height:38px;padding:8px;border:0;background:transparent}.menu-button span{height:2px;background:#fff;width:100%;align-self:center}.mobile-menu{display:flex;position:absolute;left:0;right:0;top:60px;background:#0d0e0ff7;flex-direction:column;padding:14px 22px 24px;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.25s;z-index:-1}.mobile-menu.open{transform:none;opacity:1;pointer-events:auto}.mobile-menu>a{padding:11px;border-bottom:1px solid #ffffff1f}.mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.mobile-menu-actions a{padding:12px 8px;text-align:center;font-weight:900;font-size:13px}.mobile-menu-actions .line{background:#06c755}.mobile-menu-actions .form{background:var(--orange)}.hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;padding:42px var(--pad) 172px}.grid-noise{background-size:30px 30px}.eyebrow{font-size:9px}.hero h1{font-size:clamp(42px,12.2vw,58px);line-height:1.2;margin:16px 0 20px}.service-name{font-size:20px;width:max-content;max-width:100%;padding:5px 9px}.hero-lead{font-size:18px}.hero-detail{font-size:14px}.hero-visual{margin:10px -36% -20px -13%}.hero-visual img{width:150%;max-width:none}.hero-cta{left:0;right:0;bottom:0;width:100%;padding:0 var(--pad) 12px}.hero-cta>p{font-size:9px}.cta-button{min-height:76px;padding:10px 12px}.cta-button small{font-size:8px}.cta-button strong{font-size:13px}.cta-button b{font-size:20px;margin-left:8px}.problems,.strategy,.creative,.solutions,.prescription,.why,.company,.faq{padding:70px 0}.problem-layout,.creative-grid,.prescription-grid,.company-grid{grid-template-columns:1fr;gap:42px}.problem-title h2,.split-heading h2{font-size:36px}.problem-grid{gap:0}.problem-card{padding:18px 14px}.problem-card h3{font-size:16px}.problem-card p{display:none}.analysis{min-height:610px}.analysis-bg{object-position:61% center}.analysis-shade{background:linear-gradient(90deg,#0d0e0ff7,#0d0e0f80)}.analysis-content{padding:65px 0}.mega-word{font-size:clamp(54px,17vw,82px);white-space:nowrap}.analysis h2,.creative h2{font-size:31px}.radar{width:210px;height:210px;top:350px;left:auto;right:25px}.radar span{transform:rotate(calc(var(--i)*60deg)) translateY(-120px) rotate(calc(var(--i)*-60deg)) translateX(-50%);font-size:8px}.split-heading{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.strategy-flow{grid-template-columns:1fr 1fr;gap:10px}.flow-arrow{display:none}.flow-card{min-height:230px;padding:17px}.flow-card h3{font-size:16px}.flow-card p{font-size:12px}.icon{width:58px;height:58px}.target-icon:after{left:28px;top:26px}.message-icon:before,.media-icon:before,.graph-icon:before{font-size:30px}.creative-panels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--pad)*-1);padding-right:22px}.creative-panel{min-width:78vw;scroll-snap-align:start}.solution-scroller{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--pad)*-1)}.solution-card{min-width:78vw;scroll-snap-align:start}.section-cta-duo{max-width:none}.mini-cta{font-size:12px;padding:13px 11px}.why-grid{grid-template-columns:1fr}.why-grid article{display:grid;grid-template-columns:auto 1fr;column-gap:16px}.why-grid strong{grid-row:1/4}.why-grid h3{margin:4px 0}.why-grid p{margin:0}.company-mark{max-width:210px;padding:24px 20px}.company-grid{gap:35px}.company-message h2{font-size:34px}.company-data div{grid-template-columns:76px 1fr}.final-cta{padding:80px 0 120px}.final-cta h2{font-size:45px}.final-lead br{display:none}.final-actions{grid-template-columns:1fr;margin-top:35px}.final-actions a{padding:16px 20px}.final-actions span{font-size:16px}footer{flex-wrap:wrap;padding:28px 22px 95px}.footer-logo{width:132px}footer small{width:100%;margin:0}.mobile-sticky{display:grid;grid-template-columns:1fr 1fr;gap:6px;position:fixed;left:10px;right:10px;bottom:10px;z-index:50;color:#fff;font-weight:900;filter:drop-shadow(0 8px 20px #0008)}.mobile-sticky a{padding:14px 6px;text-align:center;font-size:13px}.mobile-sticky .line{background:#06c755}.mobile-sticky .form{background:var(--orange)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scan-line{animation:none}}
h1,h2,h3,summary{line-break:strict;text-wrap:balance}
.final-actions button{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:18px 24px;border:0;color:#fff;font:inherit;font-weight:900;cursor:pointer}.final-actions button.form{background:var(--orange)}.contact-form-shell{max-width:820px;margin:34px auto 0;text-align:left}.contact-form-shell[hidden]{display:none}.contact-form{position:relative;padding:clamp(24px,5vw,46px);border-radius:7px;background:#fff;color:#252525;box-shadow:0 24px 60px #0008}.contact-form h3{margin:0 0 8px;text-align:center;font-size:clamp(24px,4vw,32px)}.form-intro{margin:0 0 28px;text-align:center;color:#666;font-size:14px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-field{display:flex;flex-direction:column;gap:7px}.contact-field.full{grid-column:1/-1}.contact-field label{font-size:14px;font-weight:800}.required{margin-left:6px;padding:2px 6px;background:#bd1419;color:#fff;font-size:11px}.optional{margin-left:6px;color:#888;font-size:12px;font-weight:500}.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid #d7d7d7;border-radius:4px;padding:13px 14px;background:#fafafa;color:#222;font:inherit}.contact-field textarea{min-height:135px;resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:3px solid #ed5a2b2f;border-color:var(--orange);background:#fff}.privacy{display:flex;align-items:flex-start;gap:10px;margin:22px 0;color:#666;font-size:12px;line-height:1.7}.privacy input{margin-top:5px}.form-submit{width:100%;min-height:62px;border:0;border-radius:4px;background:var(--orange);color:#fff;font:inherit;font-weight:800;cursor:pointer}.form-submit:disabled{opacity:.65;cursor:wait}.form-close{display:block;margin:15px auto 0;border:0;background:none;color:#777;text-decoration:underline;cursor:pointer}.response-frame{position:absolute!important;left:-9999px!important;width:1px;height:1px;border:0}.form-error{margin:14px 0 0;color:#a51318;text-align:center;font-size:14px}.form-error[hidden]{display:none}
@media(max-width:800px){.final-actions button{padding:16px 20px}.contact-form{padding:28px 18px}.contact-form-grid{grid-template-columns:1fr}.contact-field.full{grid-column:auto}}
