@charset "UTF-8";.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}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes scale-in{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}@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)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@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 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}}.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}.price-calculating .reservation__summary-value{opacity:.8}.price-loaded .reservation__summary-value{animation:price-appear .6s ease-out;transform:scale(1.05)}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:#0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease;padding:1rem 0}.header.hero-active{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none}.header.scrolled{background:#0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}@media (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}}@media (width <= 768px){.header__container{justify-content:center}}.header__logo{transform:translateY(3px)}.header__logo svg{height:42px;width:auto}@media (width <= 768px){.header__logo svg{height:40px}}.header__nav{display:flex;align-items:center;justify-content:center;gap:3rem}@media (width <= 768px){.header__nav{display:none}}.header__nav-list{display:flex;gap:3rem;list-style:none;margin:0;padding:0}.header__nav-link{color:#fffc;text-decoration:none;font-size:1rem;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:1rem;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 (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 (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:3rem;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.125rem;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:scale-in 1s ease-out .5s both}@media (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:fade-in-up 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:fade-in-up 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;-webkit-backdrop-filter:blur(5.3px);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:fade-in-up 1.2s ease-out 1.2s both}@media (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;-webkit-backdrop-filter:blur(8px);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}.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}}.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}.property-details{padding:8rem 0;width:100%;max-width:100%;overflow-x:hidden}@media (max-width: 768px){.property-details{padding:4rem 0}}.property-details__container{max-width:1000px;margin:0 auto;width:100%;max-width:100%;box-sizing:border-box;padding:0 1rem}@media (max-width: 1024px){.property-details__container{padding:0 2rem}}@media (max-width: 768px){.property-details__container{padding:0 1.5rem}}@media (width <= 768px){.property-details__container{padding:0 .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 (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__content{text-align:center}.property-details__description{font-size:1.25rem;color:#fffc;text-align:center;line-height:1.6;letter-spacing:.05em;font-style:italic;word-break:keep-all;margin-bottom:4rem;width:100%;max-width:100%;box-sizing:border-box}@media (width <= 768px){.property-details__description{font-size:.9rem;line-height:1.4;margin-bottom:3rem;padding:0 1rem;overflow-wrap:break-word}}.property-details__accommodation{max-width:800px;margin:0 auto;text-align:left}@media (width <= 768px){.property-details__accommodation{max-width:100%;padding:0 1rem}}.property-details__accommodation-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:500;color:#d4a574;text-align:center;margin-bottom:2.5rem;letter-spacing:.05em;position:relative}.property-details__accommodation-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:2px;background:linear-gradient(90deg,transparent,#d4a574,transparent)}.property-details__accommodation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:0 auto}@media (width <= 768px){.property-details__accommodation-grid{grid-template-columns:1fr;gap:1rem;max-width:400px}}.property-details__accommodation-item{background:#ffffff08;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem 1.5rem;text-align:center;border-radius:0;position:relative;transform:translateY(-2px);box-shadow:0 8px 30px #d4a57426;border-color:#d4a5744d}.property-details__accommodation-item:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d4a574,transparent);opacity:1}.property-details__accommodation-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto 1rem;color:#d4a574;background:#d4a57426;border:1px solid rgba(212,165,116,.3);border-radius:8px}.property-details__accommodation-icon svg{width:20px;height:20px}.property-details__accommodation-content{display:flex;flex-direction:column;gap:.3rem}.property-details__accommodation-label{font-size:.9rem;color:#fffc;font-weight:500;letter-spacing:.02em;line-height:1.2}.property-details__accommodation-label small{font-size:.75rem;color:#fff9;font-weight:400}.property-details__accommodation-value{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.2rem;font-weight:600;color:#d4a574;letter-spacing:.03em}.facilities{padding:8rem 0;background:linear-gradient(180deg,#0a071566,#1f1c3533);width:100%;max-width:100%;overflow-x:hidden}@media (max-width: 768px){.facilities{padding:4rem 0}}.facilities__container{max-width:1200px;margin:0 auto;padding:0 4rem;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}@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 (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__accommodation-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:0 auto 3rem}@media (width <= 768px){.facilities__accommodation-tiles{grid-template-columns:1fr;gap:1rem;max-width:400px}}.facilities__accommodation-item{padding:2rem 1.5rem;text-align:center;border-radius:0;position:relative;background:#d4a5740d;border:1px solid rgba(212,165,116,.2)}.facilities__accommodation-item:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d4a574,transparent);opacity:1}.facilities__accommodation-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto 1.5rem;color:#d4a574}.facilities__accommodation-icon svg{width:36px;height:36px}.facilities__accommodation-content{display:flex;flex-direction:column;gap:.5rem}.facilities__accommodation-label{font-size:1rem;color:#fffc;font-weight:500;letter-spacing:.02em;line-height:1.3}.facilities__accommodation-label small{font-size:.8rem;color:#fff9;font-weight:400}.facilities__accommodation-value{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.5rem;font-weight:600;color:#d4a574;letter-spacing:.03em}.facilities__grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;max-width:1000px;margin-inline:auto;width:100%;box-sizing:border-box}.facilities__grid .facilities__card:nth-child(1),.facilities__grid .facilities__card:nth-child(2),.facilities__grid .facilities__card:nth-child(3){flex:1;min-width:300px}.facilities__grid:after{content:"";flex-basis:100%;height:0}.facilities__grid .facilities__card:nth-child(4),.facilities__grid .facilities__card:nth-child(5){flex:0 0 auto;width:300px;margin:0 1rem}.facilities__grid .facilities__card:nth-child(4){margin-left:auto;margin-right:.5rem}.facilities__grid .facilities__card:nth-child(5){margin-left:.5rem;margin-right:auto}@media (width <= 768px){.facilities__grid{flex-direction:column;gap:1.5rem}.facilities__grid:after{display:none}.facilities__grid .facilities__card:nth-child(1),.facilities__grid .facilities__card:nth-child(2),.facilities__grid .facilities__card:nth-child(3),.facilities__grid .facilities__card:nth-child(4),.facilities__grid .facilities__card:nth-child(5){flex:none;width:100%;min-width:auto;margin:0}}@media (width <= 480px){.facilities__grid{gap:1rem}}.facilities__card{padding:2rem;border:none;background:none;width:100%;max-width:100%;box-sizing:border-box}.facilities__card-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.5rem;font-weight:400;color:#d4a574;margin-bottom:1.5rem;text-align:left;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 (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 (width <= 768px){.house-rules__grid{grid-template-columns:1fr;gap:1.5rem}}.house-rules__card{background:#ffffff08;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem;text-align:center}.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.25rem;font-weight:400;color:#d4a574;margin-bottom:1rem;letter-spacing:.03em}.house-rules__card-description{font-size:1rem;color:#ffffffbf;line-height:1.6;letter-spacing:.02em;white-space:pre-line}.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 (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 (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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;overflow:hidden}.tourist-spots__card--featured .tourist-spots__card-name{color:#d4a574}.tourist-spots__card--featured .tourist-spots__card-distance{color:#d4a574;font-weight:600}.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;transform:scale(1.05);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.25rem;font-weight:400;color:#e8d4b0f2;margin-bottom:.5rem;letter-spacing:.03em}.tourist-spots__card-distance{font-size:.875rem;color:#d4a574b3;letter-spacing:.02em}.tourist-spots__card-badge{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;font-size:.75rem;font-weight:600;border-radius:20px;letter-spacing:.02em;text-transform:uppercase}.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 (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 (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 (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;-webkit-backdrop-filter:blur(10px);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.125rem;font-weight:400;color:#d4a574;margin-bottom:1.5rem;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 (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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;overflow:hidden}.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.125rem;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}.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 (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}.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 (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:#ffffff0d;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(15px);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 (width <= 768px){.reservation__main-card{padding:1rem}}.reservation__content{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start}@media (width >= 1024px){.reservation__content{grid-template-columns:2fr 1fr;gap:4rem}}.reservation__left-panel{display:flex;flex-direction:column;gap:3rem}.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,.1)}.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;-webkit-backdrop-filter:blur(10px);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 (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:1rem;min-width:36px;min-height:36px}@media (width <= 768px){.reservation__calendar-day{font-size:.75rem;min-width:32px;min-height:32px}}.reservation__calendar-day:hover{background:#d4a5741a;color:#fffffff2}.reservation__calendar-day.checkin,.reservation__calendar-day.checkout{background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#000;font-weight:600}.reservation__calendar-day.checkin .reservation__calendar-day-price,.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__guest-buttons{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media (width >= 1024px){.reservation__guest-buttons{grid-template-columns:repeat(4,1fr);gap:1.5rem}}.reservation__guest-button,.reservation__adult-button,.reservation__children-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 (width >= 1024px){.reservation__guest-button,.reservation__adult-button,.reservation__children-button{flex-direction:row;padding:1.2rem 1.5rem;min-height:auto}}.reservation__guest-button:hover,.reservation__adult-button:hover,.reservation__children-button:hover{background:#d4a5741a;border-color:#d4a57466;color:#ffffffe6}.reservation__guest-button.active,.reservation__adult-button.active,.reservation__children-button.active{background:linear-gradient(135deg,#d4a574,#e8d4b0);border-color:#d4a574;color:#000}.reservation__guest-button.active svg,.reservation__adult-button.active svg,.reservation__children-button.active svg{color:#000}.reservation__guest-button.disabled,.reservation__guest-button:disabled,.reservation__adult-button.disabled,.reservation__adult-button:disabled,.reservation__children-button.disabled,.reservation__children-button:disabled{background:#8080801a;border-color:#80808033;color:#80808080;cursor:not-allowed}.reservation__guest-button.disabled svg,.reservation__guest-button:disabled svg,.reservation__adult-button.disabled svg,.reservation__adult-button:disabled svg,.reservation__children-button.disabled svg,.reservation__children-button:disabled svg{color:#80808080}.reservation__guest-button.disabled:hover,.reservation__guest-button:disabled:hover,.reservation__adult-button.disabled:hover,.reservation__adult-button:disabled:hover,.reservation__children-button.disabled:hover,.reservation__children-button:disabled:hover{background:#8080801a;border-color:#80808033;color:#80808080}.reservation__guest-button svg,.reservation__adult-button svg,.reservation__children-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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem;height:-moz-fit-content;height:fit-content}.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-label{font-size:1rem;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)}.calendar-loading,.calendar-error{display:flex;align-items:center;justify-content:center;padding:3rem;font-size:.9rem}.calendar-loading{color:#fff9}.calendar-error{color:#ff5757cc;text-align:center;line-height:1.4}.footer{position:relative;padding:4rem 0 3rem;width:100%;max-width:100%;overflow:hidden;background:linear-gradient(180deg,#0a0715cc,#05030ff2,#000),radial-gradient(ellipse at center bottom,rgba(212,165,116,.02) 0%,transparent 70%)}.footer:before{content:"";position:absolute;top:0;left:0;right:0;width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,#d4a574 20%,#e8d4b0 50%,#d4a574 80%,transparent 100%);box-shadow:0 0 30px #d4a57466}.footer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;background-image:radial-gradient(circle at 15% 20%,rgba(212,165,116,.6) 1px,transparent 1px),radial-gradient(circle at 85% 35%,rgba(212,165,116,.4) .5px,transparent .5px),radial-gradient(circle at 45% 70%,rgba(212,165,116,.5) .8px,transparent .8px),radial-gradient(circle at 75% 15%,rgba(212,165,116,.3) .6px,transparent .6px),radial-gradient(circle at 25% 85%,rgba(212,165,116,.4) .7px,transparent .7px);pointer-events:none;opacity:.6;overflow:hidden}.footer__container{max-width:1200px;margin:0 auto;padding:0 4rem;position:relative;z-index:1;width:100%;box-sizing:border-box}@media (max-width: 1024px){.footer__container{padding:0 2rem}}@media (max-width: 768px){.footer__container{padding:0 1.5rem}}.footer__content{display:flex;flex-direction:column;gap:3rem;margin-bottom:4rem;width:100%;box-sizing:border-box}.footer__brand{text-align:center;flex-shrink:0}.footer__brand-text{text-align:center;margin-top:1.5rem}.footer__description{color:#ffffffe6;font-size:clamp(.9rem,2vw,1.1rem);font-weight:400;line-height:1.6;font-style:italic;letter-spacing:.02em}.footer__logo{margin-bottom:0;position:relative;display:flex;justify-content:center}.footer__logo img{max-width:400px;width:80vw;height:auto}@media (width >= 768px){.footer__logo img{height:140px}}@media (width >= 1024px){.footer__logo img{height:160px}}.footer__tagline{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:clamp(1rem,2.5vw,1.3rem);color:#ffffffe6;line-height:1.7;letter-spacing:.03em;margin:0;font-weight:300;font-style:italic;justify-content:center;max-width:400px;display:flex;gap:1rem}@media (width >= 768px){.footer__tagline{max-width:none}}.footer__tagline:before{content:'"';font-size:1.8em;color:#fff3;font-family:Times New Roman,serif;line-height:1}.footer__tagline:after{content:'"';font-size:1.8em;color:#fff3;font-family:Times New Roman,serif;line-height:1}.footer__info{display:grid;grid-template-columns:1fr;gap:2rem}@media (width >= 640px){.footer__info{grid-template-columns:repeat(2,1fr)}}@media (width >= 1024px){.footer__info{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.footer__info-group{padding:0;text-align:center}@media (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:.8rem;letter-spacing:.03em}.footer__info-text{font-size:.85rem;color:#ffffffb3;line-height:1.6;letter-spacing:.01em;font-style:normal}.footer__email{color:#fffc;text-decoration:none;transition:color .3s ease}.footer__email:hover{color:#d4a574}.footer__bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.footer__bottom-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}@media (width >= 768px){.footer__bottom-content{flex-direction:row;justify-content:space-between;align-items:center}}.footer__copyright p{font-size:.8rem;color:#ffffff80;margin:0;letter-spacing:.01em;font-weight:300}.footer__links{display:flex;gap:1.5rem}@media (width <= 640px){.footer__links{flex-wrap:wrap;justify-content:center;gap:1rem}}.footer__link{color:#fff9;text-decoration:none;font-size:.85rem;letter-spacing:.01em;font-weight:300;transition:color .3s ease}.footer__link:hover{color:#d4a574}.hidden{display:none!important}.form-field__input--file{padding:.75rem;border:2px dashed rgba(212,165,116,.3);border-radius:.75rem;background:#1f1c3566;cursor:pointer;transition:all .3s ease}.form-field__input--file:hover{border-color:#d4a57480;background:#1f1c3599}.form-field__input--file:focus{outline:none;border-color:#d4a574;background:#1f1c35b3}.form-field__help{display:block;margin-top:.5rem;font-size:.875rem;color:#e8d4b080;line-height:1.4}.existing-file-display{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:#1f1c3566;border:1px solid rgba(212,165,116,.2);border-radius:.75rem;margin-bottom:1rem;transition:all .3s ease}.existing-file-display:hover{background:#1f1c3599;border-color:#d4a57466}.existing-file-display .existing-file-thumbnail{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#d4a5741a;border-radius:.75rem;overflow:hidden;border:1px solid rgba(212,165,116,.2)}.existing-file-display .existing-file-thumbnail .thumbnail-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:calc(.75rem - 1px)}.existing-file-display .existing-file-thumbnail .file-icon{display:flex;align-items:center;justify-content:center}.existing-file-display .existing-file-thumbnail .file-icon svg{width:32px;height:32px;color:#dc2626b3;stroke-width:1.5}.existing-file-display .existing-file-thumbnail .file-preview-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.existing-file-display .existing-file-thumbnail .file-preview-content .thumbnail-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:calc(.75rem - 1px)}.existing-file-display .existing-file-thumbnail .file-preview-content .file-icon{display:flex;align-items:center;justify-content:center}.existing-file-display .existing-file-thumbnail .file-preview-content .file-icon svg{width:32px;height:32px;color:#dc2626b3;stroke-width:1.5}.existing-file-display .existing-file-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.existing-file-display .existing-file-info .existing-file-name{font-size:1rem;color:#fffffff2;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.existing-file-display .existing-file-info .existing-file-type{font-size:.875rem;color:#e8d4b080;font-weight:400}.existing-file-display .file-delete-btn{display:flex;align-items:center;gap:.25rem;background:#dc262626;border:1px solid rgba(220,38,38,.3);color:#f87171;cursor:pointer;padding:.25rem 1rem;transition:all .3s ease;font-size:.875rem;font-weight:500;flex-shrink:0}@media (width <= 768px){.existing-file-display .file-delete-btn{padding:.25rem}.existing-file-display .file-delete-btn span{display:none}}.existing-file-display .file-delete-btn:hover{background:#dc262640;border-color:#dc262680;color:#ff6464;transform:scale(1.05)}.existing-file-display .file-delete-btn:focus{outline:2px solid #d4a574;outline-offset:2px}.existing-file-display .file-delete-btn svg{width:16px;height:16px;stroke-width:2}.file-upload-area{border:2px dashed rgba(212,165,116,.3);border-radius:.75rem;background:#1f1c3566;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;min-height:200px;display:flex;align-items:center;justify-content:center}.file-upload-area:hover{border-color:#d4a57480;background:#1f1c3599;transform:translateY(-2px)}.file-upload-area:active{transform:translateY(0)}.file-upload-area.drag-over{border-color:#d4a574;background:#d4a5741a;transform:translateY(-2px) scale(1.02)}.file-upload-area.drag-over .file-upload-area__icon{color:#d4a574;transform:scale(1.1)}.file-upload-area.drag-over .file-upload-area__title{color:#d4a574}.file-upload-area__content{display:flex;flex-direction:column;align-items:center;gap:1rem}.file-upload-area__icon{color:#d4a574b3;margin-bottom:.5rem}.file-upload-area__title{font-size:1.125rem;font-weight:500;color:#fffffff2;margin:0;letter-spacing:.02em}.file-upload-area__subtitle{font-size:1rem;color:#e8d4b0cc;margin:0;letter-spacing:.01em}.file-upload-area__help{font-size:.875rem;color:#e8d4b080;line-height:1.4;margin:0}.file-upload-area__input{display:none}.booking-info-header{position:fixed;bottom:0;left:0;right:0;background:#0a0715f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(212,165,116,.1);z-index:100}.booking-info-header__container{max-width:1000px;margin:0 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2rem;padding:1rem 2rem}@media (width <= 1024px){.booking-info-header__container{gap:1rem;padding:1rem 1.5rem}}@media (width <= 768px){.booking-info-header__container{flex-direction:column;gap:1.5rem;padding:.5rem 1rem}}@media (width <= 480px){.booking-info-header__container{gap:1rem;padding:.5rem}}.booking-info-header__row{display:flex;align-items:center;justify-content:center;gap:1.5rem}@media (width <= 768px){.booking-info-header__row{gap:1rem}}@media (width <= 480px){.booking-info-header__row{gap:.5rem}}.booking-info-header__item{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:100px}@media (width <= 768px){.booking-info-header__item{min-width:0}}@media (width <= 480px){.booking-info-header__item{min-width:60px}}.booking-info-header__label{font-size:.875rem;color:#fff9;letter-spacing:.05em;white-space:nowrap}@media (width <= 480px){.booking-info-header__label{font-size:.75rem}}.booking-info-header__value{font-size:1rem;color:#d4a574;font-weight:600;letter-spacing:.02em;white-space:nowrap}@media (width <= 480px){.booking-info-header__value{font-size:.875rem}}.booking-summary{margin-bottom:5rem}.booking-summary__container{max-width:800px;margin:0 auto}.booking-summary__content{background:#ffffff08;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}@media (width <= 768px){.booking-summary__content{padding:1rem;gap:1rem}}@media (width <= 480px){.booking-summary__content{padding:1rem;gap:.5rem}}.booking-summary__item{background:#ffffff08;border:1px solid rgba(212,165,116,.15);border-radius:0;padding:1.5rem}.booking-summary__list{display:flex;flex-direction:column;gap:0}.booking-summary__list-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.booking-summary__list-item:last-child{border-bottom:none}.booking-summary__list-item:first-child{padding-top:0}@media (width <= 480px){.booking-summary__list-item{flex-direction:column;gap:.75rem;padding:.5rem 0}}.booking-summary__list-label{font-size:1rem;color:#fffc;font-weight:500;letter-spacing:.02em;min-width:140px;flex-shrink:0}@media (width <= 480px){.booking-summary__list-label{min-width:auto;font-weight:600;color:#ffffffe6;font-size:.875rem}}.booking-summary__list-value{font-size:1rem;color:#d4a574;font-weight:600;letter-spacing:.02em;text-align:right;flex:1;overflow-wrap:break-word}@media (width <= 480px){.booking-summary__list-value{text-align:left;width:100%;font-size:.875rem}}.booking-summary__list-value--highlight{background:linear-gradient(45deg,#d4a574,#e8d4b0);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;font-size:1.125rem;letter-spacing:.05em}@media (width <= 480px){.booking-summary__list-value--highlight{font-size:1rem}}.booking-summary__pricing{display:flex;flex-direction:column;gap:0}.booking-summary__pricing-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.booking-summary__pricing-item:last-child{border-bottom:none}@media (width <= 480px){.booking-summary__pricing-item{flex-direction:column;gap:.25rem;padding:1rem 0}}.booking-summary__pricing-item--subtotal{padding-top:1rem;border-bottom:none}.booking-summary__pricing-label{font-size:1rem;color:#fffc;font-weight:500;flex-shrink:0}@media (width <= 480px){.booking-summary__pricing-label{font-size:.875rem;font-weight:600;margin-bottom:.25rem}}.booking-summary__pricing-value{font-size:1rem;color:#d4a574;font-weight:600;text-align:right}@media (width <= 480px){.booking-summary__pricing-value{font-size:.875rem;width:100%;text-align:left;line-height:1.5}}.booking-summary__pricing-total{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;margin-top:1rem;border-top:2px solid #d4a574}@media (width <= 480px){.booking-summary__pricing-total{flex-direction:column;gap:.5rem;align-items:flex-start}}.booking-summary__pricing-total-label{font-size:1.125rem;color:#fff;font-weight:600;letter-spacing:.02em}@media (width <= 480px){.booking-summary__pricing-total-label{font-size:1rem}}.booking-summary__pricing-total-value{font-size:1.5rem;color:#d4a574;font-weight:700;letter-spacing:.02em}@media (width <= 480px){.booking-summary__pricing-total-value{font-size:1.125rem}}.booking-summary__pricing-total-values{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.booking-summary__pricing-total-value--original{font-size:1.125rem;color:#fff9;text-decoration:line-through;font-weight:500}.booking-summary__pricing-total-arrow{color:#fff9;font-size:1.125rem}.booking-summary__pricing-total-value--final-gold{font-size:1.5rem;color:#d4a574;font-weight:700;letter-spacing:.02em}@media (width <= 480px){.booking-summary__pricing-total-value--final-gold{font-size:1.125rem}}.booking-summary__guests{display:flex;flex-direction:column;gap:0}.booking-summary__guests-list{display:flex;flex-direction:column;gap:1rem}.booking-summary__guest-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.booking-summary__guest-item:before{content:"";width:4px;height:4px;background:#d4a574cc;border-radius:50%;margin-right:1rem;flex-shrink:0}@media (width <= 480px){.booking-summary__guest-item{flex-direction:row;align-items:flex-start;gap:.5rem}.booking-summary__guest-item:before{margin-top:6px}}.booking-summary__guest-name{font-size:1rem;color:#ffffffe6;font-weight:500;display:flex;align-items:center;gap:.5rem;flex:1}@media (width <= 480px){.booking-summary__guest-name{font-size:.875rem}}.booking-summary__guest-category{font-size:.75rem;color:#ffffff80;font-weight:400;border:1px solid rgba(255,255,255,.3);padding:2px 6px;border-radius:2px;min-width:40px;text-align:center}.booking-summary__guest-category--representative{color:#0a0715;background:#d4a574cc;border:1px solid rgba(212,165,116,.8);font-weight:500}.booking-summary__guest-status{font-size:.75rem;padding:.25rem .5rem;border-radius:0;font-weight:400}@media (width <= 480px){.booking-summary__guest-status{font-size:.75rem;padding:.25rem}}.booking-summary__guest-status--verified{background:#22c55e1a;color:#4ade80b3;border:1px solid rgba(34,197,94,.2)}.booking-summary__guest-status--missing{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}.booking-summary__guest-status--needs-reupload{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.form-section{margin-bottom:3rem}.form-section:last-child{margin-bottom:0}.form-section__title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.25rem;font-weight:500;color:#d4a574;margin-bottom:1.5rem;letter-spacing:.03em;position:relative;padding-bottom:.5rem}.form-section__title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:linear-gradient(90deg,#d4a574,#d4a5744d)}.form-field{display:flex;flex-direction:column;gap:.5rem}@media (width >= 768px){.form-field--full{grid-column:1/-1}}.form-field__label{display:block;color:#e8d4b0cc;margin-bottom:.5rem;font-family:Inter,Noto Sans JP,-apple-system,blinkmacsystemfont,sans-serif;color:#ffffffe6;font-size:1rem;font-weight:500;letter-spacing:.02em}.form-field__required{color:#d4a574;margin-left:2px}.form-field__optional{color:#fff9;font-size:.75rem;font-weight:400;margin-left:4px}.form-field__input{background:#ffffff0d;border:1px solid rgba(212,165,116,.2);color:#ffffffe6;padding:.75rem 1rem;font-size:1rem;border-radius:0;transition:all .3s ease}.form-field__input:focus{outline:none;border-color:#d4a57480;background:#ffffff14;box-shadow:0 0 0 2px #d4a5741a}.form-field__input::-moz-placeholder{color:#fff6}.form-field__input::placeholder{color:#fff6}.form-field__input--select{background:#ffffff0d;border:1px solid rgba(212,165,116,.2);color:#ffffffe6;padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;border-radius:0;transition:all .3s ease;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23d4a574' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.form-field__input--select:focus{outline:none;border-color:#d4a57480;background:#ffffff14;box-shadow:0 0 0 2px #d4a5741a}.form-field__input--select::-moz-placeholder{color:#fff6}.form-field__input--select::placeholder{color:#fff6}.form-field__help{font-size:.75rem;color:#fff9;letter-spacing:.02em;line-height:1.4}.section-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.5rem;font-weight:500;color:#d4a574;margin-bottom:3rem;text-align:center;position:relative}.form-notice{margin-bottom:3rem;padding:1.5rem 0}@media (width <= 768px){.form-notice{padding:1rem 0}}@media (width <= 480px){.form-notice{padding:.5rem 0}}.form-notice p{margin:1rem 0;color:#d4a574;font-size:1rem;line-height:1.6;letter-spacing:.02em;text-align:center}.form-notice p:first-child{margin-top:0}.form-notice p:last-child{margin-bottom:0}.form-notice p strong{color:#d4a574;font-weight:600}@media (width <= 480px){.form-notice p{font-size:.875rem}}.form-field--error .form-field__input,.form-field--error .form-field__input--select{border-color:#f59e0b;background:#f59e0b1a}.form-field--error .form-field__input:focus,.form-field--error .form-field__input--select:focus{border-color:#d97706;box-shadow:0 0 0 2px #f59e0b33}.form-field--error .form-field__label{color:#f59e0b;font-weight:600}.form-field__error{color:#f59e0b;font-size:.875rem;margin-top:.25rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.form-field__error:before{content:"⚠";font-size:14px}.form-section--error{padding-left:1rem;margin-left:-1rem}.form-section--error .form-section__title{color:#f59e0b;font-weight:600}.form-section__error{color:#f59e0b;font-size:.875rem;margin-top:.25rem;margin-bottom:1rem;font-weight:500;display:flex;align-items:center;gap:.25rem;padding:.5rem}.form-section__error:before{content:"⚠";font-size:16px}.form-field--success .form-field__input,.form-field--success .form-field__input--select{border-color:#d4a574;background:#d4a5741a}.form-field__input:disabled,.form-field__input--select:disabled{opacity:.6;cursor:not-allowed}.form-field__input:focus-visible,.form-field__input--select:focus-visible{outline:2px solid #d4a574;outline-offset:2px}.booking-guest-info{min-height:100vh;background:linear-gradient(135deg,#0a0715,#141225,#1f1c35);padding-top:120px;padding-bottom:140px}@media (width <= 768px){.booking-guest-info{padding-top:100px;padding-bottom:120px}}@media (width <= 480px){.booking-guest-info{overflow-x:hidden;width:100%;max-width:100vw}}.booking-guest-info__hero{text-align:center;padding:5rem 0;background:linear-gradient(180deg,rgba(10,7,21,.4) 0%,transparent 100%)}@media (width <= 768px){.booking-guest-info__hero{padding:3rem 0}}.booking-guest-info__hero-content{max-width:800px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.booking-guest-info__hero-content{padding:0 2rem}}@media (max-width: 768px){.booking-guest-info__hero-content{padding:0 1.5rem}}.booking-guest-info__title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;color:#fff;margin-bottom:1.5rem;letter-spacing:.05em}.booking-guest-info__subtitle{font-size:1.125rem;color:#d4a574cc;letter-spacing:.1em;line-height:1.6}.booking-guest-info__container{max-width:800px;margin:0 auto;padding:0 4rem 5rem}@media (max-width: 1024px){.booking-guest-info__container{padding:0 2rem}}@media (max-width: 768px){.booking-guest-info__container{padding:0 1.5rem}}@media (width <= 480px){.booking-guest-info__container{padding-bottom:3rem}}.guest-section{background:#ffffff08;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;margin-bottom:3rem;overflow:hidden}.guest-section--primary{border:2px solid rgba(212,165,116,.3);margin-bottom:3rem}.guest-section--primary .guest-section__badge--required{background:#d4a574;color:#0a0715}.guest-section--collapsible{border:1px solid rgba(212,165,116,.1);transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:top}.guest-section--collapsible.guest-section--adding{animation:guestSectionSlideIn .4s cubic-bezier(.4,0,.2,1) forwards}.guest-section--collapsible.guest-section--removing{animation:guestSectionSlideOut .3s cubic-bezier(.4,0,.2,1) forwards}.guest-section--collapsible .guest-section__header--clickable{cursor:pointer;transition:background-color .3s ease;position:relative}.guest-section--collapsible .guest-section__header--clickable:hover{background:#ffffff0d}.guest-section--collapsible .guest-section__header--clickable:after{content:"";position:absolute;right:2rem;top:50%;transform:translateY(-50%) rotate(90deg);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid rgba(212,165,116,.8);transition:transform .3s ease;pointer-events:none}.guest-section--collapsible.guest-section--collapsed .guest-section__header--clickable:after{transform:translateY(-50%) rotate(0)}.guest-section__header{display:flex;align-items:center;justify-content:space-between;padding:2rem;border-bottom:1px solid rgba(255,255,255,.1);gap:1.5rem}.guest-section__header-left{display:flex;align-items:center;gap:1rem}.guest-section__title{display:flex;align-items:center;gap:1rem;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.25rem;font-weight:500;color:#fff;margin:0;letter-spacing:.02em}.guest-section__number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#0a0715;border-radius:0;font-weight:600;font-size:1rem}.guest-section__status{display:flex;align-items:center;gap:.25rem;margin-left:1rem;font-size:.875rem}.guest-section__status[data-status=empty]{color:#80808080}.guest-section__status[data-status=partial]{color:#fbbf24}.guest-section__status[data-status=complete]{color:#22c55e}.guest-section__status-icon{width:20px;height:20px}.guest-section__name{font-weight:inherit}.guest-section__badge{padding:.25rem .75rem;border-radius:0;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.guest-section__badge--required{background:#d4a574;color:#0a0715}.guest-section__badge--optional{background:#80808033;color:#ffffffb3}.guest-section__toggle{display:flex;align-items:center;gap:.5rem;color:#d4a574b3;transition:color .3s ease,transform .3s ease}@media (width > 768px){.guest-section__toggle{flex-direction:row}}.guest-section__toggle-icon{transition:transform .3s ease}.guest-section__toggle-icon--rotated{transform:rotate(180deg)}.guest-section__content{overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.guest-section__content--collapsed{max-height:0;opacity:0;transform:translateY(-10px)}.guest-section__content--expanded{max-height:2000px;opacity:1;transform:translateY(0)}.guest-section__form{padding:2rem}.form-row{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:2rem;width:100%;box-sizing:border-box}@media (width >= 768px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-row:last-child{margin-bottom:0}.guest-form__actions{margin-top:5rem;margin-bottom:5rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}@media (width <= 768px){.guest-form__actions{flex-direction:column;align-items:center;gap:1rem;margin-bottom:5rem;padding-bottom:3rem}}.guest-form__submit{justify-content:center;border:none;border-radius:.75rem;font-family:Inter,Noto Sans JP,-apple-system,blinkmacsystemfont,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;background:linear-gradient(135deg,#d4a574,#c8956d);color:#0a0715;padding:.75rem 2rem;display:inline-flex;align-items:center;gap:.5rem;padding:1.5rem 4rem;font-size:1.125rem;letter-spacing:.02em;border-radius:0}.guest-form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.guest-form__submit:hover:not(:disabled){background:linear-gradient(135deg,#e8d4b0,#d4a574);transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}.guest-form__submit__icon{transition:transform .3s ease}.guest-form__submit:hover .guest-form__submit__icon{transform:translate(4px)}@keyframes expand{0%{max-height:0;opacity:0}to{max-height:2000px;opacity:1}}@keyframes collapse{0%{max-height:2000px;opacity:1}to{max-height:0;opacity:0}}.guest-section__header--clickable:focus-visible,.guest-section__enable:focus-visible{outline:2px solid #d4a574;outline-offset:2px}.guest-form__dummy-btn{justify-content:center;border:none;border-radius:.75rem;font-family:Inter,Noto Sans JP,-apple-system,blinkmacsystemfont,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;background:linear-gradient(135deg,#d4a574,#c8956d);color:#0a0715;padding:.75rem 2rem;display:inline-flex;align-items:center;gap:.5rem;padding:1.5rem 4rem;font-size:1.125rem;letter-spacing:.02em;border-radius:0}.guest-form__dummy-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.guest-form__dummy-btn:hover:not(:disabled){background:linear-gradient(135deg,#e8d4b0,#d4a574);transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}.guest-form__dummy-btn__icon{transition:transform .3s ease}.guest-form__dummy-btn:hover .guest-form__dummy-btn__icon{transform:scale(1.1)}.guest-form__add-icon{margin-right:.5rem}.guest-section__remove-btn{display:flex;align-items:center;gap:.25rem;background:#dc262626;border:1px solid rgba(220,38,38,.3);color:#f87171;cursor:pointer;margin-right:2rem;padding:.25rem 1rem;transition:all .3s ease;font-size:.875rem;font-weight:500;flex-shrink:0}@media (width <= 768px){.guest-section__remove-btn{padding:.25rem}.guest-section__remove-btn span{display:none}}.guest-section__remove-btn:hover{background:#dc262640;border-color:#dc262680;color:#ff6464;transform:scale(1.05)}.guest-section__remove-btn:focus{outline:2px solid #d4a574;outline-offset:2px}@media (width <= 480px){.booking-guest-info__container{padding-left:1rem;padding-right:1rem}.guest-section__header{padding:1.5rem 2rem}.guest-section__form{padding:1.5rem 2rem;min-height:0}.guest-section__form .form-section{margin-bottom:3rem}.guest-section__form .form-section:last-child{margin-bottom:0}.form-section__title{font-size:1.125rem}}.alert{background:#ffffff08;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;margin-bottom:3rem;padding:24px;border-radius:0;font-size:1rem;line-height:1.6;letter-spacing:.02em;position:relative;overflow:hidden;border:2px solid rgba(212,165,116,.3)}.alert h4{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.25rem;font-weight:500;color:#fff;margin:0 0 1.5rem;letter-spacing:.02em;display:flex;align-items:center;gap:1rem}.alert h4:before{content:"!";display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#0a0715;border-radius:0;font-weight:700;font-size:1.125rem;flex-shrink:0}@media (width <= 480px){.alert h4{font-size:1.125rem}.alert h4:before{width:28px;height:28px;font-size:1rem}}.alert p{margin:1rem 0;color:#fffc;font-weight:400}.alert ul{margin:1rem 0;padding-left:0;list-style:none}.alert ul li{margin-bottom:.5rem;padding-left:1.5rem;position:relative;color:#fffc}.alert ul li:before{content:"";position:absolute;left:.5rem;top:.65em;width:6px;height:6px;background:linear-gradient(135deg,#d4a574,#e8d4b0);border-radius:50%;transform:translateY(-50%)}.alert-success{border-color:#d4a574;background:#d4a57414}.alert-success h4{color:#d4a574}.alert-success h4:before{content:"✓";background:linear-gradient(135deg,#d4a574,#e8d4b0);color:#0a0715}.alert-success p,.alert-success ul li{color:#ffffffe6}.alert-error,.alert-danger{border-color:#d4a574;background:#d4a5741f}.alert-error h4,.alert-danger h4{color:#fbbf24;font-weight:600}.alert-error h4:before,.alert-danger h4:before{content:"⚠";background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#0a0715;animation:gentle-glow 3s ease-in-out infinite}.alert-error p,.alert-danger p{color:#fffffff2;font-weight:500}.alert-error ul li,.alert-danger ul li{color:#ffffffe6;font-weight:400}.alert-error ul li:before,.alert-danger ul li:before{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 0 8px #f59e0b4d}@keyframes pulse-warning{0%,to{opacity:.6;transform:scaleX(1)}50%{opacity:.9;transform:scaleX(1.02)}}@keyframes gentle-glow{0%,to{box-shadow:0 0 5px #f59e0b4d}50%{box-shadow:0 0 15px #f59e0b80,0 0 25px #f59e0b33}}@keyframes guestSectionSlideIn{0%{opacity:0;transform:translateY(-20px) scaleY(.8);max-height:0}50%{opacity:.7;transform:translateY(-5px) scaleY(.95)}to{opacity:1;transform:translateY(0) scaleY(1);max-height:1000px}}@keyframes guestSectionSlideOut{0%{opacity:1;transform:translateY(0) scaleY(1);max-height:1000px}50%{opacity:.3;transform:translateY(-10px) scaleY(.9)}to{opacity:0;transform:translateY(-30px) scaleY(.6);max-height:0}}.booking-payment{min-height:100vh;background:linear-gradient(135deg,#0a0715,#141225,#1f1c35);padding-top:120px;padding-bottom:140px}@media (width <= 768px){.booking-payment{padding-top:100px;padding-bottom:120px}}.booking-payment__hero{text-align:center;padding:5rem 0;background:linear-gradient(180deg,rgba(10,7,21,.4) 0%,transparent 100%)}@media (width <= 768px){.booking-payment__hero{padding:3rem 0}}.booking-payment__hero-content{max-width:800px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.booking-payment__hero-content{padding:0 2rem}}@media (max-width: 768px){.booking-payment__hero-content{padding:0 1.5rem}}.booking-payment__title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;color:#fff;margin-bottom:1.5rem;letter-spacing:.05em}.booking-payment__subtitle{font-size:1.125rem;color:#d4a574cc;letter-spacing:.1em;line-height:1.6}.booking-payment__container{max-width:800px;margin:0 auto;padding:0 4rem 5rem}@media (max-width: 1024px){.booking-payment__container{padding:0 2rem}}@media (max-width: 768px){.booking-payment__container{padding:0 1.5rem}}@media (width <= 480px){.booking-payment__container{padding-bottom:3rem}}.payment-card{margin-bottom:5rem}.payment-card__container{max-width:800px;margin:0 auto;width:100%}.payment-card__title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.5rem;font-weight:500;color:#d4a574;margin-bottom:3rem;letter-spacing:.03em;text-align:center}.payment-card__dev-info{background:#d4a5741a;border:1px solid #d4a574;border-radius:0;padding:1.5rem;margin-bottom:3rem;font-size:.875rem;color:#d4a574}.payment-card__dev-info code{background:#ffffff1a;padding:2px 4px;border-radius:0;font-family:monospace}.payment-card__form{background:#ffffff08;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem}@media (width <= 768px){.payment-card__form{padding:1.5rem 2rem}}.payment-card__square-container{min-height:60px;border:none;padding:0;position:relative;overflow:visible;border-radius:0}.payment-card__square-container div[id*=card],.payment-card__square-container .sq-card-wrapper,.payment-card__square-container .sq-input{border:none!important;background:transparent!important;border-radius:0!important}.payment-card__square-container:empty:before{content:"カード情報を入力してください";display:flex;align-items:center;justify-content:center;height:60px;color:#fff9;font-size:.875rem}.payment-card__square-container.square-loaded:before{display:none}.payment-card__loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0715e6;border-radius:0;padding:1.5rem;color:#fffc;text-align:center;z-index:10;display:flex;align-items:center;justify-content:center}.payment-card__loading.hidden{display:none}.payment-card__loading-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.payment-card__info{font-size:.75rem;color:#fff9;text-align:center;margin-top:1rem;line-height:1.5}.payment-form__actions{margin-top:5rem;margin-bottom:5rem;display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap}@media (width <= 768px){.payment-form__actions{gap:1rem;margin-bottom:5rem;padding-bottom:3rem}}.payment-form__back-btn{justify-content:center;border:none;border-radius:.75rem;font-family:Inter,Noto Sans JP,-apple-system,blinkmacsystemfont,sans-serif;font-size:1rem;cursor:pointer;text-decoration:none;background:#ffffff4d;border:2px solid rgba(255,255,255,.2);border-radius:0;color:#fffc;padding:1rem 2rem;font-weight:500;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.payment-form__back-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.payment-form__back-btn:hover:not(:disabled){background:#fff6;border-color:#ffffff4d;transform:translateY(-2px);color:#fff}.payment-form__back-btn:disabled{opacity:.6;cursor:not-allowed}.payment-form__back-icon{transition:transform .3s ease}.payment-form__back-btn:hover .payment-form__back-icon{transform:translate(-2px)}.payment-form__submit-btn{justify-content:center;border:none;border-radius:.75rem;font-family:Inter,Noto Sans JP,-apple-system,blinkmacsystemfont,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;background:linear-gradient(135deg,#d4a574,#c8956d);color:#0a0715;padding:.75rem 2rem;display:inline-flex;align-items:center;gap:.5rem;padding:1.5rem 4rem;font-size:1.125rem;letter-spacing:.02em;border-radius:0;position:relative;overflow:hidden}.payment-form__submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#e8d4b0,#d4a574);transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}.payment-form__submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.payment-form__submit-btn__icon{transition:transform .3s ease}.payment-form__submit-btn:hover .payment-form__submit-btn__icon{transform:translate(4px)}.payment-form__submit-btn .button__spinner{animation:spin 1s linear infinite;width:20px;height:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.payment-form__back-btn:focus-visible,.payment-form__submit-btn:focus-visible{outline:2px solid #d4a574;outline-offset:2px}@media (width <= 480px){.booking-payment__container{padding-left:1rem;padding-right:1rem}.booking-summary__basic-info{grid-template-columns:1fr}.booking-summary__pricing-total{flex-direction:column;gap:.5rem;text-align:center}.payment-card__form{padding:1rem}}.booking-summary__pricing-value .daily-price-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.25rem 0}.booking-summary__pricing-value .daily-date{color:#d4a574cc;font-weight:400;font-size:.875rem;letter-spacing:.01em}.booking-summary__pricing-value .daily-amount{color:#fff;font-weight:500;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1rem}.booking-summary__pricing-value strong{margin-top:1.5rem!important;display:block!important;padding-top:1rem;border-top:1px solid rgba(212,165,116,.3);color:#d4a574;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;text-align:right}.payment-processing-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0715f2;z-index:9999;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.payment-processing-overlay.hidden{display:none}.payment-processing-content{text-align:center;max-width:400px;padding:5rem;background:transparent;border:none;border-radius:0}.payment-processing-title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.5rem;color:#d4a574;margin-bottom:2rem;font-weight:600;letter-spacing:.02em;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.1)}.payment-processing-message{font-size:1.125rem;color:#ffffffe6;margin-bottom:1.5rem;line-height:1.6;text-align:center;font-weight:400}.payment-processing-warning{font-size:1rem;color:#d4a574;background:#d4a5741a;border:1px solid rgba(212,165,116,.3);border-radius:0;padding:1rem;margin-bottom:3rem;font-weight:500;line-height:1.4}.payment-processing-spinner{width:60px;height:60px;border:4px solid rgba(212,165,116,.2);border-top:4px solid #d4a574;border-radius:50%;animation:payment-spin 1s linear infinite;margin:0 auto 2rem}.payment-processing-steps{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.payment-processing-step{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:#ffffffb3;transition:color .3s ease}.payment-processing-step.active{color:#d4a574;font-weight:600}.payment-processing-step.completed{color:#d4a574}.payment-processing-step-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 4px #0000001a}.payment-processing-step-icon.pending{background:#ffffff1a;color:#fff9;border:2px solid rgba(255,255,255,.2);transform:scale(.9)}.payment-processing-step-icon.active{background:linear-gradient(135deg,#d4a574,#e0be9b);color:#000;border:2px solid #d4a574;transform:scale(1.1);box-shadow:0 4px 8px #d4a5744d;animation:pulse-icon 2s infinite}.payment-processing-step-icon.completed{background:linear-gradient(135deg,#d4a574,#e6cbae);color:#000;border:2px solid #d4a574;transform:scale(1);box-shadow:0 2px 8px #d4a57466}@keyframes pulse-icon{0%,to{transform:scale(1.1);box-shadow:0 4px 8px #d4a5744d}50%{transform:scale(1.15);box-shadow:0 6px 12px #d4a57480}}.payment-processing-progress{width:100%;height:4px;background:#ffffff1a;border-radius:0;overflow:hidden;margin-bottom:1.5rem}.payment-processing-progress-bar{height:100%;background:linear-gradient(90deg,#d4a574,#ecd7c2);border-radius:0;transition:width .8s cubic-bezier(.4,0,.2,1);width:0%;position:relative}.payment-processing-progress-bar:after{content:"";position:absolute;top:0;right:-10px;width:10px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3));animation:progress-shine 2s infinite}@keyframes progress-shine{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes payment-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width <= 480px){.payment-processing-content{max-width:90vw;padding:3rem}.payment-processing-title{font-size:1.25rem}.payment-processing-message{font-size:1rem}}.booking-complete{min-height:calc(100vh - 200px);background:linear-gradient(135deg,#0a0715,#141225,#1f1c35);padding-top:93px;padding-bottom:5rem}@media (width <= 768px){.booking-complete{padding-top:60px;padding-bottom:3rem}}.booking-complete__hero{text-align:center;padding:6rem 0 3rem;background:linear-gradient(180deg,rgba(10,7,21,.4) 0%,transparent 100%)}@media (width <= 768px){.booking-complete__hero{padding:5rem 0 2rem}}.booking-complete__hero-content{max-width:800px;margin:0 auto;padding:0 4rem}@media (max-width: 1024px){.booking-complete__hero-content{padding:0 2rem}}@media (max-width: 768px){.booking-complete__hero-content{padding:0 1.5rem}}.booking-complete__success-icon{display:inline-block;margin-bottom:3rem;color:#d4a574}.booking-complete__success-icon svg{filter:drop-shadow(0 4px 12px rgba(212,165,116,.3))}.booking-complete__title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;color:#fff;margin-bottom:1.5rem;letter-spacing:.05em}.booking-complete__subtitle{font-size:1.125rem;color:#d4a574cc;letter-spacing:.1em;line-height:1.6;margin-bottom:2rem}.booking-notice{margin-bottom:5rem}.booking-notice__container{max-width:800px;margin:0 auto;width:100%}@media (width <= 480px){.booking-notice__container{padding:0}}.booking-notice__content{background:#ffffff08;border:1px solid rgba(212,165,116,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}@media (width <= 768px){.booking-notice__content{padding:1.5rem 2rem;gap:1rem}}.booking-notice__item:not(:last-child){padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.booking-notice__list{margin-top:1rem;padding-left:1.5rem}.booking-notice__list li{color:#ffffffe6;font-size:1rem;line-height:1.6;margin-bottom:.5rem;position:relative}.booking-notice__list li:before{content:"•";color:#d4a574;font-weight:700;position:absolute;left:-1rem}.booking-complete__actions{margin-top:5rem;margin-bottom:5rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}@media (width <= 768px){.booking-complete__actions{flex-direction:column;align-items:center;gap:1rem;margin-bottom:5rem;padding-bottom:3rem}}.booking-complete__cancel-form{display:inline-block}.booking-complete__print-btn,.booking-complete__home-btn,.booking-complete__cancel-btn{justify-content:center;border-radius:.75rem;font-family:Inter,Noto Sans JP,-apple-system,blinkmacsystemfont,sans-serif;font-size:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-weight:500;transition:all .3s ease;text-decoration:none;border-radius:0;cursor:pointer;border:none}.booking-complete__print-btn:disabled,.booking-complete__home-btn:disabled,.booking-complete__cancel-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking-complete__print-btn:hover:not(:disabled),.booking-complete__home-btn:hover:not(:disabled),.booking-complete__cancel-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}.booking-complete__print-btn{background:#ffffff4d;border:2px solid rgba(255,255,255,.2);color:#fffc;cursor:pointer}.booking-complete__print-btn:hover:not(:disabled){background:#fff6;border-color:#ffffff4d;color:#fff}.booking-complete__cancel-btn{background:#dc262626;border:2px solid rgba(220,38,38,.3);color:#f87171}.booking-complete__cancel-btn:hover:not(:disabled){background:#dc262640;border-color:#dc262680;color:#ff6464}.booking-complete__home-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:.75rem;font-family:Inter,Noto Sans JP,-apple-system,blinkmacsystemfont,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;background:linear-gradient(135deg,#d4a574,#c8956d);color:#0a0715;padding:.75rem 2rem;border-radius:0}.booking-complete__home-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking-complete__home-btn:hover:not(:disabled){background:linear-gradient(135deg,#e8d4b0,#d4a574);transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}.booking-complete__print-icon,.booking-complete__home-icon,.booking-complete__cancel-icon{transition:transform .3s ease}.booking-complete__print-btn:hover .booking-complete__print-icon{transform:scale(1.1)}.booking-complete__cancel-btn:hover .booking-complete__cancel-icon{transform:rotate(90deg)}.booking-complete__home-btn:hover .booking-complete__home-icon{transform:translate(4px)}.booking-complete__print-btn:focus-visible,.booking-complete__cancel-btn:focus-visible,.booking-complete__home-btn:focus-visible{outline:2px solid #d4a574;outline-offset:2px}@media (width <= 480px){.booking-complete__container{padding-left:1rem;padding-right:1rem}}.booking-confirmation{padding:3rem 0;min-height:100vh;background:linear-gradient(135deg,#000000f2,#000000d9)}.booking-confirmation__container{max-width:800px;margin:0 auto;padding:0 1.5rem}@media (max-width: 768px){.booking-confirmation__container{padding:0 1rem}}.booking-confirmation__actions{display:flex;gap:1.5rem;justify-content:center;margin-top:3rem;margin-bottom:3rem}@media (max-width: 768px){.booking-confirmation__actions{flex-direction:column;gap:1rem}}.booking-details{margin-top:3rem}.booking-details__container{max-width:800px;margin:0 auto}.booking-details__section{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(212,165,116,.2);border-radius:0;padding:2rem;margin-bottom:2rem}@media (max-width: 768px){.booking-details__section{padding:1.5rem}}.booking-details__section .form-section__title{color:#d4a574;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.25rem;font-weight:500;margin-bottom:1.5rem;letter-spacing:.02em}.booking-guests-simple{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.booking-guest-simple{padding:.5rem 1rem;background:#d4a5741a;border:1px solid rgba(212,165,116,.3);border-radius:0;font-size:.875rem;color:#d4a574;font-weight:500}.booking-guests{display:flex;flex-direction:column;gap:1.5rem}.booking-guest{background:#ffffff08;border:1px solid rgba(212,165,116,.15);border-radius:0;padding:1.5rem}.booking-guest__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(212,165,116,.2)}.booking-guest__title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1.125rem;font-weight:500;color:#d4a574;margin:0}.booking-guest__age-badge{font-size:.875rem;padding:4px 12px;border-radius:0;font-weight:500}.booking-guest__age-badge:contains("大人"){background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.booking-guest__age-badge:contains("子ども"){background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.booking-guest__info{display:flex;flex-direction:column;gap:1rem}.booking-guest__row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 768px){.booking-guest__row{grid-template-columns:1fr;gap:1rem}}.booking-guest__item{display:flex;flex-direction:column;gap:4px}.booking-guest__item--full{grid-column:1/-1}.booking-guest__label{font-size:.875rem;color:#ffffffb3;font-weight:500}.booking-guest__value{color:#fffffff2;font-weight:400;line-height:1.5}.booking-status{font-size:.875rem;padding:4px 12px;border-radius:0;font-weight:600;letter-spacing:.02em}.booking-status--confirmed{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.booking-status--pending{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.booking-status--cancelled{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}.booking-notice{display:flex;flex-direction:column;gap:1.5rem}.booking-notice__item{background:#ffffff08;border:1px solid rgba(212,165,116,.15);border-radius:0;padding:1.5rem}.booking-notice__title{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;font-size:1rem;font-weight:500;color:#d4a574;margin:0 0 1rem}.booking-notice__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.booking-notice__list li{color:#fffc;line-height:1.6;position:relative;padding-left:1.5rem}.booking-notice__list li:before{content:"•";color:#d4a574;position:absolute;left:0;font-weight:700}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:0;font-weight:500;text-decoration:none;transition:all .2s ease;font-size:1rem;cursor:pointer;border:none}.btn__icon{width:20px;height:20px}.btn--primary{background:linear-gradient(135deg,#d4a574,#c8956d);color:#000}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d4a5744d}.btn--outline{background:transparent;color:#d4a574;border:1px solid #d4a574}.btn--outline:hover{background:#d4a5741a;transform:translateY(-1px)}.booking-summary__value--highlight{background:linear-gradient(135deg,#d4a574,#c8956d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:600;font-size:1.125rem;letter-spacing:.05em}.booking-summary__booking-number{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem;background:#d4a5740d;border:2px solid #d4a574;border-radius:0;margin-bottom:3rem}.booking-summary__booking-number-label{font-size:.875rem;color:#d4a574;font-weight:600;letter-spacing:.1em;margin-bottom:.25rem}.booking-summary__booking-number-value{font-size:1.5rem;color:#d4a574;font-weight:700;letter-spacing:.05em;font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif}.booking-summary__details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (width <= 768px){.booking-summary__details-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (width <= 480px){.booking-summary__details-grid{grid-template-columns:1fr}}.booking-summary__detail-item{display:flex;flex-direction:column;padding:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:0}.booking-summary__detail-label{font-size:.875rem;color:#ffffffb3;font-weight:500;margin-bottom:.25rem;letter-spacing:.02em}.booking-summary__detail-value{font-size:1rem;color:#d4a574;font-weight:600;line-height:1.4}.booking-summary__detail-value small{color:#fffc;font-size:.75rem;font-weight:400}@media print{.booking-confirmation{background:#fff!important;color:#000!important;padding:0!important}.booking-confirmation__actions{display:none!important}.booking-details__section{background:#fff!important;border:1px solid #ccc!important;-moz-column-break-inside:avoid;break-inside:avoid}.booking-guest{background:#fff!important;border:1px solid #ddd!important}.form-section__title,.booking-guest__title,.booking-notice__title,.booking-guest__value,.booking-notice__list li{color:#000!important}}.alert-success{padding:24px;border-radius:0;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#15803d}.alert-success h4{color:#15803d;font-weight:600}.alert-success p{color:#15803d;margin:.5rem 0 0}.alert-danger{padding:24px;border-radius:0;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444e6}.alert-warning{padding:24px;border-radius:0;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fb923c1a;border:1px solid rgba(251,146,60,.3);color:#fb923ce6}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html{scroll-behavior:smooth}body{font-family:Cormorant Garamond,Playfair Display,"Noto Serif JP",serif;background-color:#000}.daterangepicker{background:#ffffff08!important;border:1px solid rgba(212,165,116,.1)!important;border-radius:0!important;box-shadow:none!important;-webkit-backdrop-filter:blur(10px)!important;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}
