@charset "UTF-8";
:root{--blue:#233e91;--blue-deep:#192e72;--ink:#172746;--muted:#59657b;--line:#dce3ee;--paper:#f5f7fb;--yellow:#f6e5bc;--max:1200px;--gutter:clamp(24px,5vw,80px);font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:16px;line-height:1.9;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img,svg{display:block;max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d4891e;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-feature-settings:"palt";text-wrap:pretty}h2{font-size:clamp(27px,3.1vw,40px);line-height:1.65;letter-spacing:.015em;font-weight:800}h3{font-size:22px;line-height:1.7}p{overflow-wrap:anywhere}p+p{margin-top:20px}button{border:0}button[hidden],[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:14px}.skip-link:focus{top:10px}.section-shell{width:min(100% - var(--gutter)*2,var(--max));margin:auto;padding-block:100px}.section-label{display:flex;gap:14px;align-items:center;font-size:13px;letter-spacing:.08em;font-weight:700;margin-bottom:34px;color:var(--blue)}.section-label>span{font-size:11px;letter-spacing:.03em;border:1px solid #9ba9c6;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:700}.eyebrow.light{color:#d5dffd}.small-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--blue)}.site-header{height:88px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--gutter);background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e3e8f0}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:18px;line-height:1.5;white-space:nowrap}.brand img{object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:.12em;font-weight:500;color:var(--muted);margin-top:2px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:700}.site-header nav>a{min-height:44px;display:flex;align-items:center;position:relative}.site-header nav>a:hover{color:var(--blue)}.site-header .nav-contact{background:var(--blue);color:#fff;padding:12px 24px;gap:24px;border-radius:3px}.site-header .nav-contact:hover{background:var(--blue-deep);color:#fff}.button{min-height:58px;display:inline-flex;gap:34px;align-items:center;justify-content:space-between;border-radius:4px;padding:16px 24px;line-height:1.5;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.button-white{background:white;color:var(--blue)}.button-white:hover{background:#eef2fc}
.hero{position:relative;isolation:isolate;background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:6%;padding:66px var(--gutter) 92px;overflow:hidden;min-height:730px}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,transparent 60%,#2b469a 60%)}.hero-copy{justify-self:end;width:min(100%,550px)}.tiny-cross{display:inline-block;color:#b3c9fc;font-size:19px;vertical-align:middle;margin-right:8px}.hero h1{font-size:clamp(44px,4.2vw,64px);line-height:1.42;letter-spacing:.035em;font-weight:800;margin:22px 0}.hero h1 span{letter-spacing:0}.hero-description{font-size:16px;line-height:2;color:#e1e8ff;margin-bottom:28px}.hero-caption{font-size:11px;color:#b9c9f1;margin-top:12px;letter-spacing:.04em}.hero-visual{width:min(100%,580px);align-self:center;margin-top:10px}.diagram-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #6683c3;padding-bottom:16px;gap:10px;font-size:12px;letter-spacing:.04em;color:#e3eaff}.hero-map{width:100%;height:auto}.hero-map text{text-anchor:middle;font-family:inherit;fill:#fff;font-size:16px;font-weight:600}.hero-map .node-detail{font-size:12px;fill:#b7c9f4;font-weight:400}.hero-map .hub-top{fill:#63739a;font-size:13px;font-weight:500}.hero-map .hub-main{fill:#233e91;font-size:21px;font-weight:800}.hero-map .human-text{fill:#4b422e}.diagram-bottom{display:flex;align-items:center;gap:9px;border-top:1px solid #6683c3;padding-top:14px;font-size:11px;color:#c2d1f4}.diagram-dot{width:6px;height:6px;border-radius:50%;background:var(--yellow)}.hero-scroll{position:absolute;bottom:24px;left:var(--gutter);display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.1em;min-height:44px;color:#c5d4fc}.hero-scroll>span{font-size:24px}.flow-packets{opacity:0}.motion-ready .flow-packets{opacity:1}.packet{animation:packet-travel 5s linear infinite;animation-play-state:paused;offset-rotate:0deg}.p1{offset-path:path("M105 134 V205 Q105 220 120 220 H200");animation-delay:-1s}.p2{offset-path:path("M292 134 V196");animation-delay:-3.2s}.p3{offset-path:path("M480 134 V205 Q480 220 465 220 H385");animation-delay:-2.3s}.p4{offset-path:path("M292 307 V348 H456 Q470 348 470 363 V395");animation-delay:-.3s}.motion-running .packet{animation-play-state:running}@keyframes packet-travel{0%{offset-distance:0%;opacity:0}15%,80%{opacity:1}100%{offset-distance:100%;opacity:0}}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.intro-text{color:var(--muted);line-height:2.05}.concern-strip{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);padding-top:34px;margin-top:48px}.concern-strip>span{font-size:13px;font-weight:700}.support{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading>p{color:var(--muted);font-size:14px}
.experience{background:#edf2fa}.experience-inner{padding-block:85px}.experience-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.experience-tag{font-size:12px;color:var(--muted);margin-bottom:16px}.experience h2{font-size:32px;margin-bottom:28px}.experience-copy p:not(.experience-tag){font-size:14px;color:var(--muted);line-height:2}
.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:54px 1fr 160px;gap:25px;border-bottom:1px solid var(--line);align-items:center;padding:30px 0}.step-number{font-size:25px;font-weight:400;align-self:start;color:#8b9abb}.process-list h3{font-size:21px;margin-bottom:8px}.process-list p{font-size:14px;color:var(--muted);max-width:650px}.step-result{font-size:11px;color:var(--blue);background:#edf2fb;border-radius:30px;padding:8px 12px;text-align:center}.pricing-note{margin-top:35px;max-width:800px;padding-left:79px}.pricing-note h3{font-size:16px;margin-bottom:8px}.pricing-note p{font-size:13px;color:var(--muted)}.person{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:10%;align-items:center;padding-block:80px}.person-brand{text-align:center}.person-brand img{width:150px;height:150px;object-fit:contain;margin:0 auto 20px}.person-brand p{font-size:12px}.person-brand strong{font-size:22px;display:block;letter-spacing:.08em;margin-top:6px}.person-brand span{font-size:10px;color:var(--muted);display:block;margin-top:10px}.person-message h2{font-size:33px;margin:12px 0 24px}.person-message>p:not(.small-label){font-size:14px;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.7fr;gap:8%;border-top:1px solid var(--line)}.faq-heading h2{font-size:30px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;position:relative;padding:21px 36px 21px 0;cursor:pointer;font-size:14px;font-weight:700;line-height:1.8}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"＋";position:absolute;right:0;top:19px;font-size:20px;color:#6781ae;font-weight:400}.faq details[open] summary::after{content:"−"}.faq details p{font-size:13px;color:var(--muted);padding:0 30px 24px 0;line-height:2}.contact{position:relative;isolation:isolate;background:var(--blue);color:#fff;overflow:hidden;padding:85px var(--gutter) 75px}.contact-inner{max-width:900px;margin:auto;text-align:center}.contact h2{font-size:clamp(28px,3.3vw,43px);margin:22px 0}.contact-inner>p:not(.eyebrow){color:#d4e0fc;font-size:14px}.contact-button{min-width:300px;justify-content:center;gap:45px;margin-top:30px}.email-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;font-size:14px}.email-row a{min-height:44px;display:flex;align-items:center}.email-row button{font-size:11px;background:none;color:#d6e2ff;border:1px solid #7089c4;border-radius:3px;min-height:44px;padding:5px 12px}.contact-inner .copy-status{font-size:12px;min-height:23px;margin:0}.contact-inner .contact-small{font-size:11px!important;line-height:1.9;margin-top:22px;color:#bcccf3!important}.contact-decoration{position:absolute;z-index:-1;inset:0;overflow:hidden;opacity:.25;pointer-events:none}.contact-decoration span{position:absolute;border:1px solid #8fa8e1;width:550px;height:550px;border-radius:50%;left:-320px;top:40px}.contact-decoration span:nth-child(2){left:auto;right:-270px;top:-140px;width:520px;height:520px}.contact-decoration span:nth-child(3){left:auto;right:-220px;top:-90px;width:420px;height:420px}.site-footer{padding:28px var(--gutter);display:flex;align-items:center;gap:22px;font-size:10px;color:var(--muted);line-height:1.6}.footer-brand{font-size:14px;font-weight:700;color:var(--ink);min-height:44px;display:flex;align-items:center}.site-footer>a:not(.footer-brand){margin-left:auto;min-height:44px;display:flex;align-items:center}.mobile-only{display:none}.legal{max-width:760px;min-height:65vh}.legal h1{font-size:30px;margin:20px 0 36px}.legal h2{font-size:20px;margin:28px 0 10px}.legal p{color:var(--muted);font-size:15px}.legal ul{padding-left:20px;font-size:15px}
@media(min-width:1600px){.hero{padding-inline:max(var(--gutter),calc((100vw - 1280px)/2));column-gap:70px}.site-header{padding-inline:max(var(--gutter),calc((100vw - 1280px)/2))}.hero-scroll{left:max(var(--gutter),calc((100vw - 1280px)/2))}}
@media(max-width:1020px){.site-header nav{gap:20px}.site-header nav>a:not(.nav-contact){display:none}.hero{gap:3%;min-height:680px;padding-top:48px}.hero h1{font-size:44px}.hero-description{font-size:14px}.hero .button{padding-inline:17px;gap:15px;font-size:12px}.diagram-top{font-size:10px;gap:4px}.diagram-bottom{font-size:10px}.intro-grid,.concern-strip{gap:6%}.experience-grid{gap:5%}.experience h2{font-size:27px}.site-footer{flex-wrap:wrap;gap:12px 20px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:84px}.site-header{height:76px;padding-inline:20px}.brand{font-size:14px;gap:7px}.brand img{width:32px;height:32px}.brand small{font-size:9px;letter-spacing:.07em}.site-header .nav-contact{padding:9px 15px;font-size:11px;gap:14px;min-height:44px}.hero{grid-template-columns:1fr;padding:36px var(--gutter) 37px;gap:26px;min-height:0}.hero::before{background:linear-gradient(145deg,transparent 50%,#2b469a 50%)}.hero-copy{width:100%;justify-self:start}.hero .eyebrow{font-size:10px;letter-spacing:.04em}.tiny-cross{font-size:16px}.hero h1{font-size:clamp(33px,9.6vw,48px);line-height:1.42;letter-spacing:.015em;margin:18px 0 20px}.hero-description{font-size:14px;line-height:1.95;margin-bottom:21px}.hero .button{font-size:12px;min-height:54px;gap:22px;padding:14px 19px}.hero-caption{font-size:10px;margin-top:10px}.hero-visual{max-width:450px;justify-self:center;margin-top:5px}.hero-map{width:100%;height:auto}.diagram-top{padding-bottom:8px;font-size:10px}.diagram-bottom{font-size:10px;padding-top:10px}.hero-scroll{display:none}.section-shell{padding-block:65px}.section-label{font-size:11px;letter-spacing:.04em;margin-bottom:25px;gap:10px}.section-label>span{width:24px;height:24px;font-size:10px}.intro-grid,.concern-strip{grid-template-columns:1fr;gap:25px}.intro h2{font-size:27px}.intro-text{font-size:15px;line-height:2}.intro-text p+p{margin-top:18px}.concern-strip{margin-top:31px;padding-top:25px;gap:16px}.concern-strip>span{font-size:12px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:27px}.section-heading>p{font-size:13px;line-height:2;margin-top:19px}.small-label{font-size:11px}.experience-inner{padding-block:62px}.experience-grid{grid-template-columns:1fr;gap:30px}.experience h2{font-size:26px;margin-bottom:22px}.experience-tag{font-size:11px}.experience-copy p:not(.experience-tag){font-size:14px}.process-list li{grid-template-columns:35px 1fr;gap:6px 13px;padding:25px 0;align-items:start}.step-number{font-size:20px}.process-list h3{font-size:18px;margin-bottom:11px}.process-list p{font-size:13px;line-height:2}.step-result{grid-column:2;justify-self:start;font-size:10px;padding:5px 12px;margin-top:10px}.pricing-note{padding-left:0;margin-top:29px}.pricing-note h3{font-size:15px}.pricing-note p{font-size:12px;line-height:2}.person{display:flex;flex-direction:column-reverse;gap:34px}.person-message h2{font-size:27px}.person-message>p:not(.small-label){font-size:14px;line-height:2}.person-brand{display:flex;text-align:left;gap:20px;align-items:center;align-self:start}.person-brand img{width:93px;height:93px;margin:0}.person-brand p{font-size:11px}.person-brand strong{font-size:20px;margin-top:3px}.person-brand span{font-size:9px;margin-top:5px;line-height:1.7}.faq{display:block}.faq-heading h2{font-size:26px;margin-bottom:28px}.faq summary{font-size:13px;padding-block:20px}.faq details p{font-size:12px;line-height:2;padding-right:12px}.contact{padding:62px var(--gutter) 50px}.contact .eyebrow{font-size:11px}.contact h2{font-size:26px;line-height:1.7;margin:18px 0 22px}.contact-inner>p:not(.eyebrow){font-size:12px;line-height:2}.contact-button{min-width:0;width:100%;max-width:310px;font-size:14px;min-height:56px;margin-top:26px;gap:35px}.email-row{font-size:13px;gap:12px;margin-top:12px}.contact-inner .contact-small{font-size:10px!important}.mobile-only{display:block}.site-footer{padding:23px var(--gutter);gap:0 16px;display:grid;grid-template-columns:1fr}.site-footer>a:not(.footer-brand){margin-left:0}.site-footer small{font-size:9px}.legal h1{font-size:25px}.legal h2{font-size:18px}.legal p,.legal ul{font-size:14px}}
@media(max-width:350px){.site-header{padding-inline:16px}.brand{font-size:12px}.brand img{width:28px;height:28px}.site-header .nav-contact{padding-inline:12px;gap:9px}.hero h1{font-size:32px}.hero .button{font-size:11px;padding-inline:14px;gap:15px}.hero-caption{font-size:9px}.diagram-top{font-size:9px}.diagram-bottom{font-size:9px}.section-heading h2,.intro h2{font-size:24px}.experience h2{font-size:23px}.person-brand{gap:13px}.person-brand img{width:76px;height:76px}.contact h2{font-size:23px}.contact-inner>p:not(.eyebrow){font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.flow-packets{display:none}.button:hover{transform:none}}
@media(max-width:700px){.hero-map text{font-size:20px}.hero-map .node-detail{font-size:17px}.hero-map .hub-top{font-size:17px}.hero-map .hub-main{font-size:24px}}

.person-brand img.author-portrait{width:210px;height:210px;object-fit:cover;border-radius:12px}
@media(max-width:700px){.person-brand img.author-portrait{width:112px;height:112px;flex-shrink:0}}
@media(max-width:350px){.person-brand img.author-portrait{width:88px;height:88px}}

/* 一貫して担当する範囲 */
.service-route{padding-block:42px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}
.route-intro{display:flex;align-items:center;gap:17px}
.route-intro img{width:60px;height:60px;border-radius:50%;border:1px solid var(--line);flex:none}
.route-intro h2{font-size:19px;line-height:1.7;margin-top:5px}
.route-intro .small-label{font-size:11px;font-weight:500;letter-spacing:0}
.route-steps{position:relative;padding-top:20px}
.route-steps ol{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;margin:0;padding:0;text-align:center;font-size:13px;font-weight:700}
.route-steps li{position:relative;padding-top:18px}
.route-steps li::before{content:"";position:absolute;width:9px;height:9px;background:var(--blue);border:2px solid white;border-radius:50%;top:-3px;left:calc(50% - 4.5px)}
.route-rail{position:absolute;height:2px;top:20px;left:8.333%;right:8.333%;background:#c4cfe5}
.route-runner{position:absolute;top:-4px;left:0;transform:translateX(-50%);width:10px;height:10px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 5px #233e9112;animation:route-travel 10s ease-in-out infinite;animation-play-state:paused}
@keyframes route-travel{0%,8%{left:0}20%,25%{left:20%}37%,42%{left:40%}54%,59%{left:60%}71%,76%{left:80%}88%,96%{left:100%}100%{left:0}}
.concern-list{margin:0;display:grid;gap:20px}
.concern-list dt{font-size:14px;font-weight:700;line-height:1.8;padding-left:20px;position:relative}
.concern-list dt::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border:1px solid #7390c8;transform:rotate(45deg)}
.concern-list dd{margin:5px 0 0 20px;font-size:13px;color:var(--muted);line-height:1.9}

/* 改善前後を同じ流れで示す業務図 */
.business-flow{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:32px}
.business-flow figcaption{display:flex;gap:24px;align-items:center;margin-bottom:30px}
.business-flow figcaption strong{font-size:20px;line-height:1.7}
.business-stages{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.business-stage{min-width:0;--stage-color:var(--blue);--stage-tint:#eef2fc}
.stage-human{--stage-color:#81591b;--stage-tint:#fcf0d6}
.stage-keep{--stage-color:#606c7c;--stage-tint:#f0f2f5}
.stage-heading{display:flex;align-items:center;gap:10px;margin-bottom:15px;position:relative}
.stage-index{width:28px;height:28px;display:grid;place-items:center;border:1px solid #c2cde0;border-radius:50%;color:var(--blue);font-size:10px;background:#fff;flex:none}
.stage-heading h3{font-size:18px;line-height:1.3}
.stage-heading small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:7px}
.business-stage:not(:last-child) .stage-heading::after{content:"→";position:absolute;right:-19px;font-size:19px;color:#8fa2c3}
.stage-body{height:calc(100% - 55px);background:#fff;border:1px solid var(--line);border-top:3px solid var(--stage-color);border-radius:5px;padding:16px 15px 22px}
.stage-art{width:100%;height:70px;stroke:var(--stage-color);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.stage-art .art-packet{fill:var(--blue);stroke:#fff;animation:document-travel 5s linear infinite;animation-play-state:paused}
@keyframes document-travel{0%,12%{transform:translateX(-8px);opacity:0}20%,70%{opacity:1}85%,100%{transform:translateX(36px);opacity:0}}
.stage-art .notification-dot{fill:#dfb557;stroke:#fff;transform-box:fill-box;transform-origin:center;animation:notice-pulse 8s ease-in-out infinite;animation-play-state:paused}
@keyframes notice-pulse{0%,38%,70%,100%{transform:scale(1);opacity:.6}46%,58%{transform:scale(1.35);opacity:1}}
.stage-art .chart-bar{fill:#dce5f8;animation:chart-highlight 8s ease-in-out infinite;animation-play-state:paused}
.stage-art .chart-bar:nth-of-type(2){animation-delay:-1s}.stage-art .chart-bar:nth-of-type(3){animation-delay:-2s}
@keyframes chart-highlight{0%,55%,100%{fill:#dce5f8}70%,85%{fill:#8ca6dc}}
.stage-before{font-size:13px;line-height:1.8;color:var(--muted);min-height:48px}
.kind-label{display:inline-flex;align-items:center;gap:6px;color:var(--stage-color);background:var(--stage-tint);border-radius:4px;padding:4px 7px;font-size:11px;line-height:1.7;font-weight:700;margin:15px 0 10px;white-space:nowrap}
.kind-label>span{font-size:17px;line-height:1}.kind-label svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.stage-keep .kind-label{border:1px dashed #a3abb8;padding:3px 6px}
.stage-after{font-size:14px;line-height:1.9;font-weight:700;color:var(--ink)}
.flow-outcome{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:25px;padding:20px;border-top:1px solid #cdd7e7;color:var(--blue)}
.outcome-icon{font-size:33px;line-height:1}
.flow-outcome strong{font-size:13px;margin-right:20px}.flow-outcome div>span{font-size:15px;font-weight:700}
.figure-note{font-size:11px;line-height:1.9;color:var(--muted);margin:0}
.tool-options{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;padding-top:38px;margin-top:38px;border-top:1px solid var(--line)}
.tools-intro h3{font-size:21px;line-height:1.8;margin-bottom:14px}
.tools-intro p{font-size:14px;color:var(--muted)}
.tool-options ul{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.tool-options li{display:flex;align-items:start;gap:17px}
.tool-options li>span{font-size:12px;color:#8a9abd;line-height:2.5}
.tool-options strong{font-size:15px}.tool-options li p{font-size:13px;color:var(--muted);margin-top:4px}

/* チャットの会話例 */
.experience-grid{grid-template-columns:1fr 1fr;gap:7%}
.experience-copy{align-self:center}
.experience-result{border-top:1px solid #c9d5e8;padding-top:24px;margin-top:28px}
.experience-result strong{display:block;color:var(--blue);font-size:18px;line-height:1.8}
.experience-copy .experience-result p{font-size:13px;margin-top:10px}
.chat-demo{margin:0;background:#fff;border:1px solid #d5dfed;border-radius:10px;padding:25px 26px}
.chat-demo figcaption{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px;line-height:1.6}
.chat-indicator{width:7px;height:7px;background:var(--blue);border-radius:50%;flex:none}
.chat-caption{font-size:10px;color:var(--muted);font-weight:400;margin-left:auto}
.chat-messages{list-style:none;margin:0;padding:0;display:grid;gap:17px}
.chat-messages>li{max-width:93%;min-width:0}
.chat-who{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;line-height:1.6;margin-bottom:6px}
.chat-messages p{font-size:14px;line-height:1.8;padding:12px 15px;border-radius:9px;background:#edf2fb;color:var(--ink)}
.chat-question{justify-self:end}
.chat-question .chat-who{justify-content:end}
.chat-question p{background:var(--blue);color:#fff;border-bottom-right-radius:2px}
.chat-answer,.chat-escalation{justify-self:start}
.chat-answer p,.chat-escalation p{border-bottom-left-radius:2px}
.chat-source{display:block;font-size:10px;color:#536887;border-top:1px solid #ccd8ec;margin-top:8px;padding-top:7px}
.chat-escalation p{background:#faf0d9}
.chat-escalation .chat-who{color:#805b25}
.reply-indicator,.notice-indicator{color:#6389cd;animation:reply-pulse 10s ease-in-out infinite;animation-play-state:paused;opacity:.35;font-size:9px}
.notice-indicator{color:#be872b;animation-delay:-5s}
@keyframes reply-pulse{0%,15%,55%,100%{opacity:.35;transform:scale(1)}25%,40%{opacity:1;transform:scale(1.4)}}
.chat-team{display:flex;align-items:center;gap:10px;padding:3px 0 0 7px}
.team-symbol{display:grid;place-items:center;width:29px;height:29px;border:1px solid #d8c694;background:#fff9ed;color:#8a6925;border-radius:50%;flex:none;font-size:13px}
.chat-team p{background:none;padding:0;font-size:13px}.chat-team .chat-who{margin-bottom:3px}
.chat-demo>.figure-note{margin-top:22px;font-size:10px}
.service-route.motion-running .route-runner,.business-stage.motion-running .art-packet,.business-stage.motion-running .notification-dot,.business-stage.motion-running .chart-bar,.chat-demo.motion-running .reply-indicator,.chat-demo.motion-running .notice-indicator{animation-play-state:running}

@media(max-width:1020px){
 .service-route{gap:25px;grid-template-columns:1fr 1fr}.route-intro{gap:12px}.route-intro h2{font-size:16px}.route-intro .small-label{font-size:10px}.route-intro img{width:48px;height:48px}.route-steps ol{font-size:12px}
 .business-flow{padding:25px}.business-stages{gap:15px}.stage-body{padding-inline:11px}.stage-heading{gap:8px}.stage-heading h3{font-size:16px}.stage-heading small{font-size:10px}.stage-before{font-size:12px}.stage-after{font-size:13px}.business-stage:not(:last-child) .stage-heading::after{right:-15px;font-size:15px}.kind-label{font-size:10px;padding-inline:5px}
 .experience-grid{gap:5%}.chat-demo{padding:22px 20px}.chat-messages p{font-size:13px}
}
@media(max-width:700px){
 .service-route{display:block;padding-block:31px 35px}.route-intro{gap:14px}.route-intro img{width:49px;height:49px}.route-intro h2{font-size:16px;line-height:1.7}.route-intro .small-label{font-size:10px}.route-steps{margin-top:15px}.route-steps ol{font-size:12px}
 .concern-list{gap:22px}.concern-list dt{font-size:14px}.concern-list dd{font-size:13px;margin-top:6px;line-height:1.9}
 .business-flow{padding:25px 19px 21px}.business-flow figcaption{display:block;margin-bottom:28px}.business-flow figcaption .small-label{display:block;margin-bottom:8px}.business-flow figcaption strong{display:block;font-size:21px}
 .business-stages{display:block;padding-left:20px;border-left:1px solid #b6c5df;margin-left:12px}
 .business-stage{padding-bottom:29px}.business-stage:last-child{padding-bottom:0}.stage-heading{gap:12px;margin-left:-34px;margin-bottom:15px}.stage-index{width:27px;height:27px;font-size:10px}.stage-heading h3{font-size:18px;display:flex;gap:13px;align-items:baseline}.stage-heading small{font-size:12px;margin:0}.business-stage:not(:last-child) .stage-heading::after{display:none}
 .stage-body{height:auto;padding:15px 15px 19px;position:relative}.stage-art{height:51px;margin-bottom:13px}.stage-before{font-size:13px;line-height:1.9;min-height:0}.kind-label{font-size:11px;padding:4px 8px;margin:13px 0 9px}.stage-after{font-size:14px;line-height:1.9}.stage-after br{display:none}
 .flow-outcome{justify-content:start;padding:23px 0 15px;gap:12px;margin-top:25px}.flow-outcome strong{display:block;margin:0 0 5px;font-size:12px}.flow-outcome div>span{display:block;font-size:15px;line-height:1.8}.figure-note{font-size:11px;line-height:1.9}
 .tool-options{display:block;padding-top:30px;margin-top:32px}.tools-intro h3{font-size:20px;margin-bottom:12px}.tools-intro p{font-size:13px}.tool-options ul{margin-top:24px;gap:22px}.tool-options strong{font-size:14px}.tool-options li p{font-size:13px;line-height:1.9}
 .experience-grid{grid-template-columns:1fr;gap:30px}.experience-result{padding-top:20px;margin-top:23px}.experience-result strong{font-size:17px}.experience-copy .experience-result p{font-size:13px}.chat-demo{padding:22px 20px;max-width:450px;width:100%;margin:auto}.chat-demo figcaption{font-size:12px;gap:7px}.chat-caption{font-size:10px}.chat-messages{gap:17px}.chat-messages p{font-size:14px;padding:11px 13px}.chat-who{font-size:11px}.chat-source{font-size:10px}.chat-team p{padding:0;font-size:13px}.chat-demo>.figure-note{font-size:10px}
}
@media(max-width:350px){
 .route-intro{gap:11px}.route-intro h2{font-size:14px}.route-intro .small-label{font-size:9px}.route-intro img{width:40px;height:40px}.route-steps ol{font-size:11px}
 .business-flow{padding-inline:13px}.business-flow figcaption strong{font-size:19px}.stage-heading h3{font-size:17px;gap:9px}.stage-heading small{font-size:11px}.stage-body{padding-inline:12px}.stage-before{font-size:12px}.stage-after{font-size:13px}
 .chat-demo{padding:20px 15px}.chat-caption{margin-left:16px}.chat-messages p{font-size:13px}.chat-team p{font-size:12px}.chat-who{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.route-runner{display:none}.reply-indicator,.notice-indicator{opacity:1}.stage-art .notification-dot{opacity:1}}

/* 会話と改善後の説明を順に表示し、読む間を置いて繰り返す。高さは固定。 */
@keyframes reveal-one{
  0%,2%{opacity:0;transform:translateY(16px)}
  5%,91%{opacity:1;transform:translateY(0)}
  95%,100%{opacity:0;transform:translateY(0)}
}
@keyframes reveal-two{
  0%,10%{opacity:0;transform:translateY(16px)}
  13%,91%{opacity:1;transform:translateY(0)}
  95%,100%{opacity:0;transform:translateY(0)}
}
@keyframes reveal-three{
  0%,22%{opacity:0;transform:translateY(16px)}
  25%,91%{opacity:1;transform:translateY(0)}
  95%,100%{opacity:0;transform:translateY(0)}
}
@keyframes reveal-four{
  0%,32%{opacity:0;transform:translateY(16px)}
  35%,91%{opacity:1;transform:translateY(0)}
  95%,100%{opacity:0;transform:translateY(0)}
}
@keyframes reveal-five{
  0%,42%{opacity:0;transform:translateY(16px)}
  45%,91%{opacity:1;transform:translateY(0)}
  95%,100%{opacity:0;transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){
 .chat-demo.motion-ready .chat-messages>li{animation:reveal-one 16s ease-out infinite both;animation-play-state:paused}
 .chat-demo .chat-messages>li:nth-child(2){animation-name:reveal-two}
 .chat-demo .chat-messages>li:nth-child(3){animation-name:reveal-three}
 .chat-demo .chat-messages>li:nth-child(4){animation-name:reveal-four}
 .chat-demo .chat-messages>li:nth-child(5){animation-name:reveal-five}
 .chat-demo.motion-running .chat-messages>li{animation-play-state:running}
 .business-stage.motion-ready .stage-change{animation:reveal-one 12s ease-out infinite both;animation-play-state:paused}
 .business-stage:nth-child(2) .stage-change{animation-name:reveal-two}
 .business-stage:nth-child(3) .stage-change{animation-name:reveal-three}
 .business-stage:nth-child(4) .stage-change{animation-name:reveal-four}
 .business-stage.motion-running .stage-change{animation-play-state:running}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .business-stage.motion-ready .stage-change{animation-name:reveal-one}
}
