@charset "utf-8";

.map_h3 { margin:20px 20px 0; padding:8px 12px; background:#f4812b;/*d22270 f58f2f f4812b*/ color:#fff; font-size:16px; font-weight:400; letter-spacing:.03em; line-height:1.4; text-align:center; }
.map_h3 + .map_section__body { padding-top:15px; }
.map_section__zoom { cursor:pointer; font-family:inherit; }
html.is-map-modal-open,body.is-map-modal-open { overflow:hidden; }
.map_modal { position:fixed; z-index:10000; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; pointer-events:none; overscroll-behavior:none; transition:opacity .25s ease,visibility .25s ease; }
.map_modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.map_modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.9); }
.map_modal__panel { position:relative; z-index:1; display:flex; flex-direction:column; width:min(1400px,100%); height:min(920px,calc(100svh - 48px)); overflow:hidden; border:2px solid #000; box-shadow:8px 8px 0 #ff008c; background:#fff; transform:translateY(18px) scale(.985); transition:transform .25s ease; }
.map_modal.is-open .map_modal__panel { transform:translateY(0) scale(1); }
.map_modal__header { position:relative; z-index:2; display:flex; flex:none; align-items:center; justify-content:space-between; min-height:72px; padding:10px 12px 10px 20px; border-bottom:2px solid #000; background:#ff008c; color:#fff; touch-action:manipulation; }
.map_modal__heading { display:flex; align-items:center; min-width:0; }
.map_modal__heading span { display:flex; align-items:center; justify-content:center; min-width:68px; height:32px; padding:0 13px; border:2px solid #fff; border-radius:999px; background:#000; font-family:"LINE Seed JP",sans-serif; font-size:16px; font-weight:700; letter-spacing:.08em; line-height:1; }
.map_modal__heading h2 { margin-left:13px; font-size:20px; font-weight:700; letter-spacing:.04em; white-space:nowrap; }
.map_modal__actions { display:flex; align-items:center; gap:8px; }
.map_modal__control { display:flex; align-items:center; justify-content:center; height:44px; border:2px solid #000; border-radius:999px; box-shadow:0 3px 0 #000; background:#fff; color:#000; font-family:"M PLUS Rounded 1c",sans-serif; font-size:16px; font-weight:700; line-height:1; cursor:pointer; touch-action:manipulation; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; transition:box-shadow .15s ease,transform .15s ease,filter .2s ease; }
.map_modal__control:hover { box-shadow:0 1px 0 #000; transform:translateY(2px); }
.map_modal__control:focus-visible,.map_modal__close:focus-visible,.map_modal__viewport:focus-visible { outline:3px solid #ffe500; outline-offset:3px; }
.map_modal__control--zoom { width:46px; font-family:"LINE Seed JP",sans-serif; font-size:27px; font-weight:400; }
.map_modal__control--reset { width:72px; background:#ffe500; font-size:13px; }
.map_modal__control--external { width:92px; background:#0097f2; color:#fff; font-size:13px; }
.map_modal__close { position:relative; width:46px; height:46px; margin-left:3px; border:2px solid #fff; border-radius:50%; background:#000; cursor:pointer; touch-action:manipulation; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; transition:transform .2s ease,background-color .2s ease; }
.map_modal__close:hover { background:#2b2b2b; transform:rotate(8deg); }
.map_modal__close span { position:absolute; top:50%; left:50%; width:22px; height:2px; background:#fff; }
.map_modal__close span:first-child { transform:translate(-50%,-50%) rotate(45deg); }
.map_modal__close span:last-child { transform:translate(-50%,-50%) rotate(-45deg); }
.map_modal__viewport { position:relative; flex:1; min-height:0; overflow:hidden; background-color:#ececec; background-image:linear-gradient(45deg,#dedede 25%,transparent 25%),linear-gradient(-45deg,#dedede 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dedede 75%),linear-gradient(-45deg,transparent 75%,#dedede 75%); background-position:0 0,0 12px,12px -12px,-12px 0; background-size:24px 24px; cursor:grab; touch-action:none; user-select:none; }
.map_modal__viewport.is-dragging { cursor:grabbing; }
.map_modal__image { position:absolute; top:50%; left:50%; display:block; width:auto; max-width:none; height:auto; user-select:none; -webkit-user-drag:none; will-change:transform; transform:translate(-50%,-50%); }
.map_modal__image.is-animating { transition:transform .2s ease; }
.map_modal__help { position:absolute; z-index:2; bottom:16px; left:50%; max-width:calc(100% - 32px); padding:9px 16px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(0,0,0,.6); color:#fff; font-size:12px; font-weight:500; letter-spacing:.02em; line-height:1.35; text-align:center; white-space:nowrap; pointer-events:none; transform:translateX(-50%); }
@media screen and (max-width:800px) {
.map_modal__header { position:relative; z-index:2; display:block; flex:none; align-items:center; justify-content:space-between; min-height:72px; padding:10px 12px 10px 20px; border-bottom:2px solid #000; background:#ff008c; color:#fff; touch-action:manipulation; }
.map_modal__actions { display:grid; grid-template-columns:20vw 20vw 12vw 1fr 16vw 10vw; width:80%; column-gap:1.4815vw; padding-top:10px; }
.map_modal__control--zoom { width:100%; font-size:27px;}
.map_modal__control--reset { grid-column:3; width:100%;  font-size:13px;  }
}
@media screen and (max-width:540px) {
.map_h3 { margin:3.8vw 3.7037vw 0; padding:1.5vw 2.2222vw; font-size:2.95vw; }
.map_h3 + .map_section__body { padding-top:2.7778vw; }
.map_modal { padding:2.7778vw; }
.map_modal__panel { width:100%; height:calc(100svh - 5.5556vw); border-width:0.3704vw; box-shadow:1.1111vw 1.1111vw 0 #ff008c; }
.map_modal__header { min-height:22.2222vw; padding:2.2222vw 2.2222vw 2.0370vw; border-bottom-width:0.3704vw; }
.map_modal__heading { position:absolute; top:2.2222vw; left:2.2222vw; }
.map_modal__heading span { min-width:12.5926vw; height:5.9259vw; padding:0 2.4074vw; border-width:0.3704vw; font-size:2.9630vw; }
.map_modal__heading h2 { margin-left:2.4074vw; font-size:3.7037vw; }
.map_modal__actions { display:grid; grid-template-columns:21.1111vw 21.1111vw 12.9630vw 1fr 16.6667vw 10vw; width:100%; column-gap:1.4815vw; padding-top:8.5185vw; }
.map_modal__control { width:100%; height:10vw; border-width:0.3704vw; box-shadow:0 0.5556vw 0 #000; font-size:2.9630vw; }
.map_modal__control:hover { box-shadow:0 0.1852vw 0 #000; transform:translateY(0.3704vw); }
.map_modal__control--zoom { width:100%; font-size:6.6667vw; }
.map_modal__control--reset { grid-column:3; width:100%; font-size:2.7778vw; }
.map_modal__control--external { grid-column:5; width:100%; min-width:0; font-size:2.5926vw; }
.map_modal__actions [data-map-zoom-out] { grid-column:1; }
.map_modal__actions [data-map-zoom-in] { grid-column:2; }
.map_modal__close { grid-column:6; width:10vw; min-width:10vw; height:10vw; aspect-ratio:1 / 1; margin-left:0; border-width:0.3704vw; justify-self:end; }
.map_modal__close span { width:5.1852vw; height:0.3704vw; }
.map_modal__help { bottom:2.9630vw; max-width:calc(100% - 5.9259vw); padding:1.6667vw 2.9630vw; border-width:0.1852vw; font-size:2.2222vw; white-space:normal; }
}
