:root{--green:#174c3c;--ink:#173d33;--ivory:#f2f6f0;--gold:#efe9af;--muted:#5a7069;--line:#c9d5cd;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:var(--ivory);font-family:var(--sans);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #bf9f35;outline-offset:5px}.skip-link{position:fixed;z-index:50;top:12px;left:12px;padding:16px;background:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{height:76px;padding:0 clamp(20px,3.3vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b6c7bc;background:var(--ivory)}.brand{font-family:Georgia,"Times New Roman",serif;font-size:34px;letter-spacing:-1.5px;line-height:1.1}.brand span{color:#657949}.site-header nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700}.header-cta{display:flex;align-items:center;justify-content:center;gap:20px;min-height:46px;background:var(--green);color:#fff;border-radius:6px;padding:0 23px}.index-link{padding:14px 0}.story{--extract:1;--move:1;--review:0;--finish:1;--source-opacity:0;--table-opacity:1;--table-y:0px;--table-x:0px;--source-x:0px;--source-y:0px;--source-scale:1;--rows:1;--travel-opacity:0;--progress:1}.story-sticky{padding:50px clamp(20px,3.3vw,64px) 54px;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(530px,1.55fr);gap:34px;align-items:center;min-height:calc(100svh - 76px)}.story[data-ready="true"]{height:calc(100svh + 260svh)}.story[data-ready="true"] .story-sticky{position:sticky;top:0;min-height:100svh}.story-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.story-intro h1{font-family:var(--serif);font-weight:600;font-size:clamp(36px,3.1vw,62px);line-height:1.65;letter-spacing:-.035em;margin:0 0 26px}.story-intro h1 span{display:block}.intro-copy{font-size:clamp(16px,1.28vw,20px);line-height:1.95;margin:0}.scroll-invitation{margin-top:clamp(50px,9vh,120px);font-size:14px;line-height:1.8;color:var(--muted);min-height:44px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.scroll-invitation span{font-size:28px;line-height:1}.workbench{background:#eeefdf;border-radius:20px;padding:28px 22px 14px;position:relative;min-width:0}.stage-caption{text-align:center;height:112px;position:relative}.stage-number{margin:0 0 8px;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--muted)}.stage-number span:first-child{font-weight:800;color:var(--green)}.stage-caption h2{font-family:var(--serif);font-weight:600;font-size:clamp(21px,2.15vw,34px);line-height:1.45;margin:0 0 8px}.stage-caption>p:last-child{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}.document-canvas{position:relative;height:335px;margin:8px 0 12px;overflow:hidden}.source-documents{position:absolute;inset:0;z-index:3;opacity:var(--source-opacity);transform:translate(var(--source-x),var(--source-y)) scale(var(--source-scale));transform-origin:50% 48%;will-change:transform,opacity}.source-document{background:#fff;position:absolute;top:36px;left:calc(50% - 86px);width:172px;min-height:238px;padding:15px 14px;border:1px solid #d4ddd6;box-shadow:0 10px 17px #1b3e3310;font-size:12px;transform-origin:50% 80%}.source-one{transform:translateX(-120px) rotate(-7deg);z-index:1}.source-two{transform:translateY(-7px);z-index:3}.source-three{transform:translateX(120px) rotate(7deg);z-index:2}.document-top{display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap;color:#5a6a64}.file-symbol{width:24px;height:27px;display:grid;place-items:center;color:white;font-weight:800;border-radius:3px}.file-symbol.excel{background:#267557;font-size:16px}.file-symbol.pdf{background:#ac5850;font-size:8px}.document-name{margin:14px 0 10px;font-weight:700;font-size:16px}.document-rule{height:1px;background:#c9d5cd;margin-bottom:13px}.source-document p.source-company{font-size:13px;margin:0 0 8px;white-space:nowrap}.source-date{margin:0 0 8px}.source-price{margin:0 0 13px;font-size:19px;font-weight:700}.extract-field{background:rgba(239,233,175,var(--extract));padding:2px 3px;margin-left:-3px}.fake-lines{display:flex;flex-direction:column;gap:7px}.fake-lines i{display:block;height:4px;background:#e4e9e6;width:100%}.fake-lines i:nth-child(2){width:84%}.fake-lines i:nth-child(3){width:60%}.spreadsheet{position:absolute;top:54px;right:1%;width:94%;max-width:460px;background:#fff;border:1px solid #bdccc2;border-radius:6px;box-shadow:0 10px 18px #173d330d;padding:12px;opacity:var(--table-opacity);transform:translate(var(--table-x),var(--table-y));z-index:2}.sheet-header{display:flex;align-items:center;gap:9px;margin-bottom:13px;min-height:22px;font-size:15px}.sheet-icon{width:21px;height:23px;display:grid;place-items:center;background:#267557;color:white;font-size:14px;font-weight:800;border-radius:2px}.complete-check{font-size:11px;color:#367257;margin-left:auto;opacity:var(--finish);white-space:nowrap}table{border-collapse:collapse;width:100%;table-layout:fixed;font-variant-numeric:tabular-nums;font-size:13px}th,td{border:1px solid #cdd7d0;padding:11px 6px;text-align:left;white-space:nowrap}th{font-weight:500;background:#f1f4f1}th:first-child{width:41%}th:nth-child(2){width:26%}th:nth-child(3){width:33%}td:nth-child(2),th:nth-child(2){text-align:center}td:last-child,th:last-child{text-align:right}.cell-value{opacity:var(--rows)}tfoot th{font-weight:700}tfoot td{background:#f1f4f1;font-weight:800;font-size:17px}tfoot td span{opacity:var(--finish)}.sheet-bottom{margin-top:10px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.sheet-tab{color:var(--green);font-size:11px;border-bottom:2px solid var(--green);padding-bottom:2px}.review-cell{position:relative;background:rgba(239,233,175,var(--review))}.review-dot{position:absolute;right:1px;top:0;background:#d5ac37;color:#173d33;border-radius:50%;width:13px;height:13px;font-size:10px;font-weight:bold;opacity:var(--review)}.travel-field{position:absolute;z-index:5;top:141px;left:29%;font-size:13px;font-weight:700;background:var(--gold);padding:7px 9px;border:1px solid #d6ca70;box-shadow:0 4px 9px #173d3310;white-space:nowrap;opacity:var(--travel-opacity);transform:translate(var(--travel-x,0px),var(--travel-y,0px));will-change:transform,opacity}.travel-date{top:174px}.travel-price{top:207px}.review-callout{position:absolute;z-index:6;right:4%;bottom:0;background:var(--gold);border:1px solid #dcd185;border-radius:6px;padding:12px 16px;opacity:var(--review);transform:translateY(calc((1 - var(--review))*12px));box-shadow:0 5px 13px #173d3308}.review-callout strong,.review-callout>span{display:block}.review-callout strong{font-size:13px;margin-bottom:4px}.review-callout strong>span{display:inline-grid;place-items:center;margin-right:5px;width:17px;height:17px;border:1px solid currentColor;border-radius:50%}.review-callout>span{font-size:11px;color:#5d613b}.finish-callout{position:absolute;bottom:2px;right:4%;left:4%;text-align:center;font-size:15px;font-weight:700;opacity:var(--finish)}.finish-callout>span{margin-right:7px;color:#267557}.stage-controls{position:relative;display:none;grid-template-columns:repeat(5,1fr);margin:12px 14px 0}.story[data-ready="true"] .stage-controls{display:grid}.stage-controls button{border:0;padding:0 4px;background:none;min-height:65px;position:relative;z-index:1;color:var(--muted);display:flex;align-items:center;flex-direction:column;gap:5px;font-size:12px;cursor:pointer}.stage-controls button span{display:grid;place-items:center;height:30px;width:30px;background:var(--ivory);border:1px solid #9cb2a6;border-radius:50%;font-family:Georgia,serif;font-size:17px}.stage-controls button[aria-pressed="true"]{font-weight:800;color:var(--green)}.stage-controls button[aria-pressed="true"] span{background:var(--gold);border-color:var(--gold)}.progress-track{position:absolute;height:1px;background:#a9bdb1;left:10%;right:10%;top:15px;overflow:hidden}.progress-track>span{display:block;height:100%;width:calc(var(--progress)*100%);background:var(--green)}.sample-note{font-size:11px;text-align:center;color:#596b62;margin:6px 0 0;line-height:1.6}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.explanation{background:#fff;padding:65px clamp(20px,6vw,110px);scroll-margin-top:24px}.explanation-heading{display:flex;align-items:center;justify-content:space-between;gap:36px;max-width:1210px;margin:0 auto}.explanation h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.4vw,36px);line-height:1.7;margin:0}.explanation-heading>p{font-size:15px;line-height:2;color:var(--muted);margin:0}.text-steps{padding:0;margin:32px auto 0;list-style:none;counter-reset:step;max-width:1210px;display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.text-steps li{border-top:1px solid var(--line);padding-top:16px;counter-increment:step}.text-steps li:before{content:"0" counter(step);font:18px Georgia,serif;color:#8a9e91;display:block;margin-bottom:12px}.text-steps strong{font-size:14px}.text-steps p{font-size:13px;line-height:1.8;color:var(--muted);margin:10px 0 0}.story[data-ready="true"]~.explanation .text-steps{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sample-data{max-width:1210px;margin:28px auto 0;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:24px}.sample-data p{font-size:12px;line-height:1.8;margin:0;color:var(--muted)}.sample-data p span{display:block;font-variant-numeric:tabular-nums}.sample-data a{font-size:13px;border-bottom:1px solid #80998b;min-height:44px;display:flex;align-items:center;gap:16px}.sample-data a span{font-size:10px;white-space:nowrap;color:var(--muted)}.contact{background:var(--green);color:var(--ivory);padding:80px clamp(20px,6vw,110px);display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.contact h2{font-family:var(--serif);font-size:clamp(32px,3.45vw,50px);font-weight:500;line-height:1.65;margin:0 0 24px}.contact>div>p{font-size:16px;line-height:2;margin:0}.contact-actions{text-align:center}.contact-button{background:var(--ivory);color:var(--green);padding:23px 24px;min-height:64px;border-radius:7px;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:30px}.contact-button span{font-size:22px}.contact-actions>p{font-size:12px!important;margin-top:15px!important}.related-link{margin:26px auto 0;display:inline-flex;gap:36px;align-items:center;min-height:44px;font-size:15px;border-bottom:1px solid #b6c7bc}.header-cta:hover{background:#23614c}.contact-button:hover{background:var(--gold)}footer{padding:30px 24px;background:#fff;text-align:center}footer .brand{font-size:27px}footer p,footer>a:last-child{font-size:11px;color:var(--muted);margin:12px 0 0}footer>a:last-child{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:1600px){.document-canvas{height:380px}.source-document{top:45px;width:184px;left:calc(50% - 92px);min-height:254px}.source-one{transform:translateX(-150px) rotate(-7deg)}.source-three{transform:translateX(150px) rotate(7deg)}.spreadsheet{top:58px;max-width:510px}table{font-size:15px}td,th{padding:14px 8px}.stage-caption{height:120px}.travel-company{top:150px}.travel-date{top:187px}.travel-price{top:224px}}
@media(max-width:1000px){.story-sticky{gap:24px;grid-template-columns:minmax(230px,.8fr) minmax(400px,1.3fr);padding-left:25px;padding-right:25px}.story-intro h1{font-size:31px}.workbench{padding-left:14px;padding-right:14px}.source-document{width:148px;left:calc(50% - 74px);padding:12px 10px}.source-one{transform:translateX(-88px) rotate(-7deg)}.source-three{transform:translateX(88px) rotate(7deg)}.document-top{font-size:9px}.stage-caption h2{font-size:23px}.stage-caption>p:last-child{font-size:12px}.spreadsheet{width:98%;right:1%;padding:9px}.text-steps{grid-template-columns:1fr 1fr}.explanation-heading{align-items:flex-start;flex-direction:column;gap:20px}.contact{gap:30px}.contact-button{font-size:15px;gap:16px}}
@media(max-width:740px){.site-header{height:64px;padding:0 20px}.brand{font-size:29px}.site-header nav{gap:17px;font-size:12px}.header-cta{padding:0 14px;gap:9px;min-height:44px;border-radius:5px}.story-sticky{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:24px 20px 22px;gap:19px;min-height:0}.story[data-ready="true"] .story-sticky{min-height:100svh}.story[data-ready="true"]{height:calc(100svh + 240svh)}.story-intro{display:block}.story-intro h1{font-size:clamp(27px,7.7vw,42px);line-height:1.4;letter-spacing:-.045em;margin:0 0 14px}.intro-copy{font-size:16px;line-height:1.75}.desktop-break{display:none}.scroll-invitation{font-size:11px;min-height:0;display:none}.workbench{padding:18px 12px 10px;border-radius:14px}.stage-caption{height:94px}.stage-caption h2{font-size:22px;margin-bottom:7px}.stage-caption>p:last-child{font-size:12px}.stage-number{font-size:10px;margin-bottom:5px}.document-canvas{height:270px;margin:0 0 3px}.source-document{top:28px;width:145px;left:calc(50% - 72.5px);min-height:214px}.source-one{transform:translateX(-76px) rotate(-8deg)}.source-three{transform:translateX(76px) rotate(8deg)}.source-document p.source-company{font-size:12px}.source-price{font-size:18px}.spreadsheet{top:37px;width:100%;right:0;max-width:none;padding:10px}.sheet-header{font-size:14px;margin-bottom:9px;gap:7px}.sheet-icon{width:19px;height:21px;font-size:12px}.complete-check{font-size:10px}table{font-size:11px}th,td{padding:10px 4px}.sheet-bottom{margin-top:8px;font-size:9px}tfoot td{font-size:15px}.review-callout{right:2%;bottom:2px;padding:10px 13px}.review-callout strong{font-size:12px}.review-callout>span{font-size:10px}.finish-callout{font-size:13px;bottom:4px}.travel-field{left:16%;font-size:11px;padding:5px 7px;top:113px}.travel-date{top:143px}.travel-price{top:173px}.stage-controls{margin:5px 0 0}.stage-controls button{min-height:53px;gap:4px;font-size:11px}.stage-controls button span{height:26px;width:26px;font-size:15px}.progress-track{top:13px}.sample-note{font-size:10px;margin-top:3px}.explanation{padding:43px 23px}.explanation-heading h2{font-size:26px}.explanation-heading>p{font-size:16px;line-height:1.9}.explanation-heading>p br{display:none}.sample-data{flex-direction:column;align-items:flex-start;gap:12px}.sample-data p{font-size:11px}.sample-data a{font-size:12px;gap:12px}.text-steps{grid-template-columns:1fr;gap:24px}.text-steps strong{font-size:16px}.text-steps p{font-size:16px}.contact{padding:52px 23px;display:block}.contact h2{font-size:33px;line-height:1.6;margin-bottom:16px}.contact>div>p{font-size:16px}.contact-actions{margin-top:28px}.contact-button{font-size:15px;padding:18px 14px;gap:12px;min-height:60px}.contact-actions>p{font-size:11px!important}.related-link{font-size:14px}.story[data-mode="compact"] .story-sticky{min-height:0}.story[data-mode="compact"]{height:auto}.story[data-mode="compact"] .story-sticky{position:relative}.story[data-mode="compact"] .stage-controls{display:grid}}
@media(max-width:380px){.site-header{padding:0 16px}.site-header nav{gap:12px}.brand{font-size:26px}.index-link{font-size:11px}.header-cta{font-size:11px;padding:0 11px}.story-sticky{padding-left:16px;padding-right:16px;gap:14px}.story-intro h1{font-size:27px}.intro-copy{font-size:16px;line-height:1.65}.workbench{padding:13px 10px 8px}.stage-caption{height:81px}.stage-caption h2{font-size:19px}.stage-caption>p:last-child{font-size:11px}.source-document{width:136px;left:calc(50% - 68px);min-height:200px}.source-one{transform:translateX(-65px) rotate(-8deg)}.source-three{transform:translateX(65px) rotate(8deg)}.source-document p.source-company{font-size:11px}.document-canvas{height:252px}.spreadsheet{padding:8px;top:32px}.sheet-header{font-size:12px;gap:5px}.complete-check{font-size:9px}table{font-size:10px}td,th{padding:10px 3px}.sheet-bottom{font-size:9px}.review-callout{right:0;padding:9px 10px}.review-callout strong{font-size:11px}.finish-callout{font-size:12px}.contact-button{font-size:13px}}
@media(max-width:740px) and (max-height:680px){.story-sticky{padding-top:16px;padding-bottom:12px;gap:12px}.story-intro h1{font-size:27px;line-height:1.35;margin-bottom:8px}.intro-copy{line-height:1.55}.workbench{padding-top:10px}.stage-caption{height:69px}.stage-caption h2{font-size:19px;margin-bottom:4px}.stage-number{margin-bottom:3px}.stage-caption>p:last-child{font-size:10px}.document-canvas{height:228px}.source-document{top:14px;min-height:190px}.source-document .fake-lines{gap:6px}.source-document .fake-lines i{height:3px}.spreadsheet{top:14px}.sheet-header{margin-bottom:7px}.sheet-bottom{margin-top:6px}.stage-controls{margin-top:1px}.stage-controls button{min-height:45px;gap:2px}.stage-controls button span{width:23px;height:23px;font-size:13px}.progress-track{top:11px}.sample-note{margin:0}.review-callout{padding:7px 9px}.review-callout>span{font-size:9px}.finish-callout{bottom:0}.travel-company{top:98px}.travel-date{top:126px}.travel-price{top:154px}}
@media(prefers-reduced-motion:reduce){.source-documents,.spreadsheet,.travel-field{will-change:auto}.story .stage-controls{display:none!important}}
/* Short screens and text zoom keep every stage reachable without a clipped sticky panel. */
.interaction-note{display:none;font-size:10px;line-height:1.5;text-align:center;color:var(--muted);margin:0 0 4px}
.story[data-ready="true"] .interaction-note{display:block}
.story[data-mode="compact"]{height:auto}
.story[data-mode="compact"] .story-sticky{position:relative;top:auto;min-height:0}
.story[data-mode="compact"] .interaction-note{font-size:0}
.story[data-mode="compact"] .interaction-note:after{content:"数字を押して、各段階を見られます";font-size:10px}
@media(max-width:740px){.stage-caption h2{font-size:clamp(17px,5vw,22px)}}
@media(max-width:740px) and (max-height:680px){.stage-caption h2{font-size:17px}.interaction-note{font-size:9px;margin-bottom:2px}.story[data-mode="compact"] .interaction-note:after{font-size:9px}}
/* Keep the consultation exit available throughout the scroll story. */
.floating-consult{position:fixed;z-index:20;right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-height:44px;padding:0 16px;display:flex;align-items:center;gap:15px;background:var(--green);border:1px solid #d2ddcf;color:white;font-size:13px;font-weight:700;border-radius:5px;box-shadow:0 4px 18px #173d331f}
.story-sticky{padding-bottom:72px}
.stage-caption{height:auto;min-height:112px}
.spreadsheet{top:35px}
.review-callout strong{font-size:13px}
.review-callout>span{font-size:12px}
@media(min-width:1600px){.stage-caption{min-height:120px}.spreadsheet{top:45px}}
@media(max-width:740px){.story-sticky{padding-bottom:66px}.stage-caption{min-height:94px}.document-canvas{height:300px}.spreadsheet{top:18px}table{font-size:13px}td,th{padding:8px 4px}.review-callout{left:2%;right:2%;padding:9px 11px}.review-callout strong{font-size:12px}.review-callout>span{font-size:12px}.finish-callout{font-size:13px}.sample-note{font-size:11px}.interaction-note{font-size:11px}.floating-consult{font-size:12px;right:14px;padding:0 13px}.contact{padding-bottom:66px}footer{padding-bottom:75px}}
@media(max-width:380px){.stage-caption{min-height:81px}.document-canvas{height:285px}table{font-size:12px}.spreadsheet{top:10px}.review-callout strong,.review-callout>span{font-size:12px}.finish-callout{font-size:12px}}
@media(max-width:740px) and (max-height:680px){.stage-caption{min-height:69px}.document-canvas{height:275px}.story-sticky{padding-bottom:64px}table{font-size:12px}td,th{padding:7px 4px}.review-callout>span{font-size:12px}.interaction-note{font-size:11px}.review-callout{padding:8px 10px}}
.story-transcript{max-width:1210px;margin:24px auto 0}
.story-transcript summary{font-size:15px;font-weight:700;min-height:44px;padding:12px 0;cursor:pointer;line-height:1.6}
.story-transcript summary:focus-visible{outline:3px solid #bf9f35;outline-offset:4px}
.story[data-ready="true"]~.explanation .story-transcript .text-steps{position:static;width:auto;height:auto;margin:18px 0 0;padding:0;overflow:visible;clip:auto;white-space:normal}
@media(max-width:740px){.intro-copy br{display:none}.story-transcript summary{font-size:16px}}
/* The introduction scrolls away on phones; the workbench alone remains in view. */
@media(max-width:740px){
  .story[data-ready="true"] .story-sticky{position:relative;display:block;height:100%;min-height:0;padding-top:28px;padding-bottom:72px}
  .story[data-ready="true"] .story-intro{margin-bottom:28px}
  .story[data-ready="true"] .workbench{position:sticky;top:18px}
  .story[data-mode="compact"] .story-sticky{height:auto;min-height:0}
  .story[data-mode="compact"] .workbench{position:relative;top:0}
}
.story[data-mode="compact"] .interaction-note{font-size:11px}
.story[data-mode="compact"] .interaction-note:after{content:none}
.floating-consult{visibility:hidden}
