@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--paper:#fffaf2;--ink:#253e3b;--teal:#237c80;--coral:#ed856d;--yellow:#f2cf72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:relative;z-index:20;background:var(--paper)}.logo{font-size:30px;font-weight:900;letter-spacing:-1.6px;line-height:1.2}.logo span{color:var(--coral)}.logo small{display:block;font-size:10px;letter-spacing:2px;margin-top:8px}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.navcta{border:1px solid var(--ink);padding:12px 24px;border-radius:40px}.navcta span{margin-left:25px}#menu{display:none}.hero{padding:40px 6% 0;position:relative;overflow:hidden;min-height:830px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;margin:0 0 25px}.eyebrow i{display:inline-block;width:9px;height:9px;background:var(--coral);border-radius:50%;margin-right:8px}h1{font-size:clamp(38px,4.35vw,70px);line-height:1.5;letter-spacing:-.045em;margin:0 0 22px;font-weight:800}h1>span{display:block;animation:rise .9s both}h1>span:nth-child(2){animation-delay:.1s}h1>span:nth-child(3){animation-delay:.2s}h1>span:nth-child(4){animation-delay:.3s}.accent{color:var(--teal)}.period{color:var(--coral)}.lead{font-size:16px;line-height:2.1}.button{display:inline-flex;align-items:center;gap:42px;background:var(--teal);color:white;border-radius:50px;padding:17px 25px 17px 30px;font-size:16px;font-weight:700;transition:background .3s,transform .3s}.button b{display:grid;place-items:center;background:var(--paper);color:var(--teal);width:34px;height:34px;border-radius:50%;font-size:23px}.button:hover{background:var(--ink);transform:translateY(-3px)}.target{font-size:12px;margin:20px 0 35px;color:#596965}.visual{position:relative;height:650px;isolation:isolate}.orbit{position:absolute;border-radius:50%;z-index:-1}.orbit1{width:510px;height:510px;background:#e2eddf;top:65px;left:8%;animation:blob 12s ease-in-out infinite}.orbit2{width:440px;height:440px;border:1px dashed #8ca69a;top:100px;left:14%;animation:rotate 90s linear infinite}.sun{position:absolute;font-size:160px;color:var(--coral);right:-5px;top:-60px;animation:rotate 40s linear infinite;line-height:1}.graphic-label{position:absolute;top:18px;left:12%;font-size:11px;letter-spacing:4px;transform:rotate(-9deg)}.browser-window{position:absolute;top:90px;left:4%;width:340px;background:var(--paper);border:2px solid var(--ink);border-radius:12px;box-shadow:8px 10px 0 #253e3b;transform:rotate(-8deg);overflow:hidden}.windowbar{height:28px;border-bottom:2px solid var(--ink);display:flex;gap:5px;align-items:center;padding-left:13px}.windowbar i{width:6px;height:6px;border:1px solid;border-radius:50%}.webbody{padding:24px 26px 29px}.tiny{font-size:9px;letter-spacing:3px}.webtitle{font-size:30px;font-weight:800;line-height:1.6;margin:15px 0}.webline{width:85%;height:5px;background:#d8ded2;margin:10px 0}.webline.short{width:60%}.webpill{font-size:10px;display:inline-block;background:var(--yellow);padding:7px 15px;border-radius:25px;margin-top:10px}.video-window{position:absolute;top:315px;right:-6%;width:300px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);overflow:hidden;transform:rotate(9deg);box-shadow:7px 8px 0 #253e3b}.video-scene{height:174px;background:var(--teal);position:relative;overflow:hidden;display:grid;place-items:center}.mountain{width:150px;height:150px;border-radius:50%;background:var(--yellow);position:absolute;left:-40px;bottom:-65px}.play{border:1px solid #fff9;border-radius:50%;color:white;width:65px;height:65px;display:grid;place-items:center;font-size:22px;z-index:2}.video-scene span{position:absolute;bottom:10px;right:12px;color:white;font-size:7px;letter-spacing:1px}.videobar{padding:13px;display:flex;gap:10px;align-items:center}.videobar i{height:4px;background:var(--coral);width:70%}.videobar span{font-size:7px}.ai-bubble{position:absolute;top:210px;right:-3%;border:2px solid var(--ink);background:var(--yellow);padding:13px 18px;border-radius:30px;font-size:26px;transform:rotate(8deg)}.ai-bubble span{font-size:12px;font-weight:700}.growth{position:absolute;top:460px;left:0;width:210px;color:var(--teal);transform:rotate(-8deg)}.growth p{font-size:10px;letter-spacing:2px;margin:0;text-align:center}.round-stamp{position:absolute;right:4%;bottom:1%;font-size:10px;text-align:center;transform:rotate(-12deg);background:var(--coral);border-radius:50%;width:140px;height:140px;display:flex;flex-direction:column;justify-content:center}.round-stamp strong{font-size:13px}.herobottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;padding:20px 0 23px;border-top:1px solid #253e3b25}.ticker{background:var(--teal);color:var(--paper);padding:12px 0;overflow:hidden;transform:rotate(-2deg);margin:15px -1% 0}.ticker div{width:max-content;font-size:36px;letter-spacing:2px;font-weight:800;animation:marquee 35s linear infinite}.ticker span{color:var(--yellow);margin:0 35px}.section{padding:110px 8%}.sectionhead{margin-bottom:50px}h2{font-size:clamp(28px,3.1vw,46px);line-height:1.65;letter-spacing:-.025em;margin:0 0 22px}h3{line-height:1.7}.sectionhead>p:last-child{font-size:15px}.worrygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.worrygrid article{border:1px solid #253e3b45;border-radius:12px;padding:30px;position:relative;min-height:245px}.worrygrid article:nth-child(2){background:#f9e5da}.worrygrid article:nth-child(3){background:#f7edc7}.worrygrid article>span{font-size:12px}.worrygrid h3{font-size:23px;margin:14px 0}.worrygrid p{font-size:14px}.mini{position:absolute;right:22px;top:18px;font-size:38px;color:var(--teal)}.concept{background:#e6eee3;display:grid;grid-template-columns:1fr 1fr;gap:30px}.concepttitle h2 span{color:var(--teal)}.concepttext{font-size:23px;font-weight:600;margin-top:0}.concept>div>p:last-child{font-size:15px}.steps{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #253e3b35;padding-top:45px;margin-top:30px;width:100%}.steps>div{flex:1;text-align:center}.steps b{color:var(--teal);font-size:12px}.steps h3{font-size:30px;margin:10px}.steps p{font-size:12px}.steps>span{font-size:30px;color:var(--teal)}.service{padding:55px;border-radius:18px;display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:26px;overflow:hidden}.digital{background:#e6eee3}.video{background:#f6dfd2}.service h3{font-size:35px;margin:16px 0 22px}.service p{font-size:14px}.service ul{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:25px 0}.service li{font-size:11px;border:1px solid #253e3b50;border-radius:20px;padding:4px 12px}.textlink{display:inline-block;border-bottom:1px solid;padding-bottom:5px;font-size:14px;font-weight:700}.serviceart{position:relative;display:grid;place-items:center;min-height:300px}.artcircle{width:250px;height:250px;background:var(--yellow);border-radius:50%;position:absolute}.artweb{z-index:1;width:215px;border:2px solid;background:var(--paper);padding:20px;transform:rotate(8deg);box-shadow:7px 7px 0 var(--teal)}.artweb small{font-size:8px;letter-spacing:2px}.artweb strong{display:block;font-size:29px;margin:14px 0}.artweb>div{height:4px;background:#d6dfd2;margin:9px 0}.artweb b{display:block;background:var(--teal);color:white;padding:6px;text-align:center;font-size:9px;margin-top:20px}.artspark{font-size:75px;color:var(--teal);position:absolute;right:0;top:0}.videoart .artcircle{background:var(--coral)}.film{width:250px;height:190px;background:var(--teal);border:8px solid var(--ink);border-radius:10px;transform:rotate(-8deg);color:white;position:relative;display:grid;place-items:center}.film>span{position:absolute;top:7px;left:10px;font-size:9px}.film i{color:var(--coral)}.film b{font-size:44px}.film small{font-size:10px;position:absolute;bottom:10px}.consult{background:var(--yellow);display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.consult h2{font-size:32px}.consult p{font-size:15px}.bubbles p{background:var(--paper);border-radius:30px;padding:18px 24px;position:relative;transform:rotate(-3deg);font-weight:600}.bubbles p:nth-child(2){transform:rotate(3deg);margin-left:15px}.stats{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-top:1px solid;border-bottom:1px solid;padding:35px 0}.stats>div{padding:0 25px;border-right:1px solid #253e3b35}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats p{font-size:12px}.stats strong{font-size:70px;line-height:1.3;letter-spacing:-3px;color:var(--teal)}.stats strong span{font-size:22px;letter-spacing:0;margin-left:8px}.stats small{display:block;font-size:10px}.voices{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px}.voices article>span{font-size:10px;letter-spacing:1px;color:var(--teal)}.voices h3{font-size:23px}.voices p{font-size:14px}.voices small{font-size:12px}.about{background:#e6eee3;display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:center}.portrait{position:relative;text-align:center}.portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:48% 48% 12px 12px;background:#d5dfcf}.portrait>span{display:block;font-size:10px;letter-spacing:3px;margin-top:20px}.about p{font-size:15px}.signature{margin-top:30px;border-top:1px solid #253e3b30;padding-top:20px}.signature small{font-size:12px}.signature h3{font-size:26px;margin:6px 0}.flowgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.flowgrid b{font-size:42px;color:var(--teal);font-weight:500}.flowgrid h3{font-size:18px;border-top:1px solid #253e3b50;padding-top:20px}.flowgrid p{font-size:14px}.faq{padding-top:30px;display:grid;grid-template-columns:1fr 1.5fr;gap:50px}.questions details{border-bottom:1px solid #253e3b40;padding:23px 0}.questions summary{font-size:15px;cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:14px}.questions summary:before{content:'Q';font-size:22px;color:var(--teal);font-weight:700}.questions summary:after{content:'＋';margin-left:auto}.questions details[open] summary:after{content:'−'}.questions p{font-size:14px;padding-left:33px}.contact{background:var(--teal);color:var(--paper);text-align:center;position:relative;overflow:hidden}.contact h2{font-size:55px}.contact .button{background:var(--paper);color:var(--teal);margin-top:22px}.contact .button b{background:var(--coral);color:var(--ink)}.contactstar{position:absolute;left:-100px;top:0;font-size:400px;color:#ffffff12;line-height:1;animation:rotate 60s linear infinite}footer{padding:50px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:not(.logo),footer>small{font-size:11px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.float1{animation:float1 7s ease-in-out infinite}.float2{animation:float2 8s ease-in-out infinite}.float3{animation:float2 6s ease-in-out infinite}@keyframes float1{50%{transform:translateY(-15px) rotate(-5deg)}}@keyframes float2{50%{transform:translateY(13px) rotate(5deg)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-35%)}}@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes blob{50%{border-radius:43% 57% 63% 37%;transform:rotate(10deg)}}
@media(min-width:1500px){.hero{padding-left:10%;padding-right:10%}}@media(max-width:1000px){nav{gap:18px}.hero{grid-template-columns:1.1fr 1fr;min-height:750px}.visual{transform:scale(.8);transform-origin:20% 30%;margin-right:-60px}.hero h1{font-size:48px}.section{padding:80px 6%}.service{padding:35px}.service h3{font-size:28px}.serviceart{transform:scale(.85)}.stats strong{font-size:55px}.about{gap:45px}footer{flex-wrap:wrap}}
@media(max-width:700px){header{height:85px;padding:0 6%}.logo{font-size:25px}.logo small{font-size:8px}#menu{display:block;border:0;background:none;font-size:25px;color:var(--ink)}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:30px;flex-direction:column;border-bottom:1px solid}nav.open{display:flex}.hero{display:block;padding:25px 6% 0;min-height:0}.hero h1{font-size:clamp(33px,8.7vw,49px);line-height:1.55}.hero .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:22px}.lead{font-size:14px}.target{font-size:10px;margin-bottom:0}.visual{width:340px;height:430px;transform:scale(.72);transform-origin:top left;margin:35px auto -90px}.orbit1{width:440px;height:440px;left:0;top:20px}.orbit2{width:390px;height:390px;left:20px;top:45px}.browser-window{top:65px;width:300px;left:0}.sun{right:-70px;top:-30px;font-size:130px}.graphic-label{top:0}.video-window{top:265px;right:-85px;width:255px}.ai-bubble{top:150px;right:-90px}.growth{top:365px;left:-5px;width:160px}.round-stamp{bottom:-65px;right:-40px;width:115px;height:115px}.herobottom{font-size:7px;letter-spacing:1px;margin-top:20px}.ticker div{font-size:25px}.section{padding:65px 6%}h2{font-size:28px}.sectionhead{margin-bottom:30px}.worrygrid{grid-template-columns:1fr;gap:14px}.worrygrid article{min-height:0;padding:22px}.worrygrid h3{margin:4px 0}.worrygrid p{margin-bottom:0}.concept,.consult,.about,.faq{grid-template-columns:1fr;gap:20px}.concepttext{font-size:21px}.steps{gap:4px;margin-top:10px;padding-top:25px}.steps h3{font-size:22px;margin:6px 0}.steps p{font-size:9px}.steps>span{font-size:18px}.service{display:flex;flex-direction:column;padding:27px 23px}.service h3{font-size:27px}.service p{font-size:13px}.serviceart{min-height:260px;margin-top:0}.service .eyebrow{font-size:10px}.service li{font-size:10px}.service .textlink{font-size:12px}.consult h2{font-size:26px}.bubbles p{font-size:13px}.stats{grid-template-columns:1fr;padding:10px 0}.stats>div,.stats>div:first-child{padding:22px 0;border-right:0;border-bottom:1px solid #253e3b30}.stats strong{font-size:65px}.stats p{margin:0}.voices{grid-template-columns:1fr;gap:28px}.voices h3{font-size:21px}.portrait{max-width:300px;margin:0 auto 25px}.flowgrid{grid-template-columns:1fr 1fr;gap:25px}.flowgrid h3{font-size:16px}.flowgrid p{font-size:13px}.faq{padding-top:10px}.contact h2{font-size:39px}.contact p{font-size:14px}.contactstar{left:-130px;font-size:300px}footer{flex-direction:column;align-items:flex-start;gap:12px}footer p{margin:0}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
html,body{overflow-x:clip}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:5px}
