:root{--yellow:#ffd400;--yellow2:#ffea55;--orange:#ff9f00;--ink:#111;--muted:#6b6b6b;--paper:#fff;--soft:#f6f4ee;--line:#dcd8ce;--radius:30px;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.9;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.028;background-image:radial-gradient(#000 1px,transparent 1px);background-size:5px 5px;z-index:9998}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}.site-header{height:92px;display:flex;align-items:center;padding:0 clamp(22px,4vw,70px);gap:34px;position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);z-index:100;border-bottom:1px solid rgba(0,0,0,.08);transition:.3s}.logo{font-family:Arial Black,sans-serif;font-size:48px;font-weight:900;letter-spacing:-6px;line-height:1}.logo span{color:var(--yellow)}.site-header nav{margin-left:auto}.site-header ul{display:flex;align-items:center;gap:clamp(14px,1.7vw,28px);list-style:none;margin:0;padding:0;font-size:13px;font-weight:800}.site-header li a{position:relative;padding:35px 0}.site-header li a:after{content:"";position:absolute;left:0;bottom:25px;width:0;height:3px;background:var(--yellow);transition:.3s}.site-header li a:hover:after{width:100%}.header-contact{background:var(--yellow);padding:15px 25px;border-radius:999px;font-size:13px;font-weight:900;box-shadow:0 5px 0 #111;transition:.2s}.header-contact:hover{transform:translateY(3px);box-shadow:0 2px 0 #111}.menu-toggle{display:none;margin-left:auto;border:0;background:none;font-size:0;width:44px;height:44px;position:relative}.menu-toggle:before,.menu-toggle:after{content:"";position:absolute;left:8px;width:28px;height:2px;background:#111;transition:.3s}.menu-toggle:before{top:15px;box-shadow:0 7px #111}.menu-toggle:after{top:29px}.site-header.open .menu-toggle:before{top:21px;transform:rotate(45deg);box-shadow:none}.site-header.open .menu-toggle:after{top:21px;transform:rotate(-45deg)}main{min-height:60vh}.hero{min-height:760px;padding:70px max(6vw,40px) 80px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;position:relative;isolation:isolate;background:#fff;overflow:hidden}.hero:before{content:"";position:absolute;z-index:-2;right:-8vw;top:0;width:58vw;height:100%;background:var(--yellow);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}.hero:after{content:"SNS MARKETING";position:absolute;z-index:-1;left:-.5vw;bottom:-2.5vw;font:900 clamp(64px,11vw,180px)/.8 Arial,sans-serif;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.08);white-space:nowrap}.hero-copy{max-width:720px;position:relative;z-index:3}.hero-copy>p:first-child,.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.hero-copy>p:first-child:before,.eyebrow:before{content:"";width:42px;height:4px;background:var(--yellow)}.hero h1{font-size:clamp(46px,6.2vw,92px);line-height:1.1;letter-spacing:-.055em;margin:20px 0 28px;font-weight:900}.hero em{font-style:normal;position:relative;z-index:1}.hero em:after{content:"";position:absolute;left:-2%;right:-2%;bottom:.08em;height:.28em;background:var(--yellow);z-index:-1;transform:skewX(-10deg)}.hero-copy>p:not(:first-child){max-width:650px;font-weight:600}.hero>img{width:min(100%,720px);margin:auto;filter:drop-shadow(0 35px 45px rgba(0,0,0,.22));animation:floatY 5.5s ease-in-out infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:210px;background:var(--yellow);padding:17px 32px;border-radius:999px;font-weight:900;border:2px solid #111;box-shadow:6px 6px 0 #111;cursor:pointer;transition:.22s}.btn:after{content:"→"}.btn:hover{transform:translate(4px,4px);box-shadow:2px 2px 0 #111}.btn.dark{background:#111;color:#fff;border-color:#fff;box-shadow:6px 6px 0 #fff}.section{padding:120px max(6vw,24px);max-width:var(--max);margin:auto;position:relative}.section h2{font-size:clamp(36px,5vw,68px);line-height:1.25;letter-spacing:-.05em;margin:15px 0 38px;font-weight:900}.section h3{line-height:1.45}.intro{text-align:center;max-width:970px}.intro .eyebrow{justify-content:center}.intro p:last-child{font-size:18px;font-weight:600}.services{max-width:none;background:var(--soft);padding-left:max(6vw,calc((100vw - 1280px)/2));padding-right:max(6vw,calc((100vw - 1280px)/2))}.cards,.reason-grid,.influencer-grid,.placeholder-list{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.cards article,.reason-grid article,.influencer-grid article,.placeholder-list article{padding:45px;border:1px solid #111;border-radius:var(--radius);background:#fff;position:relative;overflow:hidden;box-shadow:10px 10px 0 var(--yellow)}.cards article:before{content:"";position:absolute;right:-80px;top:-80px;width:180px;height:180px;border-radius:50%;background:var(--yellow);opacity:.7}.cards span{font:900 72px/1 Arial,sans-serif;color:transparent;-webkit-text-stroke:1px #111}.cards h3{font-size:30px;margin:25px 0 15px}.cards a{display:inline-flex;margin-top:18px;font-weight:900;border-bottom:3px solid var(--yellow)}.visual-split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.visual-split>img{border-radius:42px;box-shadow:30px 30px 0 var(--yellow)}.visual-split:nth-of-type(even)>img{box-shadow:-30px 30px 0 var(--yellow)}.page-hero{padding:110px max(6vw,24px) 85px;background:var(--yellow);position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 55%,rgba(255,255,255,.4) 55%)}.page-hero:after{content:attr(data-title);position:absolute;right:-1vw;bottom:-2vw;font:900 clamp(72px,12vw,180px)/1 Arial,sans-serif;color:rgba(255,255,255,.4);letter-spacing:-.07em;text-transform:uppercase}.page-hero>div{max-width:var(--max);margin:auto;position:relative;z-index:3}.page-hero h1{font-size:clamp(48px,7vw,96px);line-height:1.1;letter-spacing:-.06em;margin:0;max-width:900px}.page-hero p{font-weight:900;letter-spacing:.22em;margin:0 0 12px}.company-table{margin-top:60px;border-top:2px solid #111}.company-table p{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line);padding:22px 10px;margin:0}.company-table p:first-child{border-top:0}.company-table span{font-weight:600}.service-stack article{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:90px 0;border-bottom:1px solid var(--line);position:relative}.service-stack article:nth-child(even)>div{order:2}.service-stack article img{border-radius:36px;box-shadow:20px 20px 0 var(--yellow)}.service-stack article b{font:900 15px Arial;letter-spacing:.18em;color:#b77a00}.service-stack article h3{font-size:clamp(30px,4vw,50px);letter-spacing:-.04em}.wide-image{display:block;margin:30px auto 80px;border-radius:40px;box-shadow:24px 24px 0 var(--yellow)}.influencer-grid{grid-template-columns:repeat(3,1fr)}.avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font-size:34px;font-weight:900;border:2px solid #111}.faq details{border-bottom:1px solid #bbb;padding:0;background:#fff}.faq summary{font-size:20px;font-weight:800;cursor:pointer;padding:28px 60px 28px 15px}.contact-form form{max-width:820px;padding:46px;background:var(--soft);border:1px solid #111;border-radius:32px;box-shadow:14px 14px 0 var(--yellow)}.contact-form label{display:block;font-weight:800;margin:24px 0}.contact-form input,.contact-form textarea{width:100%;padding:16px;border:1px solid #999;border-radius:12px;background:#fff}.success{padding:18px;background:#e7f8e7}.cta{background:var(--yellow);padding:105px 24px;text-align:center;position:relative;overflow:hidden}.cta:before{content:"CONTACT";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:900 clamp(90px,18vw,260px)/1 Arial;color:rgba(255,255,255,.36);letter-spacing:-.08em}.cta>*{position:relative;z-index:2}.cta h2{font-size:clamp(36px,5vw,68px);line-height:1.2;letter-spacing:-.05em;margin:8px 0 35px}footer{background:#111;color:#fff;padding:90px max(6vw,24px) 30px;display:grid;grid-template-columns:1.3fr .7fr;gap:50px;position:relative}footer:before{content:"itto";position:absolute;right:3vw;bottom:-3vw;font:900 18vw/1 Arial;color:rgba(255,255,255,.035);letter-spacing:-.1em}.footer-logo{color:#fff}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-weight:700}.footer-links a{border-bottom:1px solid #444;padding-bottom:10px}footer small{grid-column:1/-1;border-top:1px solid #444;padding-top:25px;text-align:center;position:relative;z-index:2}.scroll-progress{position:fixed;left:0;top:0;height:4px;width:0;background:var(--orange);z-index:9999}.motion-hero{min-height:390px;display:flex;align-items:flex-end}.motion-hero h1{animation:heroIn .9s cubic-bezier(.2,.8,.2,1) both}.motion-hero p{animation:heroIn .9s .15s both}.hero-orb{position:absolute;border-radius:50%;border:2px solid #111;opacity:.18}.orb-a{width:270px;height:270px;right:8%;top:-90px;animation:orbFloat 7s ease-in-out infinite}.orb-b{width:120px;height:120px;right:30%;bottom:-35px;background:#fff;animation:orbFloat 5s ease-in-out infinite reverse}.reveal{opacity:0;transform:translateY(55px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}.float-img{animation:floatY 5s ease-in-out infinite}.tilt-card{transition:transform .28s ease,box-shadow .28s ease}.tilt-card:hover{box-shadow:16px 16px 0 var(--yellow)}.message-box,.lead-box{max-width:970px;padding:50px 55px;border-left:12px solid var(--yellow);background:var(--soft);border-radius:0 28px 28px 0;font-size:17px}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.flow-grid article{min-height:220px;padding:34px;border-radius:25px;background:#111;color:#fff;position:relative;overflow:hidden}.flow-grid article:nth-child(even){background:var(--yellow);color:#111}.flow-grid b{font:900 62px/1 Arial;color:var(--yellow)}.flow-grid article:nth-child(even) b{color:#111}.flow-grid article:after{content:"→";position:absolute;right:22px;bottom:14px;font-size:38px}.stats-band{max-width:1180px;margin:0 auto 70px;padding:55px;background:#111;color:#fff;border-radius:34px;display:grid;grid-template-columns:repeat(3,1fr);text-align:center;box-shadow:18px 18px 0 var(--yellow)}.stats-band div{border-right:1px solid #444}.stats-band div:last-child{border:0}.stats-band b{display:block;font:900 72px/1 Arial;color:var(--yellow)}.case-grid,.movie-grid,.column-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.case-card,.movie-card,.column-card{border:1px solid #111;border-radius:26px;padding:20px;background:#fff;box-shadow:9px 9px 0 var(--yellow);overflow:hidden}.case-thumb,.movie-thumb{aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:#111;margin-bottom:20px}.case-thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}.case-card:hover .case-thumb img{transform:scale(1.07)}.case-card p,.column-card>span{color:#a66d00;font-weight:900;letter-spacing:.12em;font-size:12px}.case-card h3,.column-card h3{font-size:22px}.case-card a{display:block;margin-top:20px;font-weight:900}.movie-thumb{display:grid;place-items:center;background:linear-gradient(135deg,#111,#555)}.movie-thumb span{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--yellow);font-size:28px;transition:.3s}.movie-card:hover .movie-thumb span{transform:scale(1.15)}.section-lead{max-width:800px;margin-bottom:45px}.faq summary{list-style:none;position:relative}.faq summary:after{content:"＋";position:absolute;right:15px;top:22px;font-size:30px}.faq details[open] summary:after{content:"−"}.faq details p{padding:20px 30px;background:var(--soft);border-radius:16px}.contact-form label span{font-size:11px;background:#111;color:#fff;padding:3px 8px;border-radius:20px;margin-left:8px}.marquee{overflow:hidden;background:#111;color:#fff;padding:17px 0;white-space:nowrap}.marquee-track{display:inline-flex;gap:60px;animation:marquee 24s linear infinite;font:900 18px Arial;letter-spacing:.15em}.marquee-track span:before{content:"●";color:var(--yellow);margin-right:60px}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes heroIn{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes orbFloat{50%{transform:translateY(20px) rotate(20deg)}}@keyframes floatY{50%{transform:translateY(-14px)}}
@media(max-width:900px){.site-header{height:72px;padding:0 20px}.site-header nav,.header-contact{display:none}.site-header.open nav{display:block;position:absolute;top:72px;left:0;right:0;background:#fff;padding:25px;border-bottom:1px solid #ddd}.site-header.open ul{display:grid;gap:0}.site-header.open li a{display:block;padding:15px 0;border-bottom:1px solid #eee}.menu-toggle{display:block}.logo{font-size:38px}.hero{grid-template-columns:1fr;padding:55px 24px 70px;min-height:auto}.hero:before{right:-40%;top:58%;width:140%;height:55%;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}.hero h1{font-size:46px}.hero>img{margin-top:45px}.visual-split,.service-stack article{grid-template-columns:1fr;gap:45px}.service-stack article:nth-child(even)>div{order:0}.cards,.reason-grid,.influencer-grid,.placeholder-list,.flow-grid,.case-grid,.movie-grid,.column-grid{grid-template-columns:1fr}.section{padding:80px 24px}.section h2{font-size:40px}.company-table p{grid-template-columns:1fr}.company-table span{margin-top:6px}.page-hero{padding:75px 24px 55px}.page-hero h1{font-size:52px}.motion-hero{min-height:270px}.stats-band{margin:0 20px 40px;grid-template-columns:1fr;gap:25px;padding:35px}.stats-band div{border-right:0;border-bottom:1px solid #444;padding-bottom:22px}.stats-band div:last-child{border:0}.service-stack article{padding:65px 0}.message-box,.lead-box{padding:30px}.contact-form form{padding:25px}.visual-split>img,.wide-image{box-shadow:14px 14px 0 var(--yellow)}footer{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr}.orb-a{width:160px;height:160px}.cards article,.reason-grid article,.influencer-grid article{padding:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* v8 homepage replica refinement */
.home-kv{min-height:calc(100vh - 92px);display:grid;grid-template-columns:46% 54%;position:relative;background:#fff;overflow:hidden}.home-kv__copy{padding:clamp(70px,8vw,130px) 4vw 90px max(5vw,calc((100vw - 1420px)/2));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.home-kv__eyebrow,.small-en{font:800 12px/1.4 Arial,sans-serif;letter-spacing:.18em}.home-kv h1{font-size:clamp(52px,6.3vw,104px);line-height:1.05;letter-spacing:-.075em;margin:26px 0 30px;font-weight:900}.home-kv__lead{max-width:610px;font-size:15px;font-weight:600;line-height:2}.home-kv__visual{background:#ffd900;display:flex;align-items:center;justify-content:center;position:relative;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.home-kv__visual:before{content:"";position:absolute;inset:7% 6%;border:1px solid rgba(0,0,0,.18);border-radius:50%}.home-kv__visual img{width:min(92%,760px);max-height:82vh;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 30px 36px rgba(0,0,0,.18));animation:floatY 6s ease-in-out infinite}.home-kv__label{position:absolute;right:24px;top:30px;font:800 10px/1.5 Arial;letter-spacing:.13em;text-align:right}.home-kv__scroll{position:absolute;left:28px;bottom:30px;writing-mode:vertical-rl;font:700 9px Arial;letter-spacing:.2em;display:flex;align-items:center;gap:14px}.home-kv__scroll span{height:70px;width:1px;background:#111;position:relative;overflow:hidden}.home-kv__scroll span:after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:#fff;animation:scrollLine 2s infinite}.home-arrow-link{display:inline-flex;align-items:center;gap:16px;font-weight:800;margin-top:24px;width:max-content}.home-arrow-link i,.home-case i,.home-service i{font-style:normal;width:48px;height:48px;border:1px solid #111;border-radius:50%;display:grid;place-items:center;transition:.3s}.home-arrow-link:hover i{background:#111;color:#fff;transform:rotate(45deg)}.client-loop{border-top:1px solid #ddd;border-bottom:1px solid #ddd;overflow:hidden;padding:28px 0;background:#fff}.client-loop__track{display:flex;width:max-content;animation:clientLoop 32s linear infinite}.client-logo{width:210px;height:90px;margin-right:22px;border:1px solid #e3e3e3;background:#fff;display:grid;place-items:center;text-align:center;padding:15px;font-weight:900;line-height:1.15}.home-news{max-width:1280px;margin:auto;padding:90px max(5vw,24px);display:grid;grid-template-columns:240px 1fr;gap:70px}.home-news__head p{font:900 54px/1 Arial;margin:0 0 26px;letter-spacing:-.06em}.home-news__head a{font-size:13px;font-weight:800}.home-news__list a{display:grid;grid-template-columns:120px 1fr 34px;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid #ccc}.home-news__list time{font:700 12px Arial}.home-news__list strong{font-size:14px}.home-news__list i{font-style:normal;font-size:20px}.home-philosophy{background:#f3f1eb;padding:130px max(6vw,24px) 160px;position:relative;overflow:hidden}.home-section-label{max-width:1280px;margin:0 auto 50px;display:flex;align-items:center;gap:18px}.home-section-label span{font:800 11px Arial;border:1px solid #111;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.home-section-label p{font:800 12px Arial;letter-spacing:.18em}.home-philosophy__body{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.35fr .65fr;gap:100px;align-items:end;position:relative;z-index:2}.home-philosophy h2,.home-cases h2,.home-services h2,.home-influencer h2,.home-movie h2{font-size:clamp(44px,6.5vw,92px);line-height:1.12;letter-spacing:-.065em;margin:0;font-weight:900}.home-philosophy__body p{font-weight:600;line-height:2.2}.home-philosophy__word{position:absolute;left:-10px;bottom:-.18em;font:900 clamp(110px,19vw,310px)/1 Arial;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.09);letter-spacing:-.08em}.home-movie{max-width:1440px;margin:auto;padding:140px max(5vw,24px);display:grid;grid-template-columns:1.18fr .82fr;gap:80px;align-items:center}.home-movie__visual{aspect-ratio:16/10;background:#111;position:relative;display:grid;place-items:center;overflow:hidden}.home-movie__visual:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,#111 0 30px,#171717 30px 60px)}.home-movie__visual span{position:absolute;left:25px;bottom:20px;color:#fff;font:800 11px/1.6 Arial;letter-spacing:.16em}.home-movie__play{width:100px;height:100px;border-radius:50%;background:#ffd900;display:grid;place-items:center;position:relative;z-index:2;font-size:28px;padding-left:5px;transition:.3s}.home-movie__visual:hover .home-movie__play{transform:scale(1.12)}.home-movie__copy h2{font-size:clamp(42px,5.2vw,76px);margin:22px 0 28px}.home-movie__copy>p:not(.small-en){line-height:2}.home-cases{padding:130px max(5vw,24px);background:#111;color:#fff}.home-cases__head{max-width:1280px;margin:0 auto 65px;display:flex;align-items:end;justify-content:space-between}.home-cases .home-arrow-link i{border-color:#fff}.home-cases__grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:55px 34px}.home-case a{display:block;position:relative}.home-case__thumb{aspect-ratio:16/10;background:#292929;overflow:hidden;display:grid;place-items:center;font:900 36px Arial;color:#444}.home-case__thumb img{width:100%;height:100%;object-fit:cover;transition:.6s}.home-case:hover img{transform:scale(1.045)}.home-case--large{grid-column:1/-1}.home-case--large .home-case__thumb{aspect-ratio:2.15/1}.home-case__meta{display:flex;justify-content:space-between;margin-top:18px;font:700 10px Arial;letter-spacing:.12em;color:#aaa}.home-case h3{font-size:clamp(19px,2vw,30px);line-height:1.55;margin:12px 70px 0 0}.home-case i{position:absolute;right:0;bottom:0;border-color:#777}.home-case:hover i{background:#ffd900;color:#111;border-color:#ffd900;transform:rotate(45deg)}.home-services{padding:140px max(5vw,24px);max-width:1380px;margin:auto}.home-services__intro{display:grid;grid-template-columns:1fr .7fr;gap:100px;align-items:end;margin-bottom:85px}.home-services__intro p{line-height:2.1}.home-service{display:grid;grid-template-columns:160px 1fr 70px;gap:35px;align-items:center;padding:50px 10px;border-top:1px solid #111;transition:.35s}.home-service:last-child{border-bottom:1px solid #111}.home-service:hover{padding-left:30px;background:#ffd900}.home-service__num{font:800 11px Arial;letter-spacing:.16em}.home-service h3{font-size:clamp(30px,4.5vw,62px);line-height:1.15;letter-spacing:-.05em;margin:0 0 15px}.home-service p{max-width:700px;margin:0}.home-service i{justify-self:end}.home-influencer{display:grid;grid-template-columns:.82fr 1.18fr;background:#ffd900;min-height:720px}.home-influencer__copy{padding:120px max(5vw,60px) 110px max(6vw,calc((100vw - 1380px)/2));display:flex;flex-direction:column;justify-content:center}.home-influencer h2{font-size:clamp(42px,5.4vw,76px);margin:25px 0 30px}.home-influencer__copy>p:not(.small-en){line-height:2.1}.home-influencer__visual{display:grid;place-items:center;overflow:hidden;background:#f5f5f2}.home-influencer__visual img{width:100%;height:100%;object-fit:cover}.home-influencer .home-arrow-link i{background:#fff}@keyframes clientLoop{to{transform:translateX(-50%)}}@keyframes scrollLine{to{top:100%}}
@media(max-width:900px){.home-kv{grid-template-columns:1fr;min-height:auto}.home-kv__copy{padding:55px 24px 45px}.home-kv h1{font-size:48px}.home-kv__visual{clip-path:none;min-height:420px}.home-kv__visual img{width:96%;max-height:480px}.home-kv__scroll{display:none}.client-logo{width:150px;height:70px}.home-news{grid-template-columns:1fr;gap:24px;padding:65px 24px}.home-news__head p{font-size:42px}.home-news__list a{grid-template-columns:80px 1fr 22px;gap:12px}.home-philosophy{padding:85px 24px 110px}.home-philosophy__body,.home-movie,.home-services__intro{grid-template-columns:1fr;gap:38px}.home-philosophy h2,.home-cases h2,.home-services h2,.home-influencer h2,.home-movie h2{font-size:43px}.home-movie{padding:85px 24px}.home-cases{padding:85px 24px}.home-cases__head{display:block}.home-cases__grid{grid-template-columns:1fr}.home-case--large{grid-column:auto}.home-case--large .home-case__thumb{aspect-ratio:16/10}.home-services{padding:85px 24px}.home-service{grid-template-columns:1fr 48px;gap:20px}.home-service__num{grid-column:1/-1}.home-service:hover{padding-left:10px}.home-influencer{grid-template-columns:1fr;min-height:0}.home-influencer__copy{padding:85px 24px}.home-influencer__visual{min-height:430px}}
/* v9 deep subpage design */
.sub-hero{position:relative;min-height:430px;background:#f7df00;overflow:hidden;display:flex;align-items:flex-end;padding:110px max(6vw,24px) 70px}.sub-hero:after{content:attr(data-title);position:absolute;right:-.03em;bottom:-.18em;font-size:clamp(100px,17vw,260px);font-weight:900;line-height:1;color:rgba(0,0,0,.055);letter-spacing:-.08em}.sub-hero-inner{position:relative;z-index:2;max-width:1100px;width:100%;margin:auto}.sub-breadcrumb,.sub-index{font-size:11px;font-weight:800;letter-spacing:.18em}.sub-breadcrumb span{margin:0 10px}.sub-index{margin-top:64px}.sub-hero h1{max-width:1000px;font-size:clamp(42px,7vw,96px);line-height:1.05;letter-spacing:-.065em;margin:14px 0 0}.sub-hero>i,.sub-hero>b{position:absolute;border-radius:50%;border:1px solid rgba(0,0,0,.18)}.sub-hero>i{width:360px;height:360px;right:7%;top:-170px}.sub-hero>b{width:120px;height:120px;right:28%;bottom:40px}.vision-stage,.message-stage,.company-stage,.equation-intro,.equation-stage,.product-lead,.reason-stage,.support-lead,.why-stage,.influencer-lead,.influencer-stage,.archive-intro,.faq-stage,.contact-stage{max-width:1280px;margin:auto;padding:130px max(6vw,24px)}.vision-stage{position:relative;display:grid;grid-template-columns:1fr .95fr;gap:8vw;align-items:center;min-height:760px}.vision-word{position:absolute;left:-.2em;top:.25em;font-size:clamp(100px,16vw,250px);font-weight:900;color:#f2f2ef;line-height:1;z-index:-1;white-space:nowrap}.vision-copy span,.eyebrow{font-size:12px;font-weight:900;letter-spacing:.22em}.vision-copy h2,.equation-intro h2,.product-lead h2,.support-quote h2,.influencer-lead h2,.archive-intro h2{font-size:clamp(40px,5.7vw,84px);line-height:1.08;letter-spacing:-.06em}.vision-copy p,.equation-intro p,.product-lead p,.influencer-lead p,.archive-intro p{line-height:2;max-width:720px}.vision-stage figure{position:relative}.vision-stage figure:before{content:"";position:absolute;inset:24px -24px -24px 24px;background:#f7df00;z-index:-1}.vision-stage img,.message-photo img,.equation-intro img,.product-lead img,.influencer-lead img{width:100%;display:block}.message-stage{display:grid;grid-template-columns:70px .85fr 1fr;gap:4vw;align-items:center;background:#111;color:#fff;max-width:none;padding-left:max(6vw,24px);padding-right:max(6vw,24px)}.vertical-label{writing-mode:vertical-rl;font-size:12px;letter-spacing:.3em}.message-copy h2{font-size:clamp(36px,5vw,70px);letter-spacing:-.05em}.message-copy p{line-height:2}.company-stage{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw}.section-side-title span{font-size:11px;letter-spacing:.25em;font-weight:800}.section-side-title h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.06em}.company-table.refined p{display:grid;grid-template-columns:170px 1fr;border-top:1px solid #ccc;padding:24px 0;margin:0}.company-table.refined p:last-child{border-bottom:1px solid #ccc}.company-table em{font-style:normal;font-weight:800}.equation-intro,.product-lead,.influencer-lead{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.equation-intro figure,.device-frame,.influencer-lead figure{background:#f7df00;padding:32px}.equation-stage{background:#f4f4f1;max-width:none}.equation-stage>p,.equation-stage>h2,.equation-flow{max-width:1180px;margin-left:auto;margin-right:auto}.equation-stage>h2{font-size:clamp(38px,5vw,70px)}.equation-flow{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px}.equation-flow article{padding:38px;border:1px solid #d5d5d0;margin:-1px 0 0 -1px;min-height:220px;background:#fff}.equation-flow b,.why-grid b{font-size:12px;letter-spacing:.2em}.equation-flow h3{font-size:25px;margin:50px 0 10px}.number-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#111;color:#fff;padding:60px max(6vw,24px)}.number-strip div{text-align:center;border-right:1px solid #444}.number-strip div:last-child{border:0}.number-strip strong{font-size:clamp(50px,7vw,100px);color:#f7df00}.number-strip span{display:block}.reason-stage{display:grid;grid-template-columns:.45fr 1.55fr;gap:7vw}.reason-list article{display:grid;grid-template-columns:70px 1fr 48px;gap:30px;padding:35px 0;border-top:1px solid #bbb}.reason-list article:last-child{border-bottom:1px solid #bbb}.reason-list h3{font-size:28px;margin:0 0 12px}.reason-list p{margin:0;line-height:1.9}.reason-list>article>span{font-size:28px}.support-lead{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.support-quote{position:relative}.support-quote>span{position:absolute;font-size:180px;color:#f7df00;left:-45px;top:-80px;z-index:-1}.support-lead>div:last-child{line-height:2}.support-lead strong{display:block;margin-top:30px}.service-detail-stage{max-width:1280px;margin:auto;padding:0 max(6vw,24px) 130px}.service-detail-stage article{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:100px 0;border-top:1px solid #bbb}.service-detail-stage article.reverse figure{order:2}.service-detail-stage figure{position:relative;background:#f7df00;padding:25px}.service-detail-stage img{width:100%;display:block}.service-detail-stage h2{font-size:clamp(38px,4.5vw,66px);letter-spacing:-.055em}.service-detail-stage p{line-height:2}.circle-link{display:inline-flex;align-items:center;gap:25px;margin-top:30px;font-weight:800}.circle-link span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#111;color:#fff}.why-stage{background:#111;color:#fff;max-width:none}.why-stage>.section-side-title,.why-grid{max-width:1180px;margin-left:auto;margin-right:auto}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px}.why-grid article{padding:42px;border:1px solid #444;margin-left:-1px}.why-grid h3{font-size:28px;color:#f7df00}.influencer-stage{background:#f7df00;max-width:none}.influencer-stage>.section-side-title,.influencer-grid.refined{max-width:1180px;margin-left:auto;margin-right:auto}.influencer-grid.refined{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#111;margin-top:60px}.influencer-grid.refined article{background:#fff;padding:18px}.profile-photo{height:230px;background:#ecece8;display:flex;align-items:center;justify-content:center;position:relative}.profile-photo span{position:absolute;left:14px;top:12px;font-size:11px}.profile-photo b{font-size:70px}.influencer-grid.refined small{display:block;margin-top:18px}.influencer-grid.refined h3{font-size:21px}.influencer-grid.refined a{font-size:12px;font-weight:800}.archive-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.archive-intro.dark{background:#111;color:#fff;max-width:none}.case-list-stage,.movie-list-stage,.column-list-stage{max-width:1180px;margin:auto;padding:30px max(6vw,24px) 130px}.case-list-stage article{display:grid;grid-template-columns:70px .8fr 1fr;gap:4vw;align-items:center;padding:55px 0;border-top:1px solid #bbb}.case-list-stage figure{margin:0;overflow:hidden}.case-list-stage img{width:100%;height:270px;object-fit:cover;transition:.6s}.case-list-stage article:hover img{transform:scale(1.05)}.case-list-stage h2{font-size:clamp(30px,4vw,54px);margin:10px 0}.case-list-stage a{font-weight:800}.movie-list-stage{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:100px}.movie-visual{aspect-ratio:16/10;background:#222;color:#fff;display:grid;place-items:center;position:relative}.movie-visual:before{content:"";position:absolute;inset:18px;border:1px solid #555}.movie-visual b{font-size:44px;color:#f7df00}.movie-visual span{position:absolute;left:25px;top:22px;font-size:11px;letter-spacing:.2em}.movie-list-stage h3{font-size:22px}.faq-stage{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.faq-head h2{font-size:clamp(44px,5vw,72px)}.faq-list details{border-top:1px solid #bbb}.faq-list details:last-child{border-bottom:1px solid #bbb}.faq-list summary{display:grid;grid-template-columns:60px 1fr 40px;align-items:center;padding:30px 0;cursor:pointer;list-style:none}.faq-list summary b{color:#c3a900}.faq-list summary span{font-size:20px;font-weight:700}.faq-list details p{padding:0 40px 30px 60px;line-height:1.9}.contact-stage{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.contact-intro h2{font-size:clamp(44px,5vw,70px)}.contact-intro>div{margin-top:60px;padding-top:25px;border-top:1px solid #bbb}.contact-intro a{display:block;font-size:36px;font-weight:800}.contact-stage form{background:#f4f4f1;padding:55px}.contact-stage label{display:block;margin-bottom:26px}.contact-stage label span{display:block;font-size:12px;font-weight:800;margin-bottom:10px}.contact-stage label em{color:#c00;font-style:normal}.contact-stage input,.contact-stage textarea{width:100%;border:0;border-bottom:1px solid #999;background:transparent;padding:14px 0;font-size:16px}.contact-stage button{width:100%;display:flex;justify-content:space-between;background:#111;color:#fff;border:0;padding:24px 28px;font-weight:800}.column-list-stage article{display:grid;grid-template-columns:80px 1fr 90px;gap:30px;align-items:center;padding:40px 0;border-top:1px solid #bbb}.column-list-stage article:last-child{border-bottom:1px solid #bbb}.column-index{font-size:12px}.column-list-stage h2{font-size:clamp(24px,3vw,40px);margin:8px 0}.column-list-stage a{font-weight:800}
@media(max-width:900px){.vision-stage,.message-stage,.company-stage,.equation-intro,.product-lead,.support-lead,.influencer-lead,.archive-intro,.faq-stage,.contact-stage{grid-template-columns:1fr}.message-stage{grid-template-columns:1fr}.vertical-label{writing-mode:horizontal-tb}.reason-stage{grid-template-columns:1fr}.service-detail-stage article,.case-list-stage article{grid-template-columns:1fr}.service-detail-stage article.reverse figure{order:0}.equation-flow,.movie-list-stage{grid-template-columns:1fr 1fr}.influencer-grid.refined{grid-template-columns:1fr 1fr}.company-table.refined p{grid-template-columns:1fr;gap:8px}.contact-stage form{padding:30px}}@media(max-width:600px){.sub-hero{min-height:330px;padding-top:90px}.sub-index{margin-top:34px}.vision-stage,.message-stage,.company-stage,.equation-intro,.equation-stage,.product-lead,.reason-stage,.support-lead,.why-stage,.influencer-lead,.influencer-stage,.archive-intro,.faq-stage,.contact-stage{padding-top:80px;padding-bottom:80px}.equation-flow,.movie-list-stage,.influencer-grid.refined{grid-template-columns:1fr}.number-strip{grid-template-columns:1fr;gap:35px}.number-strip div{border-right:0;border-bottom:1px solid #444;padding-bottom:30px}.why-grid{grid-template-columns:1fr}.reason-list article{grid-template-columns:45px 1fr}.reason-list>article>span{display:none}.contact-stage form{margin-left:-12px;margin-right:-12px}.column-list-stage article{grid-template-columns:45px 1fr}.column-list-stage a{grid-column:2}}

/* v16 client logo slider */
.client-loop{overflow:hidden;background:#fff;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}
.client-loop__track{display:flex;width:max-content;animation:ittoClientLogoLoop 40s linear infinite;will-change:transform}
.client-loop:hover .client-loop__track{animation-play-state:paused}
.client-logo{width:220px;height:112px;flex:0 0 220px;display:flex;align-items:center;justify-content:center;padding:24px 30px;border-right:1px solid rgba(0,0,0,.12);background:#fff;transition:background .25s ease,transform .25s ease}
.client-logo.has-image img{display:block;width:100%;height:100%;max-width:160px;max-height:64px;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .25s ease,opacity .25s ease,transform .25s ease}
.client-logo.has-image:hover img{filter:none;opacity:1;transform:scale(1.06)}
.client-logo.is-text span{font-size:14px;font-weight:900;letter-spacing:.03em;text-align:center}
.client-logo:hover{background:#fffbea}
@keyframes ittoClientLogoLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:767px){.client-logo{width:160px;height:86px;flex-basis:160px;padding:18px 22px}.client-logo.has-image img{max-width:120px;max-height:48px}.client-loop__track{animation-duration:28s}}

/* v17 direct image editing */
.home-movie__visual-wrap{position:relative}.home-movie__visual{isolation:isolate}.home-movie__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.home-movie__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.35));z-index:1}.home-movie__visual .home-movie__play,.home-movie__visual span{z-index:2}.home-movie__visual:before{z-index:0}.home-movie__visual:has(.home-movie__image):before{display:none}.itto-preview-image-hit{display:none}.itto-visual-preview-active .itto-preview-image-hit{display:block;position:absolute;inset:0;border:0;background:transparent;z-index:8;cursor:pointer}.itto-visual-preview-active .home-case__thumb,.itto-visual-preview-active .home-movie__visual-wrap{position:relative}.itto-visual-preview-active .itto-preview-image-hit:hover{outline:4px solid #ffd400;outline-offset:-4px;background:rgba(255,212,0,.08)}

/* v18 FV smartphone carousel */
.home-kv__visual{perspective:1600px}.hero-phone-stage{position:relative;width:min(92%,920px);height:min(76vh,670px);z-index:2;display:grid;place-items:center}.hero-phone-card{position:absolute;left:50%;top:50%;width:clamp(150px,18vw,285px);height:min(68vh,590px);padding:12px;border-radius:38px;background:#090909;box-shadow:0 28px 55px rgba(0,0,0,.28);overflow:hidden;transform:translate(-50%,-50%) scale(.72);opacity:.45;transition:transform .85s cubic-bezier(.22,.61,.36,1),opacity .65s,filter .65s;filter:saturate(.75);z-index:1}.hero-phone-card img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;border-radius:27px;animation:none!important;filter:none!important}.hero-phone-speaker{position:absolute;z-index:3;top:7px;left:50%;transform:translateX(-50%);width:33%;height:18px;border-radius:0 0 13px 13px;background:#090909}.hero-phone-card.is-active{transform:translate(-50%,-50%) scale(1);opacity:1;filter:none;z-index:5}.hero-phone-card.is-prev{transform:translate(calc(-50% - 250px),-50%) scale(.72) rotateY(10deg);opacity:.72;z-index:3}.hero-phone-card.is-next{transform:translate(calc(-50% + 250px),-50%) scale(.72) rotateY(-10deg);opacity:.72;z-index:3}.hero-phone-card.is-far-prev{transform:translate(calc(-50% - 390px),-50%) scale(.52) rotateY(15deg);opacity:.34}.hero-phone-card.is-far-next{transform:translate(calc(-50% + 390px),-50%) scale(.52) rotateY(-15deg);opacity:.34}.hero-phone-dots{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:8}.hero-phone-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(0,0,0,.25);cursor:pointer}.hero-phone-dots button.is-active{width:28px;border-radius:10px;background:#111}.hero-phone-edit-hit{z-index:10;inset:0}.itto-editor-preview .hero-phone-edit-hit{pointer-events:auto}
@media(max-width:900px){.hero-phone-stage{width:100%;height:430px}.hero-phone-card{width:190px;height:380px;border-radius:28px;padding:9px}.hero-phone-card img{border-radius:21px}.hero-phone-card.is-prev{transform:translate(calc(-50% - 115px),-50%) scale(.66)}.hero-phone-card.is-next{transform:translate(calc(-50% + 115px),-50%) scale(.66)}.hero-phone-card.is-far-prev,.hero-phone-card.is-far-next{opacity:0;pointer-events:none}.hero-phone-speaker{height:14px}.hero-phone-dots{bottom:0}}

/* v19: FV headline fit correction */
@media (min-width:901px){.hero-copy{max-width:min(660px,100%)}.hero-copy h1,.hero h1{font-size:clamp(44px,4.4vw,72px);line-height:.98;letter-spacing:-.065em;white-space:nowrap;margin-top:26px;margin-bottom:34px}}
@media (min-width:901px) and (max-width:1200px){.hero-copy h1,.hero h1{font-size:clamp(42px,4.15vw,56px)}}
@media (max-width:900px){.hero-copy h1,.hero h1{font-size:clamp(40px,10.6vw,68px);line-height:1.02;letter-spacing:-.06em;white-space:normal}}
@media (max-width:520px){.hero-copy h1,.hero h1{font-size:clamp(36px,10.1vw,52px)}}

/* ITTO CMS 1.0 — production FV title structure and responsive fitting */
.home-kv__copy{min-width:0}
.home-kv__title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  max-width:100%;
  margin:26px 0 30px;
  font-size:clamp(48px,5.15vw,86px);
  line-height:.94;
  letter-spacing:-.075em;
  font-weight:900;
  font-feature-settings:"palt" 1;
}
.home-kv__title span{
  display:block;
  white-space:nowrap;
  max-width:100%;
}
@media (min-width:901px) and (max-width:1280px){
  .home-kv__title{font-size:clamp(44px,4.75vw,66px);letter-spacing:-.08em}
  .home-kv__copy{padding-left:clamp(42px,5vw,72px);padding-right:clamp(28px,3.5vw,54px)}
}
@media (max-width:900px){
  .home-kv__title{font-size:clamp(42px,10.2vw,64px);line-height:.98;letter-spacing:-.065em}
}
@media (max-width:520px){
  .home-kv__title{font-size:clamp(34px,9.9vw,48px);letter-spacing:-.06em}
}
