:root{--paper: #fbf9f7;--paper-soft: #f3edea;--ink: #322a2d;--ink-soft: #6f6266;--ink-faint: #a2969a;--rule: #e8dfdc;--rule-strong: #cfc0bd;--shu: #b25e75;--shu-deep: #934a5f;--shu-soft: #f6e7ea;--navy: #96566c;--green: #5d8f7d;--bg: var(--paper);--surface: #ffffff;--line: var(--rule);--accent: var(--shu);--accent-soft: var(--shu-soft);--paper-on-ink: #e9dcd8;--ink-on-ink: #5d5054;--shu-on-ink: #d995a9;--radius: 12px;--maxw: 780px;--font-display: "Zen Old Mincho", "Hiragino Mincho ProN", serif;--font-body: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--font-mono: "Montserrat", "Zen Kaku Gothic New", sans-serif}*{box-sizing:border-box}html{overflow-x:clip;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased;font-feature-settings:"palt"}body{margin:0}a{color:inherit}::selection{background:var(--shu-soft)}.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}.site-header{background:var(--paper);border-top:3px solid var(--shu)}.site-header .inner{max-width:var(--maxw);margin:0 auto;padding:22px 22px 14px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.brand{text-decoration:none;display:flex;align-items:baseline;gap:12px}.brand .wordmark{font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:.06em;line-height:1;white-space:nowrap}.brand .wordmark .mark{color:var(--shu)}.brand .tagline{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--ink-faint);white-space:nowrap}.site-nav{display:flex;gap:18px;align-items:baseline;font-size:.82rem}.site-nav a{text-decoration:none;color:var(--ink-soft);padding:10px 2px;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.site-nav a:hover{color:var(--shu-deep);border-color:var(--shu)}.header-rule{max-width:var(--maxw);margin:0 auto;padding:0 22px}.header-rule:after{content:"";display:block;border-top:2px dotted var(--rule-strong);border-bottom:none;height:0}.site-footer{border-top:1px solid var(--rule-strong);margin-top:88px;padding:30px 0 56px;font-size:.76rem;color:var(--ink-faint);line-height:1.8}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:16px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em}.site-footer a{color:var(--ink-soft);text-decoration:none}.site-footer a:hover{color:var(--shu-deep)}.site-footer p{margin:0 0 10px}main{padding-top:48px}h1{font-family:var(--font-display);font-weight:700;font-size:2rem;line-height:1.55;letter-spacing:.03em;margin:0 0 14px}h2{font-family:var(--font-display);font-weight:600;font-size:1.25rem;letter-spacing:.04em;margin:60px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--rule-strong);position:relative}h2:after{content:"";position:absolute;left:0;bottom:-1px;width:56px;border-bottom:1px solid var(--shu)}h3{font-family:var(--font-display);font-weight:600;font-size:1.02rem;margin:32px 0 10px}.kicker{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--shu);margin:0 0 10px}.lead{color:var(--ink-soft);margin:0 0 10px;font-size:.95rem}.meta{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);display:flex;gap:18px;flex-wrap:wrap;margin-bottom:30px;letter-spacing:.04em}.badge{display:inline-block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;font-weight:500;color:var(--shu-deep);border:1px solid var(--shu);border-radius:999px;padding:3px 10px 2px;margin-bottom:14px}.stamp{float:right;font-family:var(--font-display);font-weight:600;font-size:.72rem;letter-spacing:.1em;color:var(--shu);border:2px solid var(--shu);border-radius:12px;padding:6px 10px;transform:rotate(3deg);opacity:.85;text-align:center;line-height:1.5;margin:0 0 10px 14px;user-select:none}.stamp small{display:block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.06em}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,var(--paper) 30%,transparent) left/40px 100%,linear-gradient(to left,var(--paper) 30%,transparent) right/40px 100%,linear-gradient(to right,rgba(50,42,45,.12),transparent) left/14px 100%,linear-gradient(to left,rgba(50,42,45,.12),transparent) right/14px 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll}.table-wrap .price-table{min-width:760px}.price-table th:nth-child(2),.price-table td:nth-child(2){min-width:8em}.price-table th:nth-child(4),.price-table td:nth-child(4){min-width:16em}.tbl-caption{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 8px}.fig-no{color:var(--shu);margin-right:10px}.price-table{width:100%;border-collapse:collapse;font-size:.88rem;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:transparent}.price-table th{font-family:var(--font-mono);font-weight:500;font-size:.68rem;letter-spacing:.08em;color:var(--ink-soft);text-align:left;padding:10px 12px 8px;border-bottom:1px solid var(--ink);background:transparent;white-space:nowrap}.price-table td:first-child{font-weight:700;min-width:9em}.price-table td:last-child a{white-space:nowrap}.price-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--rule);vertical-align:top}.price-table tr:last-child td{border-bottom:none}.price-table tr:hover td{background:var(--shu-soft)}.price-table .price{font-family:var(--font-display);font-weight:600;font-size:.95rem;white-space:nowrap;font-feature-settings:"tnum"}.price-table .price.tbd{color:var(--ink-faint);font-family:var(--font-body);font-weight:400;font-size:.84rem}.price-table .td-note{font-size:.78rem;color:var(--ink-soft)}.price-table .td-source{font-size:.74rem}.price-table a{color:var(--navy)}table{margin:0}.band{background:var(--paper-soft);margin:76px calc(50% - 50vw);padding:52px calc(50vw - 50%) 60px;--rule: #e2d3ce;--rule-strong: #c8b6b1}.band>h2:first-child{margin-top:0}.band-rose{background:#f9edf0;--rule: #eed7dd;--rule-strong: #d6b9c1}.band-rose a.card:hover{background:#ffffffbf}.band-ink{background:var(--ink);color:var(--paper-on-ink);--rule: #4a3f43;--rule-strong: #5d5054}.band-ink h2{color:var(--paper);border-bottom-color:#54484c}.band-ink h2:after{border-bottom-color:var(--shu-on-ink)}.band-ink .prose p{color:var(--paper-on-ink)}.band-ink .prose a{color:var(--shu-on-ink);text-decoration-color:var(--ink-on-ink)}.band-ink .team-card{color:var(--ink);border-color:transparent;box-shadow:0 10px 28px #00000038;--rule-strong: #cfc0bd}@media(max-width:560px){.band{margin-block:56px;padding-block:38px 46px}}.notice{background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--shu);border-radius:0 var(--radius) var(--radius) 0;padding:16px 20px;font-size:.83rem;color:var(--ink-soft);margin:24px 0;line-height:1.9}.notice strong{color:var(--ink)}.card-list{display:block;padding:0;margin:0;list-style:none;border-top:1px solid var(--rule-strong)}.card-list li{margin:0}.card{background:transparent;border:none;border-bottom:1px solid var(--rule);border-radius:8px;padding:20px 10px 18px;text-decoration:none;display:block;transition:background .18s ease}a.card:hover{background:var(--shu-soft)}.card .card-title{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.02em;margin:0 0 6px;position:relative;padding-left:18px}.card .card-title:before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--shu);opacity:.75}a.card:hover .card-title{color:var(--shu-deep)}.card .card-desc{font-size:.83rem;color:var(--ink-soft);margin:0;padding-left:18px}.card .card-meta{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--ink-faint);margin:8px 0 0;padding-left:18px}div.card{border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius);padding:16px 18px}div.card .card-title,div.card .card-desc,div.card .card-meta{padding-left:0}div.card .card-title:before{display:none}.cta{background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:30px 28px;margin:56px 0 0}.cta h2{border:none;padding:0;margin:0 0 8px;font-size:1.15rem;color:var(--paper)}.cta h2:after{display:none}.cta p{margin:0 0 18px;font-size:.84rem;color:var(--paper-on-ink);line-height:1.9}.cta .buttons{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:.85rem;border-radius:999px;padding:12px 26px;letter-spacing:.04em;transition:opacity .15s ease}.btn:hover{opacity:.85}.btn-line{background:#06c755;color:#fff}.btn-x{background:var(--paper);color:var(--ink)}.btn-disabled{background:var(--ink-on-ink);color:#9b9da3;cursor:default}.quiz{background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:28px 26px}.quiz .q-count{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--shu);margin-bottom:8px}.quiz .q-title{font-family:var(--font-display);font-weight:600;font-size:1.02rem;margin:0 0 16px;line-height:1.7}.quiz .options{display:grid;gap:10px}.quiz .option{text-align:left;background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:15px 18px;font-size:.89rem;font-family:inherit;color:var(--ink);cursor:pointer;line-height:1.7;transition:border-color .12s ease,background .12s ease}.quiz .option:hover{border-color:var(--shu);background:var(--shu-soft)}.quiz .result-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0 0 12px;line-height:1.6}.quiz .result-copy{font-size:.89rem;color:var(--ink-soft);white-space:pre-line;line-height:2}.quiz .restart{background:none;border:none;color:var(--ink-faint);font-size:.78rem;cursor:pointer;padding:0;margin-top:20px;text-decoration:underline;font-family:inherit}.figure{margin:30px 0 40px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule-strong);padding:16px 0 12px}.figure svg{width:100%;height:auto;display:block}.fig-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;color:var(--shu);margin:0 0 14px}.fig-caption{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-soft);line-height:1.8;margin:12px 0 0;padding-top:8px;border-top:1px dotted var(--rule-strong)}.figure text{font-family:var(--font-body);fill:var(--ink)}.figure .t-display{font-family:var(--font-display);font-weight:700}.figure .t-mono{font-family:var(--font-mono);letter-spacing:.08em}.figure .t-soft{fill:var(--ink-soft)}.figure .t-faint{fill:var(--ink-faint)}.figure .t-shu{fill:var(--shu)}.figure .t-paper{fill:var(--paper)}.figure .ln{stroke:var(--ink);fill:none}.figure .ln-soft{stroke:var(--rule-strong);fill:none}.figure .ln-rule{stroke:var(--rule);fill:none}.figure .ln-shu{stroke:var(--shu);fill:none}.figure .bx{fill:none;stroke:var(--ink);stroke-width:1.5}.figure .bx-soft{fill:var(--paper-soft);stroke:var(--ink);stroke-width:1}.figure .bx-shu{fill:none;stroke:var(--shu);stroke-width:1.5}.figure .fill-ink{fill:var(--ink)}.figure .fill-soft{fill:var(--paper-soft)}.figure .fill-shu{fill:var(--shu)}.figure .fill-shu-soft{fill:var(--shu-soft)}.figure .fill-paper{fill:var(--paper)}.figure .hatch-line{stroke:var(--ink-faint);stroke-width:1}.figure .bx-hatch{stroke:var(--ink);stroke-width:1}.rulebook{margin:24px 0 8px;border-bottom:1px solid var(--rule)}.rulebook details{border-top:1px solid var(--rule)}.rulebook summary{display:grid;grid-template-columns:40px 1fr 22px;align-items:baseline;gap:0 12px;padding:18px 6px;cursor:pointer;list-style:none;border-radius:8px;transition:background .15s ease}.rulebook summary:hover{background:var(--shu-soft)}.rulebook summary::-webkit-details-marker{display:none}.rulebook .rule-no{font-family:var(--font-mono);font-size:.92rem;letter-spacing:.08em;color:var(--shu)}.rulebook .rule-title{font-family:var(--font-display);font-weight:600;font-size:1.02rem;letter-spacing:.02em;line-height:1.6;margin:0}.rulebook summary:after{content:"+";font-family:var(--font-mono);font-size:1.05rem;color:var(--shu);text-align:right;line-height:1}.rulebook details[open] summary:after{content:"−"}.rulebook summary:hover .rule-title{color:var(--shu-deep)}.rulebook .rule-fold{padding:2px 24px 20px 52px}.rulebook .rule-body{font-size:.88rem;line-height:1.95;color:var(--ink-soft);margin:0 0 10px}.rulebook .rule-source{font-family:var(--font-mono);font-size:.69rem;letter-spacing:.05em;color:var(--ink-faint);margin:0}.rulebook .rule-source:before{content:"根拠 — ";color:var(--shu)}@media(max-width:560px){.rulebook summary{grid-template-columns:30px 1fr 18px;gap:0 8px}.rulebook .rule-fold{padding-left:0}}.rule-map{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 26px;padding:4px 0 6px}.rule-map .rm-col{border-left:1px solid var(--rule);padding-left:20px}.rule-map .rm-col:first-child{border-left:none;padding-left:0}.rm-head{font-family:var(--font-display);font-weight:600;font-size:1.02rem;margin:0 0 4px}.rm-head .rm-mark{font-family:var(--font-mono);color:var(--shu);margin-right:10px}.rm-cond{font-size:.72rem;color:var(--ink-faint);margin:0 0 6px;padding-bottom:10px;border-bottom:1px solid var(--rule-strong)}.rm-item{font-family:var(--font-display);font-weight:600;font-size:.94rem;margin:14px 0 3px}.rm-note{font-size:.77rem;color:var(--ink-soft);line-height:1.75;margin:0}@media(max-width:560px){.rule-map{grid-template-columns:1fr;gap:22px 0}.rule-map .rm-col{border-left:none;padding-left:0}.rule-map .rm-col+.rm-col{border-top:1px dotted var(--rule-strong);padding-top:18px}}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 8px}.team-card{border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius);padding:18px 18px 16px}.team-card .tm-role{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;color:var(--shu);margin:0 0 6px}.team-card .tm-name{font-family:var(--font-display);font-weight:600;font-size:1.08rem;letter-spacing:.02em;margin:0 0 10px}.team-card .tm-bio{font-size:.8rem;line-height:1.85;color:var(--ink-soft);margin:0 0 12px}.team-card .tm-quote{font-size:.78rem;line-height:1.8;color:var(--ink);margin:0;padding-top:10px;border-top:1px dotted var(--rule-strong)}@media(max-width:640px){.team-grid{grid-template-columns:1fr}}.shindan-banner{display:flex;align-items:center;gap:22px;background:linear-gradient(120deg,var(--shu-soft),#fdf6f8 70%);border:1px solid #e9cdd6;border-radius:var(--radius);padding:24px 26px;margin:48px 0 0}.sb-stamp{flex:none;width:74px;height:74px;border:2px solid var(--shu);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:1.15rem;line-height:1.3;color:var(--shu-deep);transform:rotate(-4deg);background:#fff9}.sb-stamp small{font-family:var(--font-mono);font-size:.5rem;letter-spacing:.06em;color:var(--shu)}.sb-body{flex:1;min-width:0}.sb-eyebrow{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;color:var(--shu);margin:0 0 6px}.sb-title{font-family:var(--font-display);font-weight:600;font-size:1.08rem;line-height:1.6;margin:0 0 4px}.sb-desc{font-size:.8rem;color:var(--ink-soft);line-height:1.8;margin:0}.btn.sb-btn{flex:none;background:var(--shu);color:#fff;font-size:.8rem;padding:12px 22px}.btn.sb-btn:hover{background:var(--shu-deep);opacity:1}@media(max-width:640px){.shindan-banner{flex-direction:column;align-items:flex-start;padding:22px 20px}.sb-stamp{display:none}.btn.sb-btn{align-self:stretch;text-align:center}}.next-read{margin:44px 0 0}.nr-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;color:var(--shu);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--rule-strong)}.next-read ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.next-read li{margin:0}.next-read a{display:block;height:100%;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;text-decoration:none;transition:border-color .15s ease,background .15s ease}.next-read a:hover{border-color:var(--shu);background:var(--shu-soft)}.next-read .nr-note{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:4px}.next-read .nr-title{font-family:var(--font-display);font-weight:600;font-size:.92rem;line-height:1.65}.next-read a:hover .nr-title{color:var(--shu-deep)}@media(max-width:560px){.next-read ul{grid-template-columns:1fr}}.article-end{text-align:right;margin:40px 0 0}.article-end:after{content:"■";color:var(--shu);font-size:.7rem}.prose p{margin:0 0 18px;text-indent:1em;text-align:justify}.prose p:first-child{text-indent:0}.prose ul{padding-left:22px}.prose li{margin-bottom:8px}.prose a{color:var(--navy);text-decoration-color:var(--rule-strong)}.prose a:hover{color:var(--shu-deep)}:focus-visible{outline:2px solid var(--shu);outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:no-preference){main>.container{animation:rise .4s ease both}@keyframes rise{0%{opacity:0}to{opacity:1}}}@media(max-width:560px){h1{font-size:1.55rem}main{padding-top:30px}.figure{overflow-x:auto;-webkit-overflow-scrolling:touch}.figure svg{min-width:560px}.figure .fig-label,.figure .fig-caption{position:sticky;left:0}.brand .wordmark{font-size:1.25rem}.site-header .inner{flex-direction:column;align-items:flex-start;gap:8px}.site-nav{flex-wrap:wrap;gap:4px 14px}.stamp{font-size:.6rem;border-width:1.5px;padding:4px 8px;margin:0 0 8px 10px;transform:rotate(4deg)}.stamp small{font-size:.52rem}}
