:root{--ink:#27382c;--muted:#687568;--paper:#f8f5e7;--card:#fffdf4;--orange:#e66732;--pear:#d9cf52;--sage:#dfe8b6;--line:rgba(39,56,44,.14);--shadow:0 22px 70px rgba(36,64,42,.16)}
*{box-sizing:border-box}
html{background:#dde7c4}
body{margin:0;min-height:100vh;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:radial-gradient(circle at 50% 0,#fff9e8 0,transparent 42%),linear-gradient(145deg,#eef1d1,#cfdfb0)}
button,a{font:inherit}.page-shell{width:min(1440px,100%);min-height:100vh;margin:auto;padding:0 clamp(16px,4vw,60px) 18px;display:flex;flex-direction:column}
.site-header{height:116px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;width:max-content}.brand-fruit{position:relative;display:grid;place-items:center;width:45px;height:43px;border-radius:52% 48% 50% 50%;background:var(--pear);font-size:11px;font-weight:900;box-shadow:inset -6px -6px rgba(130,115,26,.1)}.brand-fruit:before{content:"";position:absolute;width:13px;height:8px;border-radius:100% 0;right:2px;top:-4px;background:#558c49;rotate:-18deg}.brand strong{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px}.brand small{display:block;margin-top:4px;font-size:7px;font-weight:800;letter-spacing:.18em;color:var(--muted)}
.page-title{text-align:center}.page-title p{margin:0;color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.25em}.page-title h1{margin:5px 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:31px;font-weight:600;letter-spacing:.08em}.guide-copy{justify-self:end;margin:0;font-size:11px;line-height:1.7;color:var(--muted)}
.map-card{position:relative;flex:1;min-height:0;border:1px solid rgba(255,255,255,.65);border-radius:28px;background:rgba(255,253,244,.72);box-shadow:var(--shadow);backdrop-filter:blur(14px);overflow:hidden}.map-topbar{height:58px;padding:0 18px 0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.map-topbar p{margin:0;font-size:10px;color:var(--muted)}.view-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:#e9ecd4}.view-tabs button{padding:8px 22px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.view-tabs button.is-active{color:#fff;background:var(--ink);box-shadow:0 4px 14px rgba(39,56,44,.18)}
.map-viewport{position:relative;height:clamp(470px,calc(100vh - 280px),760px);overflow:hidden;touch-action:none;background:#e8edc9}.map-shell{position:absolute;left:50%;top:50%;width:calc(100% - 24px);aspect-ratio:1200/760;transform-origin:center center;will-change:transform;cursor:grab;transition:opacity .18s,filter .18s}.map-shell.is-dragging{cursor:grabbing}.map-shell.is-switching{opacity:0;filter:blur(8px)}#map-art{display:block;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 16px 22px rgba(44,75,48,.14))}.map-shell.is-editing #map-art{pointer-events:auto}.markers{position:absolute;inset:0;pointer-events:none}.marker{--x:50%;--y:50%;position:absolute;left:var(--x);top:var(--y);translate:-15px -50%;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(255,253,247,.95);color:var(--ink);box-shadow:0 7px 18px rgba(28,55,36,.2);cursor:pointer;pointer-events:auto;transition:translate .18s,background .18s,box-shadow .18s;touch-action:none}.marker:hover,.marker.is-active{translate:-15px calc(-50% - 5px);background:#f3eda2;box-shadow:0 11px 24px rgba(28,55,36,.24)}.marker-icon{display:grid;place-items:center;min-width:31px;height:31px;padding:0 5px;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:900}.marker-copy{text-align:left;white-space:nowrap}.marker-copy b{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:12px}.marker-copy small{display:block;margin-top:2px;color:var(--muted);font-size:6px;font-weight:800;letter-spacing:.1em}
.marker[data-map="overview"]{display:none}.map-shell[data-current-view="overview"] .marker[data-map="detail"]{display:none}.map-shell[data-current-view="overview"] .marker[data-map="overview"]{display:flex}.marker-shop{--x:45%;--y:35%}.marker-cafe{--x:61%;--y:38%}.marker-parking-west{--x:31%;--y:58%}.marker-parking-east{--x:51%;--y:62%}.marker-toilet{--x:32%;--y:48%}.marker-kanta{--x:8%;--y:69%}.marker-newtaka-field{--x:43%;--y:79%}.marker-newtaka{--x:83%;--y:18%}.marker-hosui{--x:60%;--y:53%}.marker-farm-shop{--x:39%;--y:78%}
.zoom-indicator{position:absolute;right:18px;bottom:15px;padding:6px 9px;border-radius:99px;background:rgba(39,56,44,.72);color:#fff;font-size:9px;font-weight:800;pointer-events:none}.map-controls{min-height:61px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border-top:1px solid var(--line)}.control-group{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.control-group button{height:36px;padding:0 12px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.control-group button:last-child{border-right:0}.control-group button:hover{background:#f3f4df}.primary-controls button{width:39px;padding:0;font-size:17px}.edit-toggle.is-active{background:var(--orange);color:#fff}.reset-layout{color:#7c6e65!important}.size-controls{display:none}.map-card.is-editing .size-controls{display:flex}.size-controls button{font-size:10px;padding:0 9px}.edit-status{justify-self:center;display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:#91a08e}.map-card.is-editing .status-dot{background:var(--orange);box-shadow:0 0 0 4px rgba(230,103,50,.13)}.edit-hint{margin:0;padding:8px 18px 10px;text-align:center;border-top:1px solid var(--line);background:#fff8e8;color:#785d43;font-size:10px}.map-shell.is-editing .marker{outline:2px dashed var(--orange);outline-offset:3px;cursor:move}.map-shell.is-editing .marker:hover{translate:-15px -50%}
.place-panel{position:fixed;right:clamp(18px,4vw,60px);top:140px;width:min(350px,calc(100vw - 36px));padding:36px;border-radius:22px;background:var(--card);box-shadow:0 28px 90px rgba(25,49,31,.32);z-index:20;transform:translateX(calc(100% + 80px));opacity:0;transition:.35s cubic-bezier(.2,.8,.2,1)}.place-panel.is-open{transform:none;opacity:1}.panel-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.panel-kicker{margin:0;color:var(--orange);font-size:8px;font-weight:900;letter-spacing:.18em}.place-panel h2{margin:6px 0 14px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:26px}.panel-text{margin:0;color:#5c685d;font-size:13px;line-height:1.9}.jump-detail{width:100%;margin-top:20px;padding:14px 0 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);font-size:11px;font-weight:900;cursor:pointer}
footer{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:9px}footer p{margin:0}footer a{color:inherit;font-weight:800;text-decoration:none}
@media(max-width:760px){.page-shell{padding:0 10px 10px}.site-header{height:87px;grid-template-columns:1fr auto;gap:8px;padding:0 7px}.brand-fruit{width:36px;height:34px}.brand strong{font-size:15px}.brand small{font-size:5px}.page-title h1{font-size:22px}.page-title p{font-size:7px}.guide-copy{display:none}.map-card{border-radius:20px}.map-topbar{height:76px;padding:8px 10px;align-items:stretch;flex-direction:column}.map-topbar p{text-align:center}.view-tabs{justify-content:center}.view-tabs button{flex:1}.map-viewport{height:calc(100vh - 287px);min-height:430px}.map-shell{width:780px}.marker{padding:4px;translate:-14px -50%}.marker:hover,.marker.is-active{translate:-14px calc(-50% - 3px)}.marker-icon{min-width:28px;height:28px}.marker-copy{display:none}.marker.is-active .marker-copy{display:block}.map-controls{grid-template-columns:auto 1fr;gap:7px;padding:8px}.edit-status{justify-self:end}.edit-controls{grid-column:1/-1;width:100%}.edit-controls>.edit-toggle,.edit-controls>.reset-layout{flex:1}.size-controls{flex:2}.size-controls button{flex:1}.place-panel{top:auto;right:10px;bottom:10px;padding:28px;border-radius:20px}.place-panel h2{font-size:23px}footer{padding:6px 4px;align-items:flex-start;line-height:1.5}.marker-shop{--x:45%;--y:35%}.marker-cafe{--x:62%;--y:39%}.marker-parking-west{--x:31%;--y:60%}.marker-parking-east{--x:52%;--y:64%}.marker-toilet{--x:31%;--y:49%}.marker-kanta{--x:10%;--y:70%}.marker-newtaka-field{--x:47%;--y:80%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
