@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap";:root{--color-bg: #ffffff;--color-bg-alt: #fffcf7;--color-bg-footer: #2a1e14;--color-surface: #fdf5ec;--color-surface-hover: #f5e8d4;--color-border: #f0e4d4;--color-border-hover: #d4a87a;--color-text: #1a1a1a;--color-text-muted: #6b5c50;--color-text-dim: #a89080;--color-primary: #b5703a;--color-primary-light: #d4956a;--color-primary-dark: #8a4f24;--font-heading: "Noto Serif JP", serif;--font-body: "Noto Sans JP", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 3rem;--spacing-xl: 5rem;--transition-fast: .2s ease;--transition-medium: .4s ease;--transition-slow: .6s ease;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;overflow-x:hidden;font-size:16px}body{line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--color-text)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}ul{list-style:none}.container{width:92%;max-width:1200px;margin:0 auto}.section{padding:var(--spacing-xl) 0}.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}#header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:var(--spacing-sm) 0;background-color:#fff;border-bottom:1px solid var(--color-border);transition:background-color var(--transition-medium),padding var(--transition-medium),box-shadow var(--transition-medium),border-color var(--transition-medium)}#header.scrolled{background-color:#fffffff7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:var(--spacing-xs) 0;box-shadow:0 2px 16px #b5703a1a;border-bottom-color:transparent}.nav-container{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:.02em;white-space:nowrap}.logo-dot{color:var(--color-primary)}.logo:hover{color:var(--color-primary-light)}.header-search{display:flex;align-items:center;background:#fdf9f5;border:1.5px solid #e8d8c4;border-radius:var(--radius-full);padding:.25rem .35rem .25rem .8rem;width:220px;transition:all var(--transition-fast)}.header-search:focus-within{border-color:var(--color-primary);background:var(--color-surface);width:280px}.header-search-input{background:none;border:none;outline:none;color:var(--color-text);font-size:.85rem;width:100%;padding:.3rem 0}.header-search-input::placeholder{color:var(--color-text-dim)}.header-search-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-primary);color:#fff;flex-shrink:0;transition:var(--transition-fast)}.header-search-btn svg{width:14px;height:14px}.header-search-btn:hover{background:var(--color-primary-light)}.nav-links{display:flex;gap:var(--spacing-md)}.nav-links a{font-size:.9rem;font-weight:500;color:var(--color-text-muted);position:relative;padding:.25rem 0}.nav-links a:hover{color:var(--color-primary)}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width var(--transition-fast)}.nav-links a:hover:after{width:100%}.menu-toggle{display:none;width:28px;height:20px;position:relative;z-index:1001}.menu-toggle span{display:block;width:100%;height:2px;background-color:var(--color-primary);position:absolute;transition:all .3s ease}.menu-toggle span:first-child{top:0}.menu-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}.menu-toggle span:last-child{bottom:0}.menu-toggle.active span:first-child{transform:rotate(45deg);top:50%}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:last-child{transform:rotate(-45deg);bottom:auto;top:50%}.hero{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:var(--spacing-xl) var(--spacing-sm)}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:url(/toppc.webp) center/cover no-repeat;z-index:-2}@media(max-width:768px){.hero-bg{background:url(/topmobile.webp) center/cover no-repeat}}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(160deg,#1e0f05b8,#1e0f0573,#1e0f05b8);z-index:-1}.hero-content{z-index:1;max-width:720px;animation:fadeInUp .8s ease-out}.hero-title{font-size:clamp(2.5rem,7vw,4.5rem);margin-bottom:var(--spacing-sm);line-height:1.15;letter-spacing:.02em;color:#fff}.hero-title-sub{display:block;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:400;color:#f4c882e6;letter-spacing:.3em;margin-bottom:.5rem}.hero-subtitle{font-size:clamp(.95rem,2vw,1.15rem);color:#ffffffa6;margin-bottom:var(--spacing-lg);line-height:1.6}.search-box{display:flex;gap:0;max-width:560px;margin:0 auto;background:#fffffff7;border:1.5px solid rgba(224,212,196,.8);border-radius:var(--radius-full);padding:.4rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 30px #0003;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-box:focus-within{border-color:var(--color-primary);box-shadow:0 6px 30px #0003,0 0 0 3px #b5703a1f}.search-input-wrapper{display:flex;align-items:center;flex:1;padding:0 .8rem;gap:.6rem}.search-icon{width:20px;height:20px;color:var(--color-text-dim);flex-shrink:0}.search-input{background:none;border:none;outline:none;color:var(--color-text);font-size:1rem;width:100%;padding:.6rem 0}.search-input::placeholder{color:var(--color-text-dim)}.search-btn{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);padding:.7rem 1.8rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.search-btn:hover{background:var(--color-primary-light);transform:translateY(-1px)}.search-box-page{max-width:100%;margin-top:var(--spacing-md)}.search-result-count{margin-top:var(--spacing-md);color:var(--color-text-muted);font-size:.95rem}.search-result-count strong{color:var(--color-primary)}.section-header{margin-bottom:var(--spacing-lg);text-align:center}.section-title{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:var(--spacing-xs);position:relative;display:inline-block}.section-title:after{content:"";display:block;width:36px;height:2px;background:var(--color-primary);margin:.8rem auto 0;border-radius:2px}.section-link{display:inline-block}.section-link:hover .section-title{color:var(--color-primary)}.section-desc{color:var(--color-text-muted);max-width:500px;margin:0 auto;font-size:.95rem}.region-section{background:var(--color-bg-alt)}.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-md)}.region-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition-medium)}.region-card:hover{border-color:var(--color-primary);background:var(--color-surface-hover);transform:translateY(-3px);box-shadow:0 8px 30px #b5703a1f}.region-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.region-name{font-size:1.15rem;font-family:var(--font-heading)}.region-count{font-size:.75rem;color:var(--color-text-dim);background:#fff;padding:.2rem .5rem;border-radius:var(--radius-full)}.region-prefectures{display:flex;flex-wrap:wrap;gap:.4rem}.prefecture-chip{font-size:.8rem;padding:.3rem .7rem;background:#b5703a0f;border:1px solid rgba(181,112,58,.18);border-radius:var(--radius-full);color:var(--color-primary);transition:all var(--transition-fast)}.prefecture-chip:hover{background:#b5703a24;border-color:var(--color-primary);color:var(--color-primary-dark)}.prefecture-grid-mini{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.prefecture-mini-card{font-size:.85rem;padding:.5rem 1rem;background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);color:#4a3828;font-weight:500;transition:all var(--transition-fast)}.prefecture-mini-card:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-medium)}.card:hover{transform:translateY(-4px);box-shadow:0 10px 32px #b5703a24;border-color:var(--color-border-hover)}.card-image{position:relative;height:200px;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.card:hover .card-image img{transform:scale(1.08)}.card-badge{position:absolute;top:12px;left:12px;font-size:.72rem;font-weight:600;padding:.25rem .65rem;border-radius:var(--radius-full);background:#b5703ae0;color:#fff;border:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card-content{padding:var(--spacing-md)}.card-meta{display:flex;gap:var(--spacing-xs);margin-bottom:.4rem;font-size:.78rem}.card-category{color:var(--color-primary);font-weight:500}.card-prefecture,.card-prefecture a{color:var(--color-primary)}.card-prefecture a:hover{color:var(--color-primary-dark)}.card-title{font-size:1.15rem;font-family:var(--font-heading);margin-bottom:.4rem;color:var(--color-text)}.card-desc{font-size:.85rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.6rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;flex-wrap:wrap;gap:.3rem}.tag{font-size:.7rem;padding:.15rem .5rem;background:var(--color-surface);border:1px solid #f0dfc8;border-radius:var(--radius-full);color:#9a7055}.page-header{padding-top:calc(80px + var(--spacing-lg));padding-bottom:var(--spacing-lg);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.page-title{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:.3rem}.page-subtitle{color:var(--color-text-muted);font-size:.95rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-text-dim);margin-bottom:var(--spacing-sm)}.breadcrumb a{color:var(--color-text-muted)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb-separator{color:var(--color-text-dim)}.breadcrumb-light a{color:#ffffffb3}.breadcrumb-light a:hover{color:#fff}.breadcrumb-light span{color:#ffffff80}.region-block{margin-bottom:var(--spacing-xl)}.region-block-title{font-size:1.4rem;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:.6rem;font-family:var(--font-heading)}.region-block-accent{display:inline-block;width:4px;height:1.3em;background:var(--color-primary);border-radius:2px;flex-shrink:0}.prefecture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm)}.prefecture-card{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 10;display:block;transition:all var(--transition-medium)}.prefecture-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000004d}.prefecture-card-image{position:absolute;top:0;left:0;width:100%;height:100%}.prefecture-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.prefecture-card:hover .prefecture-card-image img{transform:scale(1.1)}.prefecture-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000000b3,#0000001a 60%)}.prefecture-card-content{position:absolute;bottom:0;left:0;padding:var(--spacing-sm);z-index:1}.prefecture-card-name{font-size:1.1rem;color:#fff;font-family:var(--font-heading)}.prefecture-card-kana{font-size:.72rem;color:#fff9}.prefecture-hero{position:relative;height:45vh;min-height:300px;display:flex;align-items:flex-end;overflow:hidden}.prefecture-hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.prefecture-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#140a03eb,#140a034d 60%);z-index:-1}.prefecture-hero-content{padding:var(--spacing-lg);z-index:1;animation:fadeInUp .6s ease-out}.prefecture-hero-title{font-size:clamp(2rem,5vw,3.5rem);color:#fff;margin-bottom:.2rem}.prefecture-hero-kana{font-size:.9rem;color:#ffffff80}.tab-navigation{display:flex;gap:.5rem;margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);padding-bottom:0;overflow-x:auto}.tab-btn{display:flex;align-items:center;gap:.4rem;padding:.8rem 1.2rem;font-size:.9rem;font-weight:500;color:var(--color-text-muted);border-bottom:3px solid transparent;transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-icon{width:18px;height:18px}.tab-count{font-size:.72rem;background:var(--color-surface);padding:.1rem .45rem;border-radius:var(--radius-full);color:var(--color-text-dim)}.tab-btn.active .tab-count{background:#b5703a1f;color:var(--color-primary)}.tab-panel{display:none}.tab-panel.active{display:block}.prefecture-detail-section{padding-top:var(--spacing-lg)}.empty-state{text-align:center;color:var(--color-text-dim);padding:var(--spacing-xl) 0;font-size:.95rem}.empty-state-container{text-align:center;padding:var(--spacing-xl) 0;color:var(--color-text-dim)}.empty-state-icon{margin-bottom:var(--spacing-md)}.empty-state-icon svg{width:64px;height:64px;opacity:.3}.empty-state-container h3{color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.search-filter{display:flex;gap:.5rem;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.filter-btn{padding:.5rem 1.1rem;font-size:.85rem;font-weight:500;color:var(--color-text-muted);background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.filter-count{font-size:.72rem;opacity:.7}.result-section{margin-bottom:var(--spacing-xl)}.result-section-title{font-size:1.2rem;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading)}.result-section-icon{font-size:.6rem}.result-section-icon.spot,.result-section-icon.gourmet,.result-section-icon.hotel{color:var(--color-primary)}.pickup-section{background:var(--color-bg-alt)}.spring-type-badge{display:inline-block;font-size:.72rem;color:var(--color-text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.spring-type{color:var(--color-text-muted);font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:var(--spacing-md)}.hero-tag{display:inline-block;padding:.4rem 1rem;background:#f4c88214;border:1px solid rgba(244,200,130,.45);border-radius:var(--radius-full);font-size:.82rem;color:#f4c882d9;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.hero-tag:hover{background:#f4c8822e;border-color:#f4c882b3;color:#f4c882f2;transform:translateY(-2px)}.search-suggestions{margin-top:var(--spacing-md);color:var(--color-text-dim);font-size:.85rem}.suggestion-tags{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.5rem}.onsen-card:hover{border-color:var(--color-border-hover);box-shadow:0 10px 32px #b5703a24}.footer{padding:var(--spacing-lg) 0 var(--spacing-md);text-align:center;color:#ffffff73;border-top:none;background:var(--color-bg-footer)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.logo-footer{font-family:var(--font-heading);font-size:1.3rem;color:#f4e0c0}.footer-desc{font-size:.85rem;color:#fff6;max-width:400px}.footer-links{display:flex;gap:var(--spacing-md)}.footer-links a{font-size:.85rem;color:#fff6}.footer-links a:hover{color:var(--color-primary)}.footer-copy{font-size:.75rem;color:#ffffff4d;margin-top:var(--spacing-xs)}.btn{display:inline-block;padding:.7rem 1.8rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;transition:all var(--transition-fast);cursor:pointer}.btn-primary{background:var(--color-primary);color:var(--color-bg);border:1px solid var(--color-primary)}.btn-primary:hover{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #b5703a47}@media(max-width:768px){.nav-links{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background:#fff;border-right:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-lg);z-index:999}.nav-links.open{display:flex}.nav-links a{font-size:1.2rem;color:var(--color-text)}.menu-toggle{display:block}.header-search{width:140px}.header-search:focus-within{width:180px}.hero{min-height:75vh}.card-grid,.region-grid{grid-template-columns:1fr}.prefecture-grid{grid-template-columns:repeat(2,1fr)}.tab-navigation{gap:0}.tab-btn{padding:.6rem .8rem;font-size:.82rem}.tab-icon{display:none}.search-box{flex-direction:column;border-radius:var(--radius-md);padding:.5rem}.search-btn{border-radius:var(--radius-sm);padding:.7rem;width:100%}.prefecture-hero{height:35vh;min-height:250px}.prefecture-hero-content{padding:var(--spacing-md)}}@media(max-width:480px){.prefecture-grid{grid-template-columns:1fr}.prefecture-grid-mini{gap:.3rem}.prefecture-mini-card{font-size:.78rem;padding:.4rem .7rem}}@media(min-width:1400px){.container{max-width:1320px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f7f3ee}::-webkit-scrollbar-thumb{background:#e0d0c0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.hotel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.hotel-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-medium);display:block;color:inherit;text-decoration:none}.hotel-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #b5703a1f;border-color:var(--color-border-hover)}.hotel-card-image{position:relative;height:200px;overflow:hidden}.hotel-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.hotel-card:hover .hotel-card-image img{transform:scale(1.08)}.hotel-type-badge{position:absolute;top:12px;left:12px;font-size:.7rem;font-weight:600;padding:.25rem .65rem;border-radius:var(--radius-full);background:#b5703ae0;color:#fff;border:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hotel-count-badge{position:absolute;bottom:12px;right:12px;font-size:.7rem;font-weight:600;padding:.25rem .65rem;border-radius:var(--radius-full);background:#ffffffeb;color:var(--color-primary);border:1px solid rgba(181,112,58,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hotel-card-content{padding:var(--spacing-md)}.hotel-card-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.hotel-card-name{font-size:1.05rem;font-family:var(--font-heading);color:var(--color-text);margin:0;line-height:1.4;letter-spacing:.01em}.hotel-onsen-name{font-size:.78rem;color:var(--color-text-muted);font-weight:500;margin-bottom:.3rem}.hotel-card-title{font-size:1.1rem;font-family:var(--font-heading);color:var(--color-text);margin-bottom:.3rem}.hotel-card-price{font-size:.82rem;margin-bottom:.4rem}.price-label{color:var(--color-text-dim);font-weight:400}.price-value{color:var(--color-primary);font-weight:600}.hotel-card-desc{font-size:.82rem;color:var(--color-text-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.6rem}.hotel-card-tags{display:flex;flex-wrap:wrap;gap:.3rem}.onsen-card-link,.hotel-card-link{display:block;color:inherit;text-decoration:none}.card-link-hint{font-size:.8rem;color:var(--color-primary);font-weight:500;margin-top:.6rem;opacity:0;transform:translate(-4px);transition:all var(--transition-fast)}.onsen-card-link:hover .card-link-hint{opacity:1;transform:translate(0)}.onsen-hero-badge{display:inline-block;padding:.3rem .9rem;background:#b5703a2e;border:1px solid rgba(244,200,130,.4);border-radius:var(--radius-full);font-size:.8rem;color:#f4c882;margin-bottom:.6rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.onsen-info-section{background:var(--color-bg-alt);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.onsen-info-card{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-lg);align-items:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.onsen-info-title{font-size:1.3rem;margin-bottom:var(--spacing-xs);color:var(--color-text)}.onsen-info-desc{font-size:.9rem;color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--spacing-sm)}.onsen-info-tags{display:flex;flex-wrap:wrap;gap:.4rem}.onsen-info-meta{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:180px}.onsen-meta-item{display:flex;flex-direction:column;gap:.2rem;padding:var(--spacing-sm);background:#b5703a0d;border:1px solid rgba(181,112,58,.1);border-radius:var(--radius-md)}.onsen-meta-label{font-size:.72rem;color:var(--color-text-dim)}.onsen-meta-value{font-size:.88rem;color:var(--color-primary);font-weight:500}.hotel-list-section{padding-top:var(--spacing-lg)}.hotel-feature-section{background:var(--color-bg-alt)}.onsen-pickup-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media(max-width:768px){.hotel-grid,.onsen-info-card{grid-template-columns:1fr}.onsen-info-meta{flex-direction:row;flex-wrap:wrap;min-width:unset}.onsen-meta-item{flex:1;min-width:120px}}.hotel-detail-hero{position:relative;height:50vh;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hotel-detail-hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.hotel-detail-hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#140a034d,#140a0399,#140a03f2)}.hotel-detail-hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:2rem;max-width:800px}.hotel-detail-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}.hotel-detail-onsen{font-size:1.1rem;color:var(--color-primary-light)}.hotel-detail-type-badge{display:inline-block;padding:.3rem 1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;margin-bottom:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hotel-detail-info-section{padding:var(--spacing-xl) 0;background:var(--color-bg)}.hotel-detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-xl);align-items:start}.hotel-detail-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.hotel-detail-card-title{font-size:1.25rem;color:var(--color-text);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.hotel-info-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.hotel-info-row{display:flex;align-items:center;gap:var(--spacing-md)}.hotel-info-label{display:flex;align-items:center;gap:.5rem;width:120px;color:var(--color-text-dim);font-size:.9rem}.hotel-info-label svg{width:18px;height:18px}.hotel-info-value{color:var(--color-text);font-weight:500}.price-highlight{color:var(--color-primary);font-size:1.1rem;font-weight:600}.spring-type-highlight{color:var(--color-text-muted)}.hotel-info-link{color:var(--color-primary);text-decoration:underline;text-decoration-color:transparent;transition:all var(--transition-fast)}.hotel-info-link:hover{text-decoration-color:var(--color-primary)}.hotel-detail-desc{line-height:1.8;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.hotel-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag-highlight{background:#b5703a14;color:var(--color-primary);border-color:#b5703a2e}.hotel-onsen-info{display:flex;gap:var(--spacing-md);align-items:center}.hotel-onsen-thumb{width:100px;height:100px;border-radius:var(--radius-md);object-fit:cover}.hotel-onsen-text{flex:1}.hotel-onsen-name{font-size:1.1rem;margin-bottom:.2rem}.hotel-onsen-name a{color:var(--color-primary);text-decoration:none}.hotel-onsen-name a:hover{text-decoration:underline}.hotel-onsen-spring{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.4rem}.hotel-onsen-desc{font-size:.85rem;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-detail-sidebar{position:sticky;top:90px}.booking-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-md)}.booking-card-header{padding:var(--spacing-md);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.booking-card-title{font-size:1.1rem;color:var(--color-text);margin-bottom:.3rem}.booking-card-desc{font-size:.8rem;color:var(--color-text-dim);line-height:1.4}.booking-links{display:flex;flex-direction:column}.booking-link-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);text-decoration:none;color:var(--color-text);transition:all var(--transition-fast)}.booking-link-btn:last-child{border-bottom:none}.booking-link-btn:hover{background:var(--color-surface)}.booking-link-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-bg-alt)}.booking-link-info{flex:1;display:flex;flex-direction:column}.booking-link-name{font-weight:600;font-size:.95rem}.booking-link-desc{font-size:.75rem;color:var(--color-text-dim)}.booking-link-arrow{width:20px;height:20px;color:var(--color-text-dim);transition:transform var(--transition-fast)}.booking-link-btn:hover .booking-link-arrow{transform:translate(4px);color:var(--booking-color)}.booking-link-btn:hover .booking-link-name{color:var(--booking-color)}.booking-notice{padding:var(--spacing-md);font-size:.75rem;color:var(--color-text-dim);background:var(--color-bg);line-height:1.5}.hotel-price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);text-align:center}.hotel-price-card-title{font-size:.9rem;color:var(--color-text-dim);margin-bottom:.5rem}.hotel-price-large{font-size:1.6rem;font-weight:700;color:var(--color-primary);margin-bottom:.3rem}.hotel-price-note{font-size:.75rem;color:var(--color-text-muted)}.back-to-onsen{margin-top:var(--spacing-lg)}.btn-back-onsen{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--color-primary);color:var(--color-primary);text-decoration:none;font-weight:500;transition:all var(--transition-medium)}.btn-back-onsen:hover{background:#b5703a14;color:var(--color-primary-dark)}.btn-back-onsen svg{width:18px;height:18px}.footer-social-links{display:flex;align-items:center;gap:16px}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:#fff6;transition:color .3s}.social-icon svg{width:24px;height:24px}.social-icon:hover{color:var(--color-primary)}@media(max-width:900px){.hotel-detail-grid{grid-template-columns:1fr}.hotel-detail-sidebar{position:static}}@media(max-width:600px){.hotel-onsen-info{flex-direction:column;align-items:flex-start}.hotel-onsen-thumb{width:100%;height:140px}}.ad-banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);justify-items:center;align-items:center;margin:var(--spacing-lg) auto;max-width:1024px}.ad-banner-grid>span{display:flex;justify-content:center;width:100%;padding:var(--spacing-sm);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 2px 8px #0000000f;transition:transform var(--transition-medium)}.ad-banner-grid>span:hover{transform:translateY(-2px)}.ad-banner-grid img{max-width:100%;height:auto;display:block;border-radius:4px}@media(max-width:900px){.ad-banner-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.hero-content{margin-top:100px}}@media(max-width:600px){.ad-banner-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}.article-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border);font-size:.82rem;color:var(--color-text-dim)}.article-meta-category{background:var(--color-primary);color:#fff;padding:.22rem .8rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;letter-spacing:.04em}.article-lead{font-size:1.05rem;line-height:1.9;color:var(--color-text-muted);border-left:4px solid var(--color-primary);padding:.25rem 0 .25rem 1.25rem;margin-bottom:3rem}.article-body{font-size:1.05rem;line-height:2;color:var(--color-text-muted)}.article-body p{margin:0 0 1.75rem}.article-body h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-text);margin:3rem 0 1.1rem;padding-bottom:.65rem;border-bottom:2px solid var(--color-border);line-height:1.45}.article-body h3:first-child{margin-top:0}.article-body ul,.article-body ol{margin:0 0 1.75rem;padding-left:1.5rem;display:flex;flex-direction:column;gap:.7rem}.article-body li{line-height:1.85}.article-body strong{color:var(--color-text);font-weight:600}.onsen-hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.onsen-feature-badge{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);padding:.2rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.03em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.onsen-detail-section{background:var(--color-bg)}.onsen-detail-grid{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}@media(max-width:900px){.onsen-detail-grid{grid-template-columns:1fr}}.onsen-detail-main{display:flex;flex-direction:column;gap:1.5rem}.onsen-detail-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;box-shadow:0 2px 12px #0000000f;border:1px solid var(--color-border)}.onsen-detail-heading{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-text);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.onsen-heading-icon{font-size:1rem}.onsen-detail-desc{font-size:1rem;line-height:1.9;color:var(--color-text);margin:0 0 1.25rem}.onsen-detail-history{font-size:.97rem;line-height:1.9;color:var(--color-text-muted);margin:0;padding-left:1rem;border-left:3px solid var(--color-primary-light)}.onsen-detail-sidebar{display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:80px}.onsen-sidebar-card{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid var(--color-border)}.onsen-sidebar-card--highlight{background:linear-gradient(135deg,#fff9f0,#fff);border-color:var(--color-primary-light)}.onsen-sidebar-title{font-family:var(--font-heading);font-size:.95rem;color:var(--color-text);margin:0 0 1rem;padding-bottom:.6rem;border-bottom:2px solid var(--color-border);display:flex;align-items:center;gap:.4rem}.onsen-info-list{display:flex;flex-direction:column;gap:.75rem}.onsen-info-row{display:grid;grid-template-columns:72px 1fr;gap:.75rem;align-items:start}.onsen-info-label{font-size:.72rem;font-weight:600;color:var(--color-text-dim);letter-spacing:.04em;background:var(--color-bg);padding:.2rem .5rem;border-radius:var(--radius-sm);text-align:center;white-space:nowrap;margin-top:1px}.onsen-info-value{font-size:.88rem;color:var(--color-text);line-height:1.6}.onsen-effects{display:flex;flex-wrap:wrap;gap:.3rem}.effect-tag{font-size:.72rem;background:#f0f8f4;color:#2a7a50;padding:.15rem .5rem;border-radius:var(--radius-full);border:1px solid #c8e8d8}.onsen-available,.onsen-free{color:#1a7a40;font-weight:600}.diagnosis-banner-section{padding:var(--spacing-lg) 0 var(--spacing-sm)}.diagnosis-banner{background:var(--color-bg-alt);border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.diagnosis-banner-body{display:flex;align-items:center;gap:var(--spacing-md)}.diagnosis-icon{font-size:2.5rem;color:var(--color-primary);line-height:1;flex-shrink:0}.diagnosis-label{display:block;font-size:.7rem;color:var(--color-primary);font-weight:600;letter-spacing:.1em;margin-bottom:4px}.diagnosis-title{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-text);margin:0 0 4px}.diagnosis-desc{font-size:.78rem;color:var(--color-text-muted);margin:0}.diagnosis-btn{display:inline-block;background:var(--color-primary);color:#fff;padding:10px 22px;border-radius:var(--radius-full);font-weight:700;font-size:.85rem;text-decoration:none;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0}.diagnosis-btn:hover{background:var(--color-primary-dark);color:#fff}@media(max-width:640px){.diagnosis-banner{flex-direction:column;text-align:center;padding:var(--spacing-md)}.diagnosis-banner-body{flex-direction:column;text-align:center}.diagnosis-btn{width:100%;text-align:center}}.answer-box{background:var(--color-bg-alt);border:1px solid var(--color-border-hover);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);padding:1.5rem 1.75rem}.answer-box-title{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-primary-dark);margin:0 0 .75rem}.answer-box-lead{line-height:1.9;margin:0 0 1rem}.answer-box-table{width:100%;border-collapse:collapse;font-size:.92rem}.answer-box-table th,.answer-box-table td{text-align:left;vertical-align:top;padding:.55rem .5rem;border-top:1px solid var(--color-border);line-height:1.7}.answer-box-table th{width:7.5em;color:var(--color-text-muted);font-weight:500;white-space:nowrap}.answer-box-note{font-size:.8rem;color:var(--color-text-dim);margin:.75rem 0 0}.faq-section{margin-top:var(--spacing-md)}.faq-title{font-family:var(--font-heading);font-size:1.15rem;margin:0 0 .75rem}.faq-list{display:flex;flex-direction:column;gap:.6rem}.faq-item{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 1.1rem}.faq-q{cursor:pointer;font-weight:600;padding:.9rem 1.5rem .9rem 0;line-height:1.6;list-style:none;position:relative}.faq-q::-webkit-details-marker{display:none}.faq-q:before{content:"Q. ";color:var(--color-primary)}.faq-q:after{content:"+";position:absolute;right:0;top:.85rem;color:var(--color-primary)}.faq-item[open] .faq-q:after{content:"−"}.faq-a{margin:0;padding:0 0 1rem;line-height:1.85;color:var(--color-text)}.faq-a:before{content:"A. ";color:var(--color-primary-dark);font-weight:600}.section-answer{padding-top:var(--spacing-md);padding-bottom:0}@media(max-width:640px){.answer-box{padding:1.2rem 1.1rem}.answer-box-table th{width:5.5em;white-space:normal}}
