:root{--accent:#a23b2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#241f1a;-webkit-font-smoothing:antialiased;background:#faf8f5;margin:0;font-family:Noto Sans JP,sans-serif}::selection{background:var(--accent);color:#fff}strong{font-weight:700}.lede strong,.str-body strong{color:#241f1a}.perf-lede strong,.style-note strong{color:#fff}.accent-dark{color:color-mix(in srgb,var(--accent) 60%,#fff 40%)}.serif{font-family:Shippori Mincho,serif}a{color:inherit;text-decoration:none;transition:color .2s}img{max-width:100%;display:block}.wrap{max-width:1180px;margin:0 auto;padding:0 40px}.section{padding:120px 0}.eyebrow{letter-spacing:.22em;color:var(--accent);margin:0 0 18px;font-size:13px;font-weight:700}.h2{letter-spacing:.02em;margin:0 0 8px;font-size:40px;font-weight:600;line-height:1.3}.h2sub{color:#241f1a8c;margin:0 0 56px;font-size:15px;font-weight:500}.lede{color:#241f1acc;max-width:680px;font-size:16px;line-height:2}.rule{background:var(--accent);width:56px;height:2px;margin:28px 0}.btn{background:var(--accent);color:#fff;letter-spacing:.04em;border-radius:2px;align-items:center;gap:10px;padding:16px 34px;font-size:14px;font-weight:700;transition:transform .25s,box-shadow .25s,background-color .25s,color .25s,border-color .25s;display:inline-flex;box-shadow:0 10px 30px -12px #a23b2e99}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px -14px #a23b2ebf}.btn.ghost{color:#fff;box-shadow:none;background:0 0;border:1px solid #ffffff80}.btn.ghost:hover{color:#241f1a;box-shadow:none;background:#fff;border-color:#fff}.btn.dark{color:#241f1a;box-shadow:none;background:0 0;border:1px solid #241f1a40}.btn.dark:hover{color:#fff;box-shadow:none;background:#241f1a;border-color:#241f1a}header.nav{z-index:50;backdrop-filter:blur(10px);background:#faf8f5e6;border-bottom:1px solid #241f1a14;position:fixed;top:0;left:0;right:0}.navrow{justify-content:space-between;align-items:center;height:76px;display:flex}.navlinks{align-items:center;gap:26px;display:flex}.navlinks a{letter-spacing:.08em;color:#241f1aa6;font-size:13px;font-weight:600}.navlinks a:hover{color:var(--accent)}.logo-header{object-fit:contain;width:130px;height:36px}.hero{background:radial-gradient(1100px 620px at 72% 18%,#a23b2e38,#0000 62%),radial-gradient(800px 520px at 12% 85%,#a23b2e1f,#0000 60%),linear-gradient(165deg,#242019 0%,#1c1815 55%,#151110 100%);align-items:flex-end;min-height:100vh;display:flex;position:relative}.hero-overlay{background:linear-gradient(#14100e33 0%,#14100e59 55%,#14100ed9 100%);position:absolute;inset:0}.hero-inner{z-index:2;color:#fff;padding-bottom:96px;position:relative}.hero-eyebrow{letter-spacing:.34em;color:color-mix(in srgb,var(--accent) 42%,#fff 58%);margin:0 0 26px;font-size:13px;font-weight:600}.hero-title{letter-spacing:.03em;margin:0 0 26px;font-size:clamp(40px,6vw,84px);font-weight:600;line-height:1.25}.hero-name{letter-spacing:.08em;color:#ffffffbf;margin:0 0 44px;font-size:16px}.scrollcue{z-index:2;color:#fff9;letter-spacing:.2em;writing-mode:vertical-rl;font-size:11px;position:absolute;bottom:40px;right:40px}.tinted{background:#f2ece5}.bullets{flex-direction:column;gap:14px;margin:24px 0 0;padding:0;list-style:none;display:flex}.bullets li{color:#241f1ad1;gap:12px;font-size:15px;line-height:1.7;display:flex}.bullets li:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;margin-top:9px}.vc-line{color:#241f1a80;border-top:1px solid #241f1a1f;margin-top:36px;padding-top:20px;font-size:13px}.str-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.str-card{background:#fff;border:1px solid #241f1a14;border-radius:2px;padding:44px;transition:box-shadow .3s,transform .3s}.str-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -30px #241f1a4d}.str-num{color:var(--accent);margin:0 0 18px;font-family:Shippori Mincho,serif;font-size:15px;font-weight:600}.str-title{margin:0 0 16px;font-size:22px;font-weight:600}.str-body{color:#241f1abf;font-size:14.5px;line-height:1.9}.chips{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.chip{color:#241f1ab3;border:1px solid #241f1a26;border-radius:20px;padding:8px 16px;font-size:12.5px;font-weight:600}.style-grid{border:1px solid #241f1a1a;grid-template-columns:1fr 1fr;gap:0;display:grid}.style-col{padding:44px}.style-col.them{background:#fff}.style-col.us{color:#fff;background:#241f1a}.style-h{letter-spacing:.06em;margin:0 0 22px;font-size:13px;font-weight:700}.style-col.us .style-h{color:color-mix(in srgb,var(--accent) 60%,#fff 40%)}.style-row{border-top:1px solid #241f1a14;align-items:flex-start;gap:10px;padding:10px 0;font-size:14.5px;line-height:1.7;display:flex}.style-col.us .style-row{border-top:1px solid #ffffff1a}.style-note{color:#ffffffa6;margin-top:28px;font-size:13px;line-height:1.8}.mark{border-radius:50%;flex:none;justify-content:center;align-items:center;width:19px;height:19px;margin-top:3px;font-size:11px;font-weight:700;display:flex}.mark.ok{background:color-mix(in srgb,var(--accent) 60%,#fff 40%);color:#241f1a}.mark.ok-muted{color:#241f1a99;background:#241f1a1a}.mark.no{color:#241f1a59;background:#241f1a14}.works-head{justify-content:space-between;align-items:flex-end;margin-bottom:56px;display:flex}.works-grid{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.work-card{flex-direction:column;display:flex}.work-img{aspect-ratio:4/5;object-fit:contain;background:#efe9e1;border:1px solid #241f1a14;border-radius:2px;width:100%;padding:14px}.work-tag{color:var(--accent);letter-spacing:.04em;margin:20px 0 8px;font-size:11.5px;font-weight:700}.work-name{margin:0 0 4px;font-size:19px;font-weight:600}.work-sub{color:#241f1a80;margin:0 0 10px;font-size:13.5px}.work-desc{color:#241f1ab8;font-size:14px;line-height:1.75}.blog-grid{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.blog-card{flex-direction:column;display:flex}.blog-img{aspect-ratio:16/9;object-fit:cover;background:#efe9e1;border:1px solid #241f1a14;border-radius:2px;width:100%;transition:opacity .25s}a:hover>.blog-img{opacity:.88}.blog-date{color:var(--accent);letter-spacing:.04em;margin:20px 0 8px;font-size:11.5px;font-weight:700}.blog-title{margin:0 0 8px;font-size:19px;font-weight:600}.blog-title a:hover{color:var(--accent)}.blog-excerpt{color:#241f1ab8;font-size:14px;line-height:1.75}.blog-empty{color:#241f1a99;padding:20px 0 40px;font-size:15px;line-height:1.9}.blog-pagination{justify-content:center;gap:16px;margin-top:56px;display:flex}.blog-pagination a,.blog-pagination span{border:1px solid #241f1a26;border-radius:2px;padding:10px 20px;font-size:13px;font-weight:600}.blog-pagination .disabled{opacity:.35;pointer-events:none}.article-hero{aspect-ratio:16/9;object-fit:contain;background:#efe9e1;border:1px solid #241f1a14;border-radius:2px;width:100%;margin-bottom:40px;padding:14px}.article-date{color:#241f1a80;margin:0 0 12px;font-size:13px}.article-body{color:#241f1acc;max-width:760px;font-size:15.5px;line-height:2}.article-body img{border-radius:2px;max-width:100%;margin:24px 0}.article-body p{margin:0 0 20px}.article-body h2{margin:40px 0 16px;font-size:24px;font-weight:700}.article-body h3{margin:32px 0 12px;font-size:19px;font-weight:700}.article-back{color:var(--accent);margin-top:48px;font-size:13px;font-weight:600;display:inline-block}.mm-poster{border:1px solid #241f1a14;border-radius:2px;width:100%;display:block}.svc-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.svc-card{background:#fff;border:1px solid #241f1a14;border-radius:2px;flex-direction:column;padding:36px;transition:box-shadow .3s,transform .3s;display:flex}.svc-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -30px #241f1a4d}.svc-title{margin:0 0 12px;font-size:20px;font-weight:600}.svc-desc{color:#241f1ab8;margin:0;font-size:14px;line-height:1.8}.svc-link{color:var(--accent);margin-top:auto;padding-top:20px;font-size:13px;font-weight:700}.faq-list{max-width:760px}.faq-item{border-top:1px solid #241f1a1f;padding:22px 0}.faq-q{gap:10px;margin:0 0 10px;font-size:16px;font-weight:700;display:flex}.faq-q:before{content:"Q.";color:var(--accent);flex:none;font-weight:800}.faq-a{color:#241f1abf;gap:10px;margin:0;font-size:14.5px;line-height:1.9;display:flex}.faq-a:before{content:"A.";color:#241f1a66;flex:none;font-weight:800}.cta-mini{background:var(--accent);color:#fff;text-align:center;border-radius:2px;padding:56px 44px}.cta-mini-title{margin:0 0 24px;font-size:24px;font-weight:600}.marquee-block{margin-top:56px}.marquee-label{letter-spacing:.18em;color:#241f1a73;margin:0 0 20px;font-size:12px;font-weight:700}.marquee{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{align-items:center;gap:72px;width:max-content;animation:30s linear infinite marquee;display:flex}.marquee-track>*{flex:none}.marquee-name{color:#241f1a8c;white-space:nowrap;font-size:20px;font-weight:600}.marquee-logo{mix-blend-mode:multiply;opacity:.85;width:auto;height:44px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 36px))}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.foot-links{border-top:1px solid #ffffff1f;flex-wrap:wrap;gap:24px;margin-top:32px;padding-top:24px;display:flex}.foot-links a{letter-spacing:.04em;color:#ffffff8c;font-size:12.5px}.foot-links a:hover{color:color-mix(in srgb,var(--accent) 42%,#fff 58%)}.perf{color:#fff;background:#241f1a}.perf-lede{color:#ffffffbf;max-width:640px;margin:0 0 56px;font-size:15px;line-height:1.9}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;max-width:620px;margin:0 0 64px;display:grid}.stat{border-top:1px solid #ffffff2e;padding-top:28px}.stat-num{color:color-mix(in srgb,var(--accent) 45%,#fff 55%);margin:0 0 14px;font-size:60px;font-weight:600;line-height:1}.stat-unit{margin:0 4px;font-size:22px;font-weight:600}.stat-label{letter-spacing:.08em;color:#fff9;margin:0;font-size:13px}.cond-list{flex-direction:column;gap:12px;margin-top:20px;display:flex}.cond-item{color:#ffffffd9;align-items:center;gap:12px;font-size:14px;display:flex}.cond-check{background:color-mix(in srgb,var(--accent) 60%,#fff 40%);color:#241f1a;border-radius:50%;flex:none;justify-content:center;align-items:center;width:19px;height:19px;font-size:11px;font-weight:700;display:flex}.genre-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.genre-cell{text-align:center;background:#fff;border:1px solid #241f1a1f;padding:26px 20px;font-size:15px;font-weight:600;transition:border-color .25s,color .25s}.genre-cell:hover{border-color:color-mix(in srgb,var(--accent) 45%,#241f1a1f 55%);color:var(--accent)}.flow-row{grid-template-columns:repeat(4,1fr);gap:28px;display:grid;position:relative}.flow-step{background:#fff;border:1px solid #241f1a14;border-radius:2px;padding:30px 24px;position:relative}.flow-step:not(:last-child):after{content:"";border-top:2px solid var(--accent);border-right:2px solid var(--accent);width:11px;height:11px;position:absolute;top:50%;right:-19px;transform:translateY(-50%)rotate(45deg)}.flow-num{color:var(--accent);margin:0;font-family:Shippori Mincho,serif;font-size:30px;font-weight:600;line-height:1}.flow-t{margin:16px 0 10px;font-size:16px;font-weight:700}.flow-d{color:#241f1aa6;margin:0;font-size:13px;line-height:1.7}.msg-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:72px;display:grid}.msg-quote{margin:0 0 30px;font-size:26px;line-height:1.7}.msg-body{color:#241f1abf;font-size:14.5px;line-height:2}.msg-name{margin-top:32px;font-size:14px;font-weight:700}.msg-role{color:#241f1a80;font-size:12.5px}.ceo-photo{aspect-ratio:3/4;object-fit:contain;background:#efe9e1;border:1px solid #241f1a14;border-radius:2px;width:100%;padding:14px}.info-grid{grid-template-columns:auto 1fr;gap:16px 40px;max-width:600px;font-size:14.5px;display:grid}.info-grid dt{color:#241f1a80;margin:0;font-weight:600}.info-grid dd{margin:0}.info-note{color:#241f1aa6;max-width:600px;margin-top:28px;font-size:13.5px;line-height:1.9}.cta{background:var(--accent);color:#fff;text-align:center}.cta-title{margin:0 0 18px;font-size:34px;font-weight:600}.cta-sub{color:#ffffffd9;margin:0 0 40px;font-size:14.5px}.cta-hint{color:#ffffffa6;margin-top:22px;font-size:12.5px}.contact-form{text-align:left;flex-direction:column;gap:20px;max-width:560px;margin:0 auto;display:flex}.contact-form .form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-form label{color:#ffffffe6;flex-direction:column;gap:8px;font-size:13px;font-weight:700;display:flex}.contact-form .label-cap{align-items:center;gap:8px;display:flex}.contact-form .req{color:#fff;background:#00000040;border-radius:10px;padding:2px 8px;font-size:10.5px;font-weight:700}.contact-form input,.contact-form textarea{font:inherit;color:#241f1a;background:#fff;border:none;border-radius:2px;padding:13px 14px;font-size:14px;font-weight:400}.contact-form input:focus,.contact-form textarea:focus{outline-offset:2px;outline:2px solid #fff9}.contact-form textarea{resize:vertical}.contact-form button{cursor:pointer;border:none;align-self:center;margin-top:4px}footer{color:#fffc;background:#241f1a;padding:64px 0 40px}.foot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.foot-name{color:#fff;margin:0 0 4px;font-size:15px;font-weight:700}.foot-addr{color:#ffffff73;margin:0;font-size:12.5px}.foot-copy{color:#ffffff59;font-size:12px}#about,#strength,#works,#flow,#message,#contact{scroll-margin-top:76px}@media (width<=860px){.about-grid,.str-grid,.style-grid,.msg-grid{grid-template-columns:1fr}.genre-grid{grid-template-columns:1fr 1fr}.flow-row{grid-template-columns:1fr;gap:26px;max-width:480px}.flow-step:not(:last-child):after{inset:auto auto -19px 50%;transform:translate(-50%)rotate(135deg)}.hero-title{font-size:44px}.h2{font-size:34px}.section{padding:88px 0}.contact-form .form-row{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr 1fr}.svc-grid{grid-template-columns:1fr}.works-grid{grid-template-columns:1fr 1fr;gap:28px}}@media (width<=640px){.wrap{padding:0 22px}.section{padding:64px 0}.navlinks{display:none}.navrow{height:64px}.logo-header{width:110px;height:30px}#about,#strength,#works,#flow,#message,#contact{scroll-margin-top:64px}.hero-title{font-size:34px}.hero-inner{padding-bottom:72px}.hero-eyebrow{letter-spacing:.26em;font-size:11px}.scrollcue{display:none}.h2{font-size:27px}.h2sub{margin-bottom:36px;font-size:13.5px}.lede{font-size:14.5px}.bullets li{font-size:14px}.vc-line{font-size:12px}.str-card,.style-col,.svc-card{padding:26px 22px}.str-title{font-size:19px}.str-body,.style-row{font-size:13.5px}.works-grid{grid-template-columns:1fr 1fr;gap:22px 14px}.work-img{padding:8px}.work-tag{margin:12px 0 5px;font-size:10px}.work-name{font-size:14.5px}.work-sub{margin-bottom:6px;font-size:11.5px}.work-desc{font-size:12px;line-height:1.65}.blog-grid{grid-template-columns:1fr;gap:28px}.blog-title{font-size:16.5px}.blog-excerpt{font-size:13px}.stat-row{gap:24px;margin-bottom:48px}.stat-num{font-size:40px}.stat-unit{font-size:16px}.stat-label{font-size:11.5px}.perf-lede{margin-bottom:40px;font-size:13.5px}.cond-item{font-size:13px}.genre-cell{padding:18px 10px;font-size:13px}.flow-num{font-size:24px}.flow-t{font-size:14.5px}.flow-d{font-size:12.5px}.flow-step{padding:22px 18px}.msg-grid{gap:36px}.ceo-photo{max-width:300px;margin:0 auto}.msg-quote{font-size:20px}.msg-body{font-size:13.5px}.info-grid{gap:12px 20px;font-size:13.5px}.info-note{font-size:12.5px}.cta-title{font-size:21px}.cta-sub{font-size:13px}.cta-mini{padding:36px 24px}.cta-mini-title{font-size:18px}.faq-q{font-size:14.5px}.faq-a{font-size:13px}.marquee-track{gap:44px}.marquee-name{font-size:16px}.mm-poster{border-radius:2px}.article-body{font-size:14.5px}.foot-row{flex-direction:column;align-items:flex-start;gap:12px}}
