:root{--bg:#fff;--band:#eef5f9;--surface:#fff;--line:#d3e1ea;--news-line:#a9c2d3;--ink:#204a73;--text:#2b3f53;--muted:#5f7387;--accent:#28becb;--accent-ink:#0f7f8a;--accent-soft:#e3f7f9;--btn-from:#2fc4cf;--btn-to:#1a8e9c;--btn-text:#fff;--shadow:0 1px 2px #204a730f,0 8px 24px #204a730f;--c-pink:#fdeef0;--c-pink-i:#e4566a;--c-mint:#e8f6ef;--c-mint-i:#2fae7a;--c-peach:#fff2e6;--c-peach-i:#f08a2c;--show-l:inline-block;--show-d:none;--foot:#204a73;--foot-text:#fff;--f-latin:"Outfit","Zen Kaku Gothic New",system-ui,sans-serif;--f-jp:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",system-ui,sans-serif;--s-1:.8125rem;--s0:1rem;--s1:1.125rem;--s2:1.375rem;--s3:1.75rem;--s4:clamp(2.4rem,6vw,4rem)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1b2b;--band:#0f2234;--surface:#132a3f;--line:#1f3a52;--news-line:#35566f;--ink:#e6f0f8;--text:#c9d7e4;--muted:#8fa6bb;--accent:#3fd3df;--accent-ink:#5fe0ea;--accent-soft:#123a48;--btn-from:#2fc4cf;--btn-to:#178896;--btn-text:#fff;--shadow:0 1px 2px #0000004d,0 10px 30px #00000040;--c-pink:#2a1f2b;--c-pink-i:#f07a8b;--c-mint:#16302a;--c-mint-i:#4cc893;--c-peach:#2e2418;--c-peach-i:#f6a252;--show-l:none;--show-d:inline-block;--foot:#08131f;--foot-text:#c9d7e4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1b2b;--band:#0f2234;--surface:#132a3f;--line:#1f3a52;--news-line:#35566f;--ink:#e6f0f8;--text:#c9d7e4;--muted:#8fa6bb;--accent:#3fd3df;--accent-ink:#5fe0ea;--accent-soft:#123a48;--btn-from:#2fc4cf;--btn-to:#178896;--btn-text:#fff;--shadow:0 1px 2px #0000004d,0 10px 30px #00000040;--c-pink:#2a1f2b;--c-pink-i:#f07a8b;--c-mint:#16302a;--c-mint-i:#4cc893;--c-peach:#2e2418;--c-peach-i:#f6a252;--show-l:none;--show-d:inline-block;--foot:#08131f;--foot-text:#c9d7e4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:90px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--f-jp);font-size:var(--s0);-webkit-font-smoothing:antialiased;line-height:1.85}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);position:fixed;inset:0 0 auto}a{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{max-width:1040px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));margin:0 auto}.logo-l{display:var(--show-l)}.logo-d{display:var(--show-d)}.top{top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);position:sticky}.top .wrap{max-width:none;height:78px;padding-left:max(30px,env(safe-area-inset-left,0px));padding-right:max(30px,env(safe-area-inset-right,0px));align-items:center;gap:24px;display:flex}.brand{flex-shrink:0;align-items:center;gap:18px;text-decoration:none;display:flex}.top .brand img{width:48px;height:48px}.word{font-family:var(--f-latin);letter-spacing:-.01em;color:var(--ink);font-size:1.6rem;font-weight:700}.word b{color:inherit;font-weight:700}.head-cta{background:var(--ink);height:48px;color:var(--bg);letter-spacing:.04em;white-space:nowrap;border-radius:3px;flex-shrink:0;align-items:center;padding:0 28px;font-size:.9375rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.head-cta:hover{background:var(--accent-ink)}.top .theme{display:none}.top .menu-theme .theme{display:flex}.foot-theme{align-items:center;gap:10px;display:flex}.foot-theme span{opacity:.8;font-size:.75rem}footer .theme{border-color:color-mix(in srgb,var(--foot-text) 30%,transparent);background:0 0}footer .theme button{color:var(--foot-text)}footer .theme button[aria-pressed=true]{background:var(--foot-text);color:var(--foot)}.menu-theme{display:none}nav.menu{gap:clamp(20px,3.2vw,44px);margin-left:auto;display:flex}nav.menu a{color:var(--ink);font-size:.9375rem;font-weight:700;text-decoration:none}nav.menu a.sp-only{display:none}nav.menu a:hover{color:var(--accent-ink)}.theme{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.theme button{width:30px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.theme button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.theme svg{width:15px;height:15px}.burger{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;margin-left:auto;display:none}@media (max-width:1100px){.top .wrap{height:63px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));gap:12px}.top .brand img{width:39px;height:39px}.top .word{font-size:1.3rem}.top .brand{gap:14px}.head-cta{display:none}nav.menu a.sp-only{display:block}.menu-theme{justify-content:space-between;align-items:center;padding-top:14px;display:flex}.menu-theme span{font-size:var(--s-1);color:var(--muted)}nav.menu{background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px));flex-direction:column;gap:0;position:absolute;top:63px;left:0;right:0}nav.menu a{font-size:var(--s0);border-bottom:1px solid var(--line);padding:12px 0}nav.menu{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}nav.menu:not(.open){display:none}.burger{place-items:center;margin-left:auto;display:grid}.theme{margin-left:0}}.hero{position:relative;overflow:hidden}.hero canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero .wrap{padding-block:clamp(56px,9vw,112px) clamp(48px,7vw,88px);position:relative}.hero h1{font-family:var(--f-latin);font-weight:700;font-size:var(--s4);letter-spacing:-.02em;color:var(--ink);margin:0;line-height:1.05}.hero h1 b{color:var(--accent)}.catch{color:var(--ink);letter-spacing:.02em;text-wrap:balance;margin:18px 0 0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:900}.catch:before{content:"/";color:var(--accent);font-family:var(--f-latin);margin-right:.5em}.lead{max-width:30em;color:var(--muted);margin:16px 0 0}.pills{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.pill{border:1px solid var(--line);background:var(--surface);font-size:var(--s-1);color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:7px 16px;font-weight:700;display:inline-flex}.pill svg{width:16px;height:16px;color:var(--accent-ink)}.cta{background:linear-gradient(135deg,var(--btn-from),var(--btn-to));color:var(--btn-text);box-shadow:0 10px 24px -10px var(--btn-to);font-family:inherit;font-weight:700;font-size:var(--s0);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;margin-top:32px;padding:15px 34px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.cta:hover{box-shadow:0 14px 28px -10px var(--btn-to);transform:translateY(-1px)}.cta svg{width:18px;height:18px}section.sec{border-top:1px solid var(--line);padding-block:clamp(56px,7vw,88px)}section.band{background:var(--band)}.h2{font-size:var(--s3);color:var(--ink);letter-spacing:.02em;align-items:baseline;gap:12px;margin:0 0 28px;font-weight:900;display:flex}.h2:before{content:"/";font-family:var(--f-latin);color:var(--accent);font-weight:600}.h2:after{content:"";background:linear-gradient(90deg,var(--accent),var(--line) 40%,transparent);border-radius:2px;flex:1;align-self:center;height:2px;margin-left:12px}.h2 small{font-size:var(--s-1);color:var(--muted);letter-spacing:0;font-weight:500}.about{grid-template-columns:120px 1fr;align-items:start;gap:32px;display:grid}.about .mark{background:var(--surface);border:1px solid var(--line);border-radius:50%;place-items:center;width:120px;height:120px;display:grid}.about .mark img{width:78px;height:78px}.name{font-size:var(--s3);color:var(--ink);margin:0;font-weight:900;line-height:1.3}.name small{font-size:var(--s-1);color:var(--muted);margin-left:10px;font-weight:500}.role{color:var(--ink);font-weight:700;font-size:var(--s-1);font-family:var(--f-latin);margin:4px 0 0}.about p.bio{max-width:38em;margin:16px 0 0}.facts{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.fact{background:var(--accent-soft);color:var(--ink);font-weight:700;font-size:var(--s-1);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;display:inline-flex}.fact svg{width:16px;height:16px;color:var(--accent-ink)}@media (max-width:560px){.about{grid-template-columns:1fr;gap:20px}.about .mark{width:84px;height:84px}.about .mark img{width:56px;height:56px}}.feats{border-top:1px solid var(--line);margin-top:48px;padding-top:40px}.feats-h{font-size:var(--s1);color:var(--ink);letter-spacing:.02em;margin:0 0 22px;font-weight:900}.feat-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.feat{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #204a7314,0 12px 32px #204a7329}:root[data-theme=dark] .feat{box-shadow:0 2px 4px #00000059,0 12px 32px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .feat{box-shadow:0 2px 4px #00000059,0 12px 32px #00000073}}.feat-top{background:linear-gradient(135deg,var(--accent-soft),var(--band));border-bottom:1px solid var(--line);place-items:center;height:116px;display:grid}.feat-ic{background:var(--surface);width:64px;height:64px;color:var(--accent-ink);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid}.feat-ic svg{width:30px;height:30px}.feat-body{flex-direction:column;gap:10px;padding:22px 24px 26px;display:flex}.feat h4{color:var(--ink);margin:0;font-size:1.1875rem;font-weight:900}.feat p{color:var(--text);margin:0;font-size:.9375rem;line-height:1.8}@media (max-width:860px){.feat-list{grid-template-columns:1fr;gap:16px}.feat-top{height:96px}}.news{border-top:1px solid var(--news-line);margin:0;padding:0;list-style:none}.news li{border-bottom:1px solid var(--news-line);grid-template-columns:96px 88px 1fr;align-items:center;gap:16px;padding:18px 4px;display:grid}.tag{letter-spacing:.06em;border-radius:999px;justify-self:start;padding:2px 12px;font-size:.75rem;font-weight:700}.tag.n{background:var(--accent-soft);color:var(--accent-ink)}.tag.r{background:var(--c-mint);color:var(--c-mint-i)}.tag.a{background:var(--ink);color:var(--bg)}.news time{font-family:var(--f-latin);color:var(--muted);font-variant-numeric:tabular-nums;font-size:var(--s-1)}.news .t{min-width:0;color:var(--text)}@media (max-width:560px){.news li{grid-template-columns:auto 1fr;gap:6px 12px}.news .t{grid-column:1/-1}}.works{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (max-width:900px){.works{grid-template-columns:1fr}.works .work.off{display:none}}.pager{justify-content:center;align-items:center;gap:8px;margin-top:22px;display:none}@media (max-width:900px){.pager.has{display:flex}}.pager button{border:1px solid var(--line);background:var(--surface);min-width:40px;height:40px;color:var(--ink);font-family:var(--f-latin);font-weight:700;font-size:var(--s-1);cursor:pointer;border-radius:999px;padding:0 12px}.pager button[aria-current=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pager button:disabled{opacity:.35;cursor:default}.work{background:var(--tint);border-radius:20px;flex-direction:column;gap:14px;padding:28px 24px 24px;display:flex}.work .head{align-items:center;gap:14px;display:flex}.app-icon{width:52px;height:52px;box-shadow:0 6px 14px -8px var(--icon),0 0 0 1px var(--line);border-radius:14px;flex-shrink:0;overflow:hidden}.app-icon img{width:100%;height:100%;display:block}.app-icon svg{width:28px;height:28px}.app-icon .kana{font-size:1.6rem;font-weight:900;line-height:1}.work h3{font-size:var(--s1);color:var(--ink);margin:0;font-weight:900}.work p{color:var(--text);min-height:3.7em;margin:0}.stores{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.store{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex}a.store:hover{border-color:var(--accent)}.store svg{width:14px;height:14px}.store .st{color:var(--accent-ink)}.work{padding-top:0;overflow:hidden}.phone-stage{justify-content:center;align-items:flex-start;height:270px;margin:0 -24px 6px;padding-top:26px;display:flex;position:relative;overflow:hidden}.phone-stage:after{content:"";background:linear-gradient(transparent,var(--tint));height:56px;position:absolute;inset:auto 0 0}.phone{background:#1b2530;border-radius:30px;width:168px;padding:7px;transition:transform .25s;box-shadow:0 18px 36px -18px #14283c8c,inset 0 0 0 1.5px #3a4a5a}.phone img{border-radius:23px;width:100%;display:block}@media (prefers-reduced-motion:reduce){.phone{transition:none}.work:hover .phone{transform:none}}@media (max-width:900px){.phone-stage{height:300px}.phone{width:180px}}.w-pink{--tint:var(--c-pink);--icon:var(--c-pink-i)}.w-mint{--tint:var(--c-mint);--icon:var(--c-mint-i)}.w-peach{--tint:var(--c-peach);--icon:var(--c-peach-i)}.tabs{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.tab{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-weight:700;font-size:var(--s-1);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;display:inline-flex}.tab svg{width:16px;height:16px}.tab[aria-selected=true]{background:linear-gradient(135deg,var(--btn-from),var(--btn-to));color:var(--btn-text);border-color:#0000}.price-box{border:1px solid var(--news-line);background:var(--surface);border-radius:18px;overflow:hidden}.plans{margin:0;padding:0;list-style:none}.plans li{border-bottom:1px solid var(--news-line);grid-template-columns:150px 1fr auto;align-items:center;gap:20px;padding:22px 28px;display:grid}.plans li:last-child{border-bottom:0}.plan{font-family:var(--f-latin);color:var(--ink);font-weight:700;font-size:var(--s1)}.plan small{font-family:var(--f-jp);color:var(--muted);font-size:.75rem;font-weight:500;display:block}.desc{min-width:0;color:var(--text)}.yen{font-family:var(--f-latin);color:var(--ink);font-weight:700;font-size:var(--s2);font-variant-numeric:tabular-nums;white-space:nowrap}.yen span{font-family:var(--f-jp);font-size:var(--s-1);margin-left:2px;font-weight:700}.note{font-size:var(--s-1);color:var(--muted);margin:14px 0 0}@media (max-width:640px){.plans li{grid-template-columns:1fr auto;gap:4px 16px;padding:18px 20px}.desc{font-size:var(--s-1);grid-area:2/1/auto/-1}}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.skill-card:last-child:nth-child(odd){grid-column:1/-1}.skill-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 28px 30px;box-shadow:0 2px 4px #204a7314,0 12px 32px #204a7329}.skill-card h3{font-size:var(--s1);color:var(--ink);margin:0;font-weight:900}.skill-lead{font-size:var(--s-1);color:var(--muted);margin:2px 0 18px}.skills{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.skills li{border:1px solid var(--line);background:var(--bg);border-radius:14px;flex-direction:column;gap:2px;padding:10px 16px;display:flex}.sk-name{font-family:var(--f-latin);color:var(--ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.skills li i{background:var(--dot);border-radius:3px;flex-shrink:0;width:10px;height:10px}.skills small{font-family:var(--f-jp);color:var(--muted);font-size:.75rem;font-weight:500}:root[data-theme=dark] .skill-card{box-shadow:0 2px 4px #00000059,0 12px 32px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .skill-card{box-shadow:0 2px 4px #00000059,0 12px 32px #00000073}}@media (max-width:760px){.skill-groups{grid-template-columns:1fr}.skill-card{padding:22px}}.contact-lead{max-width:34em;margin:0 0 20px}.mail{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 24px;display:flex}.mail code{font-family:var(--f-latin);font-size:var(--s1);color:var(--ink);-webkit-user-select:all;user-select:all;font-weight:600}.copy{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.75rem;font-weight:700}form.f{border:1px solid var(--line);background:var(--surface);border-radius:20px;grid-template-columns:1fr 1fr;gap:18px 20px;padding:32px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field.full{grid-column:1/-1}label{font-size:var(--s-1);color:var(--ink);font-weight:700}label .req{color:var(--c-pink-i);margin-left:4px}label .opt{color:var(--muted);margin-left:4px;font-weight:500}input,select,textarea{width:100%;font:inherit;font-size:var(--s0);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px}textarea{resize:vertical;min-height:140px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.f .actions{flex-direction:column;grid-column:1/-1;align-items:center;gap:10px;margin-top:6px;display:flex}.f .cta{margin-top:0;padding-inline:56px}.status{min-height:1.5em;font-size:var(--s-1);color:var(--accent-ink);text-align:center}@media (max-width:640px){form.f{grid-template-columns:1fr;padding:22px}}main .wrap{z-index:2;position:relative}#intro{z-index:100;background:var(--bg);transition:opacity .6s;position:fixed;inset:0}#intro canvas{width:100%;height:100%;position:absolute;inset:0}#intro.out{opacity:0;pointer-events:none}html.intro-pending:after{content:"";z-index:99;background:var(--bg);position:fixed;inset:0}#intro button{right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-size:var(--s-1);cursor:pointer;border-radius:999px;padding:8px 18px;position:absolute}.phone-stage{perspective:900px}.phone{transform-style:preserve-3d;will-change:transform;position:relative}.phone:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),#ffffff59,transparent 55%);opacity:var(--glare,0);border-radius:23px;transition:opacity .3s;position:absolute;inset:7px}footer{background:var(--foot);color:var(--foot-text)}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:28px;display:flex}footer .word{color:var(--foot-text)}footer .word b{color:var(--accent)}footer small{opacity:.8;font-size:.75rem;font-family:var(--f-latin)}footer img{width:30px;height:30px}.work{box-shadow:0 2px 4px #204a7314,0 12px 32px #204a7329}:root[data-theme=dark] .work{box-shadow:0 2px 4px #00000059,0 12px 32px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .work{box-shadow:0 2px 4px #00000059,0 12px 32px #00000073}}.work{position:relative}.work-link{color:inherit;text-decoration:none}.work-link:after{content:"";z-index:1;border-radius:20px;position:absolute;inset:0}.work:has(.work-link){cursor:pointer}.work-link:focus-visible{outline:none}.work:has(.work-link:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.work .stores{z-index:2;position:relative}.work:has(.work-link):hover{box-shadow:0 4px 8px #204a731a,0 20px 44px #204a7338}:root[data-theme=dark] .work:has(.work-link):hover{box-shadow:0 4px 8px #0006,0 20px 44px #0000008c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .work:has(.work-link):hover{box-shadow:0 4px 8px #0006,0 20px 44px #0000008c}}@media (prefers-reduced-motion:reduce){.phone:after{transition:none}}
