:root{--paper:#f5f2e9;--ink:#263d35;--accent:#9e472e;--muted:#526159;--line:#c9cec2;--white:#fffef9;--serif:'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;overflow-wrap:anywhere}a{color:inherit;text-underline-offset:.3em}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{max-width:1160px;margin-inline:auto;padding-inline:40px}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:var(--white);z-index:10}.skip:focus{top:12px}header{max-width:1240px;margin:auto;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:29px;text-decoration:none;letter-spacing:-1.2px;font-weight:700;white-space:nowrap}.brand span{font-weight:400;color:var(--accent)}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{font-size:14px;text-decoration:none;padding:8px 0}nav a:hover,.text-link:hover{color:var(--accent);text-decoration:underline}.hero{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:64px;padding-top:88px;padding-bottom:100px}.intro,.category{font-size:13px;letter-spacing:.08em;font-weight:700;color:var(--accent);margin:0 0 20px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(30px,3.25vw,45px);line-height:1.65;letter-spacing:-.035em;margin-bottom:26px}h1 em{font-style:normal;color:var(--accent)}.lead{font-size:17px;line-height:2;margin-bottom:28px}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--ink);min-height:48px;padding:12px 22px;text-decoration:none;background:transparent;font-size:14px;font-weight:700;border-radius:2px}.button.primary{background:var(--ink);color:var(--white)}.button:hover{background:var(--white)}.button.primary:hover{background:#355549}.button:active{transform:translateY(1px)}.small{font-size:13px;line-height:1.9;color:var(--muted);margin:20px 0 0}.hero-note{border-top:3px solid var(--accent);background:var(--white);padding:28px 32px;box-shadow:10px 10px 0 #e5e7db;transform:rotate(1deg)}.note-title{font-family:var(--serif);font-size:20px;font-weight:700}.hero-note ol{padding-left:24px;margin:24px 0}.hero-note li{padding:14px 0 14px 8px;border-bottom:1px solid var(--line)}.hero-note li::marker{color:var(--accent);font-family:Georgia,serif}.hero-note span,.hero-note small{display:block}.hero-note span{font-weight:700;font-size:18px}.hero-note small{color:var(--muted);font-size:12px}.note-bottom{font-size:13px;color:var(--accent)}.section{padding-top:80px;padding-bottom:80px;border-top:1px solid var(--line)}.section-head{margin-bottom:36px;max-width:700px}h2{font-family:var(--serif);font-size:clamp(26px,2.6vw,34px);line-height:1.7;margin-bottom:16px}.section-head p{color:var(--muted);margin:0}h3{font-size:21px;line-height:1.7;margin-bottom:16px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.service{padding:32px 0;border-top:1px solid var(--line)}.service .category{margin-bottom:12px}.service p{font-size:15px}dl{font-size:14px;margin:24px 0}dt{font-size:12px;color:var(--muted);margin-top:14px}dd{margin:4px 0}.text-link{font-size:14px;font-weight:700}.experience{background:#e8ecdf}.proofs{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:44px}.proofs article{border-top:1px solid var(--ink);padding-top:24px}.proof-value{font-family:var(--serif);font-size:34px;line-height:1.5;color:var(--accent);margin-bottom:10px}.proofs h3{font-size:16px;margin-bottom:12px}.proofs article>p:last-child{font-size:13px;color:var(--muted)}.practice{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;padding:36px 0 0;border-top:1px solid var(--line)}.practice h3{font-family:var(--serif);font-size:24px}.practice p{font-size:15px}.practice .small{font-size:13px}.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.sample{background:var(--white);border:1px solid var(--line)}.sample-preview{min-height:240px;padding:24px 32px;display:block;text-decoration:none;background:#e4e9dd;color:var(--ink);border-bottom:1px solid var(--line)}.sample:nth-child(2) .sample-preview{background:#f1e5da}.sample:nth-child(3) .sample-preview{background:var(--ink);color:var(--white)}.sample:nth-child(4) .sample-preview{background:#edece2}.sample-preview:hover{outline:2px solid var(--accent);outline-offset:-2px}.thumb-caption{font-size:12px;margin-bottom:16px;letter-spacing:.12em}.before{font-size:14px;text-decoration:line-through;color:var(--muted);margin-bottom:8px}.after{font-family:var(--serif);font-size:27px;font-weight:700;line-height:1.65;margin-bottom:10px}.mini-table{display:grid;grid-template-columns:1fr 1fr 1fr;font-size:13px;border-top:1px solid var(--accent)}.mini-table span{padding:10px 4px;border-bottom:1px solid #c5aa94}.mini-flow{display:flex;gap:12px;font-size:12px}.mini-flow span{border:1px solid #aab4a7;padding:3px 10px}.workflow{display:flex;align-items:center;flex-direction:column;font-size:13px;line-height:1.5}.workflow span,.workflow strong{padding:7px 30px;border:1px solid var(--line);background:var(--white)}.workflow b{font-weight:400}.workflow strong{background:var(--ink);color:var(--white)}.sample-body{padding:24px 28px}.badge{font-size:11px;padding:2px 9px;border:1px solid var(--line);display:inline-block;margin-bottom:12px;color:var(--muted)}.sample-body h3{font-size:19px}.sample-body>p:not(.badge){font-size:14px}.contact{background:var(--ink);color:var(--white)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.contact h2{font-size:30px}.contact .small{color:#d4ddce}.steps{padding-left:24px;font-size:14px}.steps li{padding:8px 0}.inquiry{background:var(--white);color:var(--ink);padding:30px}.inquiry h3{font-size:18px}pre{white-space:pre-wrap;font-family:var(--sans);font-size:14px;line-height:2.5;margin:20px 0 24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact .inquiry .small{color:var(--muted)}.policy{padding-top:56px;padding-bottom:56px}.policy h2{font-size:24px}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.policy h3{font-size:16px}.policy p{font-size:14px;color:var(--muted)}footer{padding-top:28px;padding-bottom:32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}footer p,footer small{font-size:11px;margin:0;color:var(--muted)}.sample-page{max-width:900px;padding-top:56px;padding-bottom:72px}.sample-page h1{font-size:36px}.sample-page .panel{margin:32px 0;padding:32px;border:1px solid var(--line);background:var(--white)}.sample-page h2{font-size:25px}.sample-page h3{font-size:18px}.sample-page table{border-collapse:collapse;width:100%;font-size:14px}.sample-page td,.sample-page th{text-align:left;vertical-align:top;padding:12px;border:1px solid var(--line)}.table-scroll{overflow-x:auto}.slide{background:var(--ink);color:var(--white);padding:40px;margin-bottom:20px;min-height:280px}.slide h3{font-family:var(--serif);font-size:27px}.slide p{font-size:16px}.sample-page ul,.sample-page ol{padding-left:24px}.sample-page li{margin:8px 0}.sample-page .back{display:inline-block;margin-top:32px}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:40px;padding-top:56px;padding-bottom:64px}.hero-note{max-width:560px;transform:none}.proofs{gap:20px}.proof-value{font-size:27px}.contact-grid{gap:32px}.practice{gap:28px}footer{flex-wrap:wrap}}@media(max-width:600px){body{font-size:15px}.wrap{padding-inline:22px}header{padding:18px 22px;flex-wrap:wrap;gap:12px}.brand{font-size:27px}nav{width:100%;gap:0;justify-content:space-between}nav a{font-size:12px;min-height:44px;display:flex;align-items:center}h1{font-size:29px}.hero{padding-top:40px;gap:32px}.lead{font-size:15px}.hero-note{padding:24px}.section{padding-top:52px;padding-bottom:52px}.section-head{margin-bottom:28px}.service-grid,.sample-grid,.contact-grid,.policy-grid,.practice{grid-template-columns:1fr;gap:24px}.service-grid{gap:0}.service{padding:28px 0}.proofs{grid-template-columns:1fr;gap:16px}.proofs article{padding-top:20px}.proof-value{font-size:30px}.practice{padding-top:28px;gap:0}.sample-preview{min-height:218px;padding:22px 26px}.sample-body{padding:22px 26px}.contact h2{font-size:26px}.inquiry{padding:22px}.inquiry .actions{align-items:flex-start;flex-direction:column}.policy-grid{gap:12px}.policy{padding-top:40px;padding-bottom:40px}footer{align-items:flex-start;flex-direction:column;gap:8px}.sample-page{padding-top:32px}.sample-page h1{font-size:29px}.sample-page .panel{padding:20px}.slide{padding:24px;min-height:260px}.sample-page td,.sample-page th{padding:10px}.sample-page table{min-width:520px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:active{transform:none}}@media print{header,footer,.back,.actions{display:none}body{background:white;color:black}.wrap{padding-inline:0}.sample-page{max-width:none}.slide{break-inside:avoid;background:white;color:black;border:1px solid black}.panel{break-inside:avoid}}

.demo-label{display:block;margin:24px 0 8px;font-weight:700;font-size:14px}input,textarea{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--muted);border-radius:2px;padding:12px;max-width:100%;min-height:48px}textarea{width:100%;resize:vertical;font-size:14px}input[type=date]{width:210px}.demo-actions{margin-top:24px}#status{margin:20px 0 0;font-size:14px}button:disabled{opacity:.55;cursor:not-allowed}button:disabled:hover{background:transparent}#result{line-height:1.9}

