:root{--ink:#152039;--muted:#647089;--line:#dce2ec;--paper:#fff;--wash:#f3f6fa;--navy:#142b62;--blue:#315aa7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wash);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
a{font:inherit;color:inherit}
.site-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:300px;overflow-y:auto;padding:28px 24px;background:#0b1734;color:#fff;box-shadow:12px 0 40px rgba(15,30,70,.08)}
.brand{display:flex;align-items:center;gap:12px;padding:0 4px 26px;border-bottom:1px solid rgba(255,255,255,.14)}
.brand img,.mobile-brand img{display:block;object-fit:contain;flex:0 0 auto}
.brand strong{display:block;font-family:Georgia,"Yu Mincho",serif;font-size:15px;font-weight:500}
.tree-label{margin:26px 4px 14px;color:#92a5c9;font-size:11px;font-weight:700;letter-spacing:.14em}
.tree{display:grid;gap:8px}
.tree a{display:flex;align-items:center;width:100%;padding:10px 11px;border-radius:8px;color:#dce5f5;text-align:left;text-decoration:none;font-size:13px;line-height:1.45;transition:.18s ease}
.tree a:hover{background:rgba(255,255,255,.08)}
.tree a.active{background:#fff;color:var(--navy);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.content{width:min(920px,calc(100% - 348px));margin-left:324px;padding:42px 0 56px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:0 2px}
.page-heading p{margin:0 0 7px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em}
.page-heading p:empty{display:none}
.page-heading h1{max-width:720px;margin:0;font-size:clamp(22px,3vw,34px);line-height:1.35;letter-spacing:-.02em}
.viewer{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 70px rgba(20,43,98,.12)}
.image-canvas{position:relative;container-type:inline-size}
.image-page+.image-page{border-top:10px solid var(--wash)}
.continuation-image{aspect-ratio:1080/1650;overflow:hidden}
.continuation-image .page-image{position:absolute;inset:0 auto auto 0;transform:translateY(-14.0625%)}
.page-image{display:block;width:100%;height:auto}
.image-layer{position:absolute;inset:0;pointer-events:none}
.image-hotspot{position:absolute;z-index:3;display:block;pointer-events:auto;border:1px solid transparent;border-radius:5px;background:transparent;color:transparent;font-size:0;cursor:pointer}
.header-hotspot{top:1.9%;height:2.4%}
.image-hotspot:hover{border-color:rgba(255,255,255,.72);background:rgba(80,130,220,.16);box-shadow:0 0 0 2px rgba(24,55,120,.25)}
.contents-hotspot:hover,.external-hotspot:hover{border-color:var(--blue);background:rgba(49,90,167,.10);box-shadow:0 0 0 2px rgba(49,90,167,.18)}
.image-hotspot:focus-visible{outline:3px solid #f6b900;outline-offset:2px}
.inline-image-note{position:absolute;z-index:4;display:flex;align-items:center;gap:4.5%;background:#fff;color:#111;font-size:clamp(8px,1.55vw,17px);line-height:1.2}.inline-image-note strong{flex:0 0 auto}.inline-image-note a{color:#111;font-weight:700;text-decoration:none}.inline-image-note a:hover,.inline-image-note a:focus-visible{color:var(--blue);text-decoration:underline}.business-external{left:57.8%;top:51.0%;width:34.8%;height:2.3%;justify-content:flex-start;font-size:2.25cqw}.company-related{left:7.5%;top:52.9%;display:grid;grid-template-columns:23.6% 1fr;gap:0;width:84.8%;height:1.8%;font-size:2.05cqw}
.actions,.transcript{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.actions h2{margin:0 0 13px;font-size:14px}
.actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.actions a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:11px 14px;border:1px solid #ccd5e6;border-radius:8px;background:#f9fbff;color:var(--navy);text-align:left;text-decoration:none;font-size:13px;font-weight:700}
.actions a:hover{border-color:var(--blue);background:#eef4ff}
.actions span{color:var(--blue);font-size:17px}
.transcript{color:#39445b}
.transcript summary{cursor:pointer;color:var(--navy);font-size:13px;font-weight:700}
.transcript p{margin:16px 0 0;font-size:13px;line-height:1.9}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.pager a{max-width:48%;min-width:150px;padding:12px 18px;border:1px solid #c8d1e0;border-radius:9px;background:#fff;color:var(--navy);text-align:center;text-decoration:none;font-size:13px;font-weight:700}
.pager a:hover{border-color:var(--blue)}
.pager a.disabled{visibility:hidden;pointer-events:none}
.mobile-brand,.mobile-nav{display:none}
@media(max-width:820px){
  .sidebar{display:none}.mobile-brand{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:10px;height:60px;padding:7px 16px;background:rgba(11,23,52,.96);color:#fff;backdrop-filter:blur(10px);font-family:Georgia,"Yu Mincho",serif;font-size:14px}.mobile-brand img{width:34px;height:34px}.content{width:100%;margin:0;padding:14px 12px 36px}.mobile-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:20px}.mobile-nav a{display:flex;align-items:center;justify-content:center;min-height:39px;padding:7px 5px;border:1px solid #c9d2e2;border-radius:7px;background:#fff;color:#5f6d85;text-align:center;text-decoration:none;font-size:11px;font-weight:800}.mobile-nav a.active{border-color:var(--navy);background:var(--navy);color:#fff}.page-heading{align-items:flex-start;margin-bottom:12px}.page-heading h1{font-size:20px}.viewer{border-radius:8px;box-shadow:0 12px 36px rgba(20,43,98,.12)}.actions,.transcript{margin-top:12px;padding:16px;border-radius:9px}.actions>div{grid-template-columns:1fr}.pager{margin-top:12px}.pager a{min-width:0;flex:1 1 0;padding-inline:8px;font-size:11px;line-height:1.4}
}
@media(min-width:1500px){.content{width:1000px;margin-left:calc(300px + (100vw - 1300px)/2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
