.campus-page{--campus-ground:42 24% 96%;--campus-panel:0 0% 100%;--campus-ink:215 30% 18%;--campus-muted:215 12% 40%;--campus-line:215 14% 82%;--campus-roof:215 12% 62%;--campus-wall:215 14% 84%;--campus-selected:164 34% 40%;--background:var(--campus-ground);--foreground:var(--campus-ink);--card:var(--campus-panel);--primary:var(--campus-selected);--primary-foreground:var(--campus-ground);color:hsl(var(--campus-ink));background:hsl(var(--campus-ground));font-family:Noto Sans JP,sans-serif;padding:112px 24px 64px;min-height:80vh}.campus-shell{max-width:1280px;margin:auto}.campus-eyebrow{font-size:10px;letter-spacing:.16em;color:hsl(var(--campus-muted));font-weight:600}.campus-heading{padding-bottom:28px;border-bottom:1px solid hsl(var(--campus-line));margin-bottom:24px}.campus-heading h1{font-size:clamp(26px,4vw,44px);font-weight:600;letter-spacing:.02em;margin:12px 0}.campus-heading p{font-size:13px;line-height:1.9;color:hsl(var(--campus-muted));max-width:650px}.campus-heading a{display:inline-flex;gap:8px;align-items:center;margin-top:18px;font-size:12px}.campus-workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}.campus-map-column{min-width:0;grid-column:2;grid-row:1;scroll-margin-top:90px}.campus-directory{grid-column:1;grid-row:1;border:1px solid hsl(var(--campus-line));background:hsl(var(--campus-panel));padding:18px}.campus-map-frame{position:relative;border:1px solid hsl(var(--campus-line));overflow:hidden}.campus-map-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;background:hsl(var(--campus-panel));font-size:11px;letter-spacing:.06em}.campus-map-heading small{color:hsl(var(--campus-muted))}.campus-map-canvas{height:480px;width:100%;isolation:isolate;background:hsl(var(--campus-ground))!important;font-family:inherit!important}.campus-map-canvas .leaflet-tile-pane{filter:grayscale(1) invert(1) brightness(.72) contrast(.85)}.campus-page .campus-wall{fill:hsl(var(--campus-wall));stroke:hsl(var(--campus-roof));cursor:pointer}.campus-page .campus-roof{fill:hsl(var(--campus-roof));stroke:hsl(var(--campus-ink));cursor:pointer}.campus-page .campus-roof.is-active{fill:hsl(var(--campus-selected));stroke:hsl(var(--campus-ink));stroke-width:2}.campus-page .campus-wall.is-active{fill:hsl(var(--campus-selected)/.5)}.campus-pin{display:flex!important;align-items:center;justify-content:center;background:hsl(var(--campus-ground));border:1px solid hsl(var(--campus-ink));border-radius:3px;color:hsl(var(--campus-ink));font-size:12px;font-weight:700;box-shadow:0 3px 10px hsl(var(--campus-ground)/.4)}.campus-pin.is-active{background:hsl(var(--campus-selected));color:hsl(var(--campus-ground));outline:3px solid hsl(var(--campus-selected)/.25)}.campus-map-controls{position:absolute;right:12px;top:12px;z-index:800;display:flex;flex-direction:column;gap:6px}.campus-map-controls button{width:38px;height:38px;background:hsl(var(--campus-panel));color:hsl(var(--campus-ink));border:1px solid hsl(var(--campus-line));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border-radius:3px}.campus-map-controls button[aria-pressed=true]{border-color:hsl(var(--campus-selected));color:hsl(var(--campus-selected))}.campus-page button:focus-visible,.campus-page a:focus-visible,.campus-page input:focus-visible{outline:2px solid hsl(var(--campus-selected));outline-offset:3px}.campus-map-canvas .leaflet-control-attribution{background:hsl(var(--campus-ground)/.95)!important;color:hsl(var(--campus-muted))!important;font-size:9px!important}.campus-map-canvas .leaflet-control-attribution a{color:hsl(var(--campus-ink))!important}.campus-map-note{padding:12px 16px;border-top:1px solid hsl(var(--campus-line));font-size:11px;line-height:1.8;color:hsl(var(--campus-muted));background:hsl(var(--campus-panel))}.campus-map-status{position:absolute;z-index:900;left:12px;bottom:36px;padding:8px 12px;max-width:70%;background:hsl(var(--campus-panel));color:hsl(var(--campus-ink));font-size:11px}.campus-search{display:flex;align-items:center;gap:9px;border:1px solid hsl(var(--campus-line));padding:10px 12px;color:hsl(var(--campus-muted))}.campus-page .campus-search input{width:100%;min-width:0;border:0!important;background:transparent!important;color:hsl(var(--campus-ink));font:inherit;font-size:12px;padding:0;outline-offset:5px}.campus-filters{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 20px}.campus-filters button{font-size:11px;padding:7px 10px;border:1px solid hsl(var(--campus-line));border-radius:2px;color:hsl(var(--campus-muted))}.campus-filters button[aria-pressed=true]{background:hsl(var(--campus-ink));color:hsl(var(--campus-ground));border-color:hsl(var(--campus-ink))}.campus-list-caption{display:flex;justify-content:space-between;font-size:11px;color:hsl(var(--campus-muted));padding-bottom:10px}.campus-list{max-height:540px;overflow-y:auto;scrollbar-width:thin}.campus-facility{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;gap:10px;text-align:left;align-items:center;width:100%;padding:16px 4px;border-top:1px solid hsl(var(--campus-line))}.campus-facility strong{display:block;font-weight:500;font-size:13px;line-height:1.7}.campus-facility small{display:block;font-size:10px;line-height:1.8;margin-top:3px;color:hsl(var(--campus-muted))}.campus-facility-number{font-size:11px;border:1px solid hsl(var(--campus-line));width:30px;height:30px;display:grid;place-items:center}.campus-facility.is-active{color:hsl(var(--campus-selected));background:hsl(var(--campus-selected)/.06)}.campus-empty{padding:24px 0;font-size:13px;line-height:1.8;color:hsl(var(--campus-muted))}.campus-detail{padding:24px;border:1px solid hsl(var(--campus-line));margin-top:16px;background:hsl(var(--campus-panel))}.campus-detail h2{font-size:22px;font-weight:500;line-height:1.6;margin:10px 0}.campus-detail p{font-size:13px;line-height:1.9;color:hsl(var(--campus-muted));margin:12px 0}.campus-location{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.campus-detail a{display:inline-flex;gap:10px;align-items:center;font-size:12px;border-bottom:1px solid hsl(var(--campus-line));padding-bottom:5px;margin-top:8px}.campus-sources{margin-top:28px;border-block:1px solid hsl(var(--campus-line));padding:18px 0;font-size:12px;line-height:1.9;color:hsl(var(--campus-muted))}.campus-sources summary{cursor:pointer;color:hsl(var(--campus-ink));font-weight:500}.campus-sources p{margin:18px 0}.campus-sources a{text-decoration:underline}.campus-reference{display:block;width:100%;height:auto;margin-top:20px;background:hsl(var(--campus-ink));padding:16px}@media(max-width:767px){.campus-pin{width:26px!important;height:26px!important;margin-left:-13px!important;font-size:10px}.campus-page{padding:92px 16px 40px}.campus-workspace{display:flex;flex-direction:column}.campus-map-column,.campus-directory{width:100%}.campus-map-canvas{height:350px}.campus-map-heading{padding:12px;font-size:10px}.campus-detail{padding:18px}.campus-detail h2{font-size:20px}.campus-directory{padding:16px}.campus-list{max-height:420px}.campus-heading{margin-bottom:18px;padding-bottom:20px}}html[data-home-theme=dark] .corporate-public-dark>main.corporate-public-main:has(.campus-page){padding-top:0;padding-bottom:0}.atlas-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.atlas-tabs button{border:1px solid hsl(var(--campus-line));padding:11px 17px;font-size:13px;background:hsl(var(--campus-panel));color:hsl(var(--campus-muted));border-radius:6px}.atlas-tabs button[aria-pressed=true]{background:#31584e;color:#fff;border-color:#31584e}.atlas-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.atlas-map-column{min-width:0;scroll-margin-top:92px}.atlas-directory.campus-directory{grid-column:auto;grid-row:auto;border-radius:10px}.atlas-view{border:1px solid #d5ded3;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 6px 25px #344e3e08}.atlas-view-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;background:#fff;gap:10px;border-bottom:1px solid #e1e6dc}.atlas-view-heading small{font-size:9px;letter-spacing:.16em;color:#7b8980}.atlas-view-heading h2{font-size:20px;font-weight:600;margin-top:6px;color:#2b4139}.atlas-view-meta{display:flex;align-items:center;gap:14px}.atlas-view-meta>span{font-size:11px;white-space:nowrap;color:#718277}.atlas-dimension{min-width:48px;min-height:40px;border:1px solid #becfc4;border-radius:8px;background:#edf4ed;color:#31584e;font-size:12px;font-weight:700}.atlas-scene{position:relative;height:540px;background:radial-gradient(ellipse at 48% 55%,#fffef5 4%,#f1f4eb 68%,#eaf0e6);overflow:hidden;isolation:isolate}.atlas-scene>svg{display:block;width:100%;height:100%;touch-action:pan-y pinch-zoom;cursor:grab;outline-offset:-4px}.atlas-scene.is-panning>svg{touch-action:none;cursor:move}.atlas-scene>svg:active{cursor:grabbing}.atlas-scene>svg:focus-visible{outline:2px solid #3c8a73}.atlas-building,.atlas-surface{cursor:pointer}.atlas-building.muted,.atlas-surface.muted{opacity:.28}.atlas-mesh-wall{stroke:#68776b;stroke-width:.45;stroke-opacity:.32;stroke-linejoin:round}.atlas-mesh-roof{stroke:#f2f2e6;stroke-width:.9;stroke-linejoin:round}.atlas-building.selected .atlas-mesh-roof{stroke:#287b66;stroke-width:1.6}.atlas-building.selected .atlas-mesh-wall{stroke:#3c8870;stroke-opacity:.7}.atlas-glazing{opacity:.83;pointer-events:none}.atlas-tree-model{pointer-events:none}.atlas-marker{cursor:pointer;outline:none}.atlas-marker.muted{opacity:.38}.atlas-marker-leader{stroke:#658072;stroke-width:.9;stroke-opacity:.75;pointer-events:none}.atlas-marker-hit{fill:transparent;stroke:none;pointer-events:all}.atlas-marker-disc{fill:#fffff9;stroke:#93a99a;stroke-width:1.2;filter:drop-shadow(0 1px 2px #405c4130)}.atlas-marker text{fill:#3b5849;font:650 11px Noto Sans JP,sans-serif;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.atlas-marker.selected .atlas-marker-disc{fill:#307d67;stroke:#fff;stroke-width:2}.atlas-marker.selected text{fill:#fff}.atlas-marker:hover .atlas-marker-disc,.atlas-marker:focus-visible .atlas-marker-disc{stroke:#246c57;stroke-width:2.8}.atlas-marker:focus-visible .atlas-marker-hit{stroke:#3d9a78;stroke-width:2;stroke-dasharray:3 3}.atlas-controls{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;gap:3px;padding:6px;background:#fffffff0;border:1px solid #d9e2d5;border-radius:12px;box-shadow:0 5px 17px #344b3912;max-width:calc(100% - 20px)}.atlas-controls button{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:#486553;font-size:11px;border-radius:7px;transition:background .15s}.atlas-controls button:hover{background:#edf3e9}.atlas-controls button[aria-pressed=true]{background:#dcebe0;color:#1b604b;border-color:#c4dacb}.atlas-controls button:disabled{opacity:.3;cursor:default}.atlas-scene-caption{position:absolute;top:14px;left:17px;color:#7c8e7d;font-size:9px;letter-spacing:.05em;pointer-events:none}.atlas-help{padding:15px 20px;font-size:11px;line-height:1.85;color:#607368;background:#fff;border-top:1px solid #e0e8dc}.atlas-help span{display:block;margin-top:4px;color:#8b978c;font-size:10px}.atlas-directory .campus-list{max-height:690px}.atlas-directory .campus-facility small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.atlas-floors{margin:18px 0;border-top:1px solid hsl(var(--campus-line))}.atlas-floors>div{display:flex;gap:18px;padding:10px 0;border-bottom:1px solid hsl(var(--campus-line));font-size:12px}.atlas-floors dt{min-width:45px;color:hsl(var(--campus-selected))}.atlas-floors dd{color:hsl(var(--campus-muted))}@media(max-width:959px){.atlas-workspace{display:flex;flex-direction:column;gap:18px}.atlas-map-column,.atlas-directory{width:100%}.atlas-directory .campus-list{max-height:430px}}@media(max-width:767px){.atlas-tabs{gap:6px}.atlas-tabs button{padding:10px 12px;font-size:12px}.atlas-view-heading{padding:16px}.atlas-view-heading h2{font-size:18px}.atlas-view-meta{gap:8px}.atlas-view-meta>span{font-size:10px}.atlas-scene{height:440px}.atlas-controls{bottom:14px;gap:2px;padding:5px}.atlas-controls button{width:40px;height:40px}.atlas-scene-caption{font-size:9px;left:13px;top:12px}.atlas-help{padding:13px 14px;font-size:11px}}@media(max-width:359px){.atlas-controls button{width:34px;height:40px}.atlas-view-meta>span{display:none}}@media(prefers-reduced-motion:reduce){.atlas-controls button{transition:none}}