.featured-work{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px;border:1px solid var(--line);margin-bottom:32px;background:var(--white)}.featured-work p{font-size:14px}.featured-work .button{flex-shrink:0}@media(max-width:700px){.featured-work{align-items:flex-start;flex-direction:column;gap:16px;padding:24px}}

.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.featured-grid .featured-work{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}.featured-grid .featured-work h3{font-family:var(--serif);font-size:26px}.additional-title{margin-top:16px}.work-kind{font-weight:700;margin-bottom:0}.work-intro{margin-top:24px}.manuscript{line-height:2.1}.manuscript p{margin-bottom:28px}.manuscript h3{font-family:var(--serif);font-size:23px;margin-top:36px}.old-draft{margin:32px 0}.old-draft summary{cursor:pointer;padding:18px;border:1px solid var(--line);font-size:15px;font-weight:700}.old-draft summary:hover{background:var(--white)}.old-draft .panel{margin-top:0}.work-page{max-width:850px}@media(max-width:700px){.featured-grid{grid-template-columns:1fr;gap:0}.featured-grid .featured-work h3{font-size:24px}.manuscript p{margin-bottom:24px}}

.csv-service{padding:32px;border:1px solid var(--line);background:var(--white);margin-bottom:32px}.csv-service h3{font-family:var(--serif);font-size:25px}.csv-service p{font-size:15px}.platform-link{border-color:var(--white);color:var(--white)}.platform-link:hover{background:var(--white);color:var(--ink)}@media(max-width:600px){.csv-service{padding:24px}.csv-service h3{font-size:22px}}

.download-list{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;margin:24px 0}.download-list a{min-height:44px;display:flex;align-items:center}.faq{border-top:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:700;font-size:16px}.faq p{font-size:14px;margin:16px 0 0}.ppt-service{max-width:750px}.service-page{max-width:920px}.service-page pre{font-size:13px;line-height:1.9}.service-page .panel>h3{margin-top:28px}@media(max-width:600px){.service-page h1{font-size:28px}.service-page pre{font-size:11px}}
