.japan-trend-map{position:relative;margin:8px 0 24px;padding:0;border:1px solid #c5dbeb;border-radius:18px;background:#063875;overflow:hidden}
.japan-map{position:relative;width:100%;height:780px;max-width:none;margin:0}
.japan-map::before{content:"";position:absolute;inset:0;background:url("assets/japan-map-pixel-blue.png") center/100% 100% no-repeat;opacity:1;pointer-events:none}
.japan-map__national-cloud{position:absolute;top:4%;left:4%;z-index:2;width:340px;min-height:174px;padding:14px 16px;border:1px solid rgba(185,220,233,.9);border-radius:20px;background:rgba(255,255,255,.58);box-shadow:0 10px 28px rgba(16,42,67,.18);backdrop-filter:blur(4px)}
.japan-map__national-cloud h2{margin:0;color:var(--navy);font-size:18px}
.wordcloud--map{justify-content:flex-start;gap:8px 11px;min-height:124px;padding:10px 0 0}
.wordcloud--map .word strong{font-size:calc(var(--word-size) * .68)}
.japan-region{position:absolute;z-index:1;display:grid;align-content:start;gap:7px;width:178px;min-height:104px;padding:12px 14px;border:1px solid rgba(255,255,255,.72);border-radius:22px 13px 22px 13px;background:rgba(255,255,255,.58);box-shadow:0 10px 25px rgba(0,29,77,.3);color:var(--navy);text-decoration:none;transform:rotate(-4deg);backdrop-filter:blur(4px);transition:border-color .15s ease,box-shadow .15s ease}
.japan-region:hover,.japan-region:focus-visible{border-color:var(--blue);box-shadow:0 13px 30px rgba(16,42,67,.14);outline:none}
.japan-region::after{display:none}
.japan-region h3{margin:0;font-size:17px}.japan-region small{color:var(--muted);font-size:11px;font-weight:800}
.japan-region--active{border-color:#64a9d8;background:rgba(242,249,253,.64)}.japan-region--active::after{background:var(--blue)}
.japan-region--hokkaido{top:5%;right:10%;width:205px;min-height:116px;padding:15px 17px;transform:rotate(3deg)}.japan-region--hokkaido h3{font-size:20px}.japan-region--hokkaido::after{left:-19px;bottom:13px}
.japan-region--tohoku{top:28%;right:17%}.japan-region--tohoku::after{left:-17px;bottom:-9px}
.japan-region--kanto{top:48%;right:16%;transform:rotate(3deg)}.japan-region--kanto::after{left:-16px;top:27px}
.japan-region--izu{right:9%;bottom:7%;width:185px;min-height:112px;transform:rotate(2deg)}.japan-region--izu::after{left:34px;top:-17px}.japan-region--izu small+small{margin-top:2px;color:var(--blue)}
.japan-region--hokuriku{top:41%;left:50%;transform:rotate(-3deg)}.japan-region--hokuriku::after{right:-17px;bottom:18px}
.japan-region--tokai{top:58%;left:54%;transform:rotate(-2deg)}.japan-region--tokai::after{right:-17px;top:30px}
.japan-region--kinki{top:53%;left:37%}.japan-region--kinki::after{right:-17px;top:25px}
.japan-region--chugoku{top:55%;left:21%;transform:rotate(2deg)}.japan-region--chugoku::after{right:-17px;top:35px}
.japan-region--shikoku{top:69%;left:39%;width:162px;min-height:92px;transform:rotate(-2deg)}.japan-region--shikoku::after{left:-17px;top:18px}
.japan-region--kyushu{bottom:8%;left:22%;transform:rotate(-4deg)}.japan-region--kyushu::after{right:-16px;top:13px}
.japan-region--okinawa{bottom:1%;left:1%;width:150px;min-height:90px;transform:rotate(3deg)}.japan-region--okinawa::after{right:-17px;top:18px}
.regional-mini-cloud{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 8px;min-height:38px}
.regional-mini-cloud .word strong{font-size:var(--word-size);letter-spacing:-.04em}.regional-mini-cloud .word em{font-size:9px}.regional-mini-cloud .wordcloud-empty{font-size:11px;text-align:left}
.japan-trend-map__note{position:absolute;right:18px;bottom:10px;z-index:2;max-width:470px;margin:0;color:rgba(255,255,255,.82);font-size:11px;text-align:right;text-shadow:0 1px 3px rgba(0,29,77,.8)}
@media(max-width:750px){.japan-trend-map{padding:10px;background:#fff}.japan-map{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:auto;min-height:1120px;padding:16px 12px;background:#063875;border-radius:14px;overflow:hidden}.japan-map::before{display:block;inset:0;background-image:url("assets/japan-map-pixel-mobile.png");background-position:center;background-size:100% 100%;opacity:.62}.japan-map__national-cloud{position:relative;inset:auto;grid-column:1/-1;grid-row:1;width:auto;min-height:150px;padding:14px}.wordcloud--map{min-height:96px}.japan-region{position:relative;inset:auto;width:auto;min-height:100px;padding:12px;transform:none!important}.japan-region::after{display:none}.japan-region--hokkaido{grid-column:2;grid-row:2}.japan-region--hokkaido h3{font-size:17px}.japan-region--tohoku{grid-column:2;grid-row:3}.japan-region--kanto{grid-column:2;grid-row:4}.japan-region--tokai{grid-column:2;grid-row:5}.japan-region--izu{grid-column:2;grid-row:6}.japan-region--hokuriku{grid-column:1;grid-row:4}.japan-region--kinki{grid-column:1;grid-row:5}.japan-region--chugoku{grid-column:1;grid-row:6}.japan-region--shikoku{grid-column:1;grid-row:7}.japan-region--kyushu{grid-column:1;grid-row:8}.japan-region--okinawa{grid-column:1;grid-row:9}.japan-trend-map__note{max-width:none;margin:14px 0 0;color:var(--muted);text-align:left}}
