:root{--aka:#bc002d;--aka-fukai:#8e0f26;--sumi:#211d1c;--sumi-usui:#6f6862;--kinari:#faf6ef;--shiro:#fffdf9;--keiito:#e6ded2;--font-mincho:var(--zen-old-mincho), "Hiragino Mincho ProN", serif;--font-gothic:var(--zen-kaku-gothic), "Hiragino Kaku Gothic ProN", sans-serif;--yasu:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--kinari);color:var(--sumi);font-family:var(--font-gothic);letter-spacing:.02em;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.9}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}::selection{background:var(--aka);color:var(--shiro)}:focus-visible{outline:2px solid var(--aka);outline-offset:4px}.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}.nb{display:inline-block}.site-head{z-index:2;position:absolute;top:0;left:0;right:0}.site-head .wrap{align-items:center;padding-top:28px;padding-bottom:28px;display:flex}.brand{align-items:center;gap:12px;transition:opacity .25s;display:flex}.brand:hover{opacity:.72}.site-head--flow{border-bottom:1px solid var(--keiito);position:static}.brand-mark{flex:none;width:26px;height:26px}.brand-name{font-family:var(--font-mincho);letter-spacing:.22em;font-size:15px;font-weight:700}.lang-switch{align-items:center;gap:2px;margin-left:auto;display:flex}.lang-opt{appearance:none;font:inherit;letter-spacing:.06em;color:var(--sumi-usui);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:12px;transition:color .2s,opacity .2s}.lang-opt+.lang-opt{border-left:1px solid var(--keiito);border-radius:0}.lang-opt:hover{color:var(--sumi)}.lang-opt.is-active{color:var(--aka);cursor:default;font-weight:700}.hero{align-items:center;min-height:clamp(460px,66vh,640px);display:flex;position:relative;overflow:hidden}.hero-enso{z-index:0;width:clamp(260px,50vmin,520px);height:auto;position:absolute;top:50%;right:max(-14vmin,-120px);transform:translateY(-50%)}.hero-inner{z-index:1;width:100%;position:relative}.hero h1{font-family:var(--font-mincho);letter-spacing:.06em;font-size:clamp(44px,8.6vw,96px);font-weight:900;line-height:1.28}.hero-line{display:block}.hero-lead{max-width:34em;color:var(--sumi);margin-top:clamp(24px,4vh,40px);font-size:clamp(15px,1.7vw,17px);line-height:2.2}.hero-lead .yaku{color:var(--sumi-usui)}@media (prefers-reduced-motion:no-preference){.hero-line{opacity:0;animation:oki 1.1s var(--yasu) forwards;transform:translateY(.35em)}.hero-line:nth-child(2){animation-delay:.16s}.hero-lead{opacity:0;animation:oki 1.1s var(--yasu) .42s forwards;transform:translateY(14px)}.hero-enso{opacity:0;animation:1.8s ease-out .25s forwards enso-in}}@keyframes oki{to{opacity:1;transform:translateY(0)}}@keyframes enso-in{to{opacity:1}}.section{padding:clamp(72px,14vh,140px) 0}#featured,#tools,#kotoba{scroll-margin-top:16px}.overline{letter-spacing:.3em;color:var(--aka);align-items:center;gap:14px;font-size:13px;font-weight:700;display:flex}.overline:before{content:"";background:var(--aka);width:34px;height:2px}.section h2{font-family:var(--font-mincho);letter-spacing:.08em;margin-top:18px;font-size:clamp(24px,4vw,40px);font-weight:700;line-height:1.5}@media (prefers-reduced-motion:no-preference){body.js-reveal [data-reveal]{opacity:0;transition:opacity .9s var(--yasu), translate .9s var(--yasu);translate:0 16px}body.js-reveal [data-reveal].is-in{opacity:1;translate:0}body.js-reveal h2[data-reveal]{transition-delay:80ms}body.js-reveal .overline:before{width:0;transition:width .8s var(--yasu) .1s}body.js-reveal .overline.is-in:before{width:34px}body.js-reveal .feat-grid [data-reveal]:nth-child(2){transition-delay:90ms}body.js-reveal .feat-grid [data-reveal]:nth-child(3){transition-delay:.18s}body.js-reveal .feat-grid [data-reveal]:nth-child(4){transition-delay:.27s}body.js-reveal .shelf [data-reveal]:nth-child(2){transition-delay:60ms}body.js-reveal .shelf [data-reveal]:nth-child(3){transition-delay:.12s}body.js-reveal .shelf [data-reveal]:nth-child(4){transition-delay:.18s}.page-fade{animation:.5s ease-out page-in}}@keyframes page-in{0%{opacity:0}}.feat-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:clamp(36px,6vh,56px);display:grid}.feat-card{background:var(--shiro);border:1px solid var(--keiito);border-top:4px solid var(--aka);transition:border-color .25s ease, transform .3s var(--yasu);padding:clamp(24px,3.4vw,36px);display:block}.feat-card:hover{border-color:var(--aka);transform:translateY(-2px)}.feat-card:active{transform:translateY(0)}.feat-label{letter-spacing:.26em;color:var(--aka);font-size:11px;font-weight:700}.feat-icon{border:1px solid var(--keiito);border-radius:12px;width:52px;height:52px;margin-top:18px;display:block}.feat-nayami{font-family:var(--font-mincho);letter-spacing:.04em;color:var(--sumi);margin-top:16px;font-size:clamp(17px,2vw,20px);font-weight:700;line-height:1.8}.feat-name{letter-spacing:.18em;color:var(--sumi-usui);margin-top:12px;font-size:12.5px}.section--shelf{padding-top:0}.shelf{border-top:1px solid var(--keiito);margin-top:clamp(36px,6vh,56px)}.shelf-row{border-bottom:1px solid var(--keiito);align-items:center;gap:clamp(14px,2.4vw,22px);padding:clamp(18px,3vh,26px) 6px;transition:background .2s;display:flex}.shelf-row:hover,.shelf-row:active{background:var(--shiro)}.shelf-icon{border:1px solid var(--keiito);border-radius:10px;flex:none;width:44px;height:44px}.shelf-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.shelf-nayami{font-family:var(--font-mincho);letter-spacing:.04em;font-size:clamp(15px,1.9vw,18px);font-weight:700;line-height:1.7}.shelf-name{letter-spacing:.16em;color:var(--sumi-usui);font-size:11.5px}.shelf-arrow{color:var(--aka);transition:transform .3s var(--yasu);flex:none;font-size:17px}.shelf-row:hover .shelf-arrow{transform:translate(5px)}.tool-page{padding:clamp(48px,8vh,88px) 0 clamp(72px,12vh,120px)}.tool-head{align-items:center;gap:clamp(16px,2.6vw,24px);display:flex}.tool-icon{border:1px solid var(--keiito);border-radius:16px;flex:none;width:clamp(56px,8vw,72px);height:clamp(56px,8vw,72px)}.tool-name{font-family:var(--font-mincho);letter-spacing:.12em;font-size:clamp(20px,2.8vw,26px);font-weight:700}.tool-nayami{font-family:var(--font-mincho);letter-spacing:.05em;color:var(--sumi);max-width:24em;margin-top:clamp(28px,5vh,44px);font-size:clamp(26px,4.6vw,44px);font-weight:900;line-height:1.6}.tool-desc{max-width:42em;color:var(--sumi);margin-top:clamp(20px,3.6vh,32px)}.tool-desc p+p{margin-top:4px}.tool-cta{flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px;display:flex}.btn-aka{background:var(--aka);color:var(--shiro);font-family:var(--font-gothic);letter-spacing:.14em;transition:background .25s ease, transform .3s var(--yasu);border-radius:2px;padding:16px 44px;font-size:15px;font-weight:700;display:inline-block}.btn-aka:hover{background:var(--aka-fukai);transform:translateY(-1px)}.btn-aka:active{transform:translateY(0)}.tool-note{color:var(--sumi-usui);letter-spacing:.06em;font-size:12.5px}.tool-install{color:var(--sumi-usui);letter-spacing:.04em;margin-top:16px;font-size:13px}.tool-shots{flex-wrap:wrap;gap:16px;margin-top:clamp(28px,5vh,40px);display:flex}.tool-shots img{border:1px solid var(--keiito);border-radius:8px;width:min(240px,44vw)}.tool-price{font-family:var(--font-mincho);letter-spacing:.08em;margin-top:20px;font-size:15px;font-weight:700}.tool-back{letter-spacing:.1em;margin-top:clamp(48px,8vh,72px);font-size:13px}.tool-back a{color:var(--sumi-usui);transition:color .15s}.tool-back a:hover{color:var(--aka)}.tools-coming{color:var(--sumi-usui);letter-spacing:.1em;margin-top:clamp(32px,5vh,48px);font-size:14px}.kotoba{align-items:flex-start;gap:clamp(28px,5vw,56px);margin-top:clamp(36px,6vh,56px);display:flex}.kotoba-photo{flex:none;width:clamp(180px,24vw,240px)}.kotoba-photo img{border:1px solid var(--keiito);width:100%;display:block}.kotoba-body{max-width:36em}.kotoba-body p+p{margin-top:14px}.kotoba-sign{font-family:var(--font-mincho);letter-spacing:.14em;margin-top:32px;font-size:15px;font-weight:700}@media (max-width:640px){.kotoba{flex-direction:column}}.site-foot{border-top:1px solid var(--keiito);padding:40px 0 56px}.site-foot .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.foot-copy{letter-spacing:.14em;color:var(--sumi-usui);font-size:12px}.foot-sns{gap:28px;display:flex}.foot-sns a{letter-spacing:.14em;color:var(--sumi-usui);font-size:12px;transition:color .15s}.foot-sns a:hover{color:var(--aka)}html.cursor-none,html.cursor-none body,html.cursor-none a,html.cursor-none button{cursor:none}.cursor-dot,.cursor-ring{z-index:9999;pointer-events:none;opacity:0;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:var(--aka);width:7px;height:7px;transition:opacity .3s ease, width .25s var(--yasu), height .25s var(--yasu), margin .25s var(--yasu);margin:-3.5px 0 0 -3.5px}.cursor-dot.is-hot{width:10px;height:10px;margin:-5px 0 0 -5px}.cursor-ring{width:32px;height:32px;transition:opacity .3s ease, width .3s var(--yasu), height .3s var(--yasu), margin .3s var(--yasu), border-color .3s ease, background-color .3s ease;border:1px solid #bc002d66;margin:-16px 0 0 -16px}.cursor-ring.is-hot{background-color:#bc002d0d;border-color:#bc002dbf;width:46px;height:46px;margin:-23px 0 0 -23px}.cursor-ring.is-down{width:22px;height:22px;margin:-11px 0 0 -11px}@media (max-width:640px){.hero{min-height:0;padding-top:clamp(96px,16vh,140px);padding-bottom:56vmin;display:block}.hero-enso{width:64vmin;height:auto;top:auto;bottom:-10vmin;right:-16vmin;transform:none}}
