:root{--primary: #d4af37;--bg-color: #0d1117;--text-main: #fcfcfc;--text-muted: #d0d0d0;--card-bg: rgba(20, 20, 25, 0.75);--border-radius: 12px;--transition: 0.4s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;color:var(--text-main);background-color:var(--bg-color);min-height:100vh;position:relative;overflow-x:hidden}.container{min-height:520px}.background-image{position:fixed;top:0;left:0;width:100vw;height:100vh;background:url(background.webp)no-repeat center center/cover;z-index:-2}.overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at 50% 50%,rgba(26,26,26,0.4) 0%,rgba(15,15,15,0.8) 100%);z-index:-1}.transparent-nav{padding:0.5rem 1rem;display:flex;justify-content:center;align-items:center;width:100%;position:relative;min-height:70px}.logo-container{position:absolute;left:50%;transform:translateX(-50%);top:0.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:10}.site-logo{text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.logo{font-family:"Noto Serif JP",serif;font-size:1.8rem;font-weight:700;color:var(--primary);letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,0.5)}.logo-tagline{font-family:"Caveat","Dancing Script","Brush Script MT",cursive!important;color:var(--primary)!important;font-size:1.35rem!important;margin-top:-0.5rem!important;transform:rotate(-2deg)!important;font-weight:700!important;text-shadow:0 2px 4px rgba(0,0,0,0.5)!important;display:block}.logo-gudaku{position:relative;display:inline-block}.logo-star-1,.logo-star-2{position:absolute;color:#fff;font-family:"Inter",sans-serif;line-height:1;text-shadow:0 0 5px var(--primary),0 0 10px var(--primary);animation:logoSparkle 2.5s infinite ease-in-out;pointer-events:none;user-select:none;will-change:transform,opacity}.logo-star-1{top:-0.1em;right:-0.15em;font-size:0.35em;animation-delay:0s}.logo-star-2{top:0.25em;right:-0.3em;font-size:0.25em;animation-delay:0.7s}@keyframes logoSparkle{0%,100%{transform:scale(1) rotate(0deg);opacity:0.7}50%{transform:scale(1.25) rotate(90deg);opacity:1}}.container{padding:100px 20px 40px;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:2rem}.hero-title{text-align:center;font-family:"Noto Serif JP",serif;font-size:2.5rem;margin-bottom:2rem;background:linear-gradient(135deg,#fff 0%,var(--primary) 50%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 15px rgba(212,175,55,0.3);letter-spacing:0.05em}@keyframes pulseGlow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:0.94}}#btn-near-me{box-shadow:0 4px 18px rgba(212,175,55,0.55);animation:pulseGlow 2.5s infinite ease-in-out;will-change:transform,opacity}.search-section{width:100%;max-width:800px;background:var(--card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:2.5rem;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,0.1);box-shadow:0 20px 40px rgba(0,0,0,0.5)}.search-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-group{flex:1;display:flex;flex-direction:column;min-width:120px}.form-group.full-width{flex:100%}.form-group label{font-size:0.9rem;margin-bottom:0.5rem;color:var(--text-muted)}.form-group input{padding:0.8rem 1rem;background:rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.2);border-radius:4px;color:var(--text-main);font-family:inherit;font-size:1rem;transition:var(--transition)}.form-group input:focus{outline:none;border-color:var(--primary);background:rgba(0,0,0,0.6)}.btn-search{margin-top:1rem;padding:1rem;background:var(--primary);color:#1a1a1a;border:none;border-radius:4px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-search:hover{background:#f0c950;transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,175,55,0.4)}.mega-menu{position:absolute;top:100%;left:0;width:100%;background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.2);border-radius:8px;margin-top:8px;z-index:100;box-shadow:0 10px 40px rgba(0,0,0,0.7);display:flex;flex-direction:column;overflow:hidden;max-height:480px}.mega-menu.hidden{display:none}.mega-menu-tabs{display:flex;background:rgba(0,0,0,0.3);border-bottom:1px solid rgba(255,255,255,0.1);overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch}.mega-menu-tab{padding:1rem 1.5rem;color:var(--text-muted);cursor:pointer;font-weight:bold;font-size:0.95rem;white-space:nowrap;border-bottom:2px solid transparent;transition:var(--transition)}.mega-menu-tab:hover{color:#fff;background:rgba(255,255,255,0.05)}.mega-menu-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:rgba(212,175,55,0.05)}.mega-menu-content{padding:1.5rem;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.pref-group{display:flex;flex-direction:column;gap:0.5rem}.pref-title{font-size:1.05rem;color:var(--primary);font-weight:bold;background:rgba(255,255,255,0.05);border-left:4px solid var(--primary);padding:0.5rem 0.8rem;margin-top:1rem;margin-bottom:0.5rem;border-radius:0 4px 4px 0}.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem 0.4rem}.area-item{font-size:0.85rem;color:var(--text-muted);cursor:pointer;transition:var(--transition);padding:0.2rem 0}.area-item:hover{color:var(--primary);padding-left:5px}.seo-accordion-content{display:flex;flex-direction:column;gap:0.5rem}.seo-accordion-content .area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem 0.4rem}.seo-accordion-content .area-item{padding:0.6rem 0.5rem 0.6rem 1.5rem;border-bottom:1px solid rgba(255,255,255,0.05);position:relative}.seo-accordion-content .area-item::before{content:"└";position:absolute;left:0.3rem;color:rgba(255,255,255,0.3)}.rooms-config-section{display:flex;flex-direction:column;gap:1rem;margin-top:0.5rem}.section-label{font-size:0.95rem;color:var(--text-muted);font-weight:bold}.rooms-container{display:flex;flex-direction:column;gap:0.8rem}.room-row{display:flex;align-items:center;gap:1rem;background:rgba(255,255,255,0.05);padding:1rem;border-radius:6px;border:1px solid rgba(255,255,255,0.1)}.room-label{font-weight:bold;min-width:60px;color:var(--text-main)}.btn-secondary{padding:0.8rem;background:rgba(255,255,255,0.1);color:#fff;border:1px dashed rgba(255,255,255,0.3);border-radius:4px;cursor:pointer;transition:var(--transition);font-size:0.9rem;align-self:flex-start}.btn-secondary:hover{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.5)}.btn-remove-room{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:1.5rem;padding:0 0.5rem;transition:0.2s}.btn-remove-room:hover{transform:scale(1.1)}.results-section{width:100%;max-width:1200px;margin-top:1.5rem}.results-section h2{font-family:"Noto Serif JP",serif;font-size:1.8rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,0.2);padding-bottom:0.5rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.hotel-card{cursor:pointer;background:var(--card-bg);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);border-radius:var(--border-radius);padding:0.8rem;transition:var(--transition);display:flex;flex-direction:row;gap:0.8rem;min-height:120px;overflow-wrap:anywhere;word-break:break-word}.hotel-card:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,0.5);border-color:rgba(212,175,55,0.4)}.hotel-card-img-wrapper{flex:0 0 120px;width:120px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.5)}.hotel-card-img-wrapper img{width:100%;height:100%;object-fit:cover}.hotel-card-info{flex:1;min-width:0;width:100%;display:flex;flex-direction:column}.hotel-card-title{font-size:1.08rem;font-weight:700;margin-bottom:0.25rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-card-title a{color:#fff;text-decoration:none;transition:color 0.2s}.hotel-card-title a:hover{color:var(--primary)}.hotel-card-location{font-size:0.75rem;margin-bottom:0.3rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.hotel-card-location a{color:var(--text-muted);text-decoration:none;transition:color 0.2s}.hotel-card-location a:hover{color:#fff}.hotel-card-badges{margin-bottom:0.3rem;display:flex;flex-wrap:wrap;gap:0.3rem}.hotel-card-total{font-size:0.75rem;color:var(--text-muted);margin-bottom:0}.position-relative{position:relative}.suggestions-list{position:absolute;top:100%;left:0;width:100%;background:var(--card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.2);border-radius:4px;list-style:none;margin-top:4px;padding:0;max-height:200px;overflow-y:auto;z-index:999;box-shadow:0 4px 15px rgba(0,0,0,0.5)}.suggestions-list li{padding:0.8rem 1rem;color:var(--text-main);cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.1);transition:var(--transition)}.suggestions-list li:last-child{border-bottom:none}.suggestions-list li:hover{background:rgba(255,255,255,0.1);color:var(--primary)}.hidden{display:none}.custom-checkbox{display:flex;align-items:center;gap:0.4rem;cursor:pointer;color:#fff;font-size:0.9rem}.custom-checkbox input{accent-color:var(--primary);width:16px;height:16px;cursor:pointer}.ranking-tabs{display:flex;gap:15px;overflow-x:auto;margin-bottom:15px;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:5px;-ms-overflow-style:none;scrollbar-width:none}.ranking-tabs::-webkit-scrollbar{display:none}.ranking-tab{color:var(--text-muted);font-weight:500;cursor:pointer;white-space:nowrap;padding:5px 10px;transition:var(--transition);border-bottom:2px solid transparent}.ranking-tab.active{color:var(--primary);border-bottom:2px solid var(--primary);font-weight:bold}.stories-container{display:flex;gap:15px;overflow-x:auto;padding-bottom:20px;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}.stories-container::-webkit-scrollbar{display:none}@media (min-width:769px){.stories-container{-ms-overflow-style:auto;scrollbar-width:thin}.stories-container::-webkit-scrollbar{display:block;height:6px}.stories-container::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:3px}}.story-card{min-width:180px;width:180px;scroll-snap-align:start;background:var(--card-bg);border-radius:12px;overflow:hidden;position:relative;cursor:pointer;text-decoration:none;display:block;transition:transform 0.2s,box-shadow 0.2s}.story-card:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.story-card img{width:100%;height:140px;object-fit:cover;display:block}.story-rank{position:absolute;top:8px;left:8px;background:rgba(0,0,0,0.8);color:#fff;font-size:0.8rem;font-weight:bold;padding:4px 8px;border-radius:4px;backdrop-filter:blur(4px)}.story-rank-1{background:var(--primary);color:#000}.story-info{padding:10px}.story-title{font-size:0.85rem;font-weight:600;margin:0 0 5px 0;color:var(--text-main);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.story-price{font-size:1rem;color:var(--primary);font-weight:bold}.story-rating{font-size:0.75rem;color:var(--text-muted);margin-top:2px}.mobile-only{display:none}@media (max-width:768px){.mobile-only{display:initial}.transparent-nav{padding:0.5rem 1rem 0.3rem 1rem;justify-content:center;text-align:center}.container{padding:80px 10px 20px}.hero-title{font-size:1.85rem;margin-bottom:1.35rem;line-height:1.35}@media (max-width:480px){.hero-title{font-size:1.5rem;margin-bottom:1.15rem;line-height:1.35}}.search-section{padding:1.5rem}.form-row{flex-direction:column;gap:1rem}.form-group{width:100%}.room-row{flex-wrap:wrap;padding:0.5rem;gap:0.5rem}.results-grid{grid-template-columns:repeat(2,1fr);gap:0.8rem}@media (max-width:480px){.results-grid{grid-template-columns:1fr}}.hotel-card{padding:0.6rem;gap:0.6rem}.hotel-card-img-wrapper{flex:0 0 100px;width:100px;height:auto;min-height:100px}.hotel-card-title{font-size:1.02rem;font-weight:700;line-height:1.35}.hotel-card-location{font-size:0.7rem;margin-bottom:0.2rem}.hotel-card-badges{margin-bottom:0.2rem}.mega-menu-content{grid-template-columns:1fr;padding:1rem}.ranking-tabs{flex-wrap:wrap;gap:8px;justify-content:center}.ranking-tab{padding:4px 8px;font-size:0.85rem}.stories-container{flex-direction:column;overflow-x:hidden;gap:12px;padding-bottom:10px}.story-card{width:100%;display:flex;flex-direction:row;height:auto;min-height:110px}.story-card img{width:110px;height:100%;object-fit:cover;flex-shrink:0}.story-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:8px 12px}.story-title{font-size:0.95rem;word-break:break-all}.story-price{font-size:1.1rem;margin-top:auto}}.back-to-top-btn{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background:rgba(20,20,25,0.85);border:1px solid var(--primary);color:var(--primary);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease,transform 0.2s ease,background-color 0.2s;box-shadow:0 4px 15px rgba(0,0,0,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.back-to-top-btn:hover{background:var(--primary);color:#1a1a1a;transform:translateY(-3px);box-shadow:0 6px 20px rgba(212,175,55,0.4)}.back-to-top-btn:active{transform:translateY(-1px)}.back-to-top-btn.visible{opacity:1;visibility:visible}.btn-quick-date{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.2);color:#fff;padding:0.4rem 1rem;border-radius:20px;font-size:0.85rem;cursor:pointer;outline:none;transition:all 0.2s ease}.btn-quick-date:hover{background:rgba(255,255,255,0.15);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.btn-quick-date.active{background:var(--primary, #10b981);border-color:var(--primary, #10b981);color:#052e16;font-weight:bold;box-shadow:0 0 10px rgba(16,185,129,0.4)}.search-history-section{padding:1rem 1.5rem 0.8rem;border-bottom:1px solid rgba(255,255,255,0.1)}.search-history-section.hidden{display:none}.history-label{font-size:0.85rem;color:var(--text-muted);display:block;margin-bottom:0.6rem;font-weight:500}.search-history-tags{display:flex;gap:0.6rem;flex-wrap:wrap}.history-tag{background:rgba(255,255,255,0.06);color:var(--text-main);padding:0.35rem 0.9rem;border-radius:20px;font-size:0.8rem;cursor:pointer;transition:all 0.2s ease;border:1px solid rgba(255,255,255,0.1);display:inline-flex;align-items:center;backdrop-filter:blur(5px)}.history-tag:hover{background:var(--primary);color:#1a1a1a;border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 10px rgba(212,175,55,0.3)}.clear-history-btn{background:none;border:none;color:#ff6b6b;font-size:0.75rem;cursor:pointer;padding:0.2rem 0.5rem;border-radius:4px;transition:all 0.2s ease;font-family:inherit}.clear-history-btn:hover{background:rgba(255,107,107,0.1);color:#ff8787;text-decoration:underline}.site-footer{margin-top:4rem;padding:2rem 1rem;text-align:center;border-top:1px solid rgba(255,255,255,0.1);background:rgba(0,0,0,0.5);backdrop-filter:blur(10px)}.site-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1rem}.site-footer-links a{color:#94a3b8;text-decoration:none;font-size:0.9rem;transition:color 0.3s ease}.site-footer-links a:hover{color:var(--primary);text-decoration:underline}.site-footer-copy{color:#94a3b8;font-size:0.85rem}@media (max-width:768px){.site-footer{margin-top:3rem;padding:2rem 1rem 5.5rem}.site-footer-links{gap:0.8rem 1.2rem}.site-footer-links a{font-size:0.85rem}}.content-page{max-width:800px;margin:6rem auto 4rem;padding:2rem;background:var(--card-bg);border:1px solid rgba(255,255,255,0.1);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.3);backdrop-filter:blur(10px)}.content-page h1{font-size:1.8rem;color:var(--primary);margin-bottom:2rem;text-align:center;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:1rem}.content-page h2{font-size:1.3rem;color:#fff;margin:2rem 0 1rem;border-left:4px solid var(--primary);padding-left:0.8rem}.content-page p,.content-page li{color:var(--text-muted);line-height:1.8;margin-bottom:1rem;font-size:0.95rem}.content-page ul{padding-left:1.5rem;margin-bottom:1.5rem}.content-page a{color:var(--primary);text-decoration:none}.content-page a:hover{text-decoration:underline}.ranking-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.7);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.ranking-modal-content{background:var(--card-bg);border:1px solid rgba(255,255,255,0.2);border-radius:12px;padding:2rem;max-width:400px;width:100%;position:relative;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,0.8)}.ranking-modal-close{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1}.ranking-modal-close:hover{color:#ff6b6b}.ranking-modal-btn{display:block;width:100%;padding:1rem;border-radius:8px;text-decoration:none;font-weight:bold;font-size:1rem;transition:transform 0.2s,box-shadow 0.2s;color:#fff}.ranking-modal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.5)}.ranking-modal-btn.rakuten{background:#bf0000}.ranking-modal-btn.jalan{background:#ff7a00}.ranking-modal-btn.yahoo{background:#ff0033}.ranking-modal-btn.ikyu{background:#002d6b}.loading-spinner{display:inline-block;width:50px;height:50px;border:5px solid rgba(212,175,55,0.3);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.area-link-btn{display:inline-block;padding:0.3rem 0.8rem;background:rgba(255,255,255,0.05);color:var(--text-main);text-decoration:none;border-radius:12px;border:1px solid rgba(255,255,255,0.1);font-size:0.8rem;transition:all 0.2s ease;backdrop-filter:blur(5px)}.area-link-btn:hover{background:var(--primary);color:#1a1a1a;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,175,55,0.4)}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}.skeleton-card{display:flex;background:var(--surface-light);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.skeleton-shimmer{animation:shimmer 2s infinite linear;background:linear-gradient(to right,rgba(255,255,255,0.05) 4%,rgba(255,255,255,0.15) 25%,rgba(255,255,255,0.05) 36%);background-size:1000px 100%}.skeleton-image{width:320px;min-height:240px}.skeleton-content{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.skeleton-title{height:24px;width:70%;border-radius:4px}.skeleton-text{height:16px;width:100%;border-radius:4px}.skeleton-text.short{width:40%}.skeleton-price{height:32px;width:120px;border-radius:4px;margin-top:auto;align-self:flex-end}@media (max-width:768px){.skeleton-card{flex-direction:column}.skeleton-image{width:100%;height:200px;min-height:200px}}.custom-contact-form{display:flex;flex-direction:column;gap:1.5rem}.custom-contact-form .form-group{display:flex;flex-direction:column;gap:0.5rem}.custom-contact-form label{font-size:0.95rem;font-weight:600;display:flex;align-items:center;gap:0.5rem}.custom-contact-form .required{background:#e91e63;color:#fff;font-size:0.7rem;padding:2px 6px;border-radius:4px;font-weight:normal}.custom-contact-form input,.custom-contact-form textarea{background:var(--surface-light);border:1px solid rgba(255,255,255,0.2);color:var(--text-light);padding:0.8rem 1rem;border-radius:8px;font-family:inherit;font-size:1rem;transition:border-color 0.2s,box-shadow 0.2s}.custom-contact-form input:focus,.custom-contact-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(255,193,7,0.2)}.custom-contact-form button:hover{opacity:0.9}.custom-contact-form .submit-btn{font-size:1.2rem;letter-spacing:2px;font-weight:700}.article-card{background:rgba(25,25,25,0.65);border:1px solid rgba(255,255,255,0.08);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:all 0.4s cubic-bezier(0.165,0.84,0.44,1);text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,0.3);backdrop-filter:blur(12px);width:100%;max-width:380px}.article-card:hover{transform:translateY(-8px);border-color:rgba(212,175,55,0.5);box-shadow:0 20px 40px rgba(212,175,55,0.15),0 0 1px rgba(212,175,55,0.5)}.article-thumbnail-wrapper{position:relative;width:100%;padding-top:66.67%;background:#000;overflow:hidden}.article-thumbnail-wrapper .eye-catch-.background-image{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/background.webp);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1;filter:brightness(0.65)}@media (max-width:768px){.background-image{background-image:url(/background-mobile.webp)}}.article-thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transition:transform 0.5s ease;z-index:2}.article-card:hover .article-thumbnail{transform:scale(1.08)}.article-category{position:absolute;top:1rem;left:1rem;background:rgba(212,175,55,0.9);color:#111;font-size:0.75rem;font-weight:700;padding:0.3rem 0.8rem;border-radius:20px;letter-spacing:0.5px;box-shadow:0 4px 10px rgba(0,0,0,0.3)}.article-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.article-meta{font-size:0.8rem;color:var(--text-muted);margin-bottom:0.8rem;display:flex;align-items:center;gap:0.5rem}.article-title{font-family:"Noto Serif JP",serif;font-size:1.25rem;font-weight:700;color:#fff;line-height:1.4;margin:0 0 0.8rem;transition:color 0.3s ease}.article-card:hover .article-title{color:var(--primary)}.article-excerpt{font-size:0.9rem;color:#b3b3b3;line-height:1.6;margin:0 0 1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-readmore{margin-top:auto;font-size:0.85rem;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:0.3rem;transition:gap 0.3s ease}.article-card:hover .article-readmore{gap:0.6rem}#top-articles-container,.top-articles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem;width:100%}@media (max-width:1024px){#top-articles-container,.top-articles-grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem!important}}@media (max-width:768px){#top-articles-container,.top-articles-grid{grid-template-columns:repeat(2,1fr)!important;gap:0.8rem!important;padding:0 0.5rem}#top-articles-container .article-card,.top-articles-grid .article-card{min-width:0!important;max-width:100%!important}#top-articles-container .article-title,.top-articles-grid .article-title{font-size:0.9rem!important;margin-bottom:0.4rem;line-height:1.3}#top-articles-container .article-content,.top-articles-grid .article-content{padding:0.8rem!important}#top-articles-container .article-excerpt,.top-articles-grid .article-excerpt{display:none!important}#top-articles-container .article-meta,.top-articles-grid .article-meta{font-size:0.7rem!important;margin-bottom:0.3rem}#top-articles-container .article-readmore,.top-articles-grid .article-readmore{font-size:0.75rem!important}}.hotel-booking-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.8rem 2rem;background:linear-gradient(135deg,#d4af37 0%,#b89728 100%);color:#111!important;font-weight:700;border-radius:30px;text-decoration:none!important;margin:1rem 0 2rem;box-shadow:0 4px 15px rgba(212,175,55,0.25);transition:all 0.3s cubic-bezier(0.165,0.84,0.44,1);font-size:0.95rem}.hotel-booking-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.45);opacity:0.95}.hotel-booking-btn::after{content:" →";margin-left:0.4rem;transition:transform 0.3s ease}.hotel-booking-btn:hover::after{transform:translateX(3px)}.flash-deals-grid{display:flex;gap:15px;overflow-x:auto;padding-bottom:20px;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:thin}.flash-deals-grid::-webkit-scrollbar{display:block;height:6px}.flash-deals-grid::-webkit-scrollbar-thumb{background:rgba(212,175,55,0.4);border-radius:3px}.premium-deal-card{flex:0 0 180px;min-width:180px;max-width:180px;width:180px;scroll-snap-align:start;background:rgba(30,30,30,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;overflow:hidden;position:relative;transition:all 0.3s cubic-bezier(0.165,0.84,0.44,1);backdrop-filter:blur(10px);display:flex;flex-direction:column;cursor:pointer}.premium-deal-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.8)}.premium-deal-card img{width:100%;height:120px;object-fit:cover;border-bottom:1px solid rgba(212,175,55,0.1)}.premium-deal-card-body{padding:0.8rem;flex:1;display:flex;flex-direction:column}.premium-deal-title{font-size:0.95rem;font-weight:600;margin-bottom:0.5rem;color:#fff;line-height:1.4}.premium-deal-avg{color:rgba(255,255,255,0.5);font-size:0.75rem;text-decoration:line-through;margin-bottom:0.3rem}.premium-deal-price{font-size:1.15rem;color:var(--primary);font-weight:700;margin-bottom:0.8rem}.premium-deal-btn{margin-top:auto;background:linear-gradient(135deg,rgba(212,175,55,0.1),rgba(212,175,55,0.15));border:1px solid rgba(212,175,55,0.5);color:var(--primary);padding:0.5rem;font-size:0.8rem;text-align:center;border-radius:8px;text-decoration:none;font-weight:600;transition:all 0.3s ease}.premium-deal-btn:hover{background:var(--primary);color:#000}.area-header{font-size:1.4rem;color:#fff;margin:2rem 0 1rem;padding-bottom:0.5rem;border-bottom:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;gap:0.5rem}@media (max-width:768px){.flash-deals-grid{gap:10px;padding-bottom:15px}.premium-deal-card{flex:0 0 140px;min-width:140px;max-width:140px;width:140px}.premium-deal-card img{height:90px}.premium-deal-card-body{padding:0.6rem}.premium-deal-title{font-size:0.85rem;margin-bottom:0.3rem}.premium-deal-price{font-size:1rem}.premium-deal-badge{font-size:0.65rem;padding:0.15rem 0.4rem}}.hotel-gallery-slider::-webkit-scrollbar{display:none}.btn-toggle-detailed{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;background:linear-gradient(135deg,rgba(212,175,55,0.22) 0%,rgba(212,175,55,0.1) 100%)!important;border:1.5px solid #d4af37!important;color:#ffd700!important;padding:0.65rem 1.4rem;font-size:0.95rem;font-weight:700;cursor:pointer;border-radius:30px;box-shadow:0 0 16px rgba(212,175,55,0.35);transition:all 0.3s cubic-bezier(0.16,1,0.3,1);letter-spacing:0.03em;-webkit-tap-highlight-color:transparent}.btn-toggle-detailed:hover,.btn-toggle-detailed:active{background:linear-gradient(135deg,#d4af37 0%,#b89628 100%)!important;color:#0b132b!important;border-color:#ffd700!important;box-shadow:0 4px 20px rgba(212,175,55,0.6);transform:translateY(-2px)}.btn-toggle-detailed .btn-toggle-arrow{font-size:0.8rem;transition:transform 0.3s ease;color:inherit}.btn-toggle-detailed.is-open{background:rgba(255,255,255,0.12)!important;border-color:rgba(255,255,255,0.4)!important;color:#fff!important;box-shadow:none}.nearby-showcase-box{background:linear-gradient(135deg,rgba(28,24,16,0.9) 0%,rgba(15,22,38,0.9) 100%);border:1px solid rgba(212,175,55,0.35);border-top:2px solid #d4af37;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,0.28);backdrop-filter:blur(10px);position:relative;overflow:hidden}.nearby-hotels-grid{display:flex;gap:0.85rem;overflow-x:auto;flex-wrap:nowrap!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:0.75rem;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,0.4) transparent}.nearby-hotels-grid::-webkit-scrollbar{display:block;height:5px}.nearby-hotels-grid::-webkit-scrollbar-track{background:rgba(255,255,255,0.04);border-radius:3px}.nearby-hotels-grid::-webkit-scrollbar-thumb{background:rgba(212,175,55,0.4);border-radius:3px}.nearby-hotels-grid::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,0.7)}.nearby-hotel-card{width:220px;min-width:220px;max-width:220px;flex:0 0 220px;scroll-snap-align:start;background:rgba(15,23,42,0.75);border:1px solid rgba(255,255,255,0.09);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease}.nearby-hotel-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,0.45);box-shadow:0 4px 14px rgba(0,0,0,0.3)}@media (max-width:768px){.nearby-hotels-grid{gap:0.65rem!important;padding-bottom:0.6rem}.nearby-hotel-card{width:205px!important;min-width:205px!important;max-width:205px!important;flex:0 0 205px!important;scroll-snap-align:start}}.nearby-areas-bar{margin-top:0.85rem;margin-bottom:0.5rem;background:rgba(15,23,42,0.55);border:1px solid rgba(255,255,255,0.09);border-radius:12px;padding:0.75rem 1rem}.nearby-areas-title{font-size:0.8rem;color:#cbd5e1;display:flex;align-items:center;gap:0.4rem;margin-bottom:0.5rem;font-weight:600}.nearby-areas-list{display:flex;flex-wrap:wrap;gap:0.45rem}.btn-nearby-area{display:inline-flex;align-items:center;gap:0.35rem;padding:0.4rem 0.85rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);border-radius:20px;color:#f1f5f9;font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;text-decoration:none;white-space:nowrap}.btn-nearby-area:hover{background:rgba(212,175,55,0.18);border-color:rgba(212,175,55,0.5);color:#ffd700;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.3)}.btn-nearby-area:active{transform:translateY(0)}.btn-nearby-area .nearby-pin{font-size:0.75rem}@media (max-width:480px){.nearby-areas-bar{padding:0.65rem 0.75rem}.btn-nearby-area{padding:0.35rem 0.7rem;font-size:0.78rem}}