:root{--ink:#171512;--paper:#f7f1e7;--white:#fffdf8;--coral:#ff6848;--lime:#d8ff5f;--violet:#8d73ff;--pink:#ffb1c8;--line:#24211d;--muted:#777066;--radius:26px;--sans:Inter,"Arial Black","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.section{padding:120px max(32px,calc((100vw - 1320px)/2))}.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{position:fixed;z-index:100;background:var(--lime);padding:12px;top:8px;left:8px}.reveal{opacity:0;transform:translateY(28px) rotate(.5deg);transition:.7s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}
.site-header{height:76px;position:fixed;top:0;left:0;right:0;z-index:40;padding:0 44px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(247,241,231,.88);backdrop-filter:blur(18px);border-bottom:1.5px solid var(--ink)}.wordmark{font-size:34px;font-weight:900;letter-spacing:-.09em;line-height:1}.wordmark span{color:var(--coral)}nav{display:flex;gap:30px;font-size:11px;font-weight:750}nav a{padding:9px 0;border-bottom:2px solid transparent}nav a:hover{border-color:var(--coral)}.header-cta{justify-self:end;display:flex;gap:24px;align-items:center;background:var(--ink);color:white;border-radius:99px;padding:10px 17px;font-size:10px;letter-spacing:.08em}.header-cta b{font-size:16px}.header-cta:hover{background:var(--coral)}.menu-toggle{display:none}
.hero{min-height:100svh;padding:126px 44px 52px;display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;position:relative;border-bottom:1.5px solid var(--ink)}.hero-copy{align-self:center;padding-left:max(0px,calc((100vw - 1408px)/2))}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:36px}.hero h1{font-size:clamp(72px,9vw,142px);line-height:.84;letter-spacing:-.09em;margin:0 0 46px;font-weight:900}.hero h1 span{position:relative;color:var(--coral)}.hero h1 span:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:13px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20'%3E%3Cpath d='M2 14C70 3 142 17 298 5' fill='none' stroke='%23171512' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}.hero-lead{font-size:20px;font-weight:700;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:44px}.hero-actions a{width:150px;height:150px;background:var(--lime);border:1.5px solid var(--ink);border-radius:50%;padding:24px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;box-shadow:7px 7px 0 var(--ink);transition:.2s}.hero-actions a:hover{transform:translate(4px,4px);box-shadow:3px 3px 0 var(--ink)}.hero-actions a b{font-size:20px}.hero-actions>span{font-size:9px;letter-spacing:.14em;color:var(--muted)}
.collage{position:relative;min-height:690px;border:1.5px solid var(--ink);border-radius:36px;overflow:hidden;background:#eadfce;isolation:isolate}.collage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.collage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.card{position:absolute;background:var(--white);border:1.5px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:22px}.phone-card{left:8%;top:11%;width:235px;height:330px;border-radius:28px;transform:rotate(-6deg);animation:floatA 6s ease-in-out infinite}.phone-card small,.ai-card small{font-size:8px;letter-spacing:.15em}.phone-card strong{display:block;font-size:31px;line-height:1.08;letter-spacing:-.06em;margin:45px 0}.phone-card>div{display:flex;gap:6px}.phone-card i{width:38px;height:38px;border-radius:50%;background:var(--coral);border:1px solid var(--ink)}.phone-card i:nth-child(2){background:var(--lime)}.phone-card i:nth-child(3){background:var(--violet)}.phone-card>span{position:absolute;bottom:22px;font-size:8px;letter-spacing:.12em}.ai-card{right:7%;bottom:12%;width:285px;border-radius:18px;transform:rotate(5deg);animation:floatB 7s ease-in-out infinite}.card-dot{display:block;width:11px;height:11px;background:var(--violet);border-radius:50%;position:absolute;right:18px;top:18px}.ai-card p{margin:15px 0 0;border-top:1px solid var(--ink);padding-top:10px;font-size:11px}.ai-card p b{margin-right:18px;color:var(--coral)}.sticker{position:absolute;width:118px;height:118px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;text-align:center;font-size:13px;font-weight:900;line-height:1.1;box-shadow:5px 5px 0 var(--ink)}.sticker-one{right:9%;top:8%;background:var(--lime);transform:rotate(11deg)}.sticker-two{left:39%;bottom:8%;background:var(--pink);transform:rotate(-12deg)}.comment-card{position:absolute;left:5%;bottom:10%;display:flex;align-items:center;gap:12px;background:var(--ink);color:white;padding:14px 18px;border-radius:14px;transform:rotate(3deg)}.comment-card span{color:var(--lime)}.comment-card p{margin:0;font-size:10px;line-height:1.4}.motion-toggle{position:absolute;right:18px;top:47%;border:1.5px solid var(--ink);background:var(--white);border-radius:99px;padding:8px 12px;font-size:8px;display:flex;gap:9px}.motion-toggle i{font-style:normal}.hero-ticker{position:absolute;left:0;right:0;bottom:0;height:34px;border-top:1.5px solid var(--ink);display:flex;overflow:hidden;background:var(--coral);font-size:10px;font-weight:900;letter-spacing:.14em;align-items:center;white-space:nowrap}.hero-ticker div{min-width:max-content;animation:marquee 25s linear infinite}
.intro{display:grid;grid-template-columns:.7fr 1.5fr;gap:10vw}.intro-note{padding-top:18px}.intro-note>span,.intro-main>p,.section-title>p,.method-head>p,.company-card>div>p:first-child,.faq-title>p,.contact-copy>p{font-size:9px;font-weight:800;letter-spacing:.18em}.intro-note i{display:block;width:100%;height:1px;background:var(--ink);margin:18px 0 28px}.intro-note p{font-size:13px;font-weight:700}.intro-main h2{font-size:clamp(48px,6.5vw,92px);line-height:1.02;letter-spacing:-.07em;margin:28px 0}.intro-main h2 em{font-style:normal;background:var(--lime);padding:0 .08em}.intro-main>div{max-width:480px;margin-left:auto;font-size:13px;color:var(--muted)}
.services{background:var(--white);border-block:1.5px solid var(--ink)}.section-title{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:end;margin-bottom:70px}.section-title h2{font-size:clamp(60px,8vw,110px);line-height:.9;letter-spacing:-.08em;margin:0}.section-title>span{font-size:14px;font-weight:700}.service-board{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.service{position:relative;min-height:700px;padding:34px;border:1.5px solid var(--ink);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.service.sns{background:var(--coral)}.service.ai{background:var(--violet);color:#0e0c16}.service-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;border-bottom:1px solid;padding-bottom:14px}.service h3{font-size:clamp(48px,5.8vw,82px);line-height:.92;letter-spacing:-.07em;margin:245px 0 24px;position:relative;z-index:2}.service>p{max-width:510px;font-size:13px}.service ul{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:24px 0}.service li{border:1px solid;border-radius:99px;padding:6px 11px;font-size:9px}.service>a{margin-top:auto;border-top:1px solid;padding-top:18px;font-size:11px;font-weight:800;display:flex;justify-content:space-between}.service>a b{font-size:20px}.decor-sun{position:absolute;right:-70px;top:60px;width:320px;height:320px;border-radius:50%;background:repeating-conic-gradient(var(--lime) 0 5deg,transparent 5deg 10deg);animation:rotate 28s linear infinite}.decor-sun:after{content:"SOCIAL";position:absolute;inset:62px;background:var(--white);border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:900}.decor-face{position:absolute;left:50%;top:80px;transform:translateX(-50%);width:250px;height:250px;background:var(--lime);border:1.5px solid var(--ink);border-radius:48% 52% 45% 55%;animation:blob 7s ease-in-out infinite}.decor-face i{position:absolute;width:23px;height:32px;background:var(--ink);border-radius:50%;top:82px}.decor-face i:first-child{left:65px}.decor-face i:nth-child(2){right:65px}.decor-face b{position:absolute;width:80px;height:35px;border-bottom:6px solid var(--ink);border-radius:50%;left:85px;top:132px}
.method{background:var(--lime);border-bottom:1.5px solid var(--ink)}.method-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:70px}.method-head h2{font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:-.075em;margin:0}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid var(--ink);border-radius:26px;overflow:hidden}.steps li{min-height:365px;padding:24px;display:flex;flex-direction:column;border-right:1.5px solid var(--ink)}.steps li:last-child{border:0}.steps>li>span{font-size:34px;font-weight:900}.steps small{font-size:8px;letter-spacing:.18em;margin-top:auto}.steps h3{font-size:24px;letter-spacing:-.05em;margin:9px 0}.steps p{font-size:11px;margin:0}.steps li:nth-child(2){background:var(--white)}.steps li:nth-child(3){background:var(--pink)}.steps li:nth-child(4){background:var(--coral)}
.big-message{padding:105px 32px;text-align:center;background:var(--paper);border-bottom:1.5px solid var(--ink);overflow:hidden}.big-message>p{font-size:11px;letter-spacing:.2em;font-weight:800}.big-message>div{display:flex;justify-content:center;align-items:center;gap:30px;font-size:clamp(70px,13vw,190px);font-weight:900;line-height:.85;letter-spacing:-.09em;white-space:nowrap}.big-message>div span:last-child{color:var(--coral)}.big-message i{width:92px;height:92px;border-radius:50%;background:var(--violet);font-size:11px;letter-spacing:.08em;display:grid;place-items:center;color:white;font-style:normal;transform:rotate(-9deg)}.big-message small{display:block;margin-top:55px;font-size:8px;letter-spacing:.18em}
.company{background:var(--violet)}.company-card{background:var(--white);border:1.5px solid var(--ink);border-radius:34px;padding:58px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;box-shadow:12px 12px 0 var(--ink)}.company-card h2{font-size:clamp(54px,7vw,95px);line-height:.88;letter-spacing:-.08em;margin:45px 0}.company-card h2 span{color:var(--coral)}.company-card>div>p:last-child{font-size:12px;max-width:420px}.company-card dl{margin:0;align-self:center}.company-card dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:22px 0;border-top:1px solid}.company-card dl div:last-child{border-bottom:1px solid}.company-card dt{font-size:8px;letter-spacing:.14em}.company-card dd{margin:0;font-size:12px}
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw}.faq-title h2{font-size:60px;line-height:1;letter-spacing:-.07em;margin-top:44px}.faq-list details{border-top:1.5px solid}.faq-list details:last-child{border-bottom:1.5px solid}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:27px 0;font-size:13px;font-weight:800;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;transition:.2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;color:var(--muted);padding:0 50px 30px 0}
.contact{background:var(--coral);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;border-top:1.5px solid}.contact-copy h2{font-size:clamp(62px,8vw,112px);line-height:.88;letter-spacing:-.08em;margin:48px 0}.contact-copy>span{font-size:12px;display:block;max-width:390px}.contact-form{background:var(--white);border:1.5px solid;border-radius:26px;padding:38px;box-shadow:9px 9px 0 var(--ink)}.contact-form>label,.form-grid label{display:block;font-size:9px;font-weight:800;letter-spacing:.1em;margin-bottom:22px}.contact-form small{float:right;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid;background:transparent;border-radius:0;padding:12px 0;font-size:13px;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--coral);border-bottom-width:2px}.contact-form textarea{resize:vertical}.privacy-note{font-size:9px;color:var(--muted)}.consent{display:flex!important;gap:9px;align-items:flex-start;letter-spacing:0!important;font-weight:500!important}.consent input{width:16px!important;accent-color:var(--violet)}.submit-button{width:100%;border:1.5px solid var(--ink);background:var(--lime);padding:16px 19px;display:flex;justify-content:space-between;font-size:11px;font-weight:800;box-shadow:5px 5px 0 var(--ink)}.submit-button:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.submit-button b{font-size:20px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#contact-feedback{font-size:11px;margin:14px 0 0}#contact-feedback:empty{display:none}#contact-feedback.is-error{color:#a72716}
footer{background:var(--ink);color:white;padding:60px 44px 24px}footer>div{display:flex;align-items:center;gap:30px}footer .wordmark{font-size:48px}footer p{font-size:10px;letter-spacing:.15em;margin:0}footer a:last-child{margin-left:auto;font-size:9px;letter-spacing:.14em}footer>small{display:block;border-top:1px solid #ffffff35;margin-top:55px;padding-top:20px;font-size:8px;color:#aaa}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:4px}@keyframes marquee{to{transform:translateX(-100%)}}@keyframes floatA{50%{transform:translateY(-16px) rotate(-3deg)}}@keyframes floatB{50%{transform:translateY(15px) rotate(2deg)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes blob{50%{border-radius:55% 45% 58% 42%;transform:translateX(-50%) rotate(7deg)}}
@media(max-width:1000px){.hero{grid-template-columns:.8fr 1.2fr;gap:28px;padding-inline:32px}.site-header{padding-inline:32px}.hero h1{font-size:80px}.collage{min-height:620px}.phone-card{width:200px;height:300px}.ai-card{width:250px}.service h3{font-size:56px}.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(2){border-right:0}.steps li{border-bottom:1.5px solid}.steps li:nth-child(3),.steps li:nth-child(4){border-bottom:0}.big-message>div{font-size:12vw}}
@media(max-width:760px){html{scroll-padding-top:72px}.section{padding:82px 20px}.site-header{height:68px;padding:0 20px;grid-template-columns:1fr auto}.wordmark{font-size:29px}.header-cta{display:none}.menu-toggle{display:flex;width:42px;height:42px;border:0;background:none;flex-direction:column;align-items:center;justify-content:center;gap:7px}.menu-toggle i{width:23px;height:1.5px;background:var(--ink);transition:.2s}.menu-toggle[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:24px 20px 30px;border-bottom:1.5px solid}nav.is-open{display:flex;flex-direction:column;align-items:flex-start;font-size:14px}.hero{display:block;padding:118px 20px 72px}.hero-copy{padding:0}.eyebrow{font-size:8px}.hero h1{font-size:21vw;margin-bottom:36px}.hero-lead{font-size:16px}.hero-actions{margin-top:32px}.hero-actions a{width:120px;height:120px;padding:18px}.collage{min-height:590px;margin-top:55px;border-radius:25px}.phone-card{left:5%;width:180px;height:275px;padding:18px}.phone-card strong{font-size:25px}.ai-card{right:5%;width:230px}.sticker{width:92px;height:92px;font-size:10px}.sticker-one{top:6%;right:3%}.sticker-two{left:7%;bottom:7%}.comment-card{display:none}.intro{display:block}.intro-note{margin-bottom:70px}.intro-main h2{font-size:48px}.intro-main>div{margin-top:32px}.section-title{display:block}.section-title h2{font-size:68px;margin:35px 0}.service-board{grid-template-columns:1fr}.service{min-height:620px;padding:24px}.service h3{font-size:53px;margin-top:250px}.decor-sun{width:280px;height:280px}.method-head{display:block}.method-head h2{font-size:52px;margin-top:34px}.steps{grid-template-columns:1fr}.steps li,.steps li:nth-child(2),.steps li:nth-child(3){border-right:0;border-bottom:1.5px solid}.steps li{min-height:270px}.big-message{padding:75px 20px}.big-message>div{display:block;font-size:23vw}.big-message i{margin:20px auto;width:72px;height:72px}.company-card{grid-template-columns:1fr;padding:28px 22px;box-shadow:7px 7px 0 var(--ink)}.company-card h2{font-size:62px}.company-card dl{margin-top:30px}.company-card dl div{grid-template-columns:85px 1fr}.faq{grid-template-columns:1fr}.faq-title h2{font-size:48px}.contact{grid-template-columns:1fr}.contact-copy h2{font-size:68px}.contact-form{padding:25px 20px;margin-top:30px}.form-grid{grid-template-columns:1fr;gap:0}footer{padding-inline:20px}footer>div{flex-wrap:wrap}footer a:last-child{width:100%;margin:20px 0 0}}
@media(max-width:390px){.hero h1{font-size:20vw}.phone-card{width:165px}.ai-card{width:205px}.service h3{font-size:47px}.contact-copy h2{font-size:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.collage video{display:none}}
