body{color:#333;background-color:#fff;margin:0;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,sans-serif;line-height:1.6}button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:.25rem;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .2s}button:hover{background-color:#0056b3}.file-content{background-color:#fff;border:1px solid #ddd;border-radius:.5rem;margin-top:1rem;padding:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1)}.file-content h3{color:#333;margin-top:0}.file-content pre{white-space:pre-wrap;word-wrap:break-word;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.25rem;padding:1rem;font-family:Monaco,Menlo,monospace;font-size:.9rem;line-height:1.4}.regions-list{margin:2rem 0;padding:0;list-style-type:none}.region-item{background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:.5rem 0;padding:.5rem;transition:background-color .2s}.region-item:hover{background-color:#f0f0f0}.region-item a{color:#333;text-decoration:none;display:block}.breadcrumb{color:#666;padding:1rem 0;font-size:.9rem}.breadcrumb a{color:#06c;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.restaurant-detail{margin-top:2rem}.restaurant-detail .info-section{margin-bottom:2rem}.restaurant-detail .basic-info{gap:1rem;margin-bottom:2rem;display:grid}.restaurant-detail .basic-info .info-item{align-items:center;gap:.5rem;display:flex}.restaurant-detail .basic-info .info-item .label{color:#555;min-width:120px;font-weight:600}.restaurant-detail .basic-info .info-item .value{color:#333}.restaurant-detail .basic-info .info-item .value a{color:#06c;text-decoration:none}.restaurant-detail .basic-info .info-item .value a:hover{text-decoration:underline}.restaurant-detail .description{margin:2rem 0}.restaurant-detail .description h3{color:#333;border-bottom:2px solid #06c;margin-bottom:1rem;padding-bottom:.5rem}.restaurant-detail .description p{color:#666;line-height:1.8}.restaurant-detail .photos-section{margin:2rem 0}.restaurant-detail .photos-section h3{color:#333;border-bottom:2px solid #06c;margin-bottom:1rem;padding-bottom:.5rem}.restaurant-detail .photos-section p{color:#666;line-height:1.8}.restaurant-detail .address-section{margin:2rem 0}.restaurant-detail .address-section h3{color:#333;border-bottom:2px solid #06c;margin-bottom:1rem;padding-bottom:.5rem}.restaurant-detail .address-section address{color:#666;margin-bottom:1rem;font-style:normal;line-height:1.6}.restaurant-detail .address-section .map-placeholder{color:#999;background-color:#f5f5f5;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;height:200px;font-size:1.1rem;display:flex}.restaurant-detail .hours-section{margin:2rem 0}.restaurant-detail .hours-section h3{color:#333;border-bottom:2px solid #06c;margin-bottom:1rem;padding-bottom:.5rem}.restaurant-detail .hours-section .hours-list{padding:0;list-style:none}.restaurant-detail .hours-section .hours-list li{background-color:#f9f9f9;border-left:4px solid #06c;border-radius:6px;justify-content:space-between;margin:.25rem 0;padding:.75rem 1rem;display:flex}.restaurant-detail .hours-section .hours-list li .day{color:#333;font-weight:600}.restaurant-detail .hours-section .hours-list li .hours{color:#666}.restaurant-detail .actions{border-top:1px solid #eee;flex-wrap:wrap;gap:1rem;margin-top:3rem;padding-top:2rem;display:flex}.restaurant-detail .actions .btn{text-align:center;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s}.restaurant-detail .actions .btn.btn-primary{color:#fff;background-color:#28a745}.restaurant-detail .actions .btn.btn-primary:hover{background-color:#218838}.restaurant-detail .actions .btn.btn-secondary{color:#fff;background-color:#06c}.restaurant-detail .actions .btn.btn-secondary:hover{background-color:#0056b3}.restaurant-detail .actions .btn.btn-back{color:#fff;background-color:#6c757d}.restaurant-detail .actions .btn.btn-back:hover{background-color:#5a6268}.japanese-name{color:#666;margin-top:.5rem;margin-bottom:1rem;font-size:1.2rem;font-weight:400}.error-404{text-align:center;padding:4rem 2rem}.error-404 h1{color:#dc3545;margin-bottom:1rem;font-size:4rem}.error-404 p{color:#666;margin-bottom:2rem;font-size:1.2rem}.error-404 .btn{color:#fff;background-color:#06c;border-radius:6px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-block}.error-404 .btn:hover{background-color:#0056b3}h1{color:#111;margin-bottom:1rem;font-size:2.5rem}h2{color:#222;margin:2rem 0 1rem;font-size:1.75rem}h3{margin-bottom:.5rem;font-size:1.25rem}.search-container{margin:1rem 0 2rem}.search-bar{border:2px solid #ddd;border-radius:8px;width:100%;max-width:600px;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.search-bar:focus{border-color:#06c;outline:none}.welcome-section{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:2rem}.welcome-section .welcome-message{margin-bottom:.5rem;font-size:1.25rem;font-weight:500}.statistics-section{margin-bottom:3rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.stat-item{text-align:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.stat-item .stat-value{color:#06c;font-size:2rem;font-weight:700}.stat-item .stat-label{color:#666;margin-top:.25rem;font-size:.9rem}.stat-item .stat-description{color:#888;margin-top:.25rem;font-size:.85rem}.category-navigation{margin-bottom:3rem}.category-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.category-card{color:inherit;text-align:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-decoration:none;transition:all .2s;display:block}.category-card:hover{border-color:#06c;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.category-card .icon{margin-bottom:.5rem;font-size:2.5rem}.category-card .title{margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.category-card .count{color:#666;font-size:.9rem}.category-card .description{color:#777;margin-top:.5rem;font-size:.85rem}.featured-businesses{margin-bottom:3rem}.business-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.business-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.business-card .name{margin-bottom:.5rem}.business-card .category{color:#06c;background:#e8f0fe;border-radius:4px;margin-bottom:.75rem;padding:.25rem .75rem;font-size:.85rem;display:inline-block}.business-card .description{color:#555;margin-bottom:.75rem}.business-card .contact{color:#06c;font-size:.9rem}.upcoming-events{margin-bottom:3rem}.events-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.event-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.event-card .title{margin-bottom:.5rem}.event-card .date{color:#d32f2f;margin-bottom:.5rem;font-weight:500}.event-card .location{color:#666;margin-bottom:.5rem}.event-card .category{color:#856404;background:#ffeaa7;border-radius:4px;padding:.25rem .75rem;font-size:.85rem;display:inline-block}.about-area{background:#f8f9fa;border-radius:8px;margin-bottom:3rem;padding:2rem}.area-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:1rem;display:grid}.area-info-grid .info-item h3{color:#06c;margin-bottom:.5rem;font-size:1rem}.area-info-grid .info-item p{color:#555}footer{color:#ecf0f1;background:#2c3e50;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin:4rem -20px -20px;padding:3rem 2rem;display:grid}footer section h3{color:#fff;margin-bottom:1rem}footer section ul{padding:0;list-style:none}footer section ul li{margin-bottom:.5rem}footer section ul li a{color:#bdc3c7;text-decoration:none}footer section ul li a:hover{color:#ecf0f1;text-decoration:underline}@media (max-width:768px){h1{font-size:2rem}.category-grid,.business-grid,.events-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}footer{text-align:center;grid-template-columns:1fr}.mobile-menu{cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:.5rem 1rem;display:block}}@media (min-width:769px){.mobile-menu{display:none}}.container{max-width:1200px;margin:0 auto;padding:2rem}.filters{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.filters select,.filters input{border:1px solid #ddd;border-radius:4px;padding:.5rem;font-size:1rem}.filters .search-input{flex:1;min-width:200px}.restaurants-container{margin:2rem 0}.restaurants-list{gap:1rem;padding:0;list-style:none;display:grid}.restaurant-card{border:1px solid #ddd;border-radius:8px;padding:1.5rem;transition:box-shadow .2s;position:relative}.restaurant-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}.restaurant-card a{color:inherit;text-decoration:none;display:block}.restaurant-card .restaurant-info h3{color:#333;margin:0 0 .5rem}.restaurant-card .category{background:#f0f0f0;border-radius:20px;margin:.5rem 0;padding:.25rem .75rem;font-size:.9rem;display:inline-block}.restaurant-card .price_range{color:#666;font-weight:700}.restaurant-card .city{color:#666;font-size:.9rem}.restaurant-card .brief.description{color:#555;margin:.5rem 0}.featured-badge{color:#fff;background:#ff6b6b;border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:700;position:absolute;top:1rem;right:1rem}.results-count{color:#666;margin-bottom:1rem}.no-results{text-align:center;color:#666;background:#f8f9fa;border-radius:8px;padding:4rem 2rem}.no-results p:first-child{margin-bottom:1rem;font-size:1.2rem}.no-results .no-results-message{font-size:.9rem}.no-results p{color:#666;margin:.5rem 0}.no-results p:first-child{color:#333;font-size:1.2rem;font-weight:500}.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin:1rem 0;padding:1.5rem}@media (max-width:768px){.filters-section{flex-direction:column}.filters-section .search-form .search-input{flex:1;min-width:auto}.restaurants-list{grid-template-columns:1fr}}