.text-hero{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-weight:300;line-height:1.25;color:#fffffff2;font-size:3rem}@media (max-width: 768px){.text-hero{font-size:2.25rem}}@media (max-width: 640px){.text-hero{font-size:1.875rem}}.text-page-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-weight:300;line-height:1.25;color:#fffffff2;font-size:2.25rem}@media (max-width: 768px){.text-page-title{font-size:1.875rem}}@media (max-width: 640px){.text-page-title{font-size:1.5rem}}.text-section-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-weight:400;line-height:1.375;color:#fffffff2;font-size:1.875rem}@media (max-width: 768px){.text-section-title{font-size:1.5rem}}@media (max-width: 640px){.text-section-title{font-size:1.25rem}}.text-card-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-weight:400;line-height:1.375;color:#fffffff2;font-size:1.25rem}@media (max-width: 640px){.text-card-title{font-size:1.125rem}}body{background-color:#000;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes scaleIn{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:transparent;border-bottom:none;transition:all .3s ease;padding:1rem 0}.header.scrolled{background:#0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.header{padding:.3rem 0}}.header__container{max-width:1200px;margin:0 auto;padding:0 4rem;display:flex;justify-content:space-between;align-items:center;height:60px;gap:2rem;position:relative}@media (max-width: 1024px){.header__container{padding:0 2rem}}@media (max-width: 768px){.header__container{padding:0 1.5rem;justify-content:center}}.header__logo{transform:translateY(3px)}.header__logo svg{height:42px;width:auto}@media (max-width: 768px){.header__logo svg{height:40px}}.header__nav{display:flex;align-items:center;justify-content:center;gap:3rem}@media (max-width: 768px){.header__nav{display:none}}.header__nav-list{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.header__nav-link{color:#fffc;text-decoration:none;font-size:.95rem;font-weight:400;letter-spacing:.02em;transition:all .3s ease;position:relative}.header__nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:linear-gradient(90deg,#c8956d,#d4a574);transition:width .3s ease}.header__nav-link:hover{color:#c8956d;transform:translateY(-2px)}.header__nav-link:hover:after{width:100%}.header__cta{background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;padding:.8rem 2rem;border:none;text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.02em;transition:all .3s ease;justify-self:end}.header__cta:hover:not(:disabled){transition:all .3s ease}.header__cta:hover:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}@media (max-width: 768px){.header__cta{display:none}}.header__mobile-toggle{display:none;background:#0000001a;border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;padding:0;position:fixed;right:1.5rem;z-index:10000;width:40px;height:40px;transition:all .3s ease}@media (max-width: 768px){.header__mobile-toggle{display:flex;align-items:center;justify-content:center}}.header__mobile-toggle:hover{background:#d4a5741a;border-color:#d4a5744d}.header__mobile-toggle:hover .header__mobile-toggle-icon span{background:#d4a574}.header__mobile-toggle-icon{position:relative;width:20px;height:16px;transition:.3s ease-in-out}.header__mobile-toggle-icon span{display:block;position:absolute;height:2px;width:100%;background:#d4a574cc;border-radius:1px;opacity:1;left:0;transform:rotate(0);transition:.3s ease-in-out}.header__mobile-toggle-icon span:nth-child(1){top:0}.header__mobile-toggle-icon span:nth-child(2),.header__mobile-toggle-icon span:nth-child(3){top:7px}.header__mobile-toggle-icon span:nth-child(4){top:14px}.header__mobile-toggle.active{background:#d4a57426;border-color:#d4a57466}.header__mobile-toggle.active .header__mobile-toggle-icon span{background:#d4a574}.header__mobile-toggle.active .header__mobile-toggle-icon span:nth-child(1){top:7px;width:0%;left:50%}.header__mobile-toggle.active .header__mobile-toggle-icon span:nth-child(2){transform:rotate(45deg)}.header__mobile-toggle.active .header__mobile-toggle-icon span:nth-child(3){transform:rotate(-45deg)}.header__mobile-toggle.active .header__mobile-toggle-icon span:nth-child(4){top:7px;width:0%;left:50%}.header__mobile-nav{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(180deg,#0a0715fa,#000000f2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:9999;overflow:hidden}.header__mobile-nav.active{display:flex;flex-direction:column;justify-content:center;align-items:center;animation:fadeIn .4s ease}.header__mobile-nav-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.header__mobile-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2.5rem;margin-bottom:3rem}.header__mobile-nav-item{position:relative}.header__mobile-nav-item:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,transparent,#d4a574,transparent);transition:width .3s ease}.header__mobile-nav-item:hover:after{width:100%}.header__mobile-nav-link{color:#fffc;text-decoration:none;font-size:1.1rem;font-weight:400;letter-spacing:.02em;transition:all .3s ease;position:relative}.header__mobile-nav-link:hover{color:#d4a574}.header__mobile-nav-cta{margin-top:1rem;position:relative}.header__mobile-nav-cta:before{content:"";position:absolute;top:-1.5rem;left:50%;transform:translate(-50%);width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,165,116,.5),transparent)}.header__mobile-nav-cta-link{display:inline-block;background:linear-gradient(135deg,#d4a574,#c8956d);color:#000000e6;padding:1rem 2rem;border:1px solid #d4a574;text-decoration:none;font-size:1rem;font-weight:500;letter-spacing:.02em;transition:all .3s ease}.header__mobile-nav-cta-link:hover{background:linear-gradient(135deg,#e0be9b,#d6b092);transform:translateY(-2px);box-shadow:0 8px 25px #d4a57466;border-color:#e0be9b}.hero{width:100vw;height:100lvh;background:url(/build/assets/hero-DzYMLCJc.webp) center center/cover no-repeat;z-index:0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;z-index:10}.hero__stars{position:absolute;top:0;right:0;bottom:0;left:0;z-index:11}.hero__trees{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;background:url(/build/assets/tree-Itzrf2G8.png) center bottom/contain no-repeat;animation:scaleIn 1s ease-out .5s both}@media (min-width: 769px){.hero__trees{background:url(/build/assets/tree-Itzrf2G8.png) center top/cover no-repeat}}.hero__content-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px}.hero__subtitle,.hero__description{font-size:clamp(.6875rem,.6rem + .4vw,.875rem);letter-spacing:.2em;color:#d4a574;text-align:center;word-break:keep-all;line-height:1.4;opacity:0;animation:fadeInUp 1.2s ease-out .3s both}.hero__title{font-size:clamp(1.5rem,3vw + 1rem,3rem);line-height:1.4;color:#fff;text-align:center;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;text-shadow:0 2px 20px rgba(0,0,0,.3);opacity:0;animation:fadeInUp 1.2s ease-out .6s both}.hero__description{animation-delay:.9s}.hero__cta{display:flex;padding:16px 32px;background:#ffffff1a;box-shadow:0 4px 30px #0000001a;backdrop-filter:blur(5.3px);-webkit-backdrop-filter:blur(5.3px);border:1px solid rgba(255,255,255,.25);color:#fff;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;margin-top:32px;opacity:0;animation:fadeInUp 1.2s ease-out 1.2s both}@media (min-width: 769px){.hero__cta{padding:24px 56px}}.hero__cta:hover{background:#ffffff26;border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 40px #00000026,0 0 20px #ffffff1a;transition:all .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero__cta:hover:hover{transform:translateY(-2px) scale(1.02)}.hero__cta:active{transform:translateY(0) scale(1);transition:all .1s ease}.property-details{padding:8rem 0}@media (max-width: 768px){.property-details{padding:4rem 0}}.property-details__container{max-width:1000px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.property-details__container{padding:0 2rem}}@media (max-width: 768px){.property-details__container{padding:0 1.5rem}}.property-details__title{font-size:2.4rem;font-weight:400;text-align:center;margin-bottom:5rem;letter-spacing:.08em;position:relative;margin-top:0;color:#fff}.property-details__title:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,#c8956d,transparent)}@media (max-width: 768px){.property-details__title{font-size:1.4rem;margin-bottom:2.5rem;letter-spacing:.05em}}.property-details__subtitle{display:block;font-size:.9rem;font-weight:400;letter-spacing:.15em;color:#d4a574cc;text-transform:uppercase;font-family:Cormorant Garamond,serif;margin-bottom:.8rem}.property-details__description{font-size:1.2rem;color:#fffc;text-align:center;line-height:1.6;letter-spacing:.05em;font-style:italic;word-break:keep-all}@media (max-width: 768px){.property-details__description{font-size:.9rem;line-height:1.4}}.facilities{padding:8rem 0;background:linear-gradient(180deg,#0a071566,#1f1c3533)}@media (max-width: 768px){.facilities{padding:4rem 0}}.facilities__container{max-width:1200px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.facilities__container{padding:0 2rem}}@media (max-width: 768px){.facilities__container{padding:0 1.5rem}}.facilities__title{font-size:2.4rem;font-weight:400;text-align:center;letter-spacing:.08em;position:relative;margin-top:0;color:#fff;margin-bottom:4rem}.facilities__title:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,#c8956d,transparent)}@media (max-width: 768px){.facilities__title{font-size:1.4rem;margin-bottom:2.5rem;letter-spacing:.05em}}.facilities__subtitle{display:block;font-size:.9rem;font-weight:400;letter-spacing:.15em;color:#d4a574cc;text-transform:uppercase;font-family:Cormorant Garamond,serif;margin-bottom:.8rem}.facilities__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1000px;margin-inline:auto}@media (max-width: 768px){.facilities__grid{grid-template-columns:1fr;gap:1.2rem}}.facilities__card{background:#ffffff08;border:1px solid rgba(212,165,116,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem}.facilities__card:hover{background:#ffffff0d;border-color:#d4a57433}.facilities__card-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.3rem;font-weight:400;color:#d4a574;margin-bottom:1.5rem;text-align:center;letter-spacing:.05em;position:relative}.facilities__card-list{list-style:none;padding:0;margin:0}.facilities__card-item{display:flex;align-items:center;padding:.6rem 0;font-size:.95rem;color:#fffc;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.05);transition:color .3s ease}.facilities__card-item:last-child{border-bottom:none}.facilities__card-item:hover{color:#e8d4b0e6}.facilities__card-bullet{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#d4a574,#e8d4b0);margin-right:1rem;flex-shrink:0;box-shadow:0 0 6px #d4a57466}.house-rules{padding:8rem 0;background:linear-gradient(180deg,#1f1c354d,#0a071580)}@media (max-width: 768px){.house-rules{padding:4rem 0}}.house-rules__container{max-width:1200px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.house-rules__container{padding:0 2rem}}@media (max-width: 768px){.house-rules__container{padding:0 1.5rem}}.house-rules__title{font-size:2.4rem;font-weight:400;text-align:center;letter-spacing:.08em;position:relative;margin-top:0;color:#fff;margin-bottom:4rem}.house-rules__title:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,#c8956d,transparent)}@media (max-width: 768px){.house-rules__title{font-size:1.4rem;margin-bottom:2.5rem;letter-spacing:.05em}}.house-rules__subtitle{display:block;font-size:.9rem;font-weight:400;letter-spacing:.15em;color:#d4a574cc;text-transform:uppercase;font-family:Cormorant Garamond,serif;margin-bottom:.8rem}.house-rules__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1000px;margin-inline:auto}@media (max-width: 768px){.house-rules__grid{grid-template-columns:1fr;gap:1.2rem}}.house-rules__card{background:#ffffff08;border:1px solid rgba(212,165,116,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem;text-align:center}.house-rules__card:hover{background:#ffffff0d;border-color:#d4a57433}.house-rules__card-icon{display:block;width:48px;height:48px;margin:0 auto 1.5rem;color:#d4a574;opacity:.8}.house-rules__card-icon svg{width:100%;height:100%}.house-rules__card-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.2rem;font-weight:400;color:#d4a574;margin-bottom:1rem;letter-spacing:.03em}.house-rules__card-description{font-size:.9rem;color:#ffffffbf;line-height:1.6;letter-spacing:.02em;white-space:pre-line}.gallery-slider{width:100vw}.gallery-slider__container{width:100%;margin:0;padding:0}.slick-gallery .gallery-item{padding:0 4px}.slick-gallery .gallery-item a{display:block;overflow:hidden;position:relative;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.slick-gallery .gallery-item a:hover{transition:all .3s ease;transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.slick-gallery .gallery-item a:hover:hover{transform:translateY(-2px) scale(1.02)}.slick-gallery .gallery-item img{width:100%;height:280px;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .3s ease}@media (max-width: 768px){.slick-gallery .gallery-item img{height:200px}}.slick-gallery .slick-dots{bottom:-50px}.slick-gallery .slick-dots li button:before{color:#d4a57480;font-size:12px}.slick-gallery .slick-dots li.slick-active button:before{color:#d4a574}.slick-gallery .slick-prev,.slick-gallery .slick-next{width:40px;height:40px;z-index:2}.slick-gallery .slick-prev:before,.slick-gallery .slick-next:before{font-size:20px;color:#d4a574cc}.slick-gallery .slick-prev:hover:before,.slick-gallery .slick-next:hover:before{color:#d4a574}.slick-gallery .slick-prev{left:-50px}.slick-gallery .slick-next{right:-50px}.tourist-spots{padding:8rem 0;background:linear-gradient(180deg,#0a07154d,#1f1c3566)}@media (max-width: 768px){.tourist-spots{padding:4rem 0}}.tourist-spots__container{max-width:1200px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.tourist-spots__container{padding:0 2rem}}@media (max-width: 768px){.tourist-spots__container{padding:0 1.5rem}}.tourist-spots__title{font-size:2.4rem;font-weight:400;text-align:center;letter-spacing:.08em;position:relative;margin-top:0;color:#fff;margin-bottom:4rem}.tourist-spots__title:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,#c8956d,transparent)}@media (max-width: 768px){.tourist-spots__title{font-size:1.4rem;margin-bottom:2.5rem;letter-spacing:.05em}}.tourist-spots__subtitle{display:block;font-size:.9rem;font-weight:400;letter-spacing:.15em;color:#d4a574cc;text-transform:uppercase;font-family:Cormorant Garamond,serif;margin-bottom:.8rem}.tourist-spots__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}@media (max-width: 768px){.tourist-spots__grid{grid-template-columns:1fr;gap:1.5rem}}.tourist-spots__card{background:#ffffff08;border:1px solid rgba(212,165,116,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;overflow:hidden}.tourist-spots__card:hover{background:#ffffff0d;border-color:#d4a57433}.tourist-spots__card-image{width:100%;height:200px;overflow:hidden;position:relative;background:#0000004d}.tourist-spots__card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.tourist-spots__card-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.5) 100%);pointer-events:none}.tourist-spots__card-content{padding:1.5rem;text-align:center}.tourist-spots__card-name{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.2rem;font-weight:400;color:#e8d4b0f2;margin-bottom:.5rem;letter-spacing:.03em}.tourist-spots__card-distance{font-size:.85rem;color:#d4a574b3;letter-spacing:.02em}.map{padding:8rem 0;background:linear-gradient(180deg,#1f1c3533,#0a071566)}@media (max-width: 768px){.map{padding:4rem 0}}.map__container{max-width:1200px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.map__container{padding:0 2rem}}@media (max-width: 768px){.map__container{padding:0 1.5rem}}.map__title{font-size:2.4rem;font-weight:400;text-align:center;letter-spacing:.08em;position:relative;margin-top:0;color:#fff;margin-bottom:4rem}.map__title:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,#c8956d,transparent)}@media (max-width: 768px){.map__title{font-size:1.4rem;margin-bottom:2.5rem;letter-spacing:.05em}}.map__subtitle{display:block;font-size:.9rem;font-weight:400;letter-spacing:.15em;color:#d4a574cc;text-transform:uppercase;font-family:Cormorant Garamond,serif;margin-bottom:.8rem}.map__content{display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 1024px){.map__content{grid-template-columns:1.5fr 1fr;gap:4rem}}.map__frame{width:100%;height:400px;border-radius:0;overflow:hidden;box-shadow:0 10px 30px #0000004d;border:1px solid rgba(212,165,116,.1)}@media (min-width: 768px){.map__frame{height:500px}}.map__frame iframe{width:100%;height:100%;border:0;filter:grayscale(.3) brightness(.9);transition:filter .3s ease}.map__frame iframe:hover{filter:grayscale(0) brightness(1)}.map__info-wrapper{display:flex;align-items:center}.map__info{width:100%}.map__info-section{background:#ffffff08;border:1px solid rgba(212,165,116,.1);padding:2rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;margin-bottom:2rem}.map__info-section:hover{background:#ffffff0d;border-color:#d4a57433;transform:translateY(-2px)}.map__info-section:last-child{margin-bottom:0}.map__info-section h4{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.1rem;font-weight:400;color:#d4a574;margin-bottom:1.2rem;letter-spacing:.05em;position:relative}.map__address{font-size:1rem;color:#ffffffd9;line-height:1.8;letter-spacing:.02em}.map__access-list{list-style:none;padding:0;margin:0}.map__access-item{display:flex;align-items:center;padding:.6rem 0;font-size:.95rem;color:#fffc;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.05);transition:color .3s ease}.map__access-item:last-child{border-bottom:none}.map__access-item:hover{color:#e8d4b0e6}.map__access-item:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#d4a574,#e8d4b0);margin-right:1rem;flex-shrink:0;box-shadow:0 0 6px #d4a57466}.faq{padding:8rem 0;background:linear-gradient(180deg,#0a071580,#1f1c354d)}@media (max-width: 768px){.faq{padding:4rem 0}}.faq__container{max-width:1000px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.faq__container{padding:0 2rem}}@media (max-width: 768px){.faq__container{padding:0 1.5rem}}.faq__title{font-size:2.4rem;font-weight:400;text-align:center;letter-spacing:.08em;position:relative;margin-top:0;color:#fff;margin-bottom:4rem}.faq__title:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,#c8956d,transparent)}@media (max-width: 768px){.faq__title{font-size:1.4rem;margin-bottom:2.5rem;letter-spacing:.05em}}.faq__subtitle{display:block;font-size:.9rem;font-weight:400;letter-spacing:.15em;color:#d4a574cc;text-transform:uppercase;font-family:Cormorant Garamond,serif;margin-bottom:.8rem}.faq__list{display:flex;flex-direction:column;gap:1rem}.faq__item{background:#ffffff08;border:1px solid rgba(212,165,116,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;overflow:hidden}.faq__item:hover{background:#ffffff0d;border-color:#d4a57433}.faq__item.active .faq__answer{display:flex;align-items:center;max-height:200px;padding:1.5rem 2rem;opacity:1}.faq__item.active .faq__toggle svg{transform:rotate(180deg)}.faq__question{display:flex;align-items:center;padding:1.5rem 2rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .3s ease}.faq__question:hover{background:#d4a57408}.faq__question-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;border-radius:50%;font-weight:600;font-size:.9rem;margin-right:1.5rem;flex-shrink:0;box-shadow:0 0 10px #d4a5744d}.faq__question-text{flex:1;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.1rem;font-weight:400;color:#ffffffe6;letter-spacing:.02em;line-height:1.4}.faq__toggle{display:flex;align-items:center;color:#d4a574b3;transition:all .3s ease}.faq__toggle svg{transition:transform .3s ease}.faq__answer{max-height:0;padding:0 2rem;opacity:0;overflow:hidden;transition:all .3s ease;background:#0000001a;border-top:1px solid rgba(255,255,255,.03)}.faq__answer-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#d4a5741a;color:#d4a574;border:1px solid rgba(212,165,116,.2);border-radius:50%;font-weight:600;font-size:.9rem;margin-right:1.5rem;flex-shrink:0;float:left;margin-top:.2rem}.faq__answer-text{font-size:1rem;color:#fffc;line-height:1.7;letter-spacing:.02em}.reservation{padding:8rem 0;background:linear-gradient(180deg,#1f1c3566,#0a071599)}@media (max-width: 768px){.reservation{padding:4rem 0}}.reservation__container{max-width:1200px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.reservation__container{padding:0 2rem}}@media (max-width: 768px){.reservation__container{padding:0 1.5rem}}.reservation__title{font-size:2.4rem;font-weight:400;text-align:center;letter-spacing:.08em;position:relative;margin-top:0;color:#fff;margin-bottom:4rem}.reservation__title:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,#c8956d,transparent)}@media (max-width: 768px){.reservation__title{font-size:1.4rem;margin-bottom:2.5rem;letter-spacing:.05em}}.reservation__subtitle{display:block;font-size:.9rem;font-weight:400;letter-spacing:.15em;color:#d4a574cc;text-transform:uppercase;font-family:Cormorant Garamond,serif;margin-bottom:.8rem}.reservation__main-card{background:#ffffff08;border:1px solid rgba(212,165,116,.1);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:3rem;border-radius:0;transition:all .3s ease;position:relative}.reservation__main-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d4a574,transparent)}.reservation__main-card:hover{background:#ffffff0d;border-color:#d4a57433;box-shadow:0 20px 60px #0000004d;transform:translateY(-2px)}@media (max-width: 768px){.reservation__main-card{padding:1rem}}.reservation__content{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start}@media (min-width: 1024px){.reservation__content{grid-template-columns:2fr 1fr;gap:4rem}}.reservation__left-panel{display:flex;flex-direction:column;gap:2.5rem}.reservation__right-panel{position:sticky;top:130px;height:-moz-fit-content;height:fit-content;align-self:start}.reservation__section-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.3rem;font-weight:400;color:#d4a574;margin-bottom:2rem;letter-spacing:.03em;position:relative;padding-bottom:1rem}.reservation__section-title:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:2px;background:linear-gradient(90deg,#d4a574,#d4a5744d)}.reservation__calendar-section{padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08)}.reservation__calendar-container{padding:1rem 0}.reservation__calendar{display:flex;flex-direction:column;width:100%;max-width:100%}.reservation__calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.4rem;color:#d4a574;font-weight:400;letter-spacing:.05em;position:relative}.reservation__calendar-header .reservation__calendar-prev{position:absolute;left:7.1428571429%;transform:translate(-50%)}.reservation__calendar-header .reservation__calendar-month{flex:1;text-align:center}.reservation__calendar-header .reservation__calendar-next{position:absolute;right:7.1428571429%;transform:translate(50%)}.reservation__calendar-header button{background:#ffffff0d;border:1px solid rgba(212,165,116,.2);color:#d4a574cc;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.reservation__calendar-header button:hover{background:#d4a5741a;border-color:#d4a57466;color:#d4a574}.reservation__calendar-header button svg{width:16px;height:16px}.reservation__calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;font-size:.85rem;color:#d4a574b3;text-align:center;margin-top:.5rem;margin-bottom:1rem;font-weight:500;letter-spacing:.05em}.reservation__calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;min-width:280px}@media (max-width: 768px){.reservation__calendar-grid{gap:0;min-width:300px}}.reservation__calendar-day{position:relative;aspect-ratio:1;background:transparent;border:none;color:#fffc;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.9rem;min-width:36px;min-height:36px}@media (max-width: 768px){.reservation__calendar-day{font-size:.8rem;min-width:32px;min-height:32px}}.reservation__calendar-day:hover{background:#d4a5741a;color:#fffffff2}.reservation__calendar-day.checkin{background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;font-weight:600}.reservation__calendar-day.checkin .reservation__calendar-day-price{color:#000000b3}.reservation__calendar-day.checkout{background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;font-weight:600}.reservation__calendar-day.checkout .reservation__calendar-day-price{color:#000000b3}.reservation__calendar-day.today{background:#d4a5740d;color:#ffffffd9}.reservation__calendar-day.today.checkin,.reservation__calendar-day.today.checkout{background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000}.reservation__calendar-day.unavailable{opacity:.3;background:transparent!important;cursor:not-allowed!important;color:#ffffff4d!important}.reservation__calendar-day.unavailable:hover{background:transparent!important;color:#ffffff4d!important;transform:none!important}.reservation__calendar-day.unavailable .reservation__calendar-day-price{display:none!important}.reservation__calendar-day.in-range{background:#d4a57433;color:#fffffff2}.reservation__calendar-day.disabled{opacity:.2;cursor:not-allowed;background:transparent!important;color:#fff3!important}.reservation__calendar-day.disabled:hover{background:transparent!important;color:#fff3!important;transform:none!important}.reservation__calendar-day.disabled .reservation__calendar-day-price{display:none!important}.reservation__calendar-day.other-month{opacity:.3;color:#fff6}.reservation__calendar-day-number{font-size:1rem;line-height:1;margin-bottom:2px}.reservation__calendar-day-price{font-size:.8rem;color:#ffffff80;line-height:1;font-weight:500;margin-top:8px}.reservation__calendar-day-icon{position:absolute;top:0;right:0;width:16px;height:16px}.reservation__calendar-day-empty{aspect-ratio:1}.reservation .calendar-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:#fff9;font-size:.9rem}.reservation .calendar-error{display:flex;align-items:center;justify-content:center;padding:3rem;color:#ff5757cc;font-size:.9rem;text-align:center;line-height:1.4}.reservation__inline-calendar{width:100%;max-width:650px}.reservation__inline-calendar .daterangepicker{position:static!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;margin:0;width:100%!important;max-width:none!important}.reservation__inline-calendar .daterangepicker:before,.reservation__inline-calendar .daterangepicker:after{display:none}.reservation__guest-buttons{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media (min-width: 1024px){.reservation__guest-buttons{grid-template-columns:repeat(4,1fr);gap:1.5rem}}.reservation__guest-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.2rem .8rem;background:#ffffff0d;border:1px solid rgba(212,165,116,.2);color:#fffc;cursor:pointer;transition:all .3s ease;font-size:1rem;letter-spacing:.02em;text-align:center;min-height:80px}@media (min-width: 1024px){.reservation__guest-button{flex-direction:row;padding:1.2rem 1.5rem;min-height:auto}}.reservation__guest-button:hover{background:#d4a5741a;border-color:#d4a57466;color:#ffffffe6}.reservation__guest-button.active{background:linear-gradient(135deg,#d4a574,#e8d4b0);border-color:#d4a574;color:#000}.reservation__guest-button.active svg{color:#000}.reservation__guest-button svg{width:16px;height:16px;color:#d4a574b3;transition:color .3s ease}.reservation__summary-card{background:#ffffff08;border:1px solid rgba(212,165,116,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem;height:-moz-fit-content;height:fit-content}.reservation__summary-card:hover{background:#ffffff0d;border-color:#d4a57433}.reservation__summary-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.2rem;font-weight:400;color:#d4a574;margin-bottom:1.5rem;letter-spacing:.03em;position:relative;padding-bottom:.8rem}.reservation__summary-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:1px;background:linear-gradient(90deg,#d4a574,transparent)}.reservation__summary-content{margin-bottom:2rem}.reservation__summary-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.reservation__summary-item:last-child{border-bottom:none;padding-bottom:0}.reservation__summary-value .price-loading{color:#fff9;font-size:.85rem}.reservation__summary-value .price-loading .loading-dots:after{content:"";animation:loading-dots 1.5s infinite}.reservation__summary-value .price-amount{font-weight:600;color:#d4a574}.reservation__summary-value .price-error{color:#ff5757cc}.reservation__summary-value.price-calculating{opacity:.8}.reservation__summary-value.price-loaded{animation:price-appear .6s ease-out;transform:scale(1.05)}.reservation__summary-label{font-size:.9rem;color:#ffffffb3;letter-spacing:.02em}.reservation__summary-value{font-size:.9rem;color:#ffffffe6;text-align:right;font-weight:500}.reservation__summary-value--pending{color:#d4a574;animation:pulse 1.5s infinite;font-weight:600}.reservation__submit-button{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;border:none;font-size:1rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.reservation__submit-button:hover:not(:disabled){transition:all .3s ease}.reservation__submit-button:hover:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}.reservation__submit-button:disabled{background:#ffffff1a;color:#fff6;cursor:not-allowed}.reservation__submit-button:disabled:hover{transform:none;box-shadow:none}.reservation__submit-button svg{width:20px;height:20px;transition:transform .3s ease}.reservation__submit-button:hover:not(:disabled) svg{transform:translate(2px)}.daterangepicker{background:#ffffff08!important;border:1px solid rgba(212,165,116,.1)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;color:#ffffffe6!important;font-family:Noto Sans JP,sans-serif!important;position:static!important;display:block!important;margin:0!important}.daterangepicker.show-calendar{opacity:1!important;visibility:visible!important}.daterangepicker .ranges{background:#ffffff08;border-right:1px solid rgba(212,165,116,.1)}.daterangepicker .ranges ul li{color:#fffc;font-size:.9rem}.daterangepicker .ranges ul li:hover{background:#d4a5741a;color:#ffffffe6}.daterangepicker .ranges ul li.active{background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000}.daterangepicker .drp-calendar .calendar-table{background:transparent}.daterangepicker .drp-calendar .calendar-table .table-condensed th,.daterangepicker .drp-calendar .calendar-table .table-condensed td{color:#fffc;border:none}.daterangepicker .drp-calendar .calendar-table .table-condensed th.available:hover,.daterangepicker .drp-calendar .calendar-table .table-condensed td.available:hover{background:#d4a57433;color:#fffffff2}.daterangepicker .drp-calendar .calendar-table .table-condensed th.start-date,.daterangepicker .drp-calendar .calendar-table .table-condensed th.end-date,.daterangepicker .drp-calendar .calendar-table .table-condensed th.in-range,.daterangepicker .drp-calendar .calendar-table .table-condensed td.start-date,.daterangepicker .drp-calendar .calendar-table .table-condensed td.end-date,.daterangepicker .drp-calendar .calendar-table .table-condensed td.in-range{background:#d4a5744d;color:#fff}.daterangepicker .drp-calendar .calendar-table .table-condensed th.start-date,.daterangepicker .drp-calendar .calendar-table .table-condensed th.end-date,.daterangepicker .drp-calendar .calendar-table .table-condensed td.start-date,.daterangepicker .drp-calendar .calendar-table .table-condensed td.end-date{background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;font-weight:600}.daterangepicker .drp-calendar .calendar-table .table-condensed th{color:#d4a574cc;font-weight:500}.daterangepicker .drp-calendar .calendar-table .table-condensed .month{color:#d4a574;font-weight:500}.daterangepicker .drp-calendar .calendar-table .table-condensed .prev,.daterangepicker .drp-calendar .calendar-table .table-condensed .next{color:#d4a574b3}.daterangepicker .drp-calendar .calendar-table .table-condensed .prev:hover,.daterangepicker .drp-calendar .calendar-table .table-condensed .next:hover{color:#d4a574}.daterangepicker .drp-buttons{border-top:1px solid rgba(212,165,116,.1);background:#ffffff08}.daterangepicker .drp-buttons .btn{background:#ffffff0d;border:1px solid rgba(212,165,116,.2);color:#fffc;font-size:.9rem;padding:.5rem 1rem}.daterangepicker .drp-buttons .btn:hover{background:#d4a5741a;border-color:#d4a5744d;color:#ffffffe6}.daterangepicker .drp-buttons .btn.applyBtn{background:linear-gradient(135deg,#d4a574,#e8d4b0);border-color:#d4a574;color:#000}.daterangepicker .drp-buttons .btn.applyBtn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #d4a5744d}.footer{padding:8rem 0;background:linear-gradient(180deg,#0a0715cc,#000000f2);position:relative}@media (max-width: 768px){.footer{padding:4rem 0}}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d4a574,transparent)}.footer__container{max-width:1200px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.footer__container{padding:0 2rem}}@media (max-width: 768px){.footer__container{padding:0 1.5rem}}.footer__content{display:grid;grid-template-columns:1fr;gap:3rem;margin-block-end:3rem}@media (min-width: 768px){.footer__content{grid-template-columns:1fr 1fr;gap:4rem}}@media (min-width: 1024px){.footer__content{grid-template-columns:1fr 2fr;gap:5rem}}.footer__brand{text-align:center}@media (min-width: 768px){.footer__brand{text-align:left}}.footer__logo{margin-bottom:2rem}.footer__logo img{height:120px;width:auto}@media (min-width: 768px){.footer__logo img{height:160px}}@media (min-width: 1024px){.footer__logo img{height:200px}}.footer__tagline{font-size:1rem;color:#ffffffb3;line-height:1.6;letter-spacing:.02em;margin:0;font-style:italic}@media (min-width: 768px){.footer__tagline{font-size:1.1rem}}.footer__info{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.footer__info{grid-template-columns:repeat(3,1fr);gap:2rem}}.footer__info-group{text-align:center}@media (min-width: 768px){.footer__info-group{text-align:left}}.footer__info-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1rem;font-weight:500;color:#d4a574;margin-bottom:1rem;letter-spacing:.03em}.footer__info-text{font-size:.9rem;color:#ffffffb3;line-height:1.6;letter-spacing:.02em;font-style:normal}.footer__email{color:#fffc;text-decoration:none;transition:color .3s ease}.footer__email:hover{color:#d4a574}.footer__bottom{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}@media (min-width: 768px){.footer__bottom{flex-direction:row;justify-content:space-between}}.footer__copyright p{font-size:.85rem;color:#fff9;margin:0;letter-spacing:.02em}.footer__links{display:flex;gap:2rem}@media (max-width: 767px){.footer__links{flex-wrap:wrap;justify-content:center;gap:1rem}}.footer__link{color:#ffffffb3;text-decoration:none;font-size:.85rem;letter-spacing:.02em;transition:color .3s ease}.footer__link:hover{color:#d4a574}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@keyframes price-appear{0%{opacity:0;transform:translateY(10px) scale(.9)}50%{transform:translateY(-2px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1.05)}}@keyframes arrow-pulse{0%{transform:translate(0);opacity:.7}50%{transform:translate(4px);opacity:1}to{transform:translate(0);opacity:.7}}@keyframes twinkle{0%{opacity:.7;transform:scale(1);filter:brightness(1)}50%{opacity:1;transform:scale(1.3);filter:brightness(1.5)}to{opacity:.9;transform:scale(1.1);filter:brightness(1.2)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.star{position:absolute;border-radius:50%;background:#fffc}.shooting-star{position:absolute;border-radius:50%;background:#fff;pointer-events:none}.shooting-star:before{content:"";position:absolute;top:50%;left:50%;width:50px;height:2px;background:linear-gradient(45deg,transparent 0%,rgba(212,165,116,.1) 20%,rgba(212,165,116,.3) 40%,rgba(212,165,116,.5) 60%,rgba(255,255,255,.7) 80%,rgba(255,255,255,.9) 100%);transform:translate(-50%,-50%) rotate(45deg);transform-origin:right center;border-radius:1px;box-shadow:0 0 4px #ffffff4d}.shooting-star:after{content:"";position:absolute;top:50%;left:50%;width:25px;height:1px;background:linear-gradient(45deg,transparent 0%,rgba(212,165,116,.2) 40%,rgba(255,255,255,.4) 70%,rgba(255,255,255,.8) 100%);transform:translate(-50%,-50%) rotate(45deg);transform-origin:right center;border-radius:1px}.price-calculating-container{display:flex;align-items:center;gap:.8rem}.price-loading-spinner{width:18px;height:18px;border:2px solid rgba(212,165,116,.2);border-top:2px solid #d4a574;border-radius:50%;animation:spin 1s linear infinite}.price-loading-text{color:#d4a574cc;font-size:.9rem}.loading-dots:after{content:"";animation:loading-dots 1.5s infinite}.price-amount{color:#d4a574;font-weight:600;font-size:1.1rem}.reservation__submit-button--active svg{animation:arrow-pulse 1.5s infinite}.calendar-loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:1rem;background:#000c;padding:2rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.calendar-loading-spinner-large{width:32px;height:32px;border:3px solid rgba(212,165,116,.2);border-top:3px solid #d4a574;border-radius:50%;animation:spin 1s linear infinite}.calendar-loading-text{color:#d4a574;font-size:.9rem;font-weight:500}.calendar-day-skeleton{background:#ffffff05!important;opacity:.5;position:relative}.calendar-day-skeleton:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#d4a57433;border-radius:50%}.reservation__calendar-grid{position:relative}.hero span.shooting-star{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 0 4px #ffffff1a,0 0 0 8px #ffffff1a,0 0 20px #ffffff1a;animation:animate 1s linear forwards}.hero span.shooting-star:before{content:"";position:absolute;top:50%;transform:translateY(-50%);width:300px;height:1px;background:linear-gradient(90deg,#fff,transparent)}@keyframes animate{0%{transform:rotate(225deg) translate(0);opacity:1}70%{opacity:1}to{transform:rotate(225deg) translate(-1000px);opacity:0}}
