@charset "UTF-8";
:root{--ink:#28332e;--paper:#f1ead9;--red:#ab482e;--line:#a8ab97;--sans:"Arial","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;--serif:"Georgia","Yu Mincho","Hiragino Mincho ProN",serif}
*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:6px}button:disabled{cursor:default;opacity:.38}button,summary,h1,h2,h3,p{word-break:normal;overflow-wrap:anywhere;line-break:strict}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button svg{pointer-events:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}
.entry{position:fixed;inset:0;z-index:100;background:#11120f;color:#f1eddb;display:flex;align-items:center;justify-content:center;transition:opacity .8s,visibility .8s}.entry.departed{opacity:0;visibility:hidden;pointer-events:none}.entry-art{position:absolute;inset:0;background:#11120f url('../art/entry-engraving.webp') center/cover no-repeat}.entry-art:after{content:"";position:absolute;inset:0;background:linear-gradient(#11120f44,transparent 20%,transparent 80%,#11120f88)}.entry-top,.entry-bottom{position:absolute;left:4.6%;right:4.6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;font-weight:600}.entry-top{top:35px}.entry-bottom{bottom:29px;font-size:10px}.entry-seal{position:relative;width:clamp(330px,38vw,560px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #f1eddb99;border-radius:50%;background:#11120f;outline:1px dashed #f1eddb8a;outline-offset:10px;box-shadow:0 0 0 18px #11120f}.entry-kicker{font-size:9px;letter-spacing:.13em;margin-bottom:15px}.entry-scooter{width:70px;height:43px;stroke-width:1.1}.entry-brand{font-family:var(--serif);font-weight:900;font-size:clamp(36px,4.2vw,65px);letter-spacing:-.08em;line-height:.96;margin-top:8px}.entry-brand span{font-family:var(--sans);display:block;text-align:center;font-size:10px;letter-spacing:.67em;padding-left:.67em;margin-top:14px;font-weight:400}.entry-seal p{font-size:13px;line-height:1.9;letter-spacing:.15em;text-align:center;margin:22px 0}.enter-button{display:flex;align-items:center;gap:38px;background:#f1eddb;color:#252c24;padding:16px 27px;border-radius:2px;font-size:13px;min-height:48px;transition:background .2s}.enter-button:hover{background:#d3c6a7}.enter-button svg{width:22px;height:20px}.entry-skip{font-size:10px;opacity:.8;min-height:44px;margin-top:4px}.entry-skip:hover{text-decoration:underline}.site-header{position:fixed;top:0;left:0;right:0;padding:35px 4.6%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;z-index:20;gap:22px;pointer-events:none}.site-header>*{pointer-events:auto}.nav-left,.nav-right{display:flex;align-items:center;gap:26px}.nav-right{justify-content:flex-end}.text-nav{font-size:11px;white-space:nowrap;min-height:44px;padding:0;font-weight:600}.text-nav:hover{color:var(--red)}.ride-button{display:flex;align-items:center;gap:9px;background:var(--ink);color:var(--paper);border-radius:30px;min-height:42px;padding:8px 19px;font-size:11px;white-space:nowrap}.ride-button svg{width:31px;height:21px}.wordmark{font-family:var(--serif);font-weight:900;font-size:29px;letter-spacing:-.07em;line-height:1;white-space:nowrap;text-align:center;padding:6px}.wordmark span{display:block;font-family:var(--sans);font-size:7px;letter-spacing:.16em;font-weight:600;margin-top:8px}.sound-button{display:flex;gap:8px;align-items:center;font-size:9px;letter-spacing:.03em;min-height:44px;white-space:nowrap}.sound-bars{display:flex;gap:2px;align-items:center;height:16px}.sound-bars i{display:block;width:2px;height:4px;background:currentColor}.sound-bars i:nth-child(2){height:12px}.sound-bars i:nth-child(3){height:8px}.sound-button[aria-pressed="true"] i{animation:bars 1s ease-in-out infinite alternate}.sound-button[aria-pressed="true"] i:nth-child(2){animation-delay:-.3s}.sound-button[aria-pressed="true"] i:nth-child(3){animation-delay:-.6s}.bag-button{min-height:44px;display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.bag-button svg{width:20px;height:20px}#bag-count{background:var(--ink);color:var(--paper);width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:10px}.world{height:100svh;min-height:500px;position:relative;overflow:hidden;outline:0!important;touch-action:none}#scene{position:absolute;inset:0;background:linear-gradient(#83a8a0,#dcd4af 55%,#c4b49a 56%)}#scene canvas{width:100%;height:100%;display:block}.paper-grain{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}.world-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#eeead160,transparent 19%,transparent 68%,#e8dfc674),linear-gradient(90deg,#e3dcc036,transparent 38%)}.scene-copy{position:absolute;left:6%;top:25%;width:min(365px,31%);pointer-events:none;transition:opacity .2s,transform .3s}.scene-copy.changing{opacity:0;transform:translateY(8px)}.scene-eyebrow{font-size:9px;letter-spacing:.15em;font-weight:700;margin:0 0 23px}.scene-copy h1{font-family:var(--serif);font-size:clamp(30px,3.7vw,58px);font-weight:600;line-height:1.4;letter-spacing:-.05em;margin:0 0 22px}.scene-copy h1 span{display:block;white-space:nowrap}.scene-copy>p:not(.scene-eyebrow){font-size:12px;line-height:2.15;letter-spacing:.05em;margin-bottom:26px}.scene-cta{pointer-events:auto;display:flex;align-items:center;gap:24px;padding:0 0 7px;border-bottom:1px solid var(--ink);min-height:44px;font-size:12px;font-weight:600;transition:gap .2s}.scene-cta:hover{gap:33px}.scene-cta svg{width:20px;height:20px}.place-label{position:absolute;right:4.8%;top:24%;text-align:right;display:grid;gap:11px;font-size:12px}.place-number{font-size:10px;letter-spacing:.14em;opacity:.6}#place-name{letter-spacing:.13em;font-size:10px}.hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;top:0;left:0;display:flex;align-items:center;gap:10px;border:1px solid var(--ink);border-radius:30px;background:var(--paper);padding:7px 9px 7px 18px;min-height:44px;white-space:nowrap;font-size:11px;pointer-events:auto;transform:translate(-50%,-50%);box-shadow:2px 3px 0 #28332e33;transition:background .2s,opacity .25s}.hotspot:after{content:"＋";border-radius:50%;display:grid;place-items:center;width:26px;height:26px;border:1px solid #28332e77;font-size:17px;font-weight:300}.hotspot:hover{background:#fff7e4}.hotspot[hidden]{pointer-events:none}.step-next{position:absolute;right:4.6%;top:50%;width:54px;height:54px;border:1px solid #28332e88;border-radius:50%;display:grid;place-items:center;background:#f1ead933;transition:background .2s}.step-next:hover{background:var(--paper)}.route-bar{position:absolute;bottom:87px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px}.route-stops{display:flex;align-items:flex-start}.route-stops button{min-width:45px;min-height:52px;padding:0;display:flex;flex-direction:column;align-items:center;gap:13px;font-size:10px;white-space:nowrap}.route-dot{width:7px;height:7px;border:1px solid var(--ink);border-radius:50%;position:relative;margin-top:6px}.route-stops button.active .route-dot{background:var(--red);border-color:var(--red)}.route-stops button.active .route-dot:after{content:"";position:absolute;inset:-5px;border:1px solid var(--red);border-radius:50%}.route-stops button.active{color:var(--red);font-weight:700}.route-line{width:43px;border-top:1px solid #28332e55;margin:9px 4px 0}.route-arrow{width:44px;height:44px;border:1px solid #28332e55;border-radius:50%;margin-top:-12px;font-size:16px}.world-footer{position:absolute;bottom:26px;left:4.6%;right:4.6%;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.08em}.world-footer button{font-size:11px;min-height:44px}.world-footer button span{margin-left:14px}.concept-note{opacity:.65}.plain-content{padding:155px 8% 50px;max-width:1500px;margin:auto}.plain-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:center}.plain-heading>p:first-child{grid-column:1/-1;font-size:10px;letter-spacing:.1em}.plain-heading h2{font-family:var(--serif);font-size:48px;font-weight:500;line-height:1.45}.plain-heading>p{font-size:14px;line-height:2.1}.plain-heading .dark-button{grid-column:2;width:fit-content}.plain-menu{display:grid;grid-template-columns:repeat(3,1fr);margin:65px 0;gap:6%}.plain-menu article{border-top:1px solid var(--ink);padding-top:25px}.plain-menu article>span{font-size:10px;letter-spacing:.1em}.plain-menu h3{font-size:20px;font-weight:500}.plain-menu p{font-size:13px;line-height:2.5}.plain-menu button{font-size:12px;padding:10px 0;border-bottom:1px solid var(--ink);min-height:44px}.plain-content footer{font-size:11px;line-height:2;opacity:.7;padding-top:25px;border-top:1px solid #aaa}.js .plain-content{display:none}.js.list-mode .plain-content,.fallback .plain-content{display:block}.list-mode .world,.fallback .world{display:none}.list-mode .site-header,.fallback .site-header{background:var(--paper);border-bottom:1px solid #28332e22}.fallback .entry{display:none}.fallback #back-world{display:none}.fallback .ride-button{display:none}html:not(.js) .entry,html:not(.js) .world,html:not(.js) .site-header,html:not(.js) .plain-menu button,html:not(.js) #back-world{display:none}.dark-button{display:flex;justify-content:center;align-items:center;gap:22px;background:var(--ink);color:var(--paper);min-height:50px;padding:15px 24px;border-radius:2px;font-size:13px}.dark-button:hover{background:#415146}.outline-button{min-height:48px;border:1px solid var(--ink);padding:12px 20px;font-size:13px;border-radius:2px}.panel{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(650px,100%);max-width:100%;background:var(--paper);color:var(--ink);border:0;border-left:1px solid var(--ink);padding:30px 42px 32px;overflow:auto;overscroll-behavior:contain}.panel[open]{animation:slide-in .4s cubic-bezier(.2,.8,.2,1)}.panel::backdrop{background:#1d292a66;backdrop-filter:blur(3px)}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-kicker{font-size:9px;letter-spacing:.14em}.close-button{width:44px;height:44px;border:1px solid #28332e66;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.close-button svg{width:19px;height:19px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0 29px}.panel h2{font-family:var(--serif);font-size:34px;font-weight:500;letter-spacing:-.04em;margin:0}.panel-scooter{width:50px;height:32px}.category-tabs{display:flex;gap:6px;border-bottom:1px solid #28332e55;margin-bottom:23px;padding-bottom:14px;flex-wrap:wrap}.category-tabs button{font-size:11px;min-height:40px;padding:8px 16px;border:1px solid transparent;border-radius:30px}.category-tabs button.active{background:var(--ink);color:var(--paper)}.menu-group{margin-bottom:34px}.menu-art{display:block;width:100%;height:200px;object-fit:cover;mix-blend-mode:multiply;margin:0 0 16px}.menu-group-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ink);padding-top:14px}.menu-group-heading h3{font-size:16px;font-weight:500;margin:0}.menu-group-heading>span{font-size:9px;letter-spacing:.06em}.menu-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid #28332e26}.menu-item h4{margin:0 0 7px;font-size:14px;font-weight:600}.menu-item p{font-size:11px;line-height:1.8;margin:0 0 8px;opacity:.75}.item-price{font-size:13px;font-variant-numeric:tabular-nums}.add-button{width:42px;min-height:42px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;font-size:21px;font-weight:300}.add-button:hover{background:var(--ink);color:var(--paper)}.menu-bottom{position:sticky;bottom:-32px;background:var(--paper);padding:15px 0 25px;border-top:1px solid var(--ink);margin-top:25px}.menu-bottom .dark-button{width:100%;justify-content:space-between}.demo-note{font-size:10px;line-height:1.9;opacity:.65;margin-top:18px}.about-intro{font-family:var(--serif);font-size:26px;line-height:1.6;margin:30px 0}.about-copy{font-size:14px;line-height:2.2}.about-art{width:100%;max-height:260px;object-fit:cover;margin-top:20px}.how-row{display:flex;align-items:baseline;gap:23px;padding:22px 0;border-bottom:1px solid #28332e33}.how-row>span{font-family:var(--serif);font-style:italic;font-size:32px;color:var(--red)}.how-row h3{font-size:14px;margin:0 0 8px}.how-row p{font-size:12px;line-height:1.8;margin:0;opacity:.7}.cart-empty{padding:50px 0 40px;text-align:center}.cart-empty svg{width:62px;height:62px;margin-bottom:15px}.cart-empty h3{font-family:var(--serif);font-size:23px;font-weight:400}.cart-empty p{font-size:12px;line-height:1.9;margin:0 0 28px}.cart-empty .dark-button{margin:auto;width:fit-content}.cart-line{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #28332e33;padding:22px 0}.cart-line h3{font-size:14px;margin:0 0 10px}.cart-line p{font-size:12px;margin:0}.quantity{display:flex;align-items:center;gap:8px}.quantity button{width:40px;height:40px;border:1px solid #28332e66;border-radius:50%;font-size:18px}.quantity span{width:24px;text-align:center;font-size:13px}.cart-summary{margin:35px 0}.cart-summary>div{display:flex;justify-content:space-between;font-size:13px;line-height:2.5}.cart-summary .total{font-size:20px;padding:15px 0;border-top:1px solid var(--ink);margin-top:15px}.cart-actions{display:grid;gap:12px}.confirmation{padding:34px 0}.confirmation-icon{font-family:var(--serif);font-size:48px;color:var(--red)}.confirmation h3{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.7}.confirmation p{font-size:13px;line-height:2}.confirmation .dark-button{margin-top:30px;width:100%}.toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:15px 26px;z-index:150;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap;border-radius:3px}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes slide-in{from{transform:translateX(50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes bars{to{height:3px}}
@media(min-width:1600px){.scene-copy{top:28%}.site-header{padding-top:44px}.route-bar{bottom:100px}}
@media(max-width:1100px){.site-header{gap:10px;padding:25px 4%}.nav-left,.nav-right{gap:15px}.nav-left .text-nav:last-child,.bag-label{display:none}.scene-copy{left:5%;top:24%}.scene-copy h1{font-size:39px}.scene-eyebrow{font-size:8px;letter-spacing:.04em}.scene-copy>p:not(.scene-eyebrow){font-size:11px}.wordmark{font-size:26px}.place-label{top:22%}}
@media(max-width:700px){.entry-art{background-size:auto 100%;background-position:center}.entry-seal{width:min(80vw,390px);min-width:270px;box-shadow:0 0 0 12px #11120f;outline-offset:7px}.entry-brand{font-size:40px}.entry-seal p{font-size:12px;margin:17px 0}.entry-scooter{width:53px;height:31px}.entry-kicker{font-size:7px;margin-bottom:10px;letter-spacing:.08em}.entry-brand span{font-size:8px;margin-top:11px}.enter-button{padding:12px 20px;min-height:46px;font-size:12px;gap:20px}.entry-skip{font-size:9px;min-height:35px}.entry-top{top:24px;left:6%;right:6%;font-size:8px}.entry-top span:last-child{display:none}.entry-bottom{bottom:22px;left:6%;right:6%;font-size:8px;letter-spacing:0}.entry-bottom span:first-child{max-width:180px}.site-header{padding:18px 5%;grid-template-columns:1fr auto 1fr;gap:6px}.nav-left{gap:0}.ride-button{padding:7px 12px;min-height:40px}.ride-button span,.nav-left .text-nav{display:none}.ride-button svg{width:27px}.wordmark{font-size:25px}.wordmark span{font-size:5.5px;margin-top:6px}.nav-right{gap:9px}.sound-button{padding:0;min-width:24px}.sound-button #sound-label{display:none}.bag-button{padding:0;gap:3px}.bag-button svg{width:19px}.bag-button #bag-count{width:16px;height:16px;font-size:8px}.world{min-height:500px}.scene-copy{top:17%;left:7%;width:86%;pointer-events:none}.scene-eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:12px}.scene-copy h1{font-size:34px;line-height:1.45;margin-bottom:12px}.scene-copy>p:not(.scene-eyebrow){font-size:11px;line-height:1.85;margin:0 0 10px}.scene-cta{font-size:11px;gap:25px;min-height:42px}.place-label{top:auto;bottom:174px;right:7%;font-size:9px;gap:7px}.place-number{font-size:8px}.place-label #place-name{font-size:8px}.step-next{right:6%;top:56%;width:44px;height:44px;background:#f1ead97a}.route-bar{bottom:78px;width:90%;gap:8px;justify-content:center}.route-stops{flex:1;justify-content:center}.route-stops button{min-width:38px;font-size:9px;gap:11px}.route-line{width:clamp(8px,4.4vw,26px);margin-left:0;margin-right:0}.route-arrow{width:32px;height:44px;border:0;margin-top:-12px;flex-shrink:0}.world-footer{bottom:17px;left:6%;right:6%;font-size:7px}.world-footer button{font-size:10px}.concept-note{display:none}.hotspot{font-size:10px;min-height:42px;padding-left:13px;gap:6px}.hotspot:after{width:25px;height:25px}.panel{padding:21px 24px 26px}.panel-title-row{margin:16px 0 25px}.panel h2{font-size:28px}.panel-kicker{font-size:8px;letter-spacing:.06em}.panel-scooter{width:43px}.category-tabs{gap:0}.category-tabs button{padding:8px 13px;font-size:11px}.menu-art{height:190px}.menu-item{gap:8px;padding:16px 0}.menu-item h4{font-size:13px}.menu-item p{font-size:10px}.menu-group-heading h3{font-size:15px}.menu-bottom{bottom:-26px}.plain-content{padding:120px 7% 30px}.plain-heading{display:block}.plain-heading h2{font-size:34px}.plain-heading>p{font-size:12px}.plain-heading .dark-button{margin-top:25px}.plain-menu{display:block;margin:45px 0}.plain-menu article{margin:0 0 35px}.plain-menu h3{font-size:21px}.plain-content footer{font-size:10px}.toast{bottom:25px;font-size:11px;max-width:90%;white-space:normal;text-align:center}.cart-line h3{font-size:12px}.quantity{gap:3px}.quantity button{width:36px;height:40px}.quantity span{width:19px}}
@media(max-height:680px) and (max-width:700px){.scene-copy{top:16%}.scene-eyebrow{margin-bottom:7px;font-size:7px}.scene-copy h1{font-size:29px;line-height:1.35;margin-bottom:8px}.scene-copy>p:not(.scene-eyebrow){font-size:10px;line-height:1.7;margin-bottom:4px}.scene-cta{min-height:37px;font-size:10px}.route-bar{bottom:63px}.place-label{bottom:144px}.world-footer{bottom:7px}.entry-seal{width:300px}.entry-top{top:18px}.entry-bottom{bottom:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* 文字のための静かな余白。建築の密度が上がる区間でも可読性を保つ。 */
.world-vignette{background:linear-gradient(90deg,#e8e0c8f5 0%,#e8e0c8dc 19%,#e8e0c870 31%,#e8e0c810 43%,transparent 54%),linear-gradient(180deg,#eee7cfaa 0%,transparent 17%,transparent 70%,#e8dfc674 100%)}
.text-nav,.bag-button{font-size:12px}.world-footer{font-size:9px}.world-footer button{font-size:12px}.route-stops button{font-size:11px}.place-label{color:#28332e;background:#eee6cfbc;padding:9px 12px;border-radius:2px}
@media(max-width:700px){.world-vignette{background:linear-gradient(180deg,#e8e0c8f5 0%,#e8e0c8de 27%,#e8e0c840 43%,transparent 55%,#e8dfc674 100%)}.world-footer{font-size:8px}.world-footer button{font-size:11px}.route-stops button{font-size:10px}.place-label{padding:7px 9px;background:#eee6cfb0}}.game-mode .site-header,.game-mode .scene-copy,.game-mode .place-label,.game-mode .route-bar,.game-mode .world-footer,.game-mode .hotspots,.game-mode .step-next{visibility:hidden;pointer-events:none}
.game-mode .world-vignette{background:linear-gradient(180deg,#eee7cf50,transparent 23%,transparent 75%,#e8dfc650)}
@media(max-width:700px){.world-vignette{background:linear-gradient(180deg,#e8e0c8f5 0%,#e8e0c8eb 34%,#e8e0c885 43%,transparent 55%,#e8dfc674 100%)}.route-stops button{min-width:44px}.route-arrow{display:none}.entry-art{background-size:auto 80%}.sound-button{min-width:35px}.bag-button{min-width:34px}}@media(max-width:700px){.ride-button{min-height:44px}.sound-button,.bag-button{min-width:44px}.scene-cta{min-height:44px}.entry-skip{min-height:44px}.add-button{width:44px;min-height:44px}.category-tabs button{min-height:44px}.hotspot{min-height:44px}}
@media(max-width:360px){.wordmark{font-size:21px}.ride-button{padding:7px 8px;min-width:44px}.nav-right{gap:7px}.panel{padding-left:20px;padding-right:20px}.panel h2{font-size:25px}}@media(max-width:700px){.plain-heading h2{font-size:clamp(26px,7.4vw,34px)}.cart-empty h3{font-size:21px}.scene-copy>p:not(.scene-eyebrow){letter-spacing:0}}