:root{--ink:#101a2b;--navy:#17243a;--orange:#f5a623;--orange-deep:#d98200;--paper:#f5f2eb;--white:#fff;--muted:#657084;--line:#d9dde3;--warm:#fff5df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1160px,calc(100% - 48px));margin:0 auto}.narrow{max-width:900px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;width:min(1160px,calc(100% - 48px));height:76px;margin:0 auto;border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:color-mix(in srgb,var(--paper) 93%,transparent);backdrop-filter:blur(12px)}.brand{font-size:21px;font-weight:950;letter-spacing:-.06em}.brand span{color:var(--orange-deep)}.main-nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:800}.main-nav a{padding:29px 0 25px;border-bottom:3px solid transparent}.main-nav a.active,.main-nav a:hover{color:var(--orange-deep);border-color:var(--orange)}.menu-button{display:none;padding:8px 10px;border:1px solid var(--ink);background:transparent;cursor:pointer}.hero{padding:72px 0 90px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.hero-copy{max-width:670px}.eyebrow{margin:0 0 14px;color:var(--orange-deep);font-size:11px;line-height:1.3;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.display{margin:0;font-size:clamp(48px,7.1vw,92px);line-height:.98;letter-spacing:-.075em}.display span{color:var(--orange-deep)}.detail-heading p,.hero-lead,.page-hero>.container>p:last-child{max-width:690px;margin:28px 0 0;color:var(--muted);font-size:16px;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--ink);font-size:12px;font-weight:900;letter-spacing:.02em;transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.primary{background:var(--orange)}.ghost{background:transparent}.dark-button{border-color:var(--ink);background:var(--ink);color:var(--white)}.light-button{border-color:var(--white);color:var(--white)}.hero-note{display:flex;gap:20px;margin-top:25px;color:var(--muted);font-size:12px;font-weight:700}.hero-note span:before{content:"●";margin-right:7px;color:var(--orange);font-size:8px}.hero-board{min-height:470px;padding:32px;background:var(--navy);color:var(--white);box-shadow:15px 15px 0 var(--orange);transform:rotate(1deg)}.board-title{display:grid;gap:8px;padding-bottom:34px;border-bottom:1px solid #526078}.board-title span{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.15em}.board-title strong{font-size:25px}.board-row{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:24px 0;border-bottom:1px solid #3b4860}.board-row span{color:var(--orange);font-weight:900}.board-stack{display:flex;flex-wrap:wrap;gap:8px;padding-top:26px}.board-stack span{padding:7px 10px;border:1px solid #64718a;font-size:10px;font-weight:800}.section{padding:105px 0}.section.compact{padding:65px 0}.section-title{max-width:720px;margin-bottom:45px}.category-heading h2,.section-title h2{margin:0;font-size:clamp(38px,5vw,65px);line-height:1.05;letter-spacing:-.06em}.section-title>p:last-child{max-width:640px;margin:22px 0 0;color:var(--muted);line-height:1.8}.card{border:1px solid var(--line);background:var(--white)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-card{position:relative;min-height:300px;padding:26px;transition:transform .2s,border-color .2s,box-shadow .2s}.skill-card:hover{z-index:1;transform:translate(-3px,-3px);border-color:var(--orange);box-shadow:7px 7px 0 var(--orange)}.skill-card .number{display:block;margin-bottom:55px;color:var(--orange-deep);font-size:11px;font-weight:900;letter-spacing:.1em}.skill-card .badge{position:absolute;top:24px;right:24px}.skill-card h3{margin:0 0 14px;font-size:23px;letter-spacing:-.03em}.skill-card p{margin:0 0 25px;color:var(--muted);font-size:13px;line-height:1.75}.text-link{color:var(--orange-deep);font-size:12px;font-weight:900}.badge{display:inline-block;padding:5px 8px;border:1px solid;font-size:9px;font-weight:900;letter-spacing:.06em}.badge.必須{color:#b45200;background:#fff2dc}.badge.実務{color:#176c57;background:#e4f8f2}.badge.尚可{color:#455778;background:#eef2fa}.center-action{margin-top:35px;text-align:center}.dark{background:var(--navy);color:var(--white)}.dark .section-title>p:last-child{color:#bbc4d3}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #46536a;border-left:1px solid #46536a}.flow-card{min-height:235px;padding:25px;border-right:1px solid #46536a;border-bottom:1px solid #46536a}.flow-card>span{color:var(--orange);font-size:12px;font-weight:900}.flow-card h3{margin:45px 0 12px;font-size:18px}.flow-card p{margin:0;color:#b8c2d2;font-size:12px;line-height:1.7}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.case-card{padding:30px}.case-card .number{color:var(--orange-deep);font-size:11px;font-weight:900}.case-card h3{margin:28px 0 10px;font-size:27px}.case-card p{color:var(--muted);line-height:1.75}.cta{padding:95px 0;background:var(--orange);text-align:center}.cta h2{max-width:800px;margin:10px auto 22px;font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-.07em}.cta p:not(.eyebrow){max-width:650px;margin:0 auto 28px;line-height:1.8}.detail-hero,.page-hero{padding:75px 0 85px;border-bottom:1px solid var(--line)}.page-hero .display{font-size:clamp(50px,7vw,86px)}.category-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line)}.category-heading h2{font-size:40px}.back-link,.category-heading>span{color:var(--muted);font-size:12px;font-weight:800}.back-link{display:inline-block;margin-bottom:45px}.detail-heading{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.detail-heading .display{font-size:clamp(48px,7vw,82px)}.detail-index{color:var(--orange-deep);font-size:66px;line-height:1;font-weight:950;letter-spacing:-.07em}.detail-index span{display:block;margin-top:6px;color:var(--muted);font-size:12px;letter-spacing:0;text-align:right}.detail-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:80px}.toc{position:sticky;top:105px;align-self:start;display:grid}.toc a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.toc a:hover{color:var(--orange-deep)}.detail-content{min-width:0}.detail-content article{scroll-margin-top:100px;margin-bottom:85px}.detail-content h2{margin:0 0 23px;font-size:clamp(32px,4vw,48px);letter-spacing:-.05em}.lead-copy{color:var(--muted);font-size:17px;line-height:1.9}.point-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.point-list .card{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:22px}.point-list span{color:var(--orange-deep);font-size:11px;font-weight:900}.point-list strong{line-height:1.55}.question-stack{display:grid;gap:16px}.question-card{padding:30px}.question-no{color:var(--orange-deep);font-size:11px;font-weight:900}.question-card h3{margin:10px 0 25px;font-size:22px}.question-card>div{padding:17px 0;border-top:1px solid var(--line)}.question-card p{margin:0;line-height:1.8}.answer-label{margin-bottom:7px!important;color:var(--orange-deep);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.deep-answer{color:var(--muted)}pre{max-width:100%;margin:0;padding:28px;overflow-x:auto;border-left:5px solid var(--orange);background:var(--navy);color:#ecf2fb;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.pitfall{padding:30px;border:1px solid #e6b0a3;background:#fff0ec}.pitfall h2{font-size:28px}.pitfall p:last-child{margin:0;line-height:1.8}.next-link{padding:55px 0;background:var(--orange)}.next-link a{display:flex;justify-content:space-between;font-size:clamp(30px,5vw,55px);font-weight:950;letter-spacing:-.05em}.timeline{max-width:940px}.timeline-item{position:relative;display:grid;grid-template-columns:105px 1fr;gap:36px;padding-bottom:65px}.timeline-item:before{content:"";position:absolute;left:51px;top:72px;bottom:4px;width:1px;background:var(--line)}.timeline-no{display:grid;place-items:center;align-self:start;width:104px;height:70px;background:var(--navy);color:var(--orange);font-size:19px;font-weight:950;box-shadow:7px 7px 0 var(--orange)}.timeline-item h2{margin:0 0 14px;font-size:34px;letter-spacing:-.04em}.timeline-item>div:last-child>p:not(.eyebrow){color:var(--muted);line-height:1.8}.output{display:flex;gap:16px;margin-top:20px;padding:17px;border:1px solid var(--line);background:var(--white)}.output span{color:var(--orange-deep);font-size:10px;font-weight:900}.output strong{font-size:13px}.warm{background:var(--warm)}.checkpoints{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkpoints .card{display:grid;grid-template-columns:30px 1fr;gap:15px;padding:22px}.checkpoints .card>span{color:var(--orange-deep);font-weight:950}.checkpoints p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.case-stack{display:grid;gap:24px}.case-detail{scroll-margin-top:95px;display:grid;grid-template-columns:120px 1fr;gap:35px;padding:42px}.case-number{color:var(--orange-deep);font-size:10px;font-weight:900;letter-spacing:.1em}.case-number strong{font-size:58px;letter-spacing:-.08em}.case-detail h2{margin:0 0 15px;font-size:38px;letter-spacing:-.05em}.case-detail h3{margin-top:30px;font-size:16px}.case-detail li{margin:10px 0;color:var(--muted);line-height:1.65}.design-note{margin-top:28px;padding:22px;border-left:4px solid var(--orange);background:var(--warm)}.design-note span{color:var(--orange-deep);font-size:10px;font-weight:900}.design-note p{margin:7px 0 0;line-height:1.8}.search-panel{padding:24px}.search-panel label{display:block;margin-bottom:8px;font-size:12px;font-weight:900}.search-panel input{width:100%;height:52px;padding:0 15px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);outline:none}.search-panel input:focus{border-color:var(--orange-deep);box-shadow:0 0 0 3px #f5a62330}.filter-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.chip{padding:8px 13px;border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:11px;font-weight:800}.chip.active{border-color:var(--ink);background:var(--ink);color:var(--white)}.result-count{margin:25px 0 10px;color:var(--muted);font-size:12px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:23px 0;cursor:pointer;list-style:none;font-weight:800;line-height:1.55}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--orange-deep);font-size:22px}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 45px 26px 0;color:var(--muted);line-height:1.8}.faq-answer>p:not(.answer-label){margin:0 0 18px}.empty-state{padding:40px;border:1px dashed var(--line);color:var(--muted);text-align:center}.check-summary{position:sticky;top:90px;z-index:4;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-bottom:48px;padding:20px;box-shadow:0 7px 25px #101a2b12}.check-summary>div:first-child{display:grid;min-width:90px}.check-summary strong{font-size:30px}.check-summary span{color:var(--muted);font-size:11px}.meter{height:9px;overflow:hidden;background:#e5e8ed}.meter span{display:block;height:100%;background:var(--orange);transition:width .25s}.check-summary button{padding:9px 12px;border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:11px;font-weight:800}.check-summary button:disabled{opacity:.35;cursor:default}.check-group{margin-bottom:50px}.check-heading{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.check-heading h2{margin:0;font-size:25px}.check-heading span{color:var(--muted);font-size:12px}.check-list{display:grid;gap:9px;margin-top:12px}.check-item{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;padding:17px;border:1px solid var(--line);background:var(--white);cursor:pointer;line-height:1.55}.check-item input{position:absolute;opacity:0}.checkmark{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);color:transparent;font-size:12px;font-weight:900}.check-item.checked{border-color:var(--orange);background:var(--warm)}.check-item.checked .checkmark{border-color:var(--orange);background:var(--orange);color:var(--ink)}.site-footer{padding:50px 0;background:var(--ink);color:var(--white)}.footer-grid{display:flex;justify-content:space-between;gap:30px}.brand.light{color:var(--white)}.site-footer p{margin:12px 0 0;color:#aeb8c8;font-size:12px}.footer-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center;font-size:12px;font-weight:700}.footer-links a:hover{color:var(--orange)}.not-found{min-height:70vh;display:grid;place-content:center;justify-items:start;padding:40px}.not-found h1{margin:0 0 25px;font-size:clamp(35px,6vw,70px)}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--navy)}.auth-card{width:min(520px,100%);padding:48px;border:1px solid #56637a;background:var(--paper);box-shadow:12px 12px 0 var(--orange)}.auth-card h1{margin:0 0 16px;font-size:clamp(38px,7vw,62px);letter-spacing:-.06em}.auth-card>p:not(.eyebrow):not(.auth-error){margin-bottom:28px;color:var(--muted)}.auth-error{color:#a32020;font-size:13px}.logout-button{position:fixed;right:18px;bottom:18px;z-index:30;padding:10px 14px;border:1px solid var(--ink);background:var(--white);cursor:pointer;font-size:11px;font-weight:800;box-shadow:3px 3px 0 var(--orange)}@media (max-width:900px){.card-grid,.flow-grid{grid-template-columns:1fr 1fr}.detail-layout{grid-template-columns:1fr;gap:35px}.toc{position:static;grid-template-columns:1fr 1fr}.toc .eyebrow{grid-column:1/-1}.detail-content article{margin-bottom:65px}}@media (max-width:720px){.container,.site-header{width:min(100% - 28px,620px)}.site-header{height:66px}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 18px;border:1px solid var(--line);background:var(--white);box-shadow:6px 6px 0 var(--orange)}.main-nav.open{display:flex}.main-nav a{padding:14px 0;border-bottom:1px solid var(--line)}.menu-button{display:block}.hero{padding:48px 0 70px}.hero-grid{grid-template-columns:1fr;gap:45px}.hero-board{min-height:390px;padding:24px;box-shadow:9px 9px 0 var(--orange)}.display{font-size:50px}.section{padding:74px 0}.section.compact{padding:48px 0}.card-grid,.case-grid,.checkpoints{grid-template-columns:1fr}.skill-card{min-height:255px}.skill-card .number{margin-bottom:42px}.flow-grid{grid-template-columns:1fr}.flow-card{min-height:180px}.flow-card h3{margin-top:28px}.detail-hero,.page-hero{padding:50px 0 60px}.detail-heading{grid-template-columns:1fr}.detail-index{display:none}.case-detail,.point-list{grid-template-columns:1fr}.case-detail{padding:26px}.case-number strong{font-size:42px}.timeline-item{grid-template-columns:65px 1fr;gap:20px}.timeline-item:before{left:31px;top:56px}.timeline-no{width:64px;height:54px;box-shadow:4px 4px 0 var(--orange)}.output{flex-direction:column;gap:5px}.check-summary{top:76px;grid-template-columns:1fr;gap:12px}.check-summary button{justify-self:start}.faq-item summary{grid-template-columns:auto 1fr auto}.faq-answer{padding-right:0}.footer-grid{flex-direction:column}.toc{grid-template-columns:1fr}.toc .eyebrow{grid-column:auto}}@media (max-width:420px){.display{font-size:43px}.hero-actions .button{width:100%}.hero-note{flex-wrap:wrap}.category-heading{align-items:start}.category-heading h2{font-size:34px}.question-card{padding:22px}.faq-item summary{grid-template-columns:1fr auto}.faq-item summary .badge{grid-column:1/-1;justify-self:start}}