:root{--paper:#f9f9f3;--white:#fff;--ink:#141414;--sub:#5c5c58;--faint:#8f8f88;--line:#d8d8d0;--black:#060606;--sans:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;--serif:var(--sans);--en:var(--sans);--wide:1240px;--gutter:clamp(24px, 6vw, 96px);--sp-section:clamp(112px, 13vw, 200px);--sp-head:clamp(56px, 7vw, 104px);--gap:clamp(28px, 3.4vw, 48px);--pad-card:clamp(28px, 3vw, 44px);--col:860px;--fs-display:clamp(40px, 6.4vw, 88px);--fs-section:clamp(30px, 4.6vw, 60px);--fs-h1:clamp(30px, 4.4vw, 56px);--fs-h2:clamp(24px, 2.8vw, 34px);--fs-h3:clamp(19px, 1.8vw, 22px);--fs-lead:clamp(18px, 1.6vw, 20px);--fs-body:17px;--fs-sm:14px;--fs-xs:var(--fs-sm);--ls:.03em;--ls-head:.02em;--ls-label:.1em}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--serif);color:var(--ink);background:var(--paper);line-height:2.05;font-size:var(--fs-body);letter-spacing:var(--ls);margin:0;font-weight:500}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px;transition:opacity .25s}a:hover{opacity:.6}h1,h2,h3,h4{letter-spacing:var(--ls-head);margin:0;font-weight:700;line-height:1.45}p{margin:0 0 2em}.wrap{width:min(var(--wide), 100% - var(--gutter) * 2);margin-inline:auto}.col{width:min(var(--col), 100% - var(--gutter) * 2);margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{z-index:2000;background:#fff;padding:8px;top:8px;left:8px}.en{font-family:var(--en);letter-spacing:.04em;font-weight:500}.center{text-align:center}.sans{font-family:var(--sans);letter-spacing:var(--ls)}.site-header{z-index:100;color:#fff;transition:background .35s,color .35s,box-shadow .35s;position:fixed;inset:0 0 auto}.header-in{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 clamp(16px,2.4vw,36px);display:grid;position:relative}.brand{justify-self:center;display:block}.brand img{filter:brightness(0)invert();width:108px;height:auto;transition:filter .35s}.menu-btn{cursor:pointer;font:500 var(--fs-xs)/1 var(--en);letter-spacing:var(--ls-label);user-select:none;flex-direction:column;justify-self:start;align-items:center;gap:9px;padding:8px;display:inline-flex}.menu-btn i,.menu-btn i:before,.menu-btn i:after{content:"";background:currentColor;width:26px;height:1px;transition:all .3s;display:block;position:relative}.menu-btn i:before{position:absolute;top:-7px}.menu-btn i:after{position:absolute;top:7px}.head-cta{font:500 var(--fs-sm)/1 var(--sans);letter-spacing:.04em;justify-self:end;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.head-cta:before{content:"";background:radial-gradient(circle at 45%,currentColor 0 1.6px,#0000 2px);border:1px solid;border-radius:50%;width:16px;height:16px}.site-header.is-solid,.no-hero .site-header{color:var(--ink);box-shadow:0 1px 0 var(--line);background:#f9f9f3f5}.site-header.is-solid .brand img,.no-hero .site-header .brand img{filter:none}.nav-toggle{opacity:0;pointer-events:none;position:absolute}.nav-toggle:focus-visible~.header-in .menu-btn{outline-offset:4px;outline:1px solid}.drawer{background:var(--black);color:#fff;z-index:-1;opacity:0;visibility:hidden;align-content:center;padding:96px clamp(24px,8vw,120px) 48px;transition:opacity .45s,visibility .45s;display:grid;position:fixed;inset:0;overflow-y:auto}.nav-toggle:checked~.drawer{opacity:1;visibility:visible;z-index:0}.nav-toggle:checked~.header-in{color:#fff}.nav-toggle:checked~.header-in .brand img{filter:brightness(0)invert()}.nav-toggle:checked~.header-in .menu-btn i{background:0 0}.nav-toggle:checked~.header-in .menu-btn i:before{top:0;transform:rotate(45deg)}.nav-toggle:checked~.header-in .menu-btn i:after{top:0;transform:rotate(-45deg)}.site-header:has(.nav-toggle:checked){box-shadow:none;color:#fff;background:0 0}.drawer ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.drawer a{border-bottom:1px solid #2a2a2a;align-items:baseline;gap:24px;padding:10px 0;text-decoration:none;display:flex}.drawer .d-ja{font:700 clamp(26px, 3.8vw, 44px)/1.3 var(--sans);letter-spacing:var(--ls-head);color:#fff}body:has(.nav-toggle:checked){overflow:hidden}@media (width<=640px){.head-cta span{display:none}.brand img{width:92px}}.hero{color:#fff;isolation:isolate;z-index:2;background:#0b0b0b 50%/cover no-repeat;align-items:center;min-height:100svh;display:grid;position:relative;overflow:visible}.hero:before{content:"";z-index:-1;background:linear-gradient(#0000008c 0%,#00000040 40%,#000000a6 100%);position:absolute;inset:0}.hero-vertical{writing-mode:vertical-rl;white-space:nowrap;letter-spacing:.04em;text-shadow:0 2px 24px #0006;font-size:clamp(34px,5.6vw,80px);font-weight:500;line-height:1.6;position:absolute;top:50%;right:clamp(28px,9vw,160px);transform:translateY(-50%)}.hero-sub{max-width:26em;font-size:var(--fs-body);line-height:2.1;position:absolute;bottom:clamp(28px,6vh,64px);left:clamp(24px,4vw,56px)}.hero-sub .en{font-size:var(--fs-h3);letter-spacing:.04em;margin-bottom:10px;display:block}.scroll-hint{background:linear-gradient(#fff,#0000);width:1px;height:64px;animation:2.2s ease-in-out infinite hint;position:absolute;bottom:0;left:50%}@keyframes hint{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.page-hero{color:#fff;text-align:left;isolation:isolate;background:#111 50%/cover no-repeat;align-items:center;min-height:clamp(420px,62vh,640px);padding:120px 0 72px;display:grid;position:relative;overflow:hidden}.page-hero:before{content:"";z-index:-1;background:linear-gradient(#0009,#00000052 55%,#0009);position:absolute;inset:0}.page-hero.plain{background:#101010;min-height:300px}.page-hero.plain:before{display:none}.ph-title{flex-direction:column;align-items:flex-start;gap:.4em;max-width:min(760px,62%);display:flex}.ph-title h1{font-size:var(--fs-display);letter-spacing:var(--ls-head);font-weight:700;line-height:1.15}.ph-lead{max-width:30em;font-size:var(--fs-lead);color:#e9e9e4;margin:22px 0 0}.crumbs{width:min(var(--wide), 100% - var(--gutter) * 2);font:500 var(--fs-xs)/1.6 var(--sans);letter-spacing:.04em;text-align:left;border-top:1px solid #ffffff59;padding-top:10px;position:absolute;top:92px;left:50%;transform:translate(-50%)}.crumbs ol{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";opacity:.6;margin-right:6px}.crumbs a{opacity:.75;text-decoration:none}.crumbs [aria-current]{font-weight:700}@media (width<=860px){.page-hero{padding-bottom:72px}}.section{padding:var(--sp-section) 0}.section.white{background:var(--white)}.section.gray{background:#f2f2ee}.sec-title{text-align:center;margin-bottom:var(--sp-head)}.sec-title h2{font-size:var(--fs-section);letter-spacing:var(--ls-head);font-weight:700;line-height:1.3}.h-serif{font-size:var(--fs-h2);text-align:center;letter-spacing:var(--ls-head);margin-bottom:1em}.body-col p{text-align:left}.btn{background:var(--ink);color:#fff;min-width:300px;min-height:68px;font:700 var(--fs-body)/1.4 var(--sans);letter-spacing:var(--ls);cursor:pointer;transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), background .3s;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;padding:0 14px 0 32px;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px -12px #00000073}.btn:after{content:"";width:44px;height:44px;transition:transform .4s var(--ease-out);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") 50%/20px no-repeat;border-radius:50%;flex:none}.btn:hover{opacity:1;background:var(--accent);transform:translateY(-3px);box-shadow:0 16px 30px -12px #00000080}.btn:hover:after{transform:translate(4px)}.btn.light{color:var(--ink);background:#fff}.btn.light:after{background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}.btn.light:hover{background:var(--accent);color:#fff}.btn.solid{background:var(--accent)}@media (width<=560px){.btn{width:100%;min-width:0}}.photo-pair{grid-template-columns:1fr 1fr;gap:3px;display:grid}.photo-pair img{object-fit:cover;aspect-ratio:4/3;width:100%;height:100%}@media (width<=700px){.photo-pair{grid-template-columns:1fr}}.photo-sq{width:min(540px,100%);margin:0 auto}.icon-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.icon-grid figure{text-align:center;margin:0}.icon-grid img{background:#f1f1ee;width:100%;height:auto}.icon-grid figcaption{font:500 var(--fs-xs)/1.7 var(--sans);letter-spacing:var(--ls);margin-top:12px}@media (width<=820px){.icon-grid{grid-template-columns:repeat(2,1fr)}}.products{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.product{padding:0 0 var(--pad-card);text-align:left;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 4px #0000000a,0 14px 34px -14px #00000038}.product img{aspect-ratio:1;object-fit:cover;width:100%}.product h3{font-size:var(--fs-h3);margin:var(--pad-card) var(--pad-card) 12px}.product p{font:500 var(--fs-body)/1.85 var(--sans);letter-spacing:var(--ls);color:var(--sub);margin:0 var(--pad-card)}.product.noimg{padding-top:var(--pad-card)}.product.noimg .tag{margin:0 var(--pad-card) 12px;font:700 var(--fs-sm)/1 var(--sans);letter-spacing:var(--ls-label);color:var(--accent);display:block}@media (width<=960px){.products{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.products{grid-template-columns:1fr}}.dark{color:#fff;isolation:isolate;background:#0c0e10 50%/cover no-repeat;position:relative}.dark:before{content:"";z-index:-1;background:#080a0c8c;position:absolute;inset:0}.statement{align-items:center;min-height:90vh;display:grid}.statement .col{margin-left:max(24px, calc((100% - var(--wide)) / 2 + 40px));width:min(760px, 100% - var(--gutter) * 2);margin-right:auto}.statement h2{font-size:var(--fs-section);letter-spacing:var(--ls-head);margin-bottom:1em;line-height:1.45}.statement p{color:#e6e6e0}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px 28px;display:grid}.card{text-decoration:none;display:block}.card:hover{opacity:1}.card:hover h3{text-underline-offset:6px;text-decoration:underline}.card img{aspect-ratio:3/2;object-fit:cover;background:#e9e9e3;width:100%;margin-bottom:18px}.card .meta{font:500 var(--fs-xs)/1.6 var(--sans);letter-spacing:.04em;color:var(--sub);margin-bottom:6px}.card .tag{border:1px solid var(--line);font:500 var(--fs-xs)/1.8 var(--sans);margin-left:10px;padding:1px 10px;display:inline-block}.card h3{font-size:var(--fs-h3);margin-bottom:8px;line-height:1.8}.card p{font:500 var(--fs-body)/2 var(--sans);color:var(--sub);letter-spacing:var(--ls);margin:0}.cta{color:#fff;isolation:isolate;padding:var(--sp-section) 0;background:#1a1a1a 50%/cover no-repeat;position:relative}.cta:before{content:"";z-index:-1;background:#1a1a1ad9;position:absolute;inset:0}.cta-en{font-size:var(--fs-sm);letter-spacing:var(--ls-label);margin-bottom:4px}.cta h2{font-size:var(--fs-h1);margin-bottom:.8em}.cta p{margin-bottom:1.4em}.cta-btns{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:56px;display:flex}.cta-btns .btn{min-width:260px}@media (width>=900px){.pc-br{display:inline}}@media (width<=899px){.pc-br{display:none}}.green-bar{color:#fff;background:#2d9748;grid-template-columns:1fr 1fr;display:grid}.green-bar a{letter-spacing:.04em;justify-content:center;align-items:center;min-height:84px;font-weight:700;text-decoration:none;display:flex;position:relative}.green-bar a.dk{background:#298640}.green-bar span{border-bottom:1px dotted #fffc;padding-bottom:2px}.green-bar a:after{content:"";border-top:1.5px solid #fff;border-right:1.5px solid #fff;width:9px;height:9px;position:absolute;right:8%;transform:rotate(45deg)}.green-bar a:hover{opacity:1;background:#258039}.site-footer{color:#fff;font-size:var(--fs-body);letter-spacing:var(--ls);background:#2d9748;padding:72px 0 36px;line-height:2}.site-footer a{color:#fff}.foot-grid{flex-wrap:wrap;justify-content:space-between;gap:56px;padding-bottom:40px;display:flex}.foot-grid address{font-style:normal}.foot-grid address img{width:100px;height:auto;margin-bottom:16px}.foot-nav{columns:2;column-gap:48px;margin:0;padding:0;list-style:none}.foot-nav a{text-decoration:none}.copy{font-size:var(--fs-xs);text-align:left;border-top:1px solid #ffffff4d;margin:0 auto;padding-top:28px}.copy a{text-decoration:underline}@media (width<=640px){.green-bar a:after{right:6%}.foot-nav{columns:1}}dl.spec{border-top:1px solid var(--line);font:500 var(--fs-body)/2 var(--sans);letter-spacing:var(--ls);grid-template-columns:9em 1fr;margin:0;display:grid}dl.spec dt,dl.spec dd{border-bottom:1px solid var(--line);margin:0;padding:18px 8px}dl.spec dt{font-weight:700}@media (width<=640px){dl.spec{grid-template-columns:1fr}dl.spec dt{border:0;padding-bottom:0}}.plain-list{margin:0;padding-left:1.2em}.client-list{columns:2 260px;margin:0;padding:0;list-style:none}.client-list li{break-inside:avoid}.voice h2{font-size:var(--fs-h2)}.voice small{font:500 var(--fs-sm)/1.8 var(--sans);color:var(--sub);margin:6px 0 20px;display:block}.voice p{font:500 var(--fs-body)/1.95 var(--sans);letter-spacing:var(--ls);margin:0}@media (width<=800px){.voice{grid-template-columns:1fr}.voice:nth-child(2n) .v-photo{order:0}}.portrait{aspect-ratio:1;object-fit:cover;filter:grayscale();width:min(320px,100%);margin:0 auto}.split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(48px,8vw,128px);display:grid}@media (width<=800px){.split{grid-template-columns:1fr}}.form{max-width:640px;font-family:var(--sans);gap:26px;margin:0 auto;display:grid}.form label,.form legend{font-weight:500;font-size:var(--fs-body);letter-spacing:.04em;gap:8px;display:grid}.form .req{color:#a22;font-size:var(--fs-xs);margin-left:8px}.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea{font:inherit;letter-spacing:var(--ls);background:#fff;border:1px solid #bbb;border-radius:0;width:100%;padding:14px 16px}.form input:focus,.form textarea:focus{outline:1px solid var(--ink);outline-offset:2px}.form fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}.form label.radio{font-weight:500;font-size:var(--fs-body);letter-spacing:var(--ls);align-items:center;gap:12px;display:flex}.form label.radio input{width:auto}.name-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.article-head{text-align:center;padding:150px 0 0}.article-head .meta{font:500 var(--fs-xs)/1.8 var(--sans);letter-spacing:.04em;color:var(--sub);margin-bottom:14px}.article-head h1{font-size:var(--fs-h1);letter-spacing:var(--ls-head);max-width:24em;margin:0 auto;line-height:1.4}.article-head .crumbs-lite{font:500 var(--fs-xs)/1.6 var(--sans);color:var(--faint);margin-bottom:20px}.article-head .crumbs-lite a{text-decoration:none}.article-hero{width:min(960px, 100% - var(--gutter) * 2);margin:48px auto 0}.article-hero img{object-fit:cover;width:100%;height:auto;max-height:520px}.article{width:min(var(--col), 100% - var(--gutter) * 2);padding:80px 0 var(--sp-section);margin:0 auto}.article .summary{font:500 var(--fs-body)/1.95 var(--sans);letter-spacing:var(--ls);border-left:3px solid var(--ink);background:#fff;margin:0 0 40px;padding:22px 26px}.article .stale{font:500 var(--fs-xs)/1.9 var(--sans);color:var(--sub);border:1px solid var(--line);margin-bottom:36px;padding:12px 16px}.prose{font-size:var(--fs-body);line-height:2}.prose h2{font-size:var(--fs-h2);border-bottom:1px solid var(--ink);margin:3.4em 0 1.2em;padding-bottom:.5em}.prose h3{font-size:var(--fs-h3);border-left:4px solid var(--ink);margin:2.4em 0 1em;padding-left:14px}.prose h4,.prose h5{font-size:var(--fs-body);margin:2em 0 .8em}.prose img{margin:2em auto}.prose a{text-decoration:underline}.prose blockquote{border-left:2px solid var(--line);color:var(--sub);margin:2em 0;padding:6px 0 6px 22px}.prose table{border-collapse:collapse;width:100%;font:500 var(--fs-body)/1.8 var(--sans);display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:8px 12px}.prose ul,.prose ol{padding-left:1.4em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.prose pre,.prose code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--fs-sm);letter-spacing:0;background:#efefe8}.prose pre{padding:16px;overflow-x:auto}.author-box{font:500 var(--fs-body)/2 var(--sans);color:var(--sub);border-top:1px solid var(--line);margin-top:72px;padding-top:28px}.related{font-family:var(--sans);margin-top:56px}.related h2{font:700 var(--fs-h2)/1.4 var(--en);margin-bottom:12px}.loader{z-index:3000;background:#fff;place-items:center;transition:opacity .8s,visibility .8s;animation:.6s 5s forwards loader-failsafe;display:grid;position:fixed;inset:0}.no-loader .loader{display:none}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader-in{justify-items:center;gap:8px;animation:1s both loader-rise;display:grid}.loader-in img{width:160px;height:160px}.loader-bar{background:#333;width:150px;height:1px;display:block;overflow:hidden}.loader-bar i{background:#fff;width:40%;height:100%;animation:1.2s ease-in-out infinite loader-run;display:block}html.has-loader{overflow:hidden}@keyframes loader-run{0%{transform:translate(-100%)}to{transform:translate(260%)}}@keyframes loader-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes loader-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}.post-list{border-top:1px solid var(--line);max-width:900px;margin:0 auto;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--line)}.post-list a{grid-template-columns:220px 1fr;align-items:baseline;gap:12px 40px;padding:34px 12px;text-decoration:none;display:grid}.post-list a:hover{opacity:1;background:#00000008}.post-list a:hover .pl-title{text-underline-offset:5px;text-decoration:underline}.pl-meta{font-size:var(--fs-xs);color:var(--sub);letter-spacing:.04em;flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.pl-meta .tag{border:1px solid var(--line);font-size:var(--fs-xs);background:#fff;padding:0 10px;line-height:1.9}.pl-body{gap:4px;display:grid}.pl-title{font-size:var(--fs-body);font-weight:700;line-height:1.8}.pl-desc{font-size:var(--fs-body);color:var(--sub);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.9;display:-webkit-box;overflow:hidden}@media (width<=700px){.post-list a{grid-template-columns:1fr;padding:22px 4px}}.editor-note{font:500 var(--fs-body)/1.9 var(--sans);border-left:3px solid var(--faint);color:var(--sub);background:#fff;margin:0 0 2em;padding:12px 16px}.voice .v-en{font:500 var(--fs-xs)/1.8 var(--sans);color:var(--faint);letter-spacing:.04em;margin-bottom:18px}.voice .v-link{margin-top:24px}.voice .v-link .btn{min-width:0;padding:10px 22px}.policy h2{font-size:var(--fs-h3);border-bottom:1px solid var(--line);margin:2.4em 0 .8em;padding-bottom:.4em}.policy ul{margin:0 0 1.6em}.policy li,.policy p{font:500 var(--fs-body)/1.95 var(--sans);letter-spacing:var(--ls)}:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-io:cubic-bezier(.77, 0, .18, 1);--accent:#2d9748}.reveal{opacity:0;transition:opacity 1.1s var(--ease-out) var(--d,0s), transform 1.1s var(--ease-out) var(--d,0s);transform:translateY(32px)}.reveal.is-in{opacity:1;transform:none}.reveal-img{position:relative;overflow:hidden}.reveal-img:after{content:"";background:var(--curtain,var(--paper));transform-origin:100%;transition:transform 1.3s var(--ease-io) var(--d,0s);position:absolute;inset:0}.reveal-img img{transition:transform 2s var(--ease-out) var(--d,0s);transform:scale(1.15)}.reveal-img.is-in:after{transform:scaleX(0)}.reveal-img.is-in img{transform:none}.section.white .reveal-img{--curtain:var(--white)}.is-split .ch{opacity:0;filter:blur(6px);display:inline-block;transform:translateY(.55em)rotate(4deg)}html:not(.has-loader) .is-split.is-in .ch{opacity:1;filter:none;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out), filter .9s var(--ease-out);transition-delay:calc(var(--i) * 38ms + var(--d,0s));transform:none}.hero-vertical.is-split .ch{transform:translateY(-.4em)}.roll{vertical-align:top;line-height:inherit;display:inline-block;overflow:hidden}.roll-in{transition:transform .55s var(--ease-io);display:inline-block;position:relative}.roll-in:after{content:attr(data-t);white-space:nowrap;position:absolute;top:100%;left:0}a:hover .roll-in,.btn:hover .roll-in,label:hover .roll-in{transform:translateY(-100%)}.btn .roll,.btn .roll-in{line-height:1.6}.site-header{transition:background .35s, color .35s, box-shadow .35s, transform .5s var(--ease-io)}.site-header.is-hidden{transform:translateY(-100%)}.drawer li{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translate(-24px)}.nav-toggle:checked~.drawer li{opacity:1;transform:none}.nav-toggle:checked~.drawer li:first-child{transition-delay:.1s}.nav-toggle:checked~.drawer li:nth-child(2){transition-delay:.15s}.nav-toggle:checked~.drawer li:nth-child(3){transition-delay:.2s}.nav-toggle:checked~.drawer li:nth-child(4){transition-delay:.25s}.nav-toggle:checked~.drawer li:nth-child(5){transition-delay:.3s}.nav-toggle:checked~.drawer li:nth-child(6){transition-delay:.35s}.nav-toggle:checked~.drawer li:nth-child(7){transition-delay:.4s}.nav-toggle:checked~.drawer li:nth-child(8){transition-delay:.45s}.drawer a:hover{opacity:.6}[data-parallax]{translate:0 var(--py,0px);will-change:translate}.loader-txt{font:500 var(--fs-xs)/1 var(--en);letter-spacing:var(--ls-label);color:#8f8f88;white-space:nowrap;min-height:1em}.marquee{white-space:nowrap;border-block:1px solid var(--line);padding:32px 0;overflow:hidden}.marquee.dark-band{background:var(--black);color:#fff;border-color:#222}.mq-track{animation:mq var(--mq-speed,60s) linear infinite;display:inline-flex}.marquee:hover .mq-track,.marquee:focus-within .mq-track{animation-play-state:paused}.mq-list{gap:16px;margin:0;padding:0 12px 0 0;list-style:none;display:flex}.mq-list a,.mq-list span{font:500 var(--fs-sm)/1 var(--sans);letter-spacing:var(--ls);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:99px;padding:11px 18px;text-decoration:none;transition:background .3s,color .3s,border-color .3s;display:inline-block}.mq-list a:hover{background:var(--ink);color:#fff;border-color:var(--ink);opacity:1}.dark-band .mq-list a,.dark-band .mq-list span{color:#ddd;background:0 0;border-color:#333}.dark-band .mq-list a:hover{color:var(--ink);background:#fff}.marquee.reverse .mq-track{animation-direction:reverse}@keyframes mq{to{transform:translate(-50%)}}.draw path,.draw circle,.draw line,.draw polyline{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200)}.draw.is-in path,.draw.is-in circle,.draw.is-in line,.draw.is-in polyline{stroke-dashoffset:0;transition:stroke-dashoffset 2.4s var(--ease-io) calc(var(--o,0) * .18s + var(--d,0s))}.draw .fade{opacity:0;transition:opacity 1s 1.8s}.draw.is-in .fade{opacity:1}.post-list a{transition:background .4s, padding .5s var(--ease-out);grid-template-columns:120px 1fr 24px;align-items:center;position:relative}.post-list time{font-size:var(--fs-sm);color:var(--sub)}.post-list .pl-title{font-size:var(--fs-h3);font-weight:700;line-height:1.6}.post-list a:hover{padding-left:20px}.pl-arrow{opacity:.3;width:18px;height:18px;transition:transform .5s var(--ease-out), opacity .4s;border-top:1px solid;border-right:1px solid;align-self:center;transform:rotate(45deg)scale(.6)}.post-list a:hover .pl-arrow{opacity:1;transform:translate(6px)rotate(45deg)scale(.6)}@media (width<=700px){.post-list a{grid-template-columns:1fr}.pl-arrow{display:none}}.product{transition:transform .6s var(--ease-out), box-shadow .6s var(--ease-out)}.product:hover{transform:translateY(-6px);box-shadow:0 4px 8px #0000000d,0 24px 44px -16px #0000004d}.product img,.icon-grid img{transition:transform 1s var(--ease-out)}.product a:has(img),.icon-grid figure{display:block;overflow:hidden}.product:hover img,.icon-grid figure:hover img{transform:scale(1.05)}.cat-nav{flex-wrap:wrap;justify-content:center;gap:12px;max-width:900px;margin:0 auto 72px;display:flex}.cat-nav a{font:500 var(--fs-xs)/1 var(--sans);letter-spacing:.04em;border:1px solid var(--line);background:#fff;border-radius:99px;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.cat-nav a small{font-size:var(--fs-xs);color:var(--faint)}.cat-nav a:hover,.cat-nav a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink);opacity:1}.cat-nav a:hover small,.cat-nav a[aria-current] small{color:#bbb}.read-progress{z-index:150;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.read-progress i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.toc{padding:var(--pad-card);font:500 var(--fs-body)/2 var(--sans);background:#fff;border-radius:14px;margin:0 0 72px}.toc-h{letter-spacing:var(--ls-label);margin:0 0 6px;font-weight:700}.toc ol{margin:0;padding-left:1.4em}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}.faq{margin-top:64px}.faq h2{font-size:var(--fs-h2);border-bottom:1px solid var(--ink);margin-bottom:8px;padding-bottom:.5em}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:18px 32px 18px 0;font-weight:700;line-height:1.8;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q.";color:var(--accent);margin-right:8px}.faq summary:after{content:"";width:10px;height:10px;transition:transform .4s var(--ease-out);border-bottom:1px solid;border-right:1px solid;position:absolute;top:50%;right:6px;transform:translateY(-70%)rotate(45deg)}.faq details[open] summary:after{transform:translateY(-30%)rotate(-135deg)}.faq details p{font:500 var(--fs-body)/1.95 var(--sans);color:#2b2b2b;margin:0 0 20px}.tags{font:500 var(--fs-xs)/1.8 var(--sans);color:var(--sub);flex-wrap:wrap;gap:8px 14px;margin:48px 0 0;padding:0;list-style:none;display:flex}.article-cta{background:var(--black);color:#fff;padding:clamp(40px, 5vw, 64px) var(--pad-card);text-align:center;font:500 var(--fs-body)/2 var(--sans);border-radius:14px;margin-top:88px}.article-cta .ac-en{font:500 var(--fs-xs)/1 var(--en);letter-spacing:var(--ls-label);color:#9a9a92;margin-bottom:14px}.article-cta .btn{color:#fff;border-color:#fff}.article-cta .btn:hover{color:var(--ink);background:#fff}.prose .point{border:1px solid var(--line);font:500 var(--fs-body)/1.95 var(--sans);background:#fff;margin:2em 0;padding:18px 22px}.prose .point strong:first-child{color:var(--accent);letter-spacing:.04em;margin-bottom:4px;display:block}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .35s var(--ease-io) both}::view-transition-new(root){animation:vt-in .6s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-12px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(16px)}}html:not(.js) .reveal,html:not(.js) .draw path{opacity:1;stroke-dashoffset:0;transform:none}html:not(.js) .reveal-img:after{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal,.reveal-img img{opacity:1;transform:none}.reveal-img:after{display:none}.draw path,.draw circle,.draw line,.draw polyline{stroke-dashoffset:0}.draw .fade,.drawer li{opacity:1;transform:none}.loader-bar i{width:100%}}.hero-h1{font-size:var(--fs-body);letter-spacing:var(--ls);font-weight:700;line-height:2.1}.ai-split{grid-template-columns:1fr 1fr;align-items:center}.ai-points{border-top:1px solid var(--line);font:500 var(--fs-body)/1.9 var(--sans);margin:8px 0 0;padding:0;list-style:none}.ai-points li{border-bottom:1px solid var(--line);padding:20px 0 20px 32px;position:relative}.ai-points li:before{content:"";border:1px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}@media (width<=800px){.ai-split{grid-template-columns:1fr}}.ai-menu{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=960px){.ai-menu{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.ai-menu{grid-template-columns:1fr}}.ai-card{padding:var(--pad-card);transition:background .5s var(--ease-out), color .5s var(--ease-out);background:#fff;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000000a,0 14px 34px -14px #00000038}.ai-card:hover{background:var(--black);color:#fff}.ai-card:hover p{color:#cfcfc8}.ai-no{font:500 54px/1 var(--en);color:#0000;-webkit-text-stroke:1px var(--line);transition:transform .8s var(--ease-out);position:absolute;top:14px;right:22px}.ai-card:hover .ai-no{-webkit-text-stroke-color:#444;transform:translateY(-6px)}.ai-en{font:500 var(--fs-xs)/1 var(--en);letter-spacing:var(--ls-label);color:var(--accent);margin:0 0 14px}.ai-card h3{font-size:var(--fs-h3);letter-spacing:.04em;margin-bottom:14px}.ai-card>p:not(.ai-en):not(.ai-more){font:500 var(--fs-body)/1.95 var(--sans);color:var(--sub);margin:0;transition:color .5s}.byline{font:500 var(--fs-xs)/1.6 var(--sans);color:var(--sub);align-items:center;gap:10px;margin-top:22px;text-decoration:none;display:inline-flex}.byline img{object-fit:cover;filter:grayscale();border-radius:50%;width:36px;height:36px}.byline strong{color:var(--ink)}.author-card{padding:var(--pad-card);border:1px solid var(--line);font-family:var(--sans);background:#fff;border-radius:14px;grid-template-columns:96px 1fr;align-items:start;gap:32px;margin-top:88px;display:grid}.author-card img{object-fit:cover;filter:grayscale();border-radius:50%;width:96px;height:96px}.au-label{font:500 var(--fs-xs)/1 var(--en);letter-spacing:var(--ls-label);color:var(--accent);margin:0 0 10px}.au-name{font-size:var(--fs-h3);margin:0 0 8px;font-weight:700;line-height:1.6}.au-name a{text-decoration:none}.au-name span{font-size:var(--fs-xs);color:var(--sub);font-weight:500;display:block}.au-bio{font-size:var(--fs-body);color:#2b2b2b;margin:0 0 8px;line-height:2}.au-fields{font-size:var(--fs-xs);color:var(--sub);margin:0}@media (width<=560px){.author-card{grid-template-columns:1fr}}.pains{border-top:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));column-gap:40px;display:grid}.pains li:first-child,.pains li:nth-child(2){border-top:1px solid var(--line)}.ai-card h3 a{text-decoration:none}.ai-more{letter-spacing:.04em;font:500 var(--fs-xs)/1.6 var(--sans)!important;margin:18px 0 0!important}.ai-more a{border-bottom:1px solid;padding-bottom:2px;text-decoration:none}.ai-card:hover .ai-more{color:#fff!important}.ai-points a{border-bottom:1px solid var(--line);text-decoration:none}.ai-card.is-main{background:#fbfbf7}.ai-badge{font:700 var(--fs-xs)/1 var(--en);letter-spacing:var(--ls-label);color:#fff;background:var(--accent);margin-bottom:14px;padding:6px 10px;display:inline-block}.hero-tag{font:700 var(--fs-h3)/1.5 var(--sans);letter-spacing:var(--ls-head);margin-bottom:10px;display:block}.ai-badge.sub{background:var(--ink)}.lead-block{max-width:1000px}.lead-h{font-size:var(--fs-display);letter-spacing:var(--ls-head);text-align:center;margin-bottom:.6em;line-height:1.2}.lead-body p{font:700 var(--fs-lead)/2 var(--sans);letter-spacing:var(--ls)}.lead-cta{text-align:center;margin-top:72px}.lead-img{margin-top:var(--sp-section);max-width:1000px}.lead-img img,.reveal-img img{width:100%;height:auto}.svc-grid{gap:var(--gap);margin-top:var(--sp-head);grid-template-columns:repeat(3,1fr);display:grid}.svc-card{transition:transform .6s var(--ease-out), box-shadow .6s var(--ease-out);background:#fff;border-radius:14px;text-decoration:none;display:block;overflow:hidden;box-shadow:0 2px 4px #0000000a,0 14px 34px -14px #00000038}.svc-card img{width:100%;height:auto;transition:transform 1s var(--ease-out);display:block}.svc-card span{padding:28px var(--pad-card);font:700 var(--fs-h3)/1.4 var(--sans);justify-content:space-between;align-items:center;gap:16px;display:flex}.svc-card span:after{content:"→";color:var(--accent)}.svc-card:hover{opacity:1;transform:translateY(-6px);box-shadow:0 4px 8px #0000000d,0 24px 44px -16px #0000004d}.svc-card:hover img{transform:scale(1.04)}@media (width<=960px){.svc-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.svc-grid{grid-template-columns:1fr}}.nw{display:inline-block}h1,h2,h3,.svc-card span,.pl-title,.hero-h1{word-break:auto-phrase;text-wrap:balance}.is-split .w{white-space:nowrap;display:inline-block}.box{padding:var(--pad-card);background:#fff;border-radius:14px;box-shadow:0 2px 4px #0000000a,0 14px 34px -14px #00000038}.text-body{max-width:860px;margin-inline:auto}.grid-3{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=960px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.grid-3{grid-template-columns:1fr}}.center-cta{text-align:center;margin-top:var(--sp-head)}.photo-wide{width:100%;height:auto}.num-card{counter-increment:card;position:relative}.num-cards{counter-reset:card}.num-card:before{content:counter(card, decimal-leading-zero);font:700 var(--fs-h2)/1 var(--en);color:var(--accent);margin-bottom:20px;display:block}.num-card h3{font-size:var(--fs-h3);margin-bottom:14px;line-height:1.5}.num-card p{font:500 var(--fs-body)/1.95 var(--sans);color:var(--sub);margin:0 0 1em}.num-card p:last-child{margin-bottom:0}.steps{counter-reset:s;gap:28px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:s;grid-template-columns:96px 1fr;align-items:start;gap:8px 32px;display:grid}.steps li:before{content:counter(s, decimal-leading-zero);font:700 clamp(40px, 5vw, 56px)/1 var(--en);color:var(--accent);grid-row:span 3}.steps h2{font-size:var(--fs-h3);margin:4px 0 6px}.steps p{color:#2b2b2b;margin:0}.steps p+p{margin-top:.8em}@media (width<=620px){.steps li{grid-template-columns:1fr}.steps li:before{grid-row:auto}}.voice{margin-bottom:var(--gap);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.voice .v-photo img{border-radius:10px;width:100%;height:auto}.voice:nth-child(2n) .v-photo{order:2}@media (width<=800px){.voice{grid-template-columns:1fr}.voice:nth-child(2n) .v-photo{order:0}}.spec-box{max-width:960px;margin-inline:auto}.spec-box dl.spec{border-top:0}.spec-box dl.spec dt,.spec-box dl.spec dd{padding:22px 8px}.portrait{aspect-ratio:1;object-fit:cover;filter:grayscale();border-radius:14px;width:100%;max-width:520px}.form-box{max-width:820px;margin-inline:auto}.form-box .form{gap:32px;max-width:none}.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea{font-size:var(--fs-body);border-radius:8px;padding:16px 18px}.article-eyecatch{width:min(1000px, 100% - var(--gutter) * 2);border-radius:14px;margin:48px auto 0;overflow:hidden}.article-eyecatch img{width:100%;height:auto;display:block}@media (width<=860px){.ph-title{max-width:70%}}.hero-person{object-fit:contain;object-position:bottom;z-index:0;pointer-events:none;filter:drop-shadow(0 18px 28px #00000073)drop-shadow(0 2px 6px #0000004d);width:auto;max-width:90%;height:min(88%,960px);position:absolute;bottom:calc(-1*clamp(70px,9vw,130px));left:50%;transform:translate(-50%)}.hero-vertical,.hero-sub,.scroll-hint{z-index:1}@media (width<=860px){.hero-person{height:62%;bottom:-64px}}.concept-photo{margin:var(--sp-section) auto 0;max-width:960px;padding:0 var(--gutter)}.concept-photo img{width:100%;height:auto;display:block}.core-photo{margin:0}.core-photo img{width:100%;height:auto;display:block}.ai-card.is-main:hover,.ai-card:hover{background:var(--black);color:#fff}.ai-card:hover>p:not(.ai-en):not(.ai-more){color:#d6d6cf}.ai-card:hover h3,.ai-card:hover h3 a,.ai-card:hover .ai-more a,.ai-card:hover .ai-en{color:#fff}
