.hero{min-height:84vh;position:relative;display:flex;align-items:center;justify-content:center;color:white;text-align:center;overflow:hidden}.slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease-in-out}.slide.active{opacity:1}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2em}.overlay h1,.overlay p{color:#fff;text-align:center;word-wrap:break-word;overflow-wrap:break-word;max-width:90%}.overlay h1{font-size:2rem}.overlay p{font-size:1rem}@media (max-width:600px){.overlay h1{font-size:1.4rem}.overlay p{font-size:0.9rem}.overlay{padding:1em}}.hero h1{font-size:3.5em;margin-bottom:0.5em;font-weight:700;text-shadow:2px 2px 8px rgba(0,0,0,0.7);line-height:1.3}.hero p{font-size:1.5em;text-shadow:1px 1px 6px rgba(0,0,0,0.6);margin-bottom:1.5em}@media (max-width:768px){.hero h1{font-size:2.4em}.hero p{font-size:1.2em}}@media (max-width:480px){.hero h1{font-size:2em}.hero p{font-size:1em}}.greeting-section{background-color:#fcfaf8;padding:80px 0}.greeting-section .inner{display:flex;align-items:center;gap:40px;flex-wrap:wrap;max-width:1000px}.greeting-text{flex:1;min-width:300px}.greeting-text h2{font-size:2.5rem;margin-bottom:1.5rem;color:#4a3e36;text-align:left}.greeting-text p{font-size:1.05rem;line-height:1.8;color:#555;margin-bottom:1em}.greeting-text .okami{font-weight:700;margin-top:1.5em;font-size:1.1rem;color:#5A4E3C}.greeting-image{flex:1;min-width:300px;text-align:center}.greeting-image img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,0.1)}@media (max-width:768px){.greeting-section .inner{flex-direction:column;text-align:center}.greeting-text h2{text-align:center}}.concept-section .inner{max-width:100%}.concept-section{background-image:url('../img/bg/sansui.png');padding:60px 0;position:relative;overflow:hidden}.concept-grid{display:grid;grid-template-areas:"top-right" "middle-left" "text-center" "bottom";max-width:1000px;margin:0 auto;gap:40px;padding:0 20px}.image-top-right{grid-area:top-right;justify-self:end;width:100%;max-width:600px}.image-middle-left{grid-area:middle-left;justify-self:start;width:100%;max-width:400px}.concept-text-center{grid-area:text-center;text-align:center;font-size:16px;line-height:2;color:#333}.image-bottom{grid-area:bottom;justify-self:center;width:100%;max-width:700px}.concept-grid img{width:100%;height:auto;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.1)}@media (max-width:768px){.concept-grid{grid-template-areas:"top-right" "middle-left" "text-center" "bottom";gap:30px}.concept-text-center{font-size:15px;padding:0 10px}}.rooms-section{background-color:#f5f3ef;padding:80px 0}.rooms-section .room-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:40px}.rooms-section .room{background:#fff;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,0.1);overflow:hidden;transition:transform 0.3s ease,box-shadow 0.3s ease;text-align:center;padding-bottom:1.5em}.rooms-section .room:hover{transform:translateY(-5px);box-shadow:0 6px 20px rgba(0,0,0,0.15)}.rooms-section .room img{width:100%;height:220px;object-fit:cover;border-top-left-radius:8px;border-top-right-radius:8px;margin-bottom:1em}.rooms-section .room h3{font-size:1.35rem;color:#5A4E3C;margin-bottom:0.5em;padding:0 1em}.rooms-section .room p{font-size:0.95rem;color:#666;line-height:1.6;padding:0 1.5em}.cuisine-section{background-image:url('../img/bg/washi.jpg');padding:80px 20px}.cuisine-section .inner{max-width:100%}.cuisine-content{display:flex;flex-direction:row;gap:40px;flex-wrap:wrap;justify-content:center;align-items:flex-start;max-width:1400px;margin:0 auto}.cuisine-gallery{flex:1 1 600px}.main-image img{width:100%;height:auto;border-radius:10px;object-fit:cover;box-shadow:0 4px 16px rgba(0,0,0,0.1);margin-bottom:20px}.sub-images{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start}.sub-images img.thumb{width:100px;height:70px;object-fit:cover;border-radius:6px;cursor:pointer;transition:0.3s;border:2px solid transparent}.sub-images img.thumb:hover,.sub-images img.thumb.active{border-color:#b56943}.cuisine-text{flex:1 1 400px;font-size:16px;line-height:1.8;color:#333}.cuisine-text p{margin-bottom:20px}.btn{display:block;width:100%;max-width:320px;padding:12px;background:#b56943;color:#fff;border-radius:6px;text-align:center;text-decoration:none;transition:background 0.3s;box-sizing:border-box}.btn:hover{background:#8c4a2a}@media (max-width:768px){.cuisine-content{flex-direction:column}.sub-images{justify-content:center}}.onsen-section{background:linear-gradient(to bottom,#1b2735,#090a0f);background-image:url('../img/bg/yukei.png');background-repeat:repeat;background-size:cover;color:white;padding:80px 0;width:100vw;margin:0;box-sizing:border-box}.onsen-section h2,.onsen-section p{color:#ffffff}.onsen-section .inner{max-width:1200px;margin:0 auto;padding:0 20px}.onsen-section .main-image img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,0.15);margin-bottom:40px}.onsen-slider-wrapper{overflow:hidden;width:100%;padding:20px 0;position:relative;box-sizing:border-box}.onsen-slider{display:flex;animation:scrollOnsen 20s linear infinite;padding-bottom:15px}.onsen-slider img{width:300px;height:200px;object-fit:cover;margin-right:20px;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,0.1);flex-shrink:0}.onsen-slider-wrapper::-webkit-scrollbar{height:8px}.onsen-slider-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.onsen-slider-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.onsen-slider-wrapper::-webkit-scrollbar-thumb:hover{background:#555}@keyframes scrollOnsen{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.onsen-slider-wrapper:hover .onsen-slider{animation-play-state:paused}@media (max-width:768px){.onsen-slider{animation:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;justify-content:flex-start}.onsen-slider img{scroll-snap-align:start}.onsen-slider-wrapper{overflow-x:auto}}.footer{font-family:'Noto Serif JP',"Yu Mincho",serif;color:#333;background:#fff;padding:60px 20px 30px;text-align:center}.footer-top{margin-bottom:40px}.footer-logo p{font-weight:500;font-size:1.2rem;line-height:1.8;margin-bottom:20px;letter-spacing:0.03em}.footer-logo ruby rt{font-size:0.7rem}.ryokan-name{font-family:'Noto Serif JP',"Yu Mincho",serif;font-size:2.2rem;font-weight:700;display:inline-block;margin:15px 0;color:#4a3e36}.ryokan-name ruby rt{font-size:0.8rem}.footer .tel{font-size:1.4rem;font-weight:700;margin-top:15px;display:block;color:#5A4E3C}.footer-links{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:40px;margin-bottom:50px;padding:0 20px;text-align:left}.footer-col{min-width:150px;flex:1;max-width:250px}.footer-col h4{border-bottom:2px solid #ddd;padding-bottom:10px;margin-bottom:15px;font-weight:600;font-size:1.15rem;color:#4a3e36}.footer-col ul{list-style:none;padding-left:0;margin:0}.footer-col ul li{position:relative;padding-left:18px;margin-bottom:10px;color:#666;font-size:0.95rem;line-height:1.6}.footer-col ul li::before{content:"・";position:absolute;left:0;color:#a7b79a;font-size:1.2em;line-height:1}.footer-col ul li a{color:#666;transition:color 0.3s ease}.footer-col ul li a:hover{color:#5A4E3C;text-decoration:underline}.footer-bottom{font-size:0.8rem;color:#999;border-top:1px solid #eee;padding-top:20px;margin-top:30px;text-align:center}@media (max-width:768px){.footer-links{flex-direction:column;align-items:center;gap:30px}.footer-col{min-width:unset;max-width:100%;width:80%}.footer-col h4{text-align:center}.footer-col ul{text-align:center}.footer-col ul li{padding-left:0}.footer-col ul li::before{display:none}}.fixed-footer{position:fixed;bottom:0;left:0;width:100%;background:rgba(90,78,60,0.95);backdrop-filter:blur(4px);display:flex;justify-content:space-around;align-items:center;padding:0.8em 0.5em;z-index:1000;box-shadow:0 -3px 10px rgba(0,0,0,0.25);font-family:'Yu Gothic','游ゴシック体',sans-serif;transition:transform 0.4s ease-out,opacity 0.4s ease-out}.fixed-footer.hidden{transform:translateY(100%);opacity:0;pointer-events:none}.fixed-footer a{text-decoration:none;color:#fff;text-align:center;flex:1;padding:0.8em 0;transition:background-color 0.3s ease;border-right:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center}.fixed-footer a:last-child{border-right:none}.fixed-footer a:hover{background-color:rgba(255,255,255,0.15)}.fixed-footer .label{font-size:0.95em;letter-spacing:0.05em}@media (max-width:768px){.fixed-footer .label{font-size:0.85em}}@media (min-width:769px){.d-md-none{display:none !important}.w-md-50{width:50% !important}.rounded-md-start{border-top-left-radius:0.5rem !important;border-bottom-left-radius:0.5rem !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-md-end{border-top-right-radius:0.5rem !important;border-bottom-right-radius:0.5rem !important;border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}}.rooms-section{width:100vw;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;padding:2rem;box-sizing:border-box}.room-box{position:relative;overflow:hidden;aspect-ratio:4/3}.room-box img{width:100%;height:100%;object-fit:cover;transition:filter 0.4s ease,transform 0.4s ease}.room-box:hover img{filter:blur(4px) brightness(0.7);transform:scale(1.05)}.room-title-overlay{position:absolute;top:20px;left:20px;color:white;font-size:1.5em;writing-mode:vertical-rl;text-shadow:1px 1px 4px black;z-index:2}.room-buttons{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;opacity:0;transition:opacity 0.5s ease;z-index:3}.room-box:hover .room-buttons{opacity:1}.room-btn{background-color:rgba(0,0,0,0.7);color:white;padding:10px 20px;border-radius:8px;text-decoration:none;font-weight:bold}.room-btn:hover{background-color:rgba(255,255,255,0.2)}@media (max-width:768px){.rooms-section{grid-template-columns:1fr}}body{margin:0;font-family:'Noto Serif JP','Yu Mincho',serif;background-color:#FAF9F7;color:#333;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-weight:500;color:#5A4E3C;margin-bottom:0.5em;font-family:'Noto Serif JP','Yu Mincho',serif;line-height:1.3}h1{color:#fff;font-weight:700}a{color:#5A4E3C;text-decoration:none;transition:color 0.3s ease}a:hover{color:#7A6955}.btn{display:inline-block;background-color:#5A4E3C;color:white;padding:0.8em 1.8em;border-radius:4px;margin-top:1em;transition:background-color 0.3s ease,transform 0.2s ease,box-shadow 0.3s ease;text-align:center;border:none;cursor:pointer;font-weight:600;font-size:1rem}.btn:hover{background-color:#7A6955;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,0.2)}.inner{max-width:1100px;margin:0 auto;padding:0 1.5rem}.section-padding{padding:80px 0}.section-title{font-size:clamp(1.8rem,5vw,2.8rem);margin-bottom:1rem;text-align:center;color:#4a3e36}.section-subtitle{font-size:1.25rem;color:#666;text-align:center;margin-bottom:2rem;line-height:1.6}.section-description{font-size:1.05rem;color:#444;text-align:center;margin-bottom:3rem;line-height:1.7}.text-white{color:#fff}.text-center{text-align:center}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-center{justify-content:center}.py-5{padding-top:3rem;padding-bottom:3rem}.px-3{padding-left:1rem;padding-right:1rem}.mb-5{margin-bottom:3rem}.fw-bold{font-weight:700}.display-4{font-size:calc(1.425rem + 2.1vw)}.display-5{font-size:calc(1.325rem + 0.9vw)}.fs-5{font-size:1.25rem}.lead{font-size:1.25rem;font-weight:300}.w-100{width:100%}.w-md-50{width:50%}.rounded{border-radius:0.5rem}.rounded-top{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.rounded-bottom{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.rounded-md-start{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0;border-bottom-right-radius:0}.rounded-md-end{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0;border-bottom-left-radius:0}.gap-4{gap:1.5rem}.mb-3{margin-bottom:1rem}.mt-3{margin-top:1rem}.small{font-size:0.875em}.text-muted{color:#6c757d}.flex-column{flex-direction:column}.flex-md-row{flex-direction:row}.flex-md-row-reverse{flex-direction:row-reverse}.align-items-stretch{align-items:stretch}.justify-content-center{justify-content:center}.d-md-none{display:none}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,.15)!important}.p-4{padding:1.5rem}.bg-light{background-color:#f8f9fa!important}.bg-white{background-color:#fff!important}.btn-outline-dark{color:#5A4E3C;border:1px solid #5A4E3C;background-color:transparent}.btn-outline-dark:hover{color:#fff;background-color:#5A4E3C}.navibar{background-color:#5A4E3C;color:white;padding:0.8em 0;box-shadow:0 2px 8px rgba(0,0,0,0.25);position:sticky;top:0;z-index:999}.navi-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1.5em}.logo{display:flex;align-items:center;margin-right:auto}.logo img{height:48px;width:auto;display:block}.menu-icon{display:none;font-size:2em;cursor:pointer;color:white;line-height:1;transition:transform 0.3s ease;margin-left:1em}#menu-toggle{display:none}.nav-links{list-style:none;display:flex;gap:2em;margin:0;padding:0}.nav-links li a{color:white;text-decoration:none;font-weight:bold;padding:0.5em 0;position:relative;transition:color 0.3s ease}.nav-links li a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background-color:white;transition:width 0.3s ease}.nav-links li a:hover::after{width:100%}@media (max-width:768px){.menu-icon{display:block;margin-left:auto}.nav-links{flex-direction:column;background-color:#5A4E3C;position:absolute;top:100%;left:0;width:100%;max-height:0;overflow:hidden;transition:max-height 0.4s ease-in-out;box-shadow:0 5px 10px rgba(0,0,0,0.1)}#menu-toggle:checked + .menu-icon + .nav-links{max-height:500px}.nav-links li{text-align:center;padding:0.8em 0;border-top:1px solid rgba(255,255,255,0.1)}.nav-links li:first-child{border-top:none}.logo img{height:42px}.nav-container{padding:0.8em 1em}}.reservation-section{background:#f5f3ef;padding:80px 0}.reservation-section .inner{max-width:1000px;margin:0 auto;padding:0 20px}.reservation-content{display:flex;gap:50px;align-items:flex-start;margin-bottom:50px}.map-wrapper{flex:1 1 55%;border-radius:12px;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,0.1)}.map-wrapper iframe{width:100%;height:350px;border:0;filter:grayscale(80%) contrast(110%)}.access-text{flex:1 1 45%;font-size:1.05rem;line-height:1.8;color:#444;font-family:'Noto Serif JP','Yu Gothic',serif;text-align:left}.access-text p{margin-bottom:1em}.reservation-section .address,.reservation-section .tel{font-size:1.2rem;color:#555;margin-bottom:0.8em;font-weight:500}.reservation-section .tel a{color:#5A4E3C;text-decoration:underline}.reservation-section .tel a:hover{color:#7A6955}.reservation-section .btn{margin-top:2rem;padding:14px 35px;background:#a0522d;color:white;font-size:1.1rem;border-radius:50px;box-shadow:0 6px 15px rgba(0,0,0,0.15);transition:background 0.3s ease,transform 0.2s ease}.reservation-section .btn:hover{background:#874421;transform:translateY(-3px)}@media (max-width:768px){.reservation-section .inner{max-width:100%;padding:0 10px}.reservation-section .section-title{font-size:2.2rem}.reservation-content{flex-direction:column;gap:20px;width:100%}.map-wrapper,.access-text{flex:1 1 100%;width:100%}.map-wrapper iframe{width:100%;height:300px}.access-text{text-align:center;font-size:0.95rem;line-height:1.6;padding:0 5px}.access-text .btn{display:inline-block;margin-top:15px}.reservation-section .btn{width:90%;max-width:400px;margin:20px auto 0;display:block}}.slide img{width:100%;height:100%;object-fit:cover;display:block}@media(min-width:769px){.greeting-section,.concept-section,.rooms-section,.cuisine-section,.onsen-section,.map-section,.footer{content-visibility:auto;contain-intrinsic-size:1px 900px}}.legal-page{max-width:900px;margin:0 auto;padding:72px 24px}.legal-page h1{color:#4a3e36}.legal-page h2{margin-top:2em}.legal-page dl{display:grid;grid-template-columns:10em 1fr;gap:.75em 1.5em}.legal-page dt{font-weight:700}.legal-page dd{margin:0}@media(max-width:600px){.legal-page dl{display:block}.legal-page dd{margin:0 0 1em}}.home-faq{background:#fcfaf8;padding:88px 0}.home-faq .section-title{margin:0 0 2.25rem}.home-faq-card{width:min(820px,calc(100% - 48px));margin:0 auto;padding:12px 38px 34px;background:#fff;border:1px solid #e3ddd5;border-radius:10px;box-shadow:0 12px 35px rgba(74,62,54,.08);box-sizing:border-box}.home-faq-list{width:100%;margin:0}.home-faq details{border-bottom:1px solid #ded7ce}.home-faq details:last-child{border-bottom:0}.home-faq summary{position:relative;display:block;padding:20px 48px 20px 4px;cursor:pointer;font-weight:700;color:#4a3e36;line-height:1.65;list-style:none}.home-faq summary::-webkit-details-marker{display:none}.home-faq summary:after{content:"＋";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:400;color:#806c51}.home-faq details[open] summary:after{content:"−"}.home-faq details p{margin:-2px 4px 20px;padding:0 44px 0 0;color:#555;line-height:1.9}.home-faq-more{text-align:center;margin:30px 0 0}.home-faq-more .btn{min-width:300px;margin:0}@media(max-width:600px){.home-faq{padding:64px 0}.home-faq .section-title{margin-bottom:1.5rem}.home-faq-card{width:calc(100% - 32px);padding:6px 20px 26px}.home-faq summary{padding:17px 38px 17px 0}.home-faq summary:after{right:0}.home-faq details p{margin:0 0 18px;padding:0}.home-faq-more{margin-top:24px}.home-faq-more .btn{min-width:0;width:100%;box-sizing:border-box}}.content-credits{text-align:center;padding:1rem 1.5rem;color:#eee;background:#4a4032;font-size:.85rem}.content-credits p{margin:.25rem}.content-credits a{color:#fff;text-decoration:underline}