:root{--v2-ink:#24312e;--v2-paper:#f5f0e8;--v2-teal:#1f5f5b;--v2-line:#d6d2c3}
.v2-package,.v2-story{background:#fffdf8;border:1px solid var(--v2-line);padding:clamp(18px,4vw,36px);margin:24px 0;border-radius:8px;box-shadow:4px 5px 0 #d9e4df}
.v2-package h3,.v2-story h2{font-size:clamp(21px,3vw,29px);line-height:1.5;color:var(--v2-teal);margin-top:0}
.v2-package details{border-top:1px solid var(--v2-line);padding:13px 0}.v2-package summary{cursor:pointer;font-weight:bold}.v2-package pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.8 monospace;max-height:380px;overflow:auto}
.v2-package .btn-row{margin-top:24px}.v2-package a{display:inline-block;text-decoration:none}.v2-story p{line-height:1.9}.v2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.v2-grid article{padding:20px 0;border-top:3px solid #2e8f89}.v2-grid b{display:block;margin-bottom:8px}.v2-grid p{font-size:16px;margin:0}
.v2-caption{font-size:16px;color:#54615c}.v2-story .v2-link{color:#1f5f5b;font-weight:bold;text-decoration:underline;text-underline-offset:5px}
@media(max-width:600px){.v2-grid{grid-template-columns:1fr}.v2-grid article{padding:12px 0}.v2-package .btn-row{display:grid}.v2-package .btn{width:100%;padding:14px 12px;white-space:normal}.v2-package pre{max-width:100%}}
[hidden]{display:none!important}
/* Readable text and a responsive, text-accessible product diagram. */
.v2-complete{text-align:center;padding:4px 0 24px}.v2-complete-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:#1f5f5b;color:#fff;font-size:36px;font-weight:900;line-height:1}.v2-complete h2{margin:0;color:#1f5f5b;font-size:clamp(29px,6vw,40px);line-height:1.4}.v2-complete p{margin:7px 0 0;color:#54615c;font-weight:700}
.v2-first{padding:0 0 28px;margin-bottom:28px;border-bottom:2px solid #1f5f5b;text-align:center}.v2-first .btn-row{display:flex;justify-content:center;margin-top:0}.v2-first .btn{width:min(100%,340px);font-size:18px;letter-spacing:0;padding:14px 20px;white-space:normal;text-align:center;justify-content:center}
.v2-start{margin-top:30px;padding-top:26px;border-top:2px solid #1f5f5b}.v2-start h3{margin:0 0 8px}.v2-start p{margin:0 0 14px}.v2-start pre{margin:0;padding:18px;background:#24312e;color:#f2eee2;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.9 "SF Mono",Menlo,Consolas,monospace;max-height:none;overflow:visible}.v2-start .btn-row{margin-top:14px}
@media(max-width:650px){.v2-first .btn-row{display:flex}.v2-complete-mark{width:58px;height:58px;font-size:32px}}
body{font-size:18px;--faint:#54615c}
input,textarea,select{font-size:16px}
.v2-package pre{font-size:16px}
.full-page .wrap{max-width:1000px;padding:40px 24px 80px}
.full-page h1{font-size:clamp(30px,4.5vw,48px);line-height:1.5;letter-spacing:0}
.full-page .lead{font-size:18px;line-height:1.9;max-width:720px;margin:20px auto 26px}
.full-page .price-hero{max-width:700px;margin:40px auto}
.full-page .price-hero .badge{position:static;transform:none;display:inline-block;white-space:normal;font-size:16px}
.full-page .price-hero .p{font-size:18px}.full-page .price-hero .p b{font-size:42px}
.full-page .price-hero .note{font-size:16px;color:#e3edea;line-height:1.8}
.full-page .card{padding:28px;margin-bottom:20px;border:1px solid #d6d2c3;box-shadow:none}
.full-page .card h2{font-size:24px;line-height:1.5}
.full-page .card p,.full-page .promise p{font-size:18px!important}
.full-page .card pre{overflow-wrap:anywhere;font-size:16px!important}
.full-page .card small,.full-page .card li{font-size:17px;line-height:1.9}
.full-page .detail-card summary{cursor:pointer;font-size:20px;font-weight:700;line-height:1.6}
.full-page .detail-card[open] summary{margin-bottom:24px}
.full-page .detail-card table{table-layout:fixed;font-size:16px}
.full-page .detail-card th,.full-page .detail-card td{font-size:16px;overflow-wrap:anywhere;padding:12px 8px}
.full-page .btn{max-width:100%;justify-content:center;flex-wrap:wrap;padding:16px 24px;font-size:19px;letter-spacing:0}
.full-page .btn small{font-size:16px!important}.full-page #agreeWrap{max-width:640px!important;font-size:16px!important}
.value-strip{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:17px;color:#1f5f5b;font-weight:700}
.value-strip span{padding:4px 14px;border-bottom:2px solid #2e8f89}
.explain{padding:44px 0;border-top:1px solid #c3cec8}
.section-tag{font-size:16px;color:#1f5f5b;letter-spacing:.06em;font-weight:700;margin:0 0 14px}
.explain h2{font-size:clamp(26px,3.5vw,36px);line-height:1.5;margin:0 0 30px}
.compare-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.compare-path{padding:28px;background:#eeeae1;border-radius:12px;text-align:center}
.compare-path.featured{background:#e3efea;border:2px solid #1f5f5b}
.compare-path h3{font-size:23px;margin:0 0 22px}.compare-path p{font-size:17px;text-align:left;margin:28px 0 0}
.path-node{border-radius:40px;background:#fffdf8;padding:12px;font-size:18px;font-weight:700}
.flow-arrow{font-size:28px;text-align:center;line-height:1.7;color:#1f5f5b}
.paper-node{padding:26px 14px;border:1px solid #b3bdb5;background:#fffdf8;font-size:22px;font-weight:700;position:relative}
.paper-node span{display:block;font-size:16px;font-weight:500;margin-top:8px}.stack-node{box-shadow:5px 5px 0 #b7d5c8,10px 10px 0 #cddfd5}
.file-system{background:#fffdf8;border:1px solid #d6d2c3;padding:28px;border-radius:12px}
.file-group h3{font-size:20px;margin:0 0 30px;color:#1f5f5b}.file-group+.file-group{margin-top:30px}
.folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.folder-grid.foundation{grid-template-columns:repeat(2,minmax(0,1fr))}
.folder{position:relative;background:#e3efea;border:1px solid #91b5a4;border-radius:0 8px 8px 8px;padding:20px;margin-top:10px}
.folder:before{content:'';position:absolute;top:-11px;left:-1px;width:65px;height:10px;background:#e3efea;border:1px solid #91b5a4;border-bottom:0;border-radius:5px 5px 0 0}
.folder strong{display:block;font-size:21px;line-height:1.5}.folder span{font-size:16px;color:#52615b}.folder p{font-size:17px;line-height:1.7;margin:12px 0 0}
.evolving .folder,.evolving .folder:before{background:#f6eddc;border-color:#d3bb88}
.read-node{background:#1f5f5b;color:#fff;text-align:center;font-size:20px;font-weight:700;padding:18px;border-radius:8px}
.diagram-note{font-size:17px;color:#54615c;line-height:1.9;margin:22px 0 0}
.use-cycle{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.use-cycle li{background:#fffdf8;border:1px solid #c3cec8;border-radius:10px;padding:24px 18px;position:relative;text-align:center}
.use-cycle li+li:before{content:'→';position:absolute;left:-29px;top:43%;font-size:24px;color:#1f5f5b}
.cycle-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1f5f5b;color:white;font-size:22px;font-weight:700}
.use-cycle h3{font-size:22px;margin:14px 0 10px}.use-cycle p{font-size:17px;line-height:1.8;margin:0}
.return-path{border:2px solid #2e8f89;border-top:0;border-radius:0 0 18px 18px;text-align:center;padding:20px 14px;margin:0 25px;font-size:18px;font-weight:700;color:#1f5f5b}
@media(max-width:650px){
 .full-page .wrap{padding:28px 18px 60px}.full-page .card{padding:22px 16px}.full-page .price-hero{padding:22px 16px}
 .compare-paths,.folder-grid,.folder-grid.foundation,.use-cycle{grid-template-columns:1fr}
 .compare-path{padding:24px}.file-system{padding:22px 18px}.folder-grid{gap:24px}
 .folder{padding:18px}.folder p br{display:none}.use-cycle{gap:34px}.use-cycle li+li:before{content:'↓';left:calc(50% - 12px);top:-38px}
 .return-path{margin:0 12px;font-size:17px}.explain{padding:32px 0}
 .full-page .detail-card th,.full-page .detail-card td{padding:10px 5px}
}

/* トップページ: ぶんしんAIを育てる流れ */
.bunshin-loop-lead{margin:0 0 28px;text-align:center;color:#54615c;font-weight:700}
.bunshin-loop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px}
.bunshin-loop-step{position:relative;min-height:210px;padding:24px 12px 18px;background:#f7faf8;border:1px solid #bdd1c8;border-radius:14px;text-align:center}
.bunshin-loop-step:before{content:'';position:absolute;inset:7px;border:1px solid #e0e9e4;border-radius:10px;pointer-events:none}
.bunshin-loop-no{position:relative;display:inline-block;color:#e0662c;font-size:16px;font-weight:900;letter-spacing:.08em}
.bunshin-loop-icon{position:relative;width:76px;height:76px;display:grid;place-items:center;margin:10px auto 8px;border-radius:50%;background:#e3efea;color:#1f5f5b}
.bunshin-loop-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.bunshin-loop-step h3{position:relative;margin:8px 0 4px;color:#24312e;font-size:18px}
.bunshin-loop-step p{position:relative;margin:0;color:#54615c;font-size:16px!important;line-height:1.65}
.bunshin-loop-files{background:#fff5e9;border-color:#dfbd9f}.bunshin-loop-files .bunshin-loop-icon{background:#f5dfc9;color:#b95324}
.bunshin-loop-arrow{display:none}
.bunshin-loop-return{margin:16px 26px 0;padding:17px 14px;border:2px solid #2e8f89;border-radius:14px;color:#1f5f5b;text-align:center;font-size:18px;font-weight:900}
.bunshin-loop-return span{font-size:25px;margin-right:8px}
.bunshin-loop-note{max-width:760px;margin:24px auto 0!important;text-align:center}
@media(max-width:760px){
 .bunshin-loop{grid-template-columns:1fr;gap:7px}
 .bunshin-loop-step{min-height:0;padding:16px 14px;display:grid;grid-template-columns:42px 62px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;text-align:left}
 .bunshin-loop-no{grid-row:1 / span 2;text-align:center}.bunshin-loop-icon{grid-row:1 / span 2;width:56px;height:56px;margin:0}.bunshin-loop-icon svg{width:36px;height:36px}
 .bunshin-loop-step h3{margin:0 0 2px;padding-left:8px;font-size:18px}.bunshin-loop-step p{padding-left:8px}.bunshin-loop-step p br{display:none}
 .bunshin-loop-arrow{font-size:24px;line-height:1;transform:rotate(90deg)}
 .bunshin-loop-return{margin:8px 12px 0;padding:14px 8px;border-top:2px solid #2e8f89;border-radius:14px;font-size:16px}
 .bunshin-loop-lead{text-align:left;margin-bottom:20px}
}
