:root{--bg:#f7f5f0;--surf:#fff;--grid:#edeae2;--ink:#16130e;--mut:#5e574c;--faint:#8b8377;--line:#e2ded4;--line2:#cfc9bc;--steel:#7c8494;--gold:#8a6b2c;--gold-lt:#f7ebc6;--gold-dk:#6e5220;--sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;--mincho:"Shippori Mincho B1",serif;--mono:"JetBrains Mono",ui-monospace,monospace;--wrap:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0/38px 38px, linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/38px 38px,var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"palt";word-break:keep-all;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-size:16px;line-height:1.9;overflow-x:hidden}img,svg{max-width:100%}.two>*,.svcs>*,.fl>*,.biz>*{min-width:0}@media (max-width:520px){body{overflow-wrap:anywhere}}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.wrap{max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px}section.sec{padding-block:clamp(48px,7vw,84px)}header.site{z-index:40;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);position:sticky;top:0}header .inner{max-width:var(--wrap);align-items:center;gap:18px;margin:0 auto;padding:13px 24px;display:flex}.mark{font-family:var(--mincho);letter-spacing:.05em;color:var(--ink);align-items:center;gap:10px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.mark svg{flex:none;width:23px;height:23px}.mark small{color:var(--mut);font-size:10.5px;font-weight:500;font-family:var(--sans);letter-spacing:0}nav.main{color:var(--mut);letter-spacing:.04em;gap:22px;margin-left:auto;font-size:12.5px;display:flex}nav.main a{text-decoration:none;position:relative}nav.main a:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}nav.main a:hover:after{transform:scaleX(1)}@media (max-width:880px){nav.main{display:none}}.btn{font-family:var(--mincho);letter-spacing:.07em;background:var(--ink);color:#f7f5f0;justify-content:center;align-items:center;min-height:50px;padding:13px 30px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn.sm{min-height:40px;padding:9px 18px;font-size:13px}.btn.ghost{color:var(--ink);border:1px solid var(--line2);background:0 0}.btn:after{content:"";background:linear-gradient(100deg,#0000,#f2e3b66b,#0000);width:55%;height:100%;transition:left .42s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;left:-120%;transform:skew(-18deg)}.btn.ghost:after{display:none}.btn:hover:after{left:150%}.fv{position:relative;overflow:hidden}.fvin{max-width:var(--wrap);margin:0 auto;padding:clamp(54px,8vw,100px) 24px clamp(58px,8vw,98px);position:relative}.katana{z-index:1;width:100%;height:100%;position:absolute;inset:0}.katana .gleam{animation:7.5s cubic-bezier(.45,.05,.3,1) infinite gleam}.katana .gleam2{animation:7.5s cubic-bezier(.45,.05,.3,1) 3.2s infinite gleam}@keyframes gleam{0%,42%{transform:translate(-380px)}72%,to{transform:translate(380px)}}.fv .txt{z-index:3;max-width:min(900px,100%);position:relative}.fv .eyebrow{font-family:var(--mono);letter-spacing:.2em;color:var(--mut);margin:0;font-size:11.5px}.fv h1{font-family:var(--mincho);letter-spacing:.03em;margin:21px 0 0;font-size:clamp(28px,4.6vw,50px);font-weight:800;line-height:1.4}.fv h1 .hi{color:var(--gold)}.fv .acts{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.fv .vert{z-index:3;writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.55em;color:var(--faint);font-size:14px;font-weight:700;position:absolute;top:clamp(54px,8vw,100px);right:24px}@media (max-width:900px){.fv .vert{display:none}}.lab{font-family:var(--mono);letter-spacing:.18em;color:var(--gold);align-items:center;gap:10px;margin:0;font-size:11px;display:flex}.brule{flex:none;width:28px;height:8px}h1.h,h2.h{font-family:var(--mincho);letter-spacing:.03em;text-wrap:balance;margin:14px 0 0;font-size:clamp(21px,2.9vw,31px);font-weight:800;line-height:1.5}.sub{color:var(--mut);max-width:48ch;margin:14px 0 0;font-size:14.5px}.divider{width:100%;height:12px;display:block}.svcs{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;display:grid}@media (max-width:700px){.svcs{grid-template-columns:1fr}}.svc{color:inherit;background:var(--surf);border:1px solid var(--line);padding:12px 12px 20px;text-decoration:none;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;display:block}.svc:hover{border-color:var(--line2);transform:translateY(-4px);box-shadow:0 16px 34px #16130e1a}.svc .shot{aspect-ratio:16/10;border:1px solid var(--line);background:#fff;justify-content:center;align-items:center;padding:8px;display:flex;overflow:hidden}.svc .shot img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.svc .t{font-family:var(--mincho);margin:16px 6px 0;font-size:15.5px;font-weight:700;line-height:1.7}.svc .go{font-family:var(--mono);letter-spacing:.08em;color:var(--gold);margin:10px 6px 0;font-size:11px;display:block}.usual{color:var(--mut);flex-wrap:wrap;align-items:center;gap:9px;margin:30px 0 0;font-size:13px;display:flex}.usual .h{font-family:var(--mono);letter-spacing:.12em;color:var(--faint);font-size:10.5px}.usual span.b{border:1px solid var(--line2);background:var(--surf);padding:6px 13px}.usual .stop{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--steel);text-decoration-color:var(--steel);text-decoration-thickness:1.5px}.two{grid-template-columns:1fr 1.02fr;align-items:center;gap:38px;margin-top:32px;display:grid}@media (max-width:820px){.two{grid-template-columns:1fr;gap:22px}}.goal{font-family:var(--mincho);margin:0;font-size:18px;font-weight:700;line-height:1.9}.goal em{color:var(--gold);font-style:normal}.two .p2{color:var(--mut);margin:18px 0 0;font-size:14px}.wl{width:100%;height:auto;display:block;overflow:visible}.wl text{font-family:var(--mincho);font-weight:700}.wl .lb{fill:var(--ink);font-size:14px}.wl .ct{fill:var(--ink);font-size:15px;font-weight:800}.wl .cs{fill:var(--faint);letter-spacing:.18em;font-size:9px;font-family:var(--mono);font-weight:400}.wl .ring{fill:none;stroke:url(#silvR2);stroke-width:3.4px}.wl .hamon{fill:none;stroke:var(--line2);stroke-width:.9px;stroke-linejoin:round}.wl .base{fill:none;stroke:var(--gold);stroke-width:3.4px;opacity:.28}.wl .comet,.wl .hdia{fill:var(--gold)}.wl .hdia2{fill:var(--gold-lt)}.orbit{transform-origin:220px 160px;animation:12s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wl .dia{fill:var(--gold);fill-opacity:.14;stroke:var(--gold);stroke-opacity:.6;stroke-width:1.5px;animation:nOut 12s linear infinite var(--d)}@keyframes nOut{0%{stroke-opacity:1;stroke-width:2.4px}13%{stroke-opacity:.6;stroke-width:1.5px}to{stroke-opacity:.6;stroke-width:1.5px}}.wl .flash{fill:var(--gold-lt);animation:nFl 12s linear infinite var(--d)}@keyframes nFl{0%{opacity:1;transform:translate(0)}7%{opacity:1;transform:translate(22px)}7.5%,to{opacity:0;transform:translate(22px)}}.value{border-top:1px solid var(--line);margin-top:32px}.value .head{font-family:var(--mono);letter-spacing:.12em;color:var(--faint);grid-template-columns:176px 1fr 1fr;gap:22px;padding:12px 0 10px;font-size:10.5px;display:grid}.value .r{border-top:1px solid var(--line);grid-template-columns:176px 1fr 1fr;align-items:start;gap:22px;padding:20px 0;display:grid}.value .r .step{font-family:var(--mincho);align-items:center;gap:11px;font-size:15px;font-weight:800;display:flex}.value .r .step i{border:1.5px solid var(--gold);width:26px;height:26px;color:var(--gold);font-size:11px;font-style:normal;font-family:var(--mono);background:color-mix(in srgb,var(--gold) 10%,transparent);flex:none;justify-content:center;align-items:center;display:inline-flex;transform:rotate(45deg)}.value .r .step i span{transform:rotate(-45deg)}.value .r .now{color:var(--mut);font-size:14.5px}.value .r .then{font-size:15px;font-weight:500}@media (max-width:760px){.value .head{display:none}.value .r{grid-template-columns:1fr;gap:7px}.value .r .now:before{content:"こんなこと、ありませんか";font-family:var(--mono);letter-spacing:.1em;color:var(--faint);font-size:10px;display:block}.value .r .then:before{content:"頼むと、こうなります";font-family:var(--mono);letter-spacing:.1em;color:var(--gold);font-size:10px;display:block}}.biz{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;display:grid}@media (max-width:700px){.biz{grid-template-columns:1fr}}.biz div{background:var(--surf);border:1px solid var(--line);padding:28px 26px;position:relative}.biz div:before{content:"";background:linear-gradient(90deg,var(--steel),transparent 72%);height:2px;position:absolute;top:-1px;left:-1px;right:-1px}.biz h3{font-family:var(--mincho);margin:0;font-size:20px;font-weight:800}.biz p{color:var(--mut);margin:12px 0 0;font-size:14.5px;line-height:1.9}.case{background:var(--surf);border:1px solid var(--line);margin-top:26px;padding:30px 28px;position:relative}.case:before{content:"";background:linear-gradient(90deg,var(--steel),transparent 60%);height:2px;position:absolute;top:-1px;left:-1px;right:-1px}.case .kind{font-family:var(--mono);letter-spacing:.14em;color:var(--faint);margin:0 0 6px;font-size:10.5px}.case h3{font-family:var(--mincho);margin:0;font-size:21px;font-weight:800;line-height:1.6}.case dl{grid-template-columns:148px 1fr;gap:0 22px;margin:22px 0 0;display:grid}.case dt{font-family:var(--mono);letter-spacing:.06em;color:var(--gold);border-top:1px solid var(--line);padding:11px 0 0;font-size:11px}.case dd{border-top:1px solid var(--line);margin:0;padding:9px 0 15px;font-size:14.5px;line-height:1.9}@media (max-width:700px){.case dl{grid-template-columns:1fr}.case dd{border-top:0;padding-top:0}}.case .act{margin-top:18px}.fl{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:32px;display:grid}@media (max-width:860px){.fl{grid-template-columns:1fr 1fr}}@media (max-width:520px){.fl{grid-template-columns:1fr}}.fl .s{background:var(--surf);border:1px solid var(--line);padding:20px 17px;transition:transform .18s,box-shadow .18s}.fl .s:hover{transform:translateY(-3px);box-shadow:0 12px 26px #16130e17}.fl .s .n{font-family:var(--mono);letter-spacing:.1em;color:var(--gold);font-size:10.5px}.fl .s h3{font-family:var(--mincho);margin:10px 0 0;font-size:16px;font-weight:800;line-height:1.5}.fl .s p{color:var(--mut);margin:9px 0 0;font-size:13px;line-height:1.8}.fl .s .you{border-top:1px solid var(--line);margin-top:14px;padding-top:11px;font-size:12.5px}.fl .s .you b{font-family:var(--mono);letter-spacing:.1em;color:var(--faint);font-size:9.5px;font-weight:400;display:block}.fl .s .when{color:var(--faint);margin-top:9px;font-size:12px}.back{border:1.5px solid var(--gold);opacity:.9;border-top:0;border-radius:0 0 30px 30px;height:46px;position:relative}.back .tip{background:var(--gold);clip-path:polygon(50% 0,100% 100%,50% 78%,0 100%);width:9px;height:18px;position:absolute;top:-16px;left:-4.5px}.back .tx{white-space:nowrap;background:var(--bg);color:var(--mut);padding:0 12px;font-size:12.5px;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}@media (max-width:520px){.back .tx{white-space:normal;text-align:center;width:15rem}}.faq{max-width:48rem;margin-top:30px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-family:var(--mincho);padding:18px 34px 18px 0;font-size:16px;font-weight:700;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";background:var(--gold);width:11px;height:1.5px;position:absolute;top:28px;right:6px}.faq summary:before{content:"";background:var(--gold);width:1.5px;height:11px;transition:transform .2s,opacity .2s;position:absolute;top:23px;right:11px}.faq details[open] summary:before{opacity:0;transform:rotate(90deg)}.faq p{color:var(--mut);margin:0 0 20px;font-size:14.5px}.contact{background:var(--surf);border:1px solid var(--line);margin-top:30px;padding:clamp(28px,5vw,50px);position:relative}.contact:before{content:"";background:linear-gradient(90deg,var(--steel),transparent 72%);height:2px;position:absolute;top:-1px;left:-1px;right:-1px}.contact h1,.contact h2{font-family:var(--mincho);text-wrap:balance;margin:0;font-size:clamp(21px,3vw,30px);font-weight:800;line-height:1.55}.contact .note{color:var(--mut);margin:14px 0 0;font-size:14.5px}.form{gap:16px;max-width:34rem;margin-top:28px;display:grid}.form label{font-size:12.5px;font-weight:700;font-family:var(--mincho);margin-bottom:6px;display:block}.form label em{color:var(--gold);font-size:11px;font-style:normal;font-family:var(--mono);margin-left:6px}.form .fld{border:1px solid var(--line2);width:100%;font:15px/1.7 var(--sans);color:var(--ink);background:#fcfbf8;padding:12px 13px}.form textarea.fld{resize:vertical;min-height:126px}.contact .mail{color:var(--faint);margin:18px 0 0;font-size:12.5px}.contact .mail a{color:var(--gold)}.about{border-top:1px solid var(--line);max-width:54rem;margin-top:30px}.about .r{border-bottom:1px solid var(--line);grid-template-columns:164px 1fr;gap:22px;padding:15px 0;font-size:14.5px;display:grid}.about .r dt{font-family:var(--mono);letter-spacing:.06em;color:var(--faint);margin:0;padding-top:5px;font-size:11px}.about .r dd{margin:0}.about .r dd a{color:var(--gold)}@media (max-width:620px){.about .r{grid-template-columns:1fr;gap:2px}}footer.site{color:#c3bba9;background:#16130e;margin-top:clamp(40px,6vw,68px)}footer .inner{max-width:var(--wrap);grid-template-columns:1.2fr 1fr;gap:28px;margin:0 auto;padding:46px 24px 32px;display:grid}@media (max-width:700px){footer .inner{grid-template-columns:1fr}}footer .mark{color:#f7f5f0;font-size:17px}footer .mark small{color:#968c79}footer .desc{font-family:var(--mincho);color:#968c79;max-width:24rem;margin:16px 0 0;font-size:14px}footer .links{flex-wrap:wrap;gap:11px 22px;font-size:13.5px;display:flex}footer .links a{color:#c3bba9;text-decoration:none}footer .links a:hover{color:#d9be7b}footer .copy{max-width:var(--wrap);font-family:var(--mono);letter-spacing:.1em;color:#6b6353;margin:0 auto;padding:0 24px 34px;font-size:10.5px}body.g2 .lab,body.g3 .lab{color:var(--steel)}body.g2 .brule path,body.g3 .brule path{fill:url(#steelH)}body.g2 .value .r .step i,body.g3 .value .r .step i{border-color:var(--steel);color:var(--steel);background:0 0}body.g2 .value .r .then:before,body.g3 .value .r .then:before,body.g2 .case dt,body.g3 .case dt,body.g2 .fl .s .n,body.g3 .fl .s .n{color:var(--steel)}body.g2 .faq summary:after,body.g3 .faq summary:after,body.g2 .faq summary:before,body.g3 .faq summary:before{background:var(--steel)}body.g2 .form label em,body.g3 .form label em{color:var(--steel)}body.g3 .svc .go{color:var(--ink)}body.g3 .contact .mail a,body.g3 .about .r dd a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}body.g3 nav.main a:after{background:var(--ink)}body.g3 footer .links a:hover{color:#f7f5f0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.katana .gleam,.katana .gleam2{transform:translate(60px)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus{clip:auto;background:var(--ink);width:auto;height:auto;color:var(--bg);z-index:100;padding:10px 16px;position:fixed;top:12px;left:12px}.form-err{color:var(--gold);margin-top:2px;font-size:13px}.m{font-family:var(--mincho)}.mono{font-family:var(--mono)}
