:root{--paper:#f7f6f0;--forest:#294e3f;--ink:#253d34;--sage:#e4e9dc;--muted:#64716b;--border:#d4d9cd;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif CJK JP",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font-family:var(--sans);font-size:16px;cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #6b8b57;outline-offset:5px}svg{display:block}p,h1,h2,h3{margin:0}img{display:block;max-width:100%}[hidden]{display:none!important}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:20px;padding:12px 20px;background:var(--forest);color:white;z-index:30;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:15px;align-items:center}.brand img{width:51px;height:51px}.brand span{font-family:Georgia,serif;font-size:43px;letter-spacing:.01em}.site-header nav{display:flex;align-items:center;gap:39px;font-size:15px}.site-header nav a:hover,.site-footer a:hover{text-decoration:underline;text-underline-offset:6px}.parent-link{display:inline-flex;gap:10px;align-items:center}.parent-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.hero{display:grid;grid-template-columns:40% minmax(0,60%);gap:0;align-items:center;min-height:626px;padding-top:14px;padding-bottom:49px}.hero-copy{position:relative;z-index:2;padding-bottom:4px}.hero h1{font-family:var(--serif);font-size:clamp(48px,4.7vw,70px);line-height:1.46;letter-spacing:-.055em;font-weight:600;white-space:nowrap}.hero-intro{font-family:var(--serif);font-size:clamp(19px,1.75vw,26px);line-height:1.75;margin-top:19px;letter-spacing:-.035em;white-space:nowrap}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:19px;min-height:50px;padding:13px 23px;border-radius:9px;font-weight:500;line-height:1.5;transition:background .16s,transform .16s}.button svg{width:25px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.primary{background:var(--forest);color:#fff}.primary:hover{background:#355e4e;transform:translateY(-1px)}.primary:active{transform:none}.secondary{background:transparent;border-color:var(--border)}.secondary:hover{background:var(--sage)}.demo-start{margin-top:37px;min-height:69px;padding:17px 30px;font-size:21px;gap:27px;min-width:284px}.development{font-size:13px;color:var(--muted);margin-top:18px;line-height:1.7}.demo{min-width:0;padding-left:14px}.demo-stage{height:553px;position:relative}.reader-window{width:72%;height:528px;border:1px solid #d1d1ca;background:#fbfaf6;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #263e3414;position:absolute;top:0;left:0}.window-top{height:33px;background:#eeede8;display:flex;align-items:center;gap:7px;padding-left:14px;border-bottom:1px solid #e5e4dd}.dot{display:block;width:11px;height:11px;border-radius:50%}.red{background:#dc7961}.yellow{background:#dfbb65}.green{background:#76a66d}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 30px;color:#6a7069;font-size:13px;border-bottom:1px solid #efeee8}.reader-page{font-size:11px;letter-spacing:.12em}.reader-page-content{padding:31px 31px 22px;font-family:var(--serif)}.reader-page-content h2{font-size:29px;font-weight:600;margin-bottom:23px;line-height:1.5}.reader-page-content p{font-size:16px;line-height:1.8;letter-spacing:.015em;margin-bottom:22px;color:#434e46}.term-button{display:inline;padding:0 3px;border:0;background:#dce7ca;color:#203c2e;font:inherit;line-height:1.35;border-bottom:1px solid #a5b799;box-decoration-break:clone}.term-button:hover{background:#c9d8b4}.explanation-window{position:absolute;right:0;top:77px;width:54%;max-width:390px;border:1px solid #c9ccc2;border-radius:9px;background:#fbfaf6;box-shadow:0 10px 28px #253d3421;overflow:hidden;z-index:3}.explanation-header{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #dedfd5}.mini-brand{display:flex;align-items:center;gap:9px;font-family:Georgia,serif;font-size:23px}.mini-brand img{width:29px;height:29px}.icon-button{border:0;background:transparent;padding:7px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;min-width:32px;min-height:32px}.icon-button:hover{background:var(--sage)}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.explanation-content{padding:22px 20px 20px}.explanation-content h2{font-family:var(--serif);font-size:29px;font-weight:600;line-height:1.4;margin-bottom:18px}.label-rule{display:flex;gap:14px;align-items:center;font-size:13px;color:#858c80;margin-bottom:12px}.label-rule:after{content:"";height:1px;flex:1;background:#d9dcd2}.explanation-summary,.explanation-example{background:#efefe8;border-radius:7px;font-size:16px;line-height:1.65;padding:16px 17px}.explanation-summary{font-weight:500;margin-bottom:21px}.explanation-example{font-size:14px;margin-bottom:18px;color:#4b5950}.save-return{font-size:16px;padding:12px 15px;gap:13px;width:100%;min-height:55px}.save-return kbd{background:#f7f6f0;color:#53605a;padding:4px 8px;font-family:var(--sans);font-size:13px;border-radius:4px;white-space:nowrap}.demo-caption{text-align:right;font-size:11px;color:#7a8179;line-height:1.6;padding-top:4px}.demo-message{position:absolute;right:0;bottom:44px;width:59%;border:1px solid #cdd5c4;background:var(--sage);padding:18px 21px;border-radius:8px;box-shadow:0 5px 20px #253d3410;font-size:14px;line-height:1.8;z-index:3}.demo-message strong{display:block;font-size:16px;font-weight:500;margin-bottom:5px}.demo-message small{font-size:12px;color:#596b59}.workflow{border-top:1px solid #c5cec0;padding-top:29px;scroll-margin-top:24px}.steps{list-style:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;padding:0;margin:0}.steps li{position:relative;padding-right:25px}.step-number{font-family:Georgia,serif;font-size:21px;color:#556159}.steps h2{font-family:var(--serif);font-size:29px;line-height:1.5;font-weight:600;margin-top:4px;margin-bottom:10px;white-space:nowrap}.steps p{font-size:17px;line-height:1.65;color:#64716b}.steps kbd{font-family:var(--sans);font-size:15px}.step-arrow{width:30px;height:24px;fill:none;stroke:#78857b;stroke-width:1.1;position:absolute;right:0;top:55px}.workflow-note{font-size:12px;color:#798277;line-height:1.8;margin-top:28px}.knowledge{display:grid;grid-template-columns:51% 49%;align-items:center;gap:0;padding-top:113px;padding-bottom:63px;scroll-margin-top:20px}.knowledge-copy h2{font-family:var(--serif);font-size:clamp(34px,3.7vw,54px);font-weight:600;line-height:1.55;letter-spacing:-.045em;white-space:nowrap}.knowledge-intro{font-size:22px;line-height:1.9;margin-top:39px;letter-spacing:-.02em}.knowledge-principle{font-size:17px;line-height:1.8;margin-top:38px}.knowledge-demo{min-width:0}.knowledge-map{width:100%;height:auto;overflow:visible}.map-lines{stroke:var(--forest);stroke-width:1.8;fill:none}.candidate-line{stroke-dasharray:7 6}.map-node rect{fill:var(--paper);stroke:var(--forest);stroke-width:1.3}.main-node rect{fill:var(--sage);stroke-width:2.5}.map-node text{fill:var(--ink);text-anchor:middle;dominant-baseline:middle}.node-title{font-family:var(--serif);font-size:24px;font-weight:600}.node-caption{font-family:var(--sans);font-size:12px}.candidate-label{text-anchor:middle;fill:var(--ink);font-family:var(--sans);font-size:13px}.map-points{fill:var(--forest)}.note-example{margin-top:11px;margin-left:-7%;padding:20px 22px;border:1px solid #ccd5c4;border-radius:11px;display:flex;gap:22px;align-items:center;justify-content:space-between}.note-example h3{font-family:var(--serif);font-size:21px;line-height:1.5;font-weight:600;white-space:nowrap}.note-example p{font-size:13px;line-height:1.7;color:#5e6e62;margin-top:7px}.note-open{white-space:nowrap;border-radius:28px;font-size:15px;padding:13px 20px;gap:12px;min-height:48px}.note-open svg{width:20px}.note-feedback{font-size:13px;line-height:1.7;margin-top:13px;color:var(--forest)}.principles{background:var(--sage);padding:51px 0 48px}.principles-inner{display:grid;grid-template-columns:1fr 1fr;gap:58px}.principles-inner>div+div{border-left:1px solid #c2cdb8;padding-left:58px}.principles h2{font-family:var(--serif);font-size:31px;line-height:1.55;font-weight:600;letter-spacing:-.03em;white-space:nowrap}.principles p{font-size:16px;line-height:1.95;margin-top:17px;letter-spacing:.015em}.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #8d9b88;margin-top:22px;padding:15px 0 23px}.footer-brand{font-family:Georgia,serif;font-size:37px;letter-spacing:.09em}.site-footer>div{display:flex;gap:36px;align-items:center;font-size:13px;color:#63716a}.site-footer .parent-link svg{width:15px;height:15px}.trademark{width:100%;font-size:10px;color:#7b847c;line-height:1.7;margin-top:14px;text-align:right}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 100px #132e3050;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0}dialog::backdrop{background:#17332bc2;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid var(--border)}.dialog-body{padding:25px 28px 28px}.dialog-caption{font-size:12px;color:var(--muted);margin-bottom:15px}.dialog-body h2{font-family:var(--serif);font-size:30px;line-height:1.6;margin-bottom:8px}.note-terms{font-size:15px;color:var(--forest);padding-bottom:21px;border-bottom:1px solid var(--border)}.dialog-body h3{font-size:15px;font-weight:600;margin:23px 0 8px}.dialog-body h3+p{font-size:15px;line-height:1.9}.dialog-disclaimer{font-size:12px;line-height:1.8;color:var(--muted);margin-top:25px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:23px}.dialog-actions .button{font-size:14px}.error-main{max-width:720px;margin:12vh auto;padding:0 28px}.error-main h1{font-family:var(--serif);font-size:42px;line-height:1.7}.error-main p{font-size:17px;line-height:1.9;margin:24px 0}.error-main .button{margin-top:10px}
@media(min-width:1500px){.hero{min-height:655px}.hero-copy{padding-bottom:3px}.demo-stage{height:573px}.reader-window{height:548px}.reader-page-content{padding:35px 33px}.reader-page-content p{font-size:17px}.explanation-window{top:77px}.explanation-content{padding:24px 21px 22px}.explanation-summary{padding:17px}.explanation-example{padding:17px}.hero h1{font-size:73px}}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.site-header{height:95px}.hero{grid-template-columns:41% 59%;min-height:585px;padding-bottom:34px}.hero h1{font-size:clamp(42px,4.8vw,57px)}.hero-intro{font-size:20px}.demo{padding-left:22px}.demo-stage{height:510px}.reader-window{height:490px;width:80%}.reader-page-content{padding:25px 24px}.reader-page-content h2{font-size:26px}.reader-page-content p{font-size:14px}.explanation-window{width:66%;top:77px}.explanation-header{height:49px}.explanation-content{padding:18px 16px 17px}.explanation-content h2{font-size:25px;margin-bottom:15px}.explanation-summary{font-size:14px;padding:14px;margin-bottom:16px}.explanation-example{font-size:13px;padding:13px;margin-bottom:15px}.save-return{font-size:14px;gap:8px;padding:10px;min-height:49px}.save-return kbd{font-size:11px;padding:4px 6px}.label-rule{margin-bottom:9px}.demo-start{font-size:18px;min-width:255px;min-height:60px;padding:15px 24px;margin-top:31px}.development{font-size:11px}.steps{gap:43px}.steps h2{font-size:26px}.steps p{font-size:16px}.knowledge{padding-top:88px}.knowledge-copy h2{font-size:clamp(32px,3.7vw,44px)}.knowledge-intro{font-size:18px;margin-top:29px}.knowledge-principle{font-size:15px;margin-top:29px}.note-example{flex-wrap:wrap;gap:13px;padding:17px 19px}.note-example h3{font-size:21px}.note-open{min-height:42px;padding:10px 17px}.principles-inner{gap:33px}.principles-inner>div+div{padding-left:33px}.principles h2{font-size:27px}.principles p{font-size:14px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.site-header nav{gap:20px;font-size:13px}.brand span{font-size:35px}.brand img{width:44px;height:44px}.hero{grid-template-columns:1fr;padding-top:34px;min-height:0;gap:37px}.hero-copy{max-width:640px}.hero h1{font-size:65px;line-height:1.35}.hero-intro{font-size:23px;margin-top:24px}.demo-start{margin-top:28px}.development{font-size:12px}.demo{padding-left:0;width:min(700px,100%);margin:0 auto}.demo-stage{height:532px}.reader-window{width:77%;height:510px}.reader-page-content p{font-size:16px}.explanation-window{width:52%;top:72px}.explanation-content{padding:24px 20px}.explanation-content h2{font-size:28px}.explanation-summary{font-size:16px;padding:16px}.explanation-example{font-size:14px;padding:16px}.save-return{font-size:15px;min-height:52px}.explanation-header{height:54px}.steps{gap:25px}.steps li{padding-right:6px}.step-arrow{display:none}.steps h2{font-size:23px}.steps p{font-size:14px}.workflow-note{margin-top:23px}.knowledge{grid-template-columns:1fr;gap:26px;padding-top:75px}.knowledge-copy h2{font-size:46px}.knowledge-intro{font-size:21px}.knowledge-principle{font-size:16px;margin-top:20px}.knowledge-demo{max-width:650px;width:100%;margin:0 auto}.note-example{margin-left:0;flex-wrap:nowrap}.principles-inner{grid-template-columns:1fr;gap:30px}.principles-inner>div+div{padding-left:0;padding-top:28px;border-left:0;border-top:1px solid #c2cdb8}.principles h2{font-size:30px}.principles p{font-size:16px}.site-footer>div{gap:20px}}
@media(max-width:540px){.wrap{width:calc(100% - 44px)}.site-header{height:85px}.brand{gap:7px}.brand img{width:38px;height:38px}.brand span{font-size:31px}.site-header nav{gap:14px;font-size:11px}.site-header nav .parent-link{display:none}.hero{padding-top:29px;padding-bottom:31px;gap:35px}.hero h1{font-size:clamp(35px,10.6vw,51px);line-height:1.5;letter-spacing:-.055em}.hero-intro{font-size:clamp(14px,4.2vw,20px);line-height:1.9;margin-top:17px;letter-spacing:-.04em}.demo-start{font-size:17px;min-height:57px;min-width:250px;margin-top:27px}.development{font-size:10px;margin-top:15px}.demo-stage{height:487px}.reader-window{width:95%;height:463px}.reader-toolbar{padding:0 20px;height:36px;font-size:11px}.window-top{height:28px;padding-left:11px}.dot{width:9px;height:9px}.reader-page-content{padding:23px 23px}.reader-page-content h2{font-size:25px;margin-bottom:18px}.reader-page-content p{font-size:13px;line-height:1.95;letter-spacing:0}.explanation-window{top:84px;width:87%;max-width:340px}.explanation-header{height:47px;padding:0 12px}.mini-brand{font-size:21px;gap:7px}.mini-brand img{width:27px;height:27px}.explanation-content{padding:17px 16px}.explanation-content h2{font-size:26px;margin-bottom:13px}.label-rule{font-size:11px;margin-bottom:10px}.explanation-summary{font-size:14px;line-height:1.7;padding:13px 14px;margin-bottom:17px}.explanation-example{font-size:12px;padding:13px 14px;margin-bottom:15px}.save-return{font-size:13px;min-height:48px;gap:12px}.save-return kbd{font-size:11px}.demo-caption{font-size:10px}.demo-message{width:89%;bottom:38px;font-size:13px;padding:17px}.demo-message strong{font-size:15px}.workflow{padding-top:24px}.steps{grid-template-columns:1fr;gap:24px}.steps li{padding-left:47px}.step-number{position:absolute;left:0;top:5px;font-size:19px}.steps h2{font-size:26px;margin-top:0;margin-bottom:6px}.steps p{font-size:14px}.steps p br{display:none}.workflow-note{font-size:11px;margin-top:25px;line-height:1.9}.knowledge{padding-top:64px;padding-bottom:40px;gap:22px}.knowledge-copy h2{font-size:clamp(26px,7.8vw,38px);line-height:1.6;letter-spacing:-.065em}.knowledge-intro{font-size:15px;line-height:1.95;margin-top:22px;letter-spacing:-.025em}.knowledge-intro br{display:none}.knowledge-principle{font-size:12px;margin-top:18px}.knowledge-map{width:calc(100% + 12px);margin-left:-12px}.note-example{padding:18px;display:block;margin-top:13px;border-radius:9px}.note-example h3{font-size:20px;white-space:normal}.note-example p{font-size:12px}.note-open{margin-top:16px;font-size:13px;padding:11px 17px;min-height:43px}.principles{padding:35px 0}.principles h2{font-size:25px;letter-spacing:-.05em}.principles p{font-size:13px;line-height:2;margin-top:13px}.principles p br{display:none}.principles-inner{gap:24px}.principles-inner>div+div{padding-top:24px}.site-footer{margin-top:18px;padding-top:14px}.footer-brand{font-size:31px}.site-footer>div{gap:12px;font-size:10px;flex-direction:column;align-items:flex-end}.parent-link{gap:6px}.trademark{font-size:9px;text-align:left;margin-top:22px}.dialog-body{padding:22px 20px}.dialog-body h2{font-size:26px}.dialog-body h3+p{font-size:14px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}.error-main h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
