
:root{--ink:#213445;--muted:#65717b;--orange:#d86109;--orange-bright:#ef7d20;--orange-light:#fff2e6;--paper:#fff;--warm:#faf8f4;--line:#dce1e5;--navy:#203748;--teal:#426d66;--radius:14px;--max:1160px;--header:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.85;letter-spacing:.02em}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{max-width:100%}button:disabled{cursor:not-allowed}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.5}h1{letter-spacing:-.015em}h2{font-weight:800;letter-spacing:.025em}h3{font-weight:700}p+p{margin-top:14px}ul,ol{padding-left:1.4em;margin:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #24739a;outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.section{padding:84px 0}.warm{background:var(--warm)}.muted{color:var(--muted)}.small{line-height:1.8}.eyebrow{letter-spacing:.16em;font-weight:800;color:var(--orange);display:block;margin-bottom:13px}.section-head{margin-bottom:36px}.section-head.center{text-align:center;max-width:830px;margin-inline:auto}.section-head p{margin-top:17px;color:var(--muted)}.accent{color:var(--orange)}.inline-label{display:inline-block;border:1px solid #e4d8cc;color:#8a4412;border-radius:4px;padding:3px 10px;font-weight:700;background:#fffaf5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:55px;padding:14px 25px;border:1px solid transparent;border-radius:7px;font-weight:700;line-height:1.6;transition:background .18s,transform .18s,box-shadow .18s}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 5px 12px #c1571317}.btn-primary:hover{background:#b94d04;transform:translateY(-1px);box-shadow:0 7px 15px #c1571325}.btn-secondary{background:#fff;color:var(--ink);border-color:#aebac2}.btn-secondary:hover{background:#f3f5f6}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#0e2233}.arrow{font-family:Arial,sans-serif;line-height:1}.text-link{display:inline-flex;gap:15px;align-items:center;color:var(--orange);border-bottom:1px solid currentColor;font-weight:700;padding-bottom:3px}.text-link:hover{color:#a34807}.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:#fff;z-index:200}.skip-link:focus{top:10px}
.preview-bar{background:#edf1f3;color:#405361;line-height:1.6;min-height:32px;padding:6px 0}.preview-inner{display:flex;align-items:center;justify-content:space-between;gap:15px}.preview-inner>span:before{content:"";display:inline-block;width:6px;height:6px;background:#d96711;border-radius:50%;margin-right:9px;vertical-align:2px}.preview-tools{display:flex;gap:16px;align-items:center}.plain-btn{border:0;background:transparent;color:inherit;padding:0;text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid #e5e9ec;backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:26px}.brand{display:flex;flex-direction:column;flex-shrink:0;line-height:1.2;position:relative}.site-nav{display:flex;align-items:center;gap:22px;font-weight:700}.site-nav>a:not(.btn){padding:16px 0;white-space:nowrap;position:relative}.site-nav>a:not(.btn):hover,.site-nav>a[aria-current="location"]{color:var(--orange)}.site-nav .btn{min-height:43px;padding:10px 15px;gap:12px}.menu-toggle{display:none;min-width:44px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:6px}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:19px;height:2px;background:var(--ink);position:relative;margin:auto}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#fff 30%,#fff9f2 100%);padding:67px 0 59px}.hero:after{content:"";position:absolute;right:-80px;top:40px;width:470px;height:470px;border:1px solid #f2e4d2;border-radius:50%;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;position:relative;z-index:1;align-items:center}.hero-eyebrow{font-weight:700;color:#6e512f;display:flex;align-items:center;gap:9px;margin-bottom:21px}.hero-eyebrow:before{content:"";width:24px;height:2px;background:var(--orange)}.hero h1{font-weight:850;line-height:1.62;white-space:nowrap;margin-bottom:20px}.hero h1 .underline{background:linear-gradient(transparent 71%,#ffe4c7 71%,#ffe4c7 91%,transparent 91%)}.hero-lead{line-height:2.05;max-width:530px;color:#4e5d67}.hero-lead strong{color:var(--ink);font-weight:700}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:29px;flex-wrap:wrap}.hero-note{margin-top:13px;line-height:1.7;color:var(--muted)}
.mid-cta{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:34px;padding:22px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.mid-cta p{color:var(--muted);margin:0}
.report-example{margin-top:8px!important;padding:9px 11px;background:#f7f9fa;border-left:2px solid var(--orange);border-radius:3px}
.hero-benefits{display:flex;gap:18px;margin-top:22px;flex-wrap:wrap;color:#586b73;font-weight:650}.hero-benefits span:before{content:"✓";color:var(--orange);margin-right:6px;font-weight:900}.hero-demo{position:relative;padding:30px 4px 14px}.browser-back{position:absolute;left:25px;right:-11px;height:285px;top:7px;background:#fff;border:1px solid #e6e0d8;border-radius:12px;transform:rotate(5deg);box-shadow:0 9px 22px #22334408}.browser-back:before{content:"";display:block;border-bottom:1px solid #e6e0d8;height:30px;background:#faf8f5;border-radius:12px 12px 0 0}.browser-back.second{left:-13px;right:15px;top:22px;transform:rotate(-4deg)}.browser-main{position:relative;border:1px solid #cad5db;border-radius:12px;background:#fff;box-shadow:0 20px 45px #21344516;overflow:hidden}.browser-top{height:42px;display:flex;align-items:center;gap:6px;background:#f5f7f8;border-bottom:1px solid #e4e9ec;padding:0 14px}.browser-dot{width:7px;height:7px;border-radius:50%;background:#bec8ce}.browser-address{margin-left:10px;background:#fff;border:1px solid #e3e7e9;border-radius:4px;color:#6c7982;flex:1;text-align:center;padding:1px 4px}.browser-body{padding:27px 25px 23px}.browser-caption{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--muted)}.browser-caption .sample-label{border:1px solid #d5dde0;padding:1px 6px;border-radius:3px}.browser-headline{line-height:1.6;margin-bottom:19px;font-weight:700;color:var(--ink)}.op-list{list-style:none;padding:0}.op-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f2}.op-num{width:25px;height:25px;display:flex;align-items:center;justify-content:center;border:1px solid #ead0b5;border-radius:50%;color:var(--orange);background:#fff8f0;flex-shrink:0}.op-list .op-desc{color:#53646e;margin-left:auto}.op-list li:last-child{border-bottom:none}.browser-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e6ebee;background:#fafcfc;padding:13px 23px}.browser-foot .foot-label{color:#7c8a93;font-weight:700;margin-right:auto}
.browser-foot span:not(.foot-label):before{content:"・";color:var(--orange);margin-right:3px;font-weight:900}.hero-floating{position:relative;margin-top:16px;margin-left:22px;background:var(--navy);color:#fff;border-radius:8px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 10px 20px #2233440d}.hero-floating small{color:#ced9df}.hero-demo figcaption{color:#7a8791;margin-top:10px;text-align:right}
.trust-strip{padding:20px 0;border-top:1px solid #e9e1d8;border-bottom:1px solid var(--line);background:#fff}.trust-inner{display:flex;align-items:center;gap:30px}.trust-label{color:var(--orange);font-weight:800;letter-spacing:.08em;line-height:1.7;border-right:1px solid var(--line);padding-right:26px;flex-shrink:0}.trust-label span{display:block;color:var(--muted);letter-spacing:0;font-weight:500}.trust-company{font-weight:800;line-height:1.6}.trust-company small{font-weight:500}.trust-detail{color:#62717b;flex:1}.trust-inner .text-link{white-space:nowrap}
.about-lead{max-width:865px;text-align:center;margin:0 auto;color:#53626d;line-height:2.05}.about-lead strong{color:var(--ink)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:42px}.about-item{display:flex;align-items:flex-start;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.about-item h3{margin-bottom:9px}.about-item p{color:var(--muted)}.icon-box{width:58px;height:58px;border-radius:13px;background:var(--orange-light);color:var(--orange);display:flex;justify-content:center;align-items:center;flex-shrink:0}.icon{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.issue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.issue{border-top:3px solid #eac6a4;background:#fff;padding:24px 22px 25px;border-radius:0 0 8px 8px;display:flex;flex-direction:column}.issue-no{font-family:Arial,sans-serif;font-weight:700;letter-spacing:.12em;color:var(--orange);margin-bottom:14px}.issue h3{margin-bottom:13px;line-height:1.75}.issue p{color:var(--muted);line-height:1.9}.issue-result{border-top:1px solid #f0ebe6;padding-top:14px;margin-top:18px;font-weight:700;line-height:1.75;color:#8b4815}.issue-result:before{content:"→";margin-right:7px}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.reason{position:relative;border-right:1px solid var(--line);padding-right:30px}.reason:last-child{border:0;padding-right:0}.reason-visual{height:95px;display:flex;align-items:center;gap:16px;margin-bottom:20px}.reason-no{color:#e5eaf0;font-family:Arial,sans-serif;font-weight:800;line-height:1}.reason .icon{width:43px;height:43px;color:var(--orange)}.reason h3{line-height:1.75;margin-bottom:15px}.reason p{color:var(--muted)}.reason-sub{margin-top:17px;display:inline-block;color:#8c511e;border-bottom:1px solid #e9c2a0;padding-bottom:3px}
.use-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-bottom:0}.use-tabs button{border:1px solid transparent;background:transparent;padding:18px 24px 17px;flex:1;color:var(--muted);font-weight:700;border-radius:8px 8px 0 0}.use-tabs button[aria-selected="true"]{background:#fff;border-color:var(--line);border-bottom-color:#fff;color:var(--orange);margin-bottom:-1px}.use-panel{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:36px 38px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px}.use-panel h3{margin:12px 0}.use-panel p{color:var(--muted)}.scenario{align-self:center;padding:23px;background:#fbfaf8;border:1px solid #ebe5df;border-radius:9px}.scenario-title{font-weight:700;color:#855222;margin-bottom:17px}.scenario-flow{display:flex;align-items:stretch;gap:8px}.scenario-flow span{position:relative;flex:1;background:#fff;border:1px solid #ded8d1;border-radius:6px;padding:17px 5px;text-align:center;font-weight:700;line-height:1.6}.scenario-flow span:not(:last-child):after{content:"›";position:absolute;right:-8px;top:50%;transform:translateY(-50%);color:var(--orange);z-index:2;background:#fbfaf8;width:10px}.scenario-bottom{border-top:1px dashed #d8d1c9;margin-top:19px;padding-top:14px;color:#586670}.use-note{color:var(--muted);margin-top:17px;text-align:center}
.case-section{padding:0}.case-shell{display:grid;grid-template-columns:1fr 1.06fr;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.case-visual{background:var(--navy);padding:42px;color:#fff;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:425px;overflow:hidden}.case-visual:before,.case-visual:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #ffffff12;border-radius:50%;right:-100px;bottom:-70px}.case-visual:after{width:380px;height:380px;right:-150px;bottom:-120px}.case-visual .eyebrow{color:#ffb677}.case-visual h3{line-height:1.85}.case-client{font-weight:700;margin-top:27px;line-height:1.8}.case-client small{display:block;font-weight:500;letter-spacing:.08em;margin-bottom:8px;color:#b3c2cd}.case-visual .tag{color:#d6e0e6;background:#ffffff0e;border:1px solid #ffffff26}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.tag{border:1px solid #e1e6e8;border-radius:4px;padding:4px 8px;color:#5a6872;background:#f9fbfc}.case-body{padding:37px 37px 34px}.case-body h3{margin-bottom:20px}.case-facts{margin:0}.case-facts>div{border-top:1px solid #e6ebee;padding:14px 0;display:grid;grid-template-columns:73px 1fr;gap:16px}.case-facts dt{color:#8a4c1b;font-weight:700}.case-facts dd{margin:0;color:#556570}.case-body .text-link{margin-top:14px}.experience{margin-top:23px;padding:25px 30px;display:grid;grid-template-columns:1fr 1.55fr;gap:34px;border-top:1px solid var(--line);background:#fafcfc;border-radius:8px}.experience h3{line-height:1.8}.experience p{color:var(--muted);line-height:2}.experience small{display:block;margin-top:8px;color:#77848e}
.scope-grid{display:grid;grid-template-columns:minmax(0,880px);justify-content:center;gap:22px;align-items:start}.scope-main{background:#fff;border:1.5px solid #e09b5d;border-radius:12px;padding:30px}.scope-kicker{display:flex;align-items:center;gap:13px;margin-bottom:8px}.scope-kicker .pill{background:var(--orange);color:#fff;padding:3px 9px;border-radius:4px;font-weight:700}.scope-main h3{margin-bottom:12px}.scope-main>p{color:var(--muted)}.scope-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:23px 0}.scope-steps div{background:#fff8f2;border:1px solid #f3dfcc;padding:13px 8px;border-radius:6px;text-align:center;font-weight:700}.scope-steps small{font-family:Arial,sans-serif;display:block;font-weight:600;color:var(--orange);margin-bottom:4px}.scope-result{border-top:1px solid #edddcf;padding-top:17px;color:#5b5044}.scope-side{padding:30px;background:#f2f4f5;border:1px solid #dde3e7;border-radius:12px}.scope-side .inline-label{color:#56616b;background:#fff;border-color:#cbd4db;margin-bottom:10px}.scope-side h3{margin-bottom:13px}.scope-side p{color:var(--muted)}.scope-side .optional-items{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-weight:650}.optional-items span:before{content:"+";display:inline-block;margin-right:8px;color:#8895a0}.scope-side .small{border-top:1px solid #d8e0e5;padding-top:16px}.scope-footnote{margin-top:15px;color:#747b81}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.report-copy h2{line-height:1.65;margin-bottom:20px}.report-copy p{color:var(--muted)}.report-copy .btn{margin-top:25px;min-height:48px}.report-sheet{background:#fff;border:1px solid #d6dfe4;box-shadow:9px 10px 0 #f1f4f5;padding:28px;border-radius:4px}.report-top{color:#798892;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:19px}.report-sheet h3{margin-bottom:18px}.report-row{display:grid;grid-template-columns:28px 1fr;gap:12px;border-bottom:1px solid #e9eef0;padding:12px 0}.report-row:last-child{border:0}.report-row>span{font-family:Arial,sans-serif;color:var(--orange);padding-top:3px}.report-row h4{font-weight:700}.report-row p{color:#6e7d87;margin-top:4px}.report-note{text-align:right;margin-top:12px;color:#7e8991}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.flow-step{position:relative}.flow-step:not(:last-child):before{content:"";position:absolute;left:50px;right:-26px;top:23px;border-top:1px solid #d6c8ba}.flow-dot{display:flex;align-items:center;justify-content:center;width:47px;height:47px;border:1px solid #d8995f;color:var(--orange);font-family:Arial,sans-serif;font-weight:700;border-radius:50%;background:var(--warm);position:relative;z-index:1;margin-bottom:20px}.flow-step h3{margin-bottom:10px}.flow-step p{color:var(--muted)}.cost-box{margin-top:37px;padding:25px 30px;background:#fff;border:1px solid #e1dbd3;border-radius:10px;display:grid;grid-template-columns:1fr 1.45fr;gap:36px;align-items:center}.cost-box h3{margin:5px 0 10px}.cost-box p{color:var(--muted)}.cost-points{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}.cost-points span{padding:8px 0;border-bottom:1px solid #ede7e1}.cost-points span:before{content:"✓";color:var(--orange);margin-right:7px}summary::-webkit-details-marker{display:none}
.compare-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden}.compare-table{border-collapse:collapse;width:100%;line-height:1.9;text-align:left}.compare-table caption{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.compare-table th,.compare-table td{padding:19px 22px;border-bottom:1px solid var(--line);vertical-align:top}.compare-table thead th{background:#f1f4f6;color:#566671;font-weight:700}.compare-table th:first-child{width:21%}.compare-table td{color:var(--muted)}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table .compare-corner{background:#f1f4f6;border-bottom:1px solid var(--line)}
.compare-table td.our{background:#fff8f1;color:var(--ink)}
.compare-table thead th.our{background:#ffeedd;color:var(--orange)}.compare-table th small{display:block;color:#66747e;font-weight:500;margin-top:4px}.compare-table .our{color:var(--orange)}.compare-note{margin-top:15px;display:flex;flex-wrap:wrap;gap:10px;color:#70808a}.compare-note a{text-decoration:underline;text-underline-offset:3px}
.guide{margin-top:35px;border:1px solid #e2e7eb;border-radius:10px;overflow:hidden}.guide>summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:22px 25px;cursor:pointer;background:#fafcfc}.guide>summary .icon-box{background:#eaf0f2;color:#466574;width:48px;height:48px}.guide>summary small{color:#687c87;display:block;margin-bottom:4px}.guide>summary .plus{font-weight:400;color:var(--orange)}.guide[open]>summary .plus{transform:rotate(45deg)}.guide-body{padding:28px;color:var(--muted);border-top:1px solid var(--line)}.guide-body h4{color:var(--ink);margin-top:18px;margin-bottom:7px}.guide-body h4:first-child{margin-top:0}.guide-body .text-link{margin-top:18px}
.faq-wrap{max-width:900px;margin:auto;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item>summary{display:grid;grid-template-columns:25px 1fr 20px;gap:16px;align-items:center;padding:23px 2px;font-weight:700;list-style:none;cursor:pointer}.faq-q{font-family:Arial,sans-serif;font-weight:700;color:var(--orange)}.faq-plus{font-weight:400;color:var(--muted);transition:transform .2s}.faq-item[open] .faq-plus{transform:rotate(45deg)}.faq-answer{padding:0 39px 22px;color:var(--muted);line-height:2}
.contact-section{background:#f7f2ec;padding:73px 0 80px;border-top:1px solid #e7dcd0}.contact-grid{display:grid;grid-template-columns:.86fr 1.2fr;gap:62px;align-items:start}.contact-copy{padding-top:15px}.contact-copy h2{line-height:1.75;margin-bottom:20px}.contact-copy>p{color:var(--muted)}.contact-help{border-top:1px solid #ded3c7;padding-top:20px;margin-top:25px;line-height:2.25}.contact-help span{display:block}.contact-help span:before{content:"✓";color:var(--orange);margin-right:8px}.contact-copy .preview-contact{line-height:1.9;margin-top:26px;color:#796e62}.contact-copy .text-link{margin-top:12px}.form-card{padding:30px;background:#fff;border:1px solid #e2dacf;border-radius:12px;box-shadow:0 5px 25px #8a62330a}.form-note{padding:11px 14px;background:#f0f4f6;border-radius:5px;color:#536773;margin-bottom:23px;line-height:1.8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{margin-bottom:17px}.field label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;margin-bottom:6px}.required{background:#fff1e5;color:#9a4a0d;padding:1px 5px;border-radius:3px;font-weight:650}.optional{color:#77848c;font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid #bcc8d0;border-radius:5px;padding:10px 11px;color:var(--ink);background:#fff;line-height:1.7;min-height:44px}.field textarea{resize:vertical;min-height:105px}.field input::placeholder,.field textarea::placeholder{color:#83919a}.field select{padding-right:25px}.form-card .btn{width:100%;margin-top:3px}.form-hint{margin-top:11px;color:#75848d;text-align:center}.noscript-alert{background:#fff3cd;padding:10px;margin-bottom:20px}.form-submit:disabled{background:#9dabb4;box-shadow:none}
.site-footer{background:#fff;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-company{font-weight:700}.footer-company small{display:block;font-weight:500;color:#7a8892;margin-top:3px}.footer-links{display:flex;gap:24px;color:#64747f}.mobile-sticky{display:none}.back-top{position:fixed;right:22px;bottom:22px;z-index:20;border:1px solid #cdd7dc;background:#ffffffed;box-shadow:0 3px 12px #1c314818;color:#526575;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}.back-top.visible{opacity:1;pointer-events:auto}
dialog{border:1px solid #d4dfe5;border-radius:14px;box-shadow:0 30px 100px #142a4840;padding:0;width:min(690px,calc(100vw - 36px));max-height:calc(100dvh - 50px);color:var(--ink)}dialog::backdrop{background:#12293999;backdrop-filter:blur(3px)}.dialog-top{position:sticky;top:0;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 24px;background:#fff;border-bottom:1px solid var(--line);z-index:2}.dialog-close{background:#f1f4f6;border:0;border-radius:50%;width:35px;height:35px;color:#4f6575;flex-shrink:0}.dialog-body{padding:24px;line-height:1.9}.dialog-body h3{margin-top:20px;margin-bottom:9px}.dialog-body h3:first-child{margin-top:0}.dialog-body p{color:var(--muted)}.dialog-body ul{color:var(--muted)}.dialog-body .btn{min-height:45px;margin-top:16px}.dialog-body code{background:#f1f3f5;border-radius:3px;padding:1px 4px;overflow-wrap:anywhere}.confirm-text{white-space:pre-wrap;word-break:break-word;font-family:inherit;padding:17px;border:1px solid var(--line);background:#f7f9fa;border-radius:7px;line-height:1.9}.status{color:#46695c;margin-top:12px;min-height:22px}.review-mode [data-review]{position:relative;outline:2px dashed #d66e2099;outline-offset:-4px}.review-mode [data-review]:before{content:attr(data-review);position:absolute;left:16px;top:6px;background:#fff3de;color:#843e06;border:1px solid #e4a163;padding:2px 8px;z-index:5;max-width:calc(100% - 32px);line-height:1.5;border-radius:3px;box-shadow:0 2px 6px #b5743420}
@media(min-width:1450px){.hero{padding:77px 0 69px}}
@media(max-width:1150px){.site-nav{gap:16px}.site-nav a:nth-child(3){display:none}.hero-grid{grid-template-columns:1.15fr 1fr;gap:28px}.hero-actions{gap:17px}.hero-actions .btn{padding:13px 18px}.trust-inner{gap:20px}.issue-grid{gap:15px}.issue{padding:22px 17px}.reason-grid{gap:25px}.contact-grid{gap:40px}}
@media(max-width:960px){.site-nav{gap:17px}.site-nav a:nth-child(4),.site-nav a:nth-child(5){display:none}.hero-grid{gap:25px}.browser-body{padding:24px 20px}.hero-demo{padding-left:0;padding-right:0}.hero-demo .browser-back{right:0}.hero-benefits{gap:12px}.trust-detail{display:none}.trust-company{flex:1}.issue-grid{grid-template-columns:repeat(2,1fr);gap:20px}.use-panel{gap:25px;padding:29px 25px}.use-tabs button{padding:16px 12px}.case-visual{padding:32px}.case-body{padding:30px}.scope-grid{grid-template-columns:minmax(0,760px)}.scope-main,.scope-side{padding:24px}.report-grid{gap:36px}.contact-grid{gap:30px}.form-card{padding:24px}.section{padding:68px 0}}
@media(max-width:760px){:root{--header:73px}.wrap{width:calc(100% - 40px)}.preview-bar{padding:5px 0;min-height:31px}.preview-inner{gap:8px}.preview-tools{gap:10px}.preview-inner>span{max-width:210px;line-height:1.5}.preview-inner>span:before{display:none}.preview-tools .review-toggle{display:none}.header-inner{min-height:73px;gap:16px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:73px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 15px #2233440d;padding:20px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 105px);overflow-y:auto}.site-nav.open{display:flex}.site-nav>a:not(.btn),.site-nav a:nth-child(3),.site-nav a:nth-child(4),.site-nav a:nth-child(5){display:block;padding:13px 7px;border-bottom:1px solid #eff2f4}.site-nav .btn{margin-top:13px}.section{padding:56px 0}h2{line-height:1.65}.section-head{margin-bottom:29px}.section-head p{margin-top:13px}.eyebrow{margin-bottom:11px}.hero{padding:37px 0 38px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-eyebrow{gap:7px;margin-bottom:19px}.hero-eyebrow:before{width:16px}.hero h1{line-height:1.65;margin-bottom:18px}.hero-lead{line-height:2.1;max-width:none}.hero-actions{margin-top:24px;gap:15px}.hero-actions .btn{min-height:53px;padding:13px 20px;gap:15px;flex:1;white-space:nowrap}.hero-note{margin-top:11px}
.mid-cta{flex-direction:column;align-items:stretch;text-align:center;gap:14px;margin-top:26px;padding:20px}
.hero-benefits{margin-top:17px;gap:13px}.hero-demo{max-width:490px;width:calc(100% - 24px);margin:0 auto;padding-top:23px}.browser-back{height:270px}.browser-body{padding:22px 22px 18px}.browser-headline{margin-bottom:13px}.browser-main .op-list li{padding:8px 0}.browser-foot{padding:11px 20px;gap:6px}.hero-floating{margin-left:15px;margin-top:12px;padding:12px 16px}.hero-demo figcaption{margin-top:8px}.trust-strip{padding:19px 0}.trust-inner{gap:15px;flex-wrap:wrap}.trust-label{padding-right:14px}.trust-inner .text-link{margin-left:auto}.about-lead{text-align:left}.about-grid{grid-template-columns:1fr;gap:0;margin-top:23px}.about-item{padding:22px 0;gap:16px}.icon-box{width:49px;height:49px}.issue-grid{gap:13px}.issue{padding:19px 15px}.issue h3{line-height:1.8;margin-bottom:10px}.issue-no{margin-bottom:10px}.issue-result{padding-top:11px;margin-top:14px}.reason-grid{grid-template-columns:1fr;gap:24px}.reason{padding:0 0 23px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:75px 1fr;column-gap:18px}.reason:last-child{padding:0}.reason-visual{grid-row:1 / 4;margin:0;height:auto;display:flex;flex-direction:column;justify-content:flex-start;gap:15px;padding-top:7px}.reason .icon{width:30px;height:30px}.reason h3{margin-bottom:10px}.reason-sub{margin-top:12px;justify-self:start}.use-tabs{gap:3px}.use-tabs button{padding:13px 6px;line-height:1.65}.use-panel{grid-template-columns:1fr;gap:20px;padding:23px 20px}.scenario{padding:18px}.scenario-flow{gap:7px}.scenario-flow span{padding:15px 3px}.use-note{text-align:left}.case-shell{grid-template-columns:1fr}.case-visual{min-height:285px;padding:30px}.case-client{margin-top:25px}.case-body{padding:27px 24px}.case-facts>div{grid-template-columns:60px 1fr;gap:12px}.experience{grid-template-columns:1fr;gap:14px;padding:23px}.scope-grid{grid-template-columns:1fr}.scope-main,.scope-side{padding:25px 22px}.scope-steps{gap:8px}.scope-steps div{padding:12px 5px}.report-grid{grid-template-columns:1fr;gap:29px}.report-sheet{padding:24px;box-shadow:6px 7px 0 #eff3f5;margin-right:7px}.report-note{text-align:left}.flow-grid{grid-template-columns:1fr;gap:0}.flow-step{display:grid;grid-template-columns:42px 1fr;column-gap:18px;padding-bottom:28px}.flow-step:not(:last-child):before{left:20px;right:auto;top:40px;bottom:0;border-left:1px solid #d6c8ba;border-top:0}.flow-dot{width:42px;height:42px;margin:0;grid-row:1 / 3}.flow-step h3{padding-top:8px;margin-bottom:8px}.flow-step:last-child{padding-bottom:0}.cost-box{grid-template-columns:1fr;gap:15px;padding:24px 22px;margin-top:30px}.cost-points{gap:5px 15px}.compare-wrap{overflow-x:auto}.compare-table{min-width:650px}.compare-table th,.compare-table td{padding:15px 17px}.compare-table th:first-child{width:22%}.guide>summary{padding:18px;gap:13px;grid-template-columns:1fr auto}.guide>summary .icon-box{display:none}.guide>summary h3{line-height:1.8}.guide-body{padding:21px}.faq-item>summary{gap:11px;padding:21px 0;grid-template-columns:20px 1fr 16px;line-height:1.8}.faq-answer{padding:0 25px 21px 31px}.contact-section{padding:50px 0 58px}.contact-grid{grid-template-columns:1fr;gap:29px}.contact-copy{padding:0}.contact-copy h2{margin-bottom:16px}.contact-help{margin-top:19px;padding-top:16px}.contact-copy .preview-contact{margin-top:18px}.form-card{padding:23px 20px}.form-row{grid-template-columns:1fr;gap:0}.site-footer{padding-bottom:90px}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.footer-links{gap:17px}.mobile-sticky{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(15px);padding:10px 20px max(10px,env(safe-area-inset-bottom));border-top:1px solid #dfd4c8;z-index:25;display:block;transition:transform .2s}.mobile-sticky .btn{width:100%;min-height:47px;padding:11px 18px}.mobile-sticky.off{transform:translateY(110%);pointer-events:none}.back-top{bottom:90px;right:15px;width:35px;height:35px}.dialog-top{padding:16px 18px}.dialog-body{padding:20px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .text-link{align-self:center}.issue-grid{grid-template-columns:1fr}.preview-inner>span{max-width:195px}.hero-benefits{gap:8px}.scenario{padding:15px}.browser-foot{padding:11px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.preview-bar,.site-header,.mobile-sticky,.back-top,.contact-section,dialog{display:none!important}.section{padding:28px 0}.hero{padding:20px 0}.wrap{width:100%}.hero-demo{max-width:380px}.case-shell,.scope-grid,.use-panel,.report-grid{break-inside:avoid}.btn{display:none}.faq-item .faq-answer{display:block}.section-head{margin-bottom:19px}.use-panel[hidden]{display:grid!important}.use-tabs{display:none}.footer-inner{padding:0}.site-footer{padding:12px 0}}

.mobile-only{display:none}@media(max-width:760px){.mobile-only{display:initial}.desktop-break{display:none}}


/* ==========================================================
   マンガ：セクション（#manga）とビューア（#manga-dialog）（旧 manga.css を統合）
   theme-vcube.css の変数を使う。
   ========================================================== */


/* ---- セクション：表紙＋サムネイル ---- */
.manga-section{background:var(--brand-soft)}
.manga-shell{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:56px;align-items:center;max-width:900px;margin:0 auto}
.manga-cover{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:4px;background:#fff;box-shadow:0 18px 40px #7a3c0022;cursor:zoom-in;transition:transform .25s ease,box-shadow .25s ease}
.manga-cover img{display:block;width:100%;height:auto;border-radius:4px}
.manga-cover:hover{transform:translateY(-4px);box-shadow:0 24px 48px #7a3c0030}
.manga-cover-badge{position:absolute;right:14px;bottom:36px;padding:6px 14px;border-radius:999px;background:var(--brand-deep);color:#fff;font-size:var(--fs-sm);font-weight:700;letter-spacing:.08em}
.manga-meta{display:inline-block;margin-bottom:12px;padding:3px 12px;border:1px solid var(--brand);border-radius:999px;color:var(--orange);font-size:var(--fs-sm);font-weight:700;background:#fff}
.manga-side h3{color:var(--ink);font-size:var(--fs-xl);line-height:var(--lh-head,1.5);margin-bottom:14px}
.manga-side>p{line-height:var(--lh-body,1.8)}
.manga-thumbs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-width:480px;margin:22px 0 24px;padding:0;list-style:none}
.manga-thumbs button{position:relative;display:block;width:100%;aspect-ratio:2/3;padding:0;border:1px solid var(--line);border-radius:3px;background:#fff;overflow:hidden;cursor:zoom-in;transition:border-color .2s ease,transform .2s ease}
.manga-thumbs img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.manga-thumbs span{position:absolute;left:2px;bottom:2px;min-width:16px;padding:0 4px;border-radius:2px;background:#26282bcc;color:#fff;font-size:.625rem;line-height:1.5}
.manga-thumbs button:hover{border-color:var(--brand);transform:translateY(-2px)}


/* ---- テキスト版（アクセシビリティ用） ----
   開閉ボタン：マンガのブロックの下に添える控えめな文字リンク（ボタンと張り合わない）
   本文：白いカードに「ページ番号＋セリフ」の2列表 */
.manga-text{max-width:900px;margin:32px auto 0}   /* 幅・左端を .manga-shell に揃える */
.manga-text summary{display:inline-flex;align-items:center;gap:8px;padding:4px 0;color:var(--muted);font-size:var(--fs-sm);cursor:pointer;list-style:none;transition:color .2s ease}
.manga-text summary::-webkit-details-marker{display:none}
.manga-text summary::after{content:"";width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.manga-text[open] summary::after{margin-top:3px;transform:rotate(-135deg)}
.manga-text summary:hover{color:var(--orange)}
.manga-text summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}
.manga-text-body{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:0;margin-top:16px;padding:8px 28px;
 border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;font-size:var(--fs-sm);line-height:var(--lh-small,1.7)}
.manga-text-body h4{margin:0;padding:16px 24px 16px 0;color:var(--orange);font-size:var(--fs-xs);font-weight:700;line-height:var(--lh-small,1.7);white-space:nowrap}
.manga-text-body p{margin:0;padding:16px 0}
.manga-text-body h4:not(:first-child),.manga-text-body h4:not(:first-child)+p{border-top:1px solid #ececec}


@media(max-width:760px){
 .manga-shell{grid-template-columns:minmax(0,1fr);gap:32px}
 .manga-cover{width:min(70%,240px);margin:0 auto}
 .manga-side{text-align:center}
 .manga-side h3{font-size:var(--fs-lg)}
 .manga-side>p{text-align:left}
 .manga-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));max-width:240px;margin:20px auto 22px}
 .manga-text{text-align:center}
 /* テキスト版はページ番号の下にセリフを置く1列に */
 .manga-text-body{grid-template-columns:minmax(0,1fr);padding:4px 20px}
 .manga-text-body h4{padding:16px 0 4px}
 .manga-text-body p{padding:0 0 16px}
 .manga-text-body h4:not(:first-child)+p{border-top:0}
}


/* ---- ビューア（縦スクロールで読む） ---- */
.manga-dialog{width:min(760px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:none;background:#f2f2f2}
.manga-dialog[open]{display:flex;flex-direction:column}
.manga-dialog .dialog-top{flex:none;padding:12px 18px}
.manga-dialog .dialog-top h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-base)}
/* 閉じるボタン：文字の×はフォントで中心がずれるため、線で描いて円の中心に置く（読み上げは aria-label「閉じる」） */
.manga-dialog .dialog-close{position:relative;display:block;width:36px;height:36px;padding:0;font-size:0;line-height:0;cursor:pointer;transition:background-color .2s ease}
.manga-dialog .dialog-close::before,.manga-dialog .dialog-close::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px 0 0 -8px;border-radius:1px;background:var(--ink)}
.manga-dialog .dialog-close::before{transform:rotate(45deg)}
.manga-dialog .dialog-close::after{transform:rotate(-45deg)}
.manga-dialog .dialog-close:hover{background:#e6e6e6}
.manga-dialog .dialog-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
/* ページ */
.manga-track{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;padding:16px 12px 24px}
.manga-page{margin:0 auto 16px;scroll-snap-align:start;width:min(100%,calc((100dvh - 150px) * 2 / 3))}
.manga-page img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 4px 18px #0000001a}
.manga-end{padding:24px 20px 28px;background:#fff;text-align:center;box-shadow:0 4px 18px #0000001a}
.manga-end p{margin-bottom:16px;color:var(--ink);font-weight:700;line-height:1.7}
/* 前へ・次へ */
.manga-nav{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;background:#fff;border-top:1px solid var(--line)}
.manga-nav button{min-width:96px;padding:8px 14px;border:1px solid var(--brand);border-radius:8px;background:#fff;color:var(--orange);font-weight:700;cursor:pointer}
.manga-nav button:disabled{border-color:var(--line);color:#b5b5b5;cursor:default}
.manga-count{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
@media(max-width:760px){.manga-dialog .dialog-top h2{font-size:var(--fs-sm)}}


@media(prefers-reduced-motion:reduce){
 .manga-cover,.manga-thumbs button,.manga-text summary,.manga-text summary::after,.manga-dialog .dialog-close{transition:none}
 .manga-cover:hover,.manga-thumbs button:hover{transform:none}
}


/* ==========================================================
   ピークキューブLP デザイン（旧 theme-vcube.css から移動）
   ----------------------------------------------------------
   上の0930版の基本スタイル・マンガを上書きする。ブランド色・本文の基本・
   Q.・フッターなど V-CUBE サイト準拠の指定は theme-vcube.css（最後に読み込み）
   構成：1 トークン → 2 基本の文字 → 3 共通パーツ → 4 ヘッダー
         → 5 以降はページの上から順（ヒーロー〜お問い合わせ）
   画面幅：PC ≥1261 ／ 狭いPC 961〜1260 ／ タブレット 761〜960 ／ スマホ ≤760
   ========================================================== */


/* ==========================================================
   1. トークン
   ========================================================== */
:root{
 /* 色（ブランド色は theme-vcube.css） */
 --gray:#f6f6f6;--warm:#faf8f4;--line:#e6e6e6;
 --dark:#26282b;
 --navy:var(--dark);--radius:6px;
 /* レイアウト */
 --max:1200px;              /* コンテンツの最大幅（styles.css の1160pxを上書き） */
 /* 文字サイズ：本文16px（1rem）基準。画面幅で切り替えるのはこの値だけ */
 --fs-xs:.75rem;            /* 12px 注記・免責、ヒーローの画面イメージ内 */
 --fs-sm:.875rem;           /* 14px ラベル・バッジ・カード内の説明 */
 --fs-base:1rem;            /* 16px 本文・メニュー・フォーム・ボタン */
 --fs-md:1.125rem;          /* 18px FAQ質問・社名 */
 --fs-lead:var(--fs-md);    /* リード文（スマホでは本文と同じ） */
 --fs-lg:1.25rem;           /* 20px カード見出し */
 --fs-title:1.25rem;        /* 20px パネル内の見出し（本人指定の20pxを維持） */
 --fs-xl:1.5rem;            /* 24px ブロック見出し */
 --fs-2xl:2rem;             /* 32px セクション見出し h2 */
 --fs-3xl:3rem;             /* 48px h1（ヒーローは個別指定） */
 --fs-display:4rem;         /* 64px 装飾用の大きな番号 */
 /* 行間：見出し1.35〜1.5／本文1.8／カード内・補足1.7 */
 --lh-tight:1.35;
 --lh-head:1.5;
 --lh-body:1.8;
 --lh-small:1.7;
 /* 縦の余白（文字に連動させる部分だけ rem） */
 --space-section:6rem;      /* 96px セクションの上下 */
 --space-head:2.5rem;       /* 40px セクション見出しの下 */
}
@media(max-width:960px){
 :root{--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.5rem;--fs-display:3.5rem;--space-section:4.75rem}
}
@media(max-width:760px){
 :root{--fs-lead:var(--fs-base);--fs-md:1.0625rem;--fs-lg:1.125rem;--fs-title:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;
  --fs-3xl:1.875rem;--fs-display:3rem;--space-section:3.75rem;--space-head:2rem}
}


/* ==========================================================
   2. 基本の文字
   要素ごとの px 指定は持たず、役割（見出し・本文・ラベル・注記）単位で指定する
   ========================================================== */
/* 見出し */
h1{font-size:var(--fs-3xl)}
h2,.report-copy h2,.contact-copy h2{font-size:var(--fs-2xl)}
h3{font-size:var(--fs-lg)}
h4{font-size:var(--fs-base)}
.case-title,.issue h3,.about-item h3,.flow-step h3,.experience h3,.report-sheet h3,.browser-headline,.dialog-top h2{font-size:var(--fs-lg)}
.use-panel h3,.scope-main h3{font-size:var(--fs-title)}
.guide>summary h3,.dialog-body h3{font-size:var(--fs-md)}
.prep-head h3{font-size:var(--fs-base)}

/* リード・強調（本文より一段大きく） */
.about-lead{font-size:var(--fs-lead)}
.faq-item>summary,.trust-company{font-size:var(--fs-md)}

/* ラベル・バッジ（14px） */
small,.eyebrow,.hero-eyebrow,.inline-label,.op-num,.op-list li,.hero-floating,
.trust-label,.trust-label span,.issue-no,.reason-sub,.scenario-title,.scenario-flow span,.use-note,
.scope-steps div,.small,.report-top,.optional,.form-note,
.noscript-alert,.dialog-body code,.confirm-text,.status{font-size:var(--fs-sm)}

/* カード内の説明文（14px）。セクションの導入文・FAQ回答など読ませる文章は本文16pxのまま */
.about-item p,.issue p,.reason p,.flow-step p,.use-panel p,.scope-main>p,.scope-result,
.prep-body p,.experience p,.case-text,.report-row p{font-size:var(--fs-sm)}

/* 注記・免責とヒーローの画面イメージ内（12px） */
.browser-caption,.browser-caption .sample-label,.browser-address,.op-list .op-desc,.browser-foot,
.hero-floating small,.hero-demo figcaption,.scope-footnote,.report-note,.compare-note,.form-hint,
.experience small{font-size:var(--fs-xs)}

/* 記号・装飾 */
.btn:before,.arrow,.faq-q,.faq-plus,.scenario-flow span:not(:last-child):after{font-size:var(--fs-lg)}
.guide>summary .plus,.dialog-close{font-size:var(--fs-xl)}

/* 行間 */
h1{line-height:var(--lh-tight)}
h2,h3,h4,.case-title,.browser-headline,.faq-item>summary{line-height:var(--lh-head)}
.issue h3,.reason h3,.about-item h3,.flow-step h3,.use-panel h3,.scope-main h3,.prep-head h3,.experience h3,.report-sheet h3{line-height:var(--lh-head)}
.about-item p,.issue p,.reason p,.flow-step p,.use-panel p,.scope-main>p,.scope-result,.prep-body p,
.experience p,.case-text,.section-head p,.use-note,.scenario-bottom,.faq-answer,
.guide-body p,.contact-copy>p,.contact-help{line-height:var(--lh-small)}
.about-lead,.report-copy p{line-height:var(--lh-body)}

/* 太さ：ヒラギノ角ゴは800以上だと重く見えるため、ヒーロー見出し以外は700まで */
h1,h2{font-weight:700;color:var(--ink)}
h3,h4{font-weight:600;color:var(--ink)}
strong,b{font-weight:600}

/* 色：元CSSの青みグレーを、本文 #494949 系のニュートラルグレーに統一 */
.about-lead,.section-head p{color:var(--text)}
.about-lead strong{color:var(--ink)}
.op-list .op-desc,.back-top,.dialog-close{color:var(--text)}
.compare-table th small,.browser-address,.browser-foot .foot-label,.hero-demo figcaption,
.scenario-bottom,.scope-footnote,.report-top,.report-row p,.report-note,.compare-note,.guide>summary small,
.optional,.form-hint{color:var(--muted)}
.field input::placeholder,.field textarea::placeholder{color:#8c8c8c}
.accent{color:var(--brand-deep)}

/* 改行：語の途中で割らない／行末に1〜2文字だけ取り残さない */
h2,h3,.section-head p{text-wrap:balance;word-break:auto-phrase}
p,.case-text,.scope-result{text-wrap:pretty}
@media(max-width:760px){
 .about-lead br{display:none}
 .about-lead{word-break:auto-phrase}
}


/* ==========================================================
   3. 共通パーツ
   ========================================================== */
/* セクションの余白 */
.section{padding:var(--space-section) 0}
#issue{padding-bottom:var(--space-section)}

/* セクション見出し：英字ラベルは小さく、日本語見出しを主役に。下に短いオレンジバー */
.section-head{margin-bottom:var(--space-head)}
.section-head p{margin-top:16px}
.section-head h2{letter-spacing:.04em}
.eyebrow{margin-bottom:10px;color:var(--brand-deep);font-family:Arial,sans-serif;font-size:var(--fs-xs);letter-spacing:.22em}
.section-head h2,.report-copy h2,.contact-copy h2{position:relative;padding-bottom:20px}
.section-head h2:after,.report-copy h2:after,.contact-copy h2:after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:var(--brand)}
.section-head.center h2:after{left:50%;transform:translateX(-50%)}
@media(max-width:760px){.eyebrow{margin-bottom:8px}}

/* ボタン共通：HPと同じ › と角の小さい形 */
.btn{border-radius:3px;gap:10px;letter-spacing:.05em}
.btn .arrow{display:none}
.btn:before{content:"›";line-height:1;font-family:Arial,sans-serif;margin-top:-2px}
.btn-secondary{background:#fff;color:var(--orange);border:1px solid var(--brand)}
.btn-secondary:hover{background:var(--brand-soft)}

/* オレンジのボタン（Figma Component 1 / node 2075:16993 準拠、#EA6A00 ベース）
   ・3色のグラデーションを横に長く敷き、ホバーで位置をずらす（単色への切替は補間できずちらつくため）
   ・枠の部分にグラデーションの反対端が回り込まないよう border-box 基準・繰り返しなし
   ・ホバーで2px沈み、影は浅く小さく */
.btn-primary,.case-btn{
 background:linear-gradient(96.84deg,#f5841c 0%,#ea6a00 50%,#d45a00 100%) 0 0/200% 100% no-repeat border-box;
 border:1px solid transparent;border-radius:8px;
 font-size:var(--fs-base);font-weight:400;letter-spacing:.05em;line-height:1.6;
 box-shadow:0 6px 14px rgba(234,106,0,.2);
 transition:background-position .4s ease,box-shadow .2s ease,transform .2s ease}
.btn-primary:hover,.case-btn:hover,.btn-primary:focus-visible,.case-btn:focus-visible{
 background-position:100% 0;box-shadow:0 2px 6px rgba(234,106,0,.26);transform:translateY(2px)}
.btn-primary:active,.case-btn:active{transform:translateY(3px);box-shadow:0 1px 3px rgba(234,106,0,.26)}
.btn-primary{gap:10px;min-height:55px;padding:14px 25px}
.btn-primary:before,.case-btn:before{content:"";flex-shrink:0;width:7.524px;height:12.221px;
 background:url("https://1970584.fs1.hubspotusercontent-na1.net/hubfs/1970584/load-test/assets/images/btn-chevron.svg") no-repeat center/7.524px 12.221px}
.btn-primary:before{margin:0}
.hero-actions .btn{font-size:var(--fs-base)}
.form-submit:disabled{background:#9dabb4;box-shadow:none}
@media(prefers-reduced-motion:reduce){.btn-primary:hover,.case-btn:hover,.btn-primary:active,.case-btn:active{transform:none}}

/* 読み上げ専用 */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* 表示時にフワッと出る（JSが html に .js-reveal を付けた場合のみ） */
html.js-reveal .reveal{opacity:0;transform:translateY(24px);
 transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s)}
html.js-reveal .reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.js-reveal .reveal{opacity:1;transform:none;transition:none}}

/* アコーディオン：開閉アニメーション中は中身を隠してはみ出しを防ぐ */
details.is-animating>:not(summary){overflow:hidden}


/* ==========================================================
   4. ヘッダー
   ========================================================== */
/* ロゴ：SVGは図形の周囲に約23%の余白を持つため、負のマージンで相殺して図形の左端を本文に揃える */
.brand{flex-direction:row;align-items:center}
.brand-logo{--logo-h:90px;display:block;width:auto;height:var(--logo-h);
 margin:calc(var(--logo-h) * -.227) 0 calc(var(--logo-h) * -.227) calc(var(--logo-h) * -.225)}

/* メニュー：14px（ボタンは16px）。ホバー・表示中のセクションで下にバーが左から伸びる */
.site-nav>a:not(.btn){font-size:var(--fs-sm)}
.site-nav>a:not(.btn):hover{color:var(--brand-deep)}
.site-nav .btn{border-radius:8px}
.site-nav .btn-primary{min-height:44px;padding:10px 18px;white-space:nowrap;flex-shrink:0}
/* CTA：表示中セクション(#contact)の印が付いても文字は白のまま、下線も出さない */
.site-nav>a.btn[aria-current],.site-nav>a.btn[aria-current]:hover{color:#fff}
.site-nav>a.btn:after{content:none}
@media(min-width:761px){
 .site-nav>a:not(.btn){position:relative}
 .site-nav>a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;border-radius:2px;
  background:var(--brand);transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
 .site-nav>a:not(.btn):hover:after,.site-nav>a:not(.btn):focus-visible:after,.site-nav>a[aria-current="location"]:after{transform:scaleX(1)}
}
@media(min-width:761px) and (max-width:960px){
 .header-inner{gap:16px}
 .site-nav{gap:16px}
 .brand-logo{--logo-h:70px}
}
/* 狭いタブレット幅では「まずは相談する」が折り返さないよう、先頭のメニューを隠す */
@media(min-width:761px) and (max-width:880px){.site-nav a:nth-child(1){display:none}}
@media(max-width:760px){
 .brand-logo{--logo-h:70px}
 .site-nav>a:not(.btn){font-size:var(--fs-base)}
}
@media(prefers-reduced-motion:reduce){.site-nav>a:not(.btn):after{transition:none}}


/* ==========================================================
   5. ヒーロー
   ========================================================== */
.hero{padding-bottom:calc(59px + 34px);   /* 下端に事例帯を34px重ねる分 */
 background:linear-gradient(115deg,#fff 15.865%,#fff0e8 68.75%,#fff5e8 98.558%)}
.hero:after{display:none}                 /* 円は .hero-demo:before に移した */
.hero-copy{position:relative;z-index:1}   /* 縦積み時に背面の円が文章へかぶらないよう手前に */

/* 文章：見出しは大きく、下の文章・リンク・補足は一段控えめにして差をつける */
.hero-eyebrow{margin-bottom:18px;color:#7a5428;font-weight:600}
.hero-eyebrow:before{background:var(--brand)}
.hero h1{margin-bottom:20px;font-size:2.75rem;font-weight:800;line-height:1.45;letter-spacing:.01em}
.hero h1 .underline,.hero h1 .accent{font-weight:800}
.hero h1 .underline{background:linear-gradient(transparent 70%,#ffdfae 70%,#ffdfae 92%,transparent 92%)}
.nowrap,.hero h1 .nowrap{white-space:nowrap}   /* 語の途中で改行させない（見出しの「「使える」まで」、「代行サービス」など） */
.hero-lead{max-width:540px;color:var(--text);font-size:var(--fs-base);line-height:2}
.hero-lead strong{color:var(--ink)}
.hero-actions{margin-top:30px}
.hero-actions .text-link{font-size:var(--fs-sm)}
.hero-note{margin-top:12px;color:var(--muted);font-size:var(--fs-xs);font-weight:400}
.hero-benefits{margin-top:20px;gap:8px 20px;color:var(--muted);font-size:var(--fs-xs);font-weight:600}
.hero-benefits span:before{color:var(--brand)}

/* 画面イメージ：背面に淡い同心円（外471／中393／内329px） */
.hero-demo{position:relative;z-index:0}
.hero-demo:before{content:"";position:absolute;z-index:-1;pointer-events:none;
 width:471px;height:471px;right:-116.5px;top:-50.5px;border:1px solid #f6dfbf;border-radius:50%;
 background:
  radial-gradient(circle at center,rgba(246,223,191,.2) 0 164px,#f6dfbf 164px 165px,transparent 165px),
  radial-gradient(circle at center,rgba(246,223,191,.2) 0 196px,#f6dfbf 196px 197px,transparent 197px),
  rgba(246,223,191,.2)}
.op-num{border-color:#f3c48a;background:var(--brand-soft);color:var(--brand-deep)}
.browser-top,.browser-foot{background:#f8f7f5}
.browser-foot b{color:var(--brand)}
/* 画面イメージ下の帯：同じ幅の角丸ピル、スレートネイビー */
.hero-floating{margin:10px 0 0;width:100%;min-height:50px;padding:12px 32px 12px 44px;border:0;border-radius:999px;
 background:#253247;box-shadow:0 10px 24px rgba(37,50,71,.2);font-weight:700}
.hero-floating small{color:#9aa4b3;font-weight:400}

/* 出る順：左（文章）→ 右（画面イメージ）→ 事例帯 */
html.js-reveal .hero-copy.reveal{--reveal-delay:.1s}
html.js-reveal .hero-demo.reveal{--reveal-delay:.45s}
html.js-reveal .trust-inner.reveal{--reveal-delay:.8s}

/* 狭いPC（961〜1240px）：2カラムが窮屈なため、見出しを幅に合わせて縮め、画面イメージ側に幅を寄せる */
@media(min-width:961px) and (max-width:1240px){
 .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px}
 .hero h1{font-size:clamp(2.125rem,3.6vw,2.75rem)}
 .browser-body{padding:22px 20px 18px}
 .browser-caption span,.sample-label,.browser-foot span,.op-list .op-desc,.hero-floating span,.hero-floating small{white-space:nowrap}
 .browser-foot{gap:10px;padding:12px 18px}
 .hero-floating{padding:12px 24px;gap:12px}
}
/* 961〜1100px：帯の文字が端まで詰まるため2行に組み替える */
@media(min-width:961px) and (max-width:1100px){
 .hero-floating{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 28px;border-radius:28px}
}
/* タブレット：文章と画面イメージを縦に並べる */
@media(min-width:761px) and (max-width:960px){
 .hero-grid{grid-template-columns:1fr;gap:40px}
 .hero h1{font-size:2.375rem;white-space:normal}
 .hero-lead br{display:none}
 .hero-demo{max-width:560px;width:100%;margin:0 auto}
}
@media(max-width:760px){
 .hero{padding-bottom:calc(38px + 22px)}
 .hero h1{font-size:1.875rem;white-space:normal}
 .hero-lead{line-height:1.9;word-break:auto-phrase}
 .hero-lead br{display:none}
 .hero-floating{padding:12px 22px}
}


/* ==========================================================
   6. 事例帯（ヒーロー直下）：ロゴ入りの丸型カードをヒーロー下端に重ねる
   ========================================================== */
.trust-strip{position:relative;z-index:2;background:transparent;border:0;padding:0;margin-top:-34px}
.trust-inner{padding:18px 44px;gap:24px;border:1px solid var(--line);border-radius:999px;
 background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 14px 34px #0000001a}
.trust-label{padding-right:22px;color:var(--brand-deep)}
.trust-logo{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:132px;height:58px;border:1px solid var(--line);border-radius:8px;background:#fff}
.trust-logo img{display:block;width:100px;height:auto}
.trust-company{border-left:0;padding-left:0;white-space:nowrap}
.trust-detail{border-left:1px solid var(--line);padding-left:24px;color:#555;font-size:var(--fs-sm)}
.trust-inner .text-link{font-size:var(--fs-sm)}   /* ヒーローの「サービス範囲を見る」と同じ */

/* 狭いPC：余白を詰めて説明文を2行に収める */
@media(min-width:961px) and (max-width:1240px){
 .trust-inner{padding:18px 32px;gap:16px}
 .trust-label{padding-right:16px}
 .trust-detail{padding-left:16px}
}
/* 761〜1150px：説明文は細い列に押し込まれて帯が膨らむため隠す */
@media(min-width:761px) and (max-width:1150px){
 .trust-detail{display:none}
 .trust-inner .text-link{margin-left:auto}
}
/* タブレット：要素を少し詰めて1行に収める */
@media(min-width:761px) and (max-width:960px){
 .trust-inner{gap:14px;padding:14px 24px}
 .trust-label{padding-right:14px}
 .trust-logo{width:104px;height:48px}
 .trust-logo img{width:80px}
 .trust-inner .text-link{flex-shrink:0;white-space:nowrap}
}
@media(max-width:960px){
 .trust-company{white-space:normal;word-break:auto-phrase;line-height:1.5;flex:1;min-width:0}
}
@media(max-width:760px){
 .trust-strip{margin-top:-22px}
 .trust-inner{padding:16px 22px;gap:12px 14px;border-radius:20px}
 .trust-label{width:100%;border-right:0;padding-right:0;display:flex;gap:8px;align-items:baseline}
 .trust-label span{display:inline}
 .trust-logo{width:84px;height:42px}
 .trust-logo img{width:64px}
 .trust-inner .text-link{margin-left:0;width:100%;justify-content:space-between;border-bottom:0;border-top:1px solid var(--line);padding-top:12px}
}


/* ==========================================================
   7. ABOUT
   ========================================================== */
.about-item h3{margin-bottom:6px}   /* 見出しと説明を詰めてひとかたまりに */


/* ==========================================================
   8. ISSUE：中央揃えの白カード。上端にオレンジ線、悩み → 小さな三角 → 解決の一文
   4枚のカードで「ラベル・見出し・本文・解決」の行をそろえる（subgrid）
   ========================================================== */
.issue-grid{row-gap:20px;column-gap:8px}
.issue{position:relative;display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;padding:0;
 border:0;border-top:3px solid var(--brand);border-radius:0 0 12px 12px;
 background:linear-gradient(180deg,#faf7f2 0%,#fff 45%);box-shadow:0 4px 16px #0000000d;text-align:center}
.issue:after{content:none}
.issue-no{display:block;margin:0;padding:24px 16px 0;color:#9a9a9a;letter-spacing:.14em}
.issue h3{position:relative;z-index:1;margin:0;padding:8px 16px 0;color:var(--ink)}
.issue p{margin:8px 0 0;padding:0 16px 22px;color:var(--muted)}
.issue-result{position:relative;display:block;min-height:0;margin-top:0;padding:30px 16px 22px;border-top:0;border-radius:0;
 background:transparent;color:var(--brand-deep);font-size:var(--fs-base);font-weight:700;line-height:1.6;text-align:center}
.issue-result:before{content:"";position:absolute;top:0;left:50%;width:28px;height:13px;margin:0;transform:translateX(-50%);
 background:#e8e3db;clip-path:polygon(0 0,100% 0,50% 100%)}
/* タブレット〜狭いPC：4列だと解決の一文が割れるため2列 */
@media(min-width:761px) and (max-width:1150px){
 .issue-grid{grid-template-columns:repeat(2,1fr);column-gap:16px;row-gap:16px}
}
@media(max-width:760px){
 .issue-grid{grid-template-columns:1fr;row-gap:16px}
 .issue-no{padding:20px 16px 0}
 .issue h3{padding:6px 16px 0}
}


/* ==========================================================
   9. REASON：カードにせず、列の間を縦線で区切って強みを言い切る
   ========================================================== */
.reason-grid{gap:0;align-items:stretch}
.reason,.reason:last-child{display:flex;flex-direction:column;padding:0 28px;border:0;border-radius:0;background:transparent;box-shadow:none}
.reason+.reason{border-left:1px solid #ececec}
.reason-visual{height:auto;margin-bottom:22px}
.reason-no{color:#fbdcb3;font-size:var(--fs-display)}
.reason .icon{color:var(--brand)}
.reason h3{margin-bottom:10px;color:var(--ink);font-size:var(--fs-xl)}
.reason p{color:var(--text)}
.reason-sub{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:20px;padding:7px 14px;
 border:0;border-radius:999px;background:var(--brand-soft);color:var(--orange);font-weight:700}
.reason-sub:before{content:"\2713";font-weight:700}
.reason .reason-note{margin-top:12px;color:#999;font-size:.6875rem;line-height:1.6;letter-spacing:.02em}   /* REASON01 の商標の注記（11px・淡いグレー） */
/* 狭いPC〜タブレット：見出しが3行に割れるため一段小さく、余白を詰める */
@media(min-width:761px) and (max-width:1150px){
 .reason h3{font-size:var(--fs-lg)}
 .reason,.reason:last-child{padding:0 20px}
 .reason:first-child{padding-left:0}
 .reason:last-child{padding-right:0}
}
/* タブレット：3列だと見出しとバッジが割れるため1列＋横線区切り */
@media(min-width:761px) and (max-width:960px){
 .reason-grid{grid-template-columns:1fr;gap:0}
 .reason,.reason:last-child,.reason:first-child{padding:28px 0}
 .reason h3 br{display:none}
}
@media(max-width:960px){
 .reason:first-child{padding-top:0}
 .reason+.reason{border-left:0;border-top:1px solid #ececec}
}
@media(max-width:760px){
 .reason,.reason:last-child{padding:24px 0}
 .reason-visual{flex-direction:row;align-items:center;gap:16px;padding:0}
}


/* ==========================================================
   10. USE CASE：重なったカード風のタブ
   非選択＝奥のカード（暗め・低め）／選択中＝手前でパネルとつながる
   ========================================================== */
.use-tabs{position:relative;z-index:1;align-items:flex-end;gap:6px;border-bottom:1px solid var(--line)}
.use-tabs button{position:relative;margin:0 0 -1px;padding:15px 20px 14px;border:1px solid var(--line);border-bottom:0;border-radius:0;
 background:#f1ece4;color:#6b6b6b;transform:translateY(4px);
 box-shadow:inset 0 -10px 12px -10px rgba(0,0,0,.14);
 transition:transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease}
.use-tabs button:hover{transform:translateY(1px);background:#f8f5f0;color:var(--ink);box-shadow:inset 0 -8px 10px -10px rgba(0,0,0,.1)}
.use-tabs button[aria-selected="true"]{z-index:2;transform:none;padding-top:17px;padding-bottom:16px;background:#fff;color:var(--brand-deep);
 border-color:var(--line);border-top:3px solid var(--brand);box-shadow:0 -4px 12px rgba(0,0,0,.05)}
.use-panel{position:relative;z-index:1;border-top:0;border-radius:0;box-shadow:0 14px 24px -10px rgba(0,0,0,.06)}
.use-panel h3{margin:14px 0 10px}
.scenario-title{color:var(--orange)}
.scenario-flow span:not(:last-child):after{color:var(--brand)}
/* 切り替え時、パネルの箱は動かさず中身だけを短くフェードイン。右の操作例は少し遅らせる */
@keyframes usePanelContentIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.use-panel:not([hidden])>*{animation:usePanelContentIn .42s cubic-bezier(.25,.8,.25,1) both}
.use-panel:not([hidden])>*:nth-child(2){animation-delay:.06s}
@media(min-width:761px) and (max-width:960px){
 .use-panel{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
 .use-tabs{gap:4px;align-items:stretch}
 .use-tabs button{display:flex;align-items:center;justify-content:center;padding:12px 6px 11px;line-height:1.45;word-break:auto-phrase;text-wrap:balance}
 .use-tabs button[aria-selected="true"]{padding-top:12px;padding-bottom:11px}
}
@media(prefers-reduced-motion:reduce){
 .use-tabs button{transition:none}
 .use-panel:not([hidden])>*{animation:none}
}


/* ==========================================================
   11. 導入事例カード：左に写真、右にスレートネイビーのパネル（写真：テキスト＝5：6）
   ========================================================== */
.case-feature{--case-navy:#2b3a52;--case-accent:#fe6034;--case-label:#fea986;--case-body:#d4dce4;
 grid-template-columns:minmax(0,5fr) minmax(0,6fr);border:0;border-radius:16px;overflow:hidden;background:var(--case-navy);box-shadow:none}
.case-photo{margin:0;position:relative;min-height:100%;background:#ddd}
.case-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.case-feature-body{position:relative;overflow:hidden;isolation:isolate;padding:36px 44px;color:#fff;
 display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.case-feature-body>*{position:relative;z-index:1}
/* パネル右下に、ヒーローと同じ同心円モチーフを白の細線で薄く */
.case-feature-body:before{content:"";position:absolute;z-index:0;pointer-events:none;
 width:420px;height:420px;right:-150px;bottom:-190px;border-radius:50%;
 border:1px solid rgba(255,255,255,.10);
 background:
  radial-gradient(circle at center,rgba(255,255,255,.035) 0 146px,rgba(255,255,255,.10) 146px 147px,transparent 147px),
  radial-gradient(circle at center,rgba(255,255,255,.03) 0 176px,rgba(255,255,255,.10) 176px 177px,transparent 177px),
  rgba(255,255,255,.025)}
/* ロゴと社名を1行に。社名はネイビーグレー */
.case-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.case-logo{display:inline-flex;background:#fff;border-radius:6px}
.case-brand .case-logo{margin:0;padding:6px 10px}
.case-brand .case-logo img{display:block;width:68px;height:auto}
.case-brand .case-client{margin:0;padding:0;border:0;font-size:var(--fs-sm);font-weight:600;letter-spacing:.04em;line-height:1.4;color:#a9b6c8;word-break:auto-phrase}
.case-title{margin-bottom:12px;color:#fff;font-size:var(--fs-xl);line-height:1.5;letter-spacing:.03em}
.case-text{margin:0;max-width:none;color:var(--case-body)}
.case-title,.case-text{word-break:auto-phrase;text-wrap:pretty}
.case-btn{display:inline-flex;align-items:center;gap:10px;margin-top:20px;min-height:46px;padding:10px 24px;color:#fff}
.case-btn>span[aria-hidden]{display:none}
@media(max-width:960px){.case-feature-body{padding:28px 30px}}
@media(max-width:760px){
 .case-feature{grid-template-columns:1fr}
 .case-photo{min-height:0;aspect-ratio:16/9}       /* 横長に抑え、顔とロゴが入る位置で切り抜く */
 .case-photo img{object-position:50% 30%}
 .case-feature-body:before{width:300px;height:300px;right:-120px;bottom:-140px;
  background:
   radial-gradient(circle at center,rgba(255,255,255,.035) 0 104px,rgba(255,255,255,.10) 104px 105px,transparent 105px),
   radial-gradient(circle at center,rgba(255,255,255,.03) 0 126px,rgba(255,255,255,.10) 126px 127px,transparent 127px),
   rgba(255,255,255,.025)}
 .case-brand{gap:10px}
 .case-brand .case-client{font-size:var(--fs-xs)}
 .case-btn{width:100%;justify-content:center;padding:10px 14px;font-size:var(--fs-sm);white-space:nowrap}
}

/* 自社経験の帯：線をなくし、角丸は事例カードと同じ16px */
.experience{margin-top:16px;border:0;border-radius:16px;background:#f8f7f5}
.experience p,.experience h3{word-break:auto-phrase;text-wrap:pretty}
.experience small{color:var(--muted)}


/* ==========================================================
   12. SERVICE SCOPE・中間CTA
   ========================================================== */
.scope-main{border:1.5px solid var(--brand)}
.scope-steps div{border:1px solid #fbe0bd;border-radius:6px;background:linear-gradient(90deg,#fff4e6,#ffebd1);color:var(--text);font-weight:400}
.scope-steps small{margin-bottom:3px;color:var(--brand-deep);font-size:var(--fs-md);font-weight:700}
.scope-footnote{text-align:center}
/* 中間CTA：箱をやめ、一言とボタンを縦に並べて中央へ */
.mid-cta{flex-direction:column;gap:16px;margin-top:20px;padding:22px 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.mid-cta p{color:var(--muted);font-weight:500}
.mid-cta .btn{min-height:55px}
.mid-cta p,.scope-steps div,.scope-footnote{word-break:auto-phrase;text-wrap:balance}


/* ==========================================================
   13. DELIVERABLES：報告書の構成例
   紙を重ねた影＋上端のクリップで「書類」に見せる。左の文章は上揃え
   ========================================================== */
.report-copy h2{margin-bottom:24px}
.report-copy p+p{margin-top:16px}
.report-sheet{position:relative;padding:24px 28px 20px;border:1px solid #e6e1d9;border-radius:4px;
 box-shadow:6px 6px 0 -1px #fff,6px 6px 0 0 #e6e1d9,12px 12px 0 -1px #fff,12px 12px 0 0 #ece8e1,0 18px 36px rgba(0,0,0,.06)}
.report-sheet:before{content:"";position:absolute;top:-20px;right:36px;left:auto;z-index:2;width:20px;height:50px;pointer-events:none;
 background:url("https://1970584.fs1.hubspotusercontent-na1.net/hubfs/1970584/load-test/assets/images/report-clip.svg") no-repeat center/20px 50px;border-radius:0;box-shadow:none;
 filter:drop-shadow(1px 2px 1.5px rgba(0,0,0,.12));clip-path:none}
.report-sheet:after{content:none}
.report-sheet h3{position:relative;margin-bottom:8px;padding-bottom:0}
/* 上段：REPORT ＋「構成例」バッジ */
.report-top{align-items:center;justify-content:flex-start;gap:12px;padding-bottom:10px;margin-bottom:14px;border-bottom-color:var(--dark)}
.report-top b{font-family:Arial,sans-serif;letter-spacing:.18em;font-size:var(--fs-xs);color:var(--muted)}
.report-top span{display:inline-flex;align-items:center;gap:6px;margin-right:0;padding:3px 10px;border:1px solid var(--brand);border-radius:999px;
 background:#fff;color:var(--brand-deep);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em}
.report-top span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand)}
/* 各項目 */
.report-row{grid-template-columns:32px 1fr;gap:10px;padding:12px 0}
.report-row>span{padding-top:1px;color:var(--brand-deep);font-size:var(--fs-sm);font-weight:700}
.report-row h4{line-height:1.5}
.report-row p{margin-top:2px;line-height:1.6}
/* 表現例：淡いグレーの面だけ（オレンジ線なし） */
.report-example{margin-top:8px!important;padding:8px 12px;font-size:var(--fs-xs);line-height:1.6;border-radius:4px;
 background:#f8f7f5!important;border-left:0!important}
.report-row .report-example{font-size:var(--fs-xs);line-height:1.6;text-wrap:pretty;border-left:0!important}
.report-note{margin-top:18px}   /* 紙を重ねた影の分、少し下げる */
@media(min-width:961px){
 .report-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:start}
 .report-copy{padding-top:24px}
}


/* ==========================================================
   14. FLOW・ご準備いただくもの
   ========================================================== */
.flow-dot{border-color:var(--brand);color:var(--brand-deep)}
.flow-step:not(:last-child):before{border-top-color:#f3c48a}
.flow-step h3{margin:12px 0 6px}
/* PC・タブレット：番号・見出しを中央に、丸どうしを点線でつなぐ */
@media(min-width:761px){
 .flow-grid{padding:20px 0 21px}
 .flow-step{display:flex;flex-direction:column;align-items:center}
 .flow-dot{margin:0 0 9px;background:var(--warm)}
 .flow-step h3{text-align:center;width:100%}
 .flow-step p{align-self:stretch;text-align:left}
 .flow-step:not(:last-child):before{left:calc(50% + 24px);right:auto;width:calc(100% + 26px - 48px);top:23px;border-top:1px dashed #f3c48a}
}
/* タブレット：2列×2段（段をまたぐ点線は出さない） */
@media(min-width:761px) and (max-width:960px){
 .flow-grid{grid-template-columns:repeat(2,1fr);row-gap:32px}
 .flow-step:nth-child(2n):before{display:none}
}
@media(max-width:760px){
 .flow-step:not(:last-child):before{border-left:1px dashed #f3c48a}
}

/* ご準備いただくもの：開閉なし。見出しの列は中身の幅 */
.prep-box{display:grid;grid-template-columns:max-content 1fr;gap:40px;align-items:start;margin-top:32px;padding:24px 32px;
 border:1px solid var(--line);border-radius:10px;background:#fff}
.prep-head{display:flex;flex-direction:column;gap:4px}
.prep-body p{color:var(--text)}
.prep-body p+p{margin-top:8px}
@media(min-width:961px){.prep-head h3{padding-top:2px}}
@media(max-width:960px){.prep-box{grid-template-columns:1fr;gap:10px;padding:22px 30px}}
@media(max-width:760px){.prep-box{gap:12px;padding:22px}}


/* ==========================================================
   15. TEST APPROACH：比較表と検証ガイド
   ピークキューブ列＝見出しはボタンと同じオレンジのグラデーション×白字、
   セルは淡いオレンジ×太字＋チェック＋要点をオレンジ
   ========================================================== */
.compare-wrap{border-radius:14px}
.compare-table{line-height:1.6}
.compare-table th,.compare-table td{padding-top:16px;padding-bottom:16px}
.compare-table td,.compare-table tbody th{font-size:var(--fs-sm)}
.compare-table thead th{background:#f4f2ee;color:#555;font-size:var(--fs-base)}
.compare-table .compare-corner{background:#f4f2ee}
.compare-table th small{margin-top:2px;line-height:1.5}
.compare-table thead th.our{border-top:0;border-radius:0 12px 0 0;background:linear-gradient(96.84deg,#f5841c 0%,#ea6a00 100%);color:#fff;box-shadow:none}
.compare-table thead th.our small{color:#fff;opacity:.9}
.compare-table td.our{position:relative;padding-left:44px;background:#fff2e3;color:var(--ink);font-weight:600}
.compare-table td.our:before{content:"\2713";position:absolute;left:22px;top:16px;color:var(--brand-deep);font-weight:700}
.compare-table td.our .hl{font-style:normal;color:var(--brand-deep)}
/* 761〜1260px：固定の改行だと1〜2文字だけ次行に落ちるため、改行は自動に任せて文節で折り返す */
@media(min-width:761px) and (max-width:1260px){
 .compare-table td br,.compare-table th br{display:none}
 .compare-table td{word-break:auto-phrase}
}
@media(max-width:760px){
 .compare-table th,.compare-table td{padding-top:13px;padding-bottom:13px}
 .compare-table td.our{padding-left:36px}
 .compare-table td.our:before{left:16px;top:13px}
}

/* 検証ガイド：本文とリンクは見出し（h4）より一段小さく */
.guide>summary{background:#f8f7f5}
.guide>summary .icon-box,.guide>summary .plus{color:var(--brand)}
.guide-body p,.guide-body .text-link{font-size:var(--fs-sm)}


/* ==========================================================
   16. CONTACT：FAQの淡いベージュから明るい流れのまま、淡いオレンジのグラデーションで着地
   ========================================================== */
.contact-section{background:linear-gradient(160deg,#fff7ee 0%,#ffeedd 60%,#ffe4c4 100%);border-top:0;color:var(--text)}
.contact-copy h2{color:var(--ink)}
.contact-copy .eyebrow{color:var(--brand-deep)}
.contact-copy>p,.contact-help{color:var(--text)}
.contact-help{border-color:#f0d9bd}
.contact-help span:before{color:var(--brand-deep)}
.form-card{color:var(--ink);border:0;box-shadow:0 18px 40px rgba(200,100,0,.12)}
.form-note{background:#f4f2ee;color:#555}
/* 「必須」：12pxのバッジ */
.required{padding:6px 4px;border-radius:3px;background:var(--brand-deep);color:#fff;font-size:var(--fs-xs);line-height:1;letter-spacing:.08em;white-space:nowrap;flex-shrink:0}
/* 現行フォーム準拠の項目：姓・名はスマホでも2列／同意チェック */
.field-consent{border:0;padding:0;margin:4px 0 22px;min-width:0}
.field-consent legend{padding:0;margin-bottom:8px;font-weight:700;color:var(--ink)}
.consent-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;color:var(--ink)}
.consent-check input{flex-shrink:0;width:20px;height:20px;margin:0;accent-color:var(--brand-deep);cursor:pointer}
.consent-check a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.consent-check .required{margin-left:4px}
.consent-check input[aria-invalid="true"]{outline:2px solid #d93025;outline-offset:2px}
.field .consent-check{justify-content:flex-start;margin:0;font-weight:500}
.field .consent-check .required{margin-left:auto}
@media(max-width:760px){.form-row--name{grid-template-columns:1fr 1fr;gap:12px}}
/* HubSpot 版：フォームはテンプレートのフォームモジュールが直後に続くため、見出しと説明だけを中央に1列で置く */
.contact-section--hubspot{padding-bottom:48px}
.contact-grid--copy-only{grid-template-columns:minmax(0,760px);justify-content:center;text-align:center}
.contact-grid--copy-only .contact-copy{padding-top:0}
.contact-grid--copy-only .contact-copy h2:after{left:50%;transform:translateX(-50%)}
.contact-grid--copy-only .contact-help{display:grid;justify-content:center;text-align:left}
@media(max-width:760px){
 .contact-section--hubspot{padding-bottom:32px}
 .contact-grid--copy-only{text-align:left}
 .contact-grid--copy-only .contact-copy h2:after{left:0;transform:none}
 .contact-grid--copy-only .contact-help{display:block}
}


/* ==========================================================
   17. スマホの左右余白をそろえる（2026-10-08）
   画面端20px ＋ カードの内側20px（カードの中の箱は16px）に統一。
   iPhone の Safari は文節改行（auto-phrase）に未対応のため、
   行頭に「ー」や小さい文字が来ないよう禁則を厳しめにする
   ========================================================== */
body{line-break:strict}
/* 本文・左揃えの見出しは普通の折り返しに戻す。
   Safari（iPhone）は text-wrap:pretty を段落全体の行長をそろえる形で処理し、
   全行が短く折り返されて右側だけ大きく空くため。中央揃えの短い見出し・リードの balance は残す */
p,.case-text,.case-title,.scope-result,.experience p,.experience h3,.report-row .report-example{text-wrap:wrap}
/* 本文の段落は文節改行（Chrome のみ対応）もやめ、ブラウザ間で右端のそろい方を同じにする */
.about-lead,.case-text,.experience p{word-break:normal}
@media(max-width:760px){
 .trust-inner{padding:16px 20px}
 .issue-no{padding-left:20px;padding-right:20px}
 .issue h3{padding-left:20px;padding-right:20px}
 .issue p{padding-left:20px;padding-right:20px}
 .issue-result{padding-left:20px;padding-right:20px}
 .use-panel{padding-left:20px;padding-right:20px}
 .scenario{padding:16px}
 .case-feature-body{padding:28px 20px}
 .experience{padding:24px 20px}
 .scope-main,.scope-side{padding:24px 20px}
 .report-sheet{padding:24px 20px 20px}
 .prep-box{padding:22px 20px}
 .guide>summary{padding:18px 20px}
 .guide-body{padding:20px}
 .faq-answer{padding-right:0}
 .form-card{padding-left:20px;padding-right:20px}
}
