:root{--ink:#191919;--paper:#fff;--mist:#f3f3f0;--line:#cccfc8;font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}.wrap{width:min(calc(100% - 64px),1160px);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:15px;background:var(--ink);color:#fff;padding:12px;z-index:10}.skip-link:focus{top:15px}.topbar{background:#fff;border-bottom:1px solid var(--ink)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}.brand{font:600 20px/1 Arial,sans-serif;letter-spacing:.08em}.return-link{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:6px}.return-link span{margin-left:12px}
.eyebrow{font:600 11px/1.5 Arial,sans-serif;letter-spacing:.16em;margin:0 0 13px}.case-hero{background:var(--ink);color:#fff;padding:50px 0 35px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end}.case-kind{font-size:12px;color:#cececa;margin:0 0 16px}.case-hero h1{font-size:clamp(36px,4.3vw,58px);line-height:1.4;letter-spacing:-.06em;font-weight:500;margin:0}.hero-lead{font-size:14px;line-height:1.9;margin:0 0 3px}.hero-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #666;margin-top:32px}.hero-meta span{font-size:11px;line-height:1.6;padding:12px 12px 0 0}.hero-meta span+span{border-left:1px solid #666;padding-left:16px}.hero-meta b{display:block;font-size:16px;font-weight:500;margin-top:2px}.case-content{padding-top:50px;padding-bottom:50px}.section-head{display:grid;grid-template-columns:175px 1fr 1fr;gap:20px;align-items:baseline;margin-bottom:25px}.section-head h2,.case-bottom h2{font-size:clamp(23px,2.2vw,30px);font-weight:500;line-height:1.5;letter-spacing:-.04em;margin:0}.section-head>p:last-child{font-size:13px;line-height:1.75;margin:0}.table-head,.hierarchy-row{display:grid;grid-template-columns:130px 1.15fr 1fr;gap:25px}.table-head{font-size:11px;color:#555;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:9px 14px}.hierarchy-row{padding:14px;border-bottom:1px solid var(--line);align-items:start}.level{display:flex;gap:12px;align-items:baseline}.level b{font:600 11px/1.5 Arial,sans-serif;color:#777}.level strong{font-size:15px;font-weight:500}.hierarchy-row p{font-size:13px;line-height:1.75;margin:0}.mapping{background:var(--mist);padding:48px 0 44px}.path-head,.path-row{display:grid;grid-template-columns:1.05fr 1.25fr 1.25fr 1.15fr;gap:16px}.path-head{font-size:11px;color:#555;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:9px 13px}.path-row{padding:17px 13px;border-bottom:1px solid var(--line);align-items:start}.path-name small{display:block;font-size:10px;color:#555;margin-bottom:5px}.path-name strong{font-size:15px;font-weight:500}.path-row p{font-size:13px;line-height:1.7;margin:0}.examples{border-bottom:1px solid var(--ink);background:#fff}.examples summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:13px;font-weight:500;padding:15px 18px}.examples summary::-webkit-details-marker{display:none}.examples[open] summary span{transform:rotate(45deg)}.example-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding:16px 18px 0}.example-grid h3{font-size:13px;font-weight:500;margin:0 0 8px}.example-grid ul{font-size:13px;line-height:1.9;margin:0;padding-left:20px}.fineprint,.disclaimer{font-size:11px;line-height:1.8;color:#555}.fineprint{margin:9px 18px 18px}.case-bottom{padding-top:50px;padding-bottom:55px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.bottom-grid>div:first-child>p:last-child{font-size:13px;line-height:1.85;margin:12px 0 0}.review-list{border-top:1px solid var(--ink)}.review-list p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6;padding:12px 0;margin:0}.review-list strong{font-weight:500}.review-list span{max-width:230px}.disclaimer{border-top:1px solid var(--line);padding-top:16px;margin:28px 0 0}.bottom-links{display:flex;gap:11px;margin-top:20px}.bottom-links a{display:flex;justify-content:space-between;gap:25px;min-width:215px;border:1px solid var(--ink);font-size:12px;padding:13px 15px}.bottom-links a:last-child{background:var(--ink);color:#fff}.footer{background:var(--ink);color:#ccc}.footer .wrap{display:flex;justify-content:space-between;gap:15px;padding-block:17px;font-size:11px}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:15px}.hero-lead{max-width:650px}.section-head{grid-template-columns:1fr;gap:5px}.table-head,.hierarchy-row{grid-template-columns:100px 1fr 1fr;gap:12px}.path-head,.path-row{grid-template-columns:.9fr 1.1fr 1fr 1fr;gap:10px}.bottom-grid{gap:20px}}
@media(max-width:620px){.wrap{width:min(calc(100% - 36px),1160px)}.topbar-inner{min-height:56px}.case-hero{padding:36px 0 30px}.case-hero h1{font-size:34px}.hero-lead{font-size:13px}.hero-meta{grid-template-columns:1fr 1fr;row-gap:12px;margin-top:25px}.hero-meta span:nth-child(3){border-left:0;padding-left:0}.hero-meta b{font-size:14px}.case-content{padding-block:38px}.section-head{margin-bottom:18px}.section-head h2,.case-bottom h2{font-size:23px}.table-head,.path-head{display:none}.hierarchy-row{grid-template-columns:85px 1fr;gap:5px 10px;padding:12px 0}.hierarchy-row p:last-child{grid-column:2;color:#555}.hierarchy-row p{font-size:12px}.mapping{padding-block:38px}.path-row{grid-template-columns:1fr 1fr;gap:10px 18px;padding:17px 0}.path-name{grid-column:1/-1}.path-row p{font-size:12px}.path-row p::before{content:attr(data-label);display:block;color:#666;font-size:10px;margin-bottom:3px}.path-row p:last-child{grid-column:1/-1}.example-grid{grid-template-columns:1fr;gap:10px}.case-bottom{padding-block:38px}.bottom-grid{grid-template-columns:1fr;gap:20px}.review-list p{font-size:11px}.review-list span{max-width:180px}.bottom-links{display:block}.bottom-links a{margin-top:9px}.footer .wrap{display:block}.footer span{display:block;margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
