@charset "UTF-8";:root{--main-bg: #fffaf3;--accent-color: #ff8c42;--warm-orange: #ff8c42;--warm-yellow: #ffd166;--warm-peach: #ffb88c;--warm-coral: #ff9770;--warm-beige: #f4e8c1;--warm-brown: #8b6f47;--text-dark: #5d4e37;--text-medium: #8b6f47;--white: #ffffff}*,*:before,*:after{box-sizing:border-box}.modal *,.modal-content *,.modal-overlay *,.date-calendar-section *{box-sizing:border-box!important}body{margin:0;font-family:Noto Sans JP,sans-serif;background-color:#faffe0;color:var(--text-dark);line-height:1.6}.container{max-width:100%;margin:0 auto;padding:0 15px}@media(min-width:768px){.container{padding:0 20px}}@media(min-width:1024px){.container{max-width:900px}}.navbar{position:absolute;top:0;left:0;right:0;background:#ff8c4226;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px;display:flex;justify-content:space-between;align-items:center;z-index:100;box-shadow:0 2px 10px #ff8c4233}@media(min-width:768px){.navbar{padding:20px 30px}}.nav-logo{display:flex;align-items:center;gap:12px}.nav-logo-image{height:45px;width:auto;border-radius:8px;box-shadow:0 2px 8px #ff8c424d}@media(min-width:768px){.nav-logo-image{height:55px}}.nav-logo-text-container{display:flex;flex-direction:column;gap:2px}.nav-logo-en{font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:300;color:#fff;text-shadow:1px 1px 0px rgba(93,78,55,.3);letter-spacing:.5px}@media(min-width:768px){.nav-logo-en{font-size:.9rem}}.nav-logo-text{font-weight:400;font-family:Dela Gothic One,sans-serif;font-size:1.2rem;color:#fff;text-shadow:2px 2px 0px rgba(93,78,55,.3)}@media(min-width:768px){.nav-logo-text{font-size:1.5rem}}.nav-right{display:flex;align-items:center;gap:15px}@media(min-width:768px){.nav-right{gap:20px}}.nav-links{display:none;list-style:none;gap:10px;margin:0;padding:0;font-size:.9rem}.nav-links a{text-decoration:none;color:#fff;font-weight:700;padding:8px 15px;border-radius:20px;transition:all .3s ease;text-shadow:1px 1px 2px rgba(93,78,55,.3)}.nav-links a:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}@media(min-width:768px){.nav-links{display:flex;gap:15px;font-size:1rem}}.nav-social{display:flex;gap:10px;align-items:center}@media(min-width:768px){.nav-social{gap:12px}}.social-icon{color:#fff;font-size:1.5rem;text-decoration:none;transition:all .3s ease;text-shadow:1px 1px 2px rgba(93,78,55,.3);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff1a}@media(min-width:768px){.social-icon{font-size:1.8rem;width:45px;height:45px}}.social-icon:hover{background:#ffffff40;transform:translateY(-3px) scale(1.1);box-shadow:0 4px 12px #00000026}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;padding:0}.hamburger-btn i{color:#fff;font-size:1.5rem;text-shadow:1px 1px 2px rgba(93,78,55,.3);transition:all .3s ease}.hamburger-btn:hover{background:#ffffff40;transform:translateY(-3px) scale(1.1);box-shadow:0 4px 12px #00000026}@media(min-width:768px){.hamburger-btn{display:none!important}}.mobile-menu{position:fixed;top:0;right:-100%;width:auto;min-width:200px;max-width:280px;height:100vh;background:linear-gradient(135deg,#ff8c42fa,#ff9770fa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;transition:right .3s ease;padding-top:80px;box-shadow:-5px 0 25px #0000004d;overflow-y:auto}.mobile-menu.active{right:0}@media(min-width:768px){.mobile-menu{display:none!important}}.mobile-menu-list{list-style:none;padding:0;margin:0}.mobile-menu-link{display:block;padding:18px 25px;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;text-shadow:1px 1px 2px rgba(93,78,55,.3);transition:all .3s ease;border-bottom:1px solid rgba(255,255,255,.2);white-space:nowrap}.mobile-menu-link:hover,.mobile-menu-link:active{background:#fff3;padding-left:35px}.hero{height:80vh;min-height:600px;background-color:#ffd166;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 15px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffd1664d,#ff97704d,#ff8c424d 60%,#ffb88c4d),url(/photos/exterior/exterior_1.jpg);background-size:cover;background-position:center;filter:blur(1.5px);z-index:0;animation:slowZoom 60s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:100px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'%3E%3Cpath d='M0,50 Q200,70 400,50 T800,50 T1200,50 L1200,100 L0,100 Z' fill='%23FAFFE0'/%3E%3C/svg%3E") no-repeat bottom;background-size:100% 100%;z-index:2;pointer-events:none}@media(min-width:768px){.hero{height:80vh;min-height:700px}}.hero-content{position:relative;z-index:3;align-self:flex-start;margin-left:10%;margin-top:auto;margin-bottom:auto;text-align:left}@media(min-width:768px){.hero-content{margin-left:15%}}.catchphrase{font-size:clamp(1.3rem,7vw,2.2rem);font-weight:900;color:#fff;margin:10px 0;text-shadow:3px 3px 6px rgba(0,0,0,.4);display:block;line-height:1.3}@media(min-width:768px){.catchphrase{font-size:clamp(2.2rem,3.5vw,2.8rem)}}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.section{padding:40px 0}@media(min-width:768px){.section{padding:60px 0}}.section-full-width{margin-left:-15px;margin-right:-15px;width:calc(100% + 30px)}@media(min-width:768px){.section-full-width{margin-left:-20px;margin-right:-20px;width:calc(100% + 40px)}}@media(min-width:1024px){.section-full-width{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}}.section-title{text-align:center;margin-bottom:30px;font-size:1.8rem;font-weight:400;position:relative;color:#ff8c42;text-shadow:2px 2px 0px rgba(255,209,102,.4);font-family:Mochiy Pop One,sans-serif}@media(min-width:768px){.section-title{margin-bottom:40px;font-size:2.5rem}}.studio-message{text-align:center;font-size:1.1rem;line-height:2;color:#5d4e37;margin:0 auto 20px;max-width:1200px;padding:0 20px;font-family:Zen Maru Gothic,sans-serif;font-weight:500}@media(min-width:768px){.studio-message{font-size:1.6rem;line-height:2.2;max-width:100%}}.card{background:#ffffffe6;padding:20px 15px;border-radius:25px;box-shadow:6px 6px #ff8c4233;margin-bottom:20px;overflow:hidden;border:3px solid #f4e8c1;transition:all .3s ease}@media(min-width:768px){.card{padding:30px;border-radius:30px}}.card h3{color:#ff8c42;margin-top:0}.icon-card{cursor:pointer;text-align:center;position:relative;transition:all .3s ease}.icon-card:hover{box-shadow:6px 6px #ff97704d;border-color:#ff9770;transform:translateY(-5px)}.icon-card:hover .icon-circle{transform:scale(1.1) rotate(10deg);background:linear-gradient(135deg,#ffd166,#ff9770)}.icon-circle{width:100px;height:100px;margin:0 auto 15px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,#ff8c42,#ffb88c);border-radius:50%;box-shadow:0 4px 15px #ff8c424d;transition:all .3s ease;border:3px solid #f4e8c1}@media(min-width:768px){.icon-circle{width:120px;height:120px;font-size:3.5rem}}.activity-grid,.studio-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:768px){.activity-grid,.studio-grid{grid-template-columns:repeat(3,1fr)}}.sticky-notes-grid{display:grid;grid-template-columns:1fr;gap:30px;padding:0 20px}@media(min-width:768px){.sticky-notes-grid{grid-template-columns:repeat(3,1fr);gap:40px;padding:0 30px}}.sticky-note{background:#fef68a;padding:25px;border-radius:3px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;min-height:100px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;position:relative}.sticky-note p{margin:0;font-size:1.5rem;font-weight:600;color:#333;text-align:center;line-height:1.6}@media(min-width:768px){.sticky-note p{font-size:1.5rem}}.sticky-note:hover{transform:translateY(-5px) rotate(0)!important;box-shadow:0 10px 20px #00000026,0 3px 6px #0000001a}.sticky-note:nth-child(1){transform:rotate(2deg)}.sticky-note:nth-child(2){transform:rotate(-3deg)}.sticky-note:nth-child(3){transform:rotate(1deg)}.sticky-note:nth-child(4){transform:rotate(-2deg)}.sticky-note:nth-child(5){transform:rotate(3deg)}.sticky-note:nth-child(6){transform:rotate(-1deg)}.sticky-yellow{background:#fff4cc}.sticky-pink{background:#ffd6d3}.sticky-blue{background:#ffe2b8}.sticky-green{background:#ffd4bd}.sticky-orange{background:#ffe5cc}.sticky-purple{background:#ffccb8}@media(min-width:768px){.studio-card-full{grid-column:span 3}}.map-container{margin-top:20px;margin-left:auto;margin-right:auto;max-width:75%;border-radius:15px;overflow:hidden;border:3px solid #ff8c42;box-shadow:0 4px 15px #ff8c424d}.access-map{width:100%;height:auto;display:block;transition:transform .3s ease}.access-map:hover{transform:scale(1.02)}.google-map-container{margin-top:30px;margin-left:auto;margin-right:auto;max-width:75%;border-radius:15px;overflow:hidden;border:3px solid #ff8c42;box-shadow:0 4px 15px #ff8c424d}.google-map-container iframe{display:block}.price-category{margin-bottom:40px}.price-subtitle{color:#ff8c42;font-size:1.15rem;font-weight:700;margin-bottom:20px;padding-left:15px;border-left:5px solid #ff9770}@media(min-width:768px){.price-subtitle{font-size:1.4rem}}.price-item{font-size:1.1rem;margin:15px 0;color:#5d4e37}.price-item strong{color:#ff8c42}.note{color:#8b6f47;font-size:.9rem;margin-top:15px;font-style:italic}.news-display{display:grid;gap:20px}@media(min-width:768px){.news-display{gap:30px}}.news-item-front{background:#ffffffe6;padding:20px;border-radius:20px;border:3px solid #f4e8c1;box-shadow:5px 5px #ff8c4226;transition:all .3s ease}@media(min-width:768px){.news-item-front{padding:30px}}.news-item-front:hover{box-shadow:5px 5px #ff8c4240;transform:translateY(-3px)}.news-item-date{color:#ff8c42;font-size:.9rem;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:5px}@media(min-width:768px){.news-item-date{font-size:1rem}}.news-item-title{color:#5d4e37;font-size:1.2rem;font-weight:700;margin:10px 0 15px}@media(min-width:768px){.news-item-title{font-size:1.4rem}}.news-item-content{color:#8b6f47;line-height:1.7;font-size:.95rem}@media(min-width:768px){.news-item-content{font-size:1rem}}.loading-message,.no-news-message{text-align:center;padding:40px;color:#8b6f47;font-size:1rem}.table-wrapper{overflow-x:visible;background:#fff;border-radius:20px;padding:15px;border:3px solid #f4e8c1;box-shadow:6px 6px #ff8c4233}@media(min-width:768px){.table-wrapper{border-radius:25px;padding:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}}table{width:100%;border-collapse:collapse;font-size:.8rem}@media(min-width:768px){table{font-size:1rem;min-width:500px}}th,td{padding:12px 8px;border-bottom:2px solid #f4e8c1;text-align:center;font-weight:600}@media(min-width:768px){th,td{padding:20px}}th{background:linear-gradient(135deg,#ff8c42,#ff9770);color:#fff;font-size:.85rem;font-weight:900;text-shadow:1px 1px 2px rgba(93,78,55,.3)}@media(min-width:768px){th{font-size:1.1rem}}.info-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}@media(min-width:768px){.info-table{font-size:1rem}}.info-table th,.info-table td{padding:20px;border-bottom:1px solid #f4e8c1;text-align:left;vertical-align:top}.info-table th{background:linear-gradient(135deg,#ff8c42,#ff9770);color:#fff;font-weight:700;width:180px;font-size:.95rem;text-shadow:1px 1px 2px rgba(93,78,55,.3)}@media(min-width:768px){.info-table th{width:200px;font-size:1rem}}.info-table td{background:#fff;color:#5d4e37;line-height:1.8;font-weight:500}.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:none}.date-nav{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:15px 0;flex-wrap:wrap}@media(min-width:768px){.date-nav{gap:20px}}.btn-prev,.btn-next,.btn-calendar-prev,.btn-calendar-next{background:#ff8c42;color:#fff;border:none;padding:6px 10px;border-radius:50px;font-size:.8rem;font-weight:900;cursor:pointer;transition:all .3s ease;min-height:36px;box-shadow:2px 2px #8b6f474d;flex-shrink:0;white-space:nowrap}@media(min-width:768px){.btn-prev,.btn-next,.btn-calendar-prev,.btn-calendar-next{padding:12px 30px;font-size:1.1rem;min-height:45px;box-shadow:3px 3px #8b6f474d}}.btn-prev:hover,.btn-next:hover,.btn-calendar-prev:hover,.btn-calendar-next:hover{background:#ff9770;transform:translateY(-3px);box-shadow:5px 5px #8b6f4766}.btn-prev:active,.btn-next:active,.btn-calendar-prev:active,.btn-calendar-next:active{transform:translateY(-1px);box-shadow:2px 2px #8b6f474d}.date-calendar-section{margin-bottom:20px;padding:8px;background:linear-gradient(135deg,#ffd16633,#ffb88c33);border-radius:15px;border:2px solid #f4e8c1;box-shadow:3px 3px #ff8c4233;box-sizing:border-box;max-width:100%;width:100%;overflow:hidden}@media(min-width:768px){.date-calendar-section{padding:30px;border-radius:25px;border:3px solid #f4e8c1;box-shadow:6px 6px #ff8c4233;margin-bottom:30px}}.date-calendar-section h3{margin-bottom:8px;color:#ff8c42;font-size:1.1rem;text-align:center;font-weight:900;text-shadow:1px 1px 0px rgba(255,209,102,.3)}@media(min-width:768px){.date-calendar-section h3{margin-bottom:20px;font-size:1.3rem;text-shadow:2px 2px 0px rgba(255,209,102,.3)}}.calendar-nav{display:flex;gap:4px;align-items:center;justify-content:space-between;padding:4px 0;margin-bottom:8px;max-width:100%}@media(min-width:768px){.calendar-nav{gap:15px;padding:10px 0;margin-bottom:15px}}.calendar-nav .calendar-month{font-size:.85rem;font-weight:700;color:#5d4e37;min-width:60px;max-width:100px;text-align:center;flex:1;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:768px){.calendar-nav .calendar-month{font-size:1.1rem;min-width:120px;max-width:none}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:8px;max-width:100%;width:100%;box-sizing:border-box}@media(min-width:768px){.calendar-grid{gap:8px;margin-bottom:20px}}.calendar-day-header{padding:4px 1px;text-align:center;font-weight:900;font-size:.7rem;color:#fff;background:linear-gradient(135deg,#ff8c42,#ff9770);border-radius:4px;text-shadow:1px 1px 2px rgba(93,78,55,.3);box-sizing:border-box;min-width:0}@media(min-width:768px){.calendar-day-header{padding:12px;font-size:1rem;border-radius:10px}}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:2px 1px;border:1px solid #f4e8c1;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.75rem;font-weight:700;background:#fff;box-sizing:border-box;min-width:0;width:100%}@media(min-width:768px){.calendar-day{padding:12px;font-size:1.1rem;border:3px solid #f4e8c1;border-radius:15px}}.calendar-day:not(.empty):not(.disabled):hover{background:#ffd166;transform:scale(1.05);box-shadow:2px 2px #ff8c424d;border-color:#ff8c42}@media(min-width:768px){.calendar-day:not(.empty):not(.disabled):hover{transform:scale(1.1);box-shadow:3px 3px #ff8c424d}}.calendar-day.empty{border:none;background:transparent;cursor:default}.calendar-day.disabled{color:#ccc;background:#f5f5f5;cursor:not-allowed;border-color:#ddd}.calendar-day.selected{background:#ff8c42;color:#fff;font-weight:900;border-color:#ff8c42;box-shadow:2px 2px #5d4e374d;transform:scale(1.05)}@media(min-width:768px){.calendar-day.selected{box-shadow:3px 3px #5d4e374d;transform:scale(1.1)}}.selected-date-display{padding:15px;text-align:center;font-size:1rem;font-weight:700;color:#5d4e37;background:#fff;border-radius:4px;border:2px solid #ff8c42}.current-dates{font-weight:700;color:var(--text-dark);font-size:.9rem}@media(min-width:768px){.current-dates{font-size:1rem}}.btn-clear-selection{background:#ff9770;color:#fff;border:none;padding:12px 20px;border-radius:50px;font-size:1rem;font-weight:900;cursor:pointer;transition:all .3s ease;min-height:45px;box-shadow:3px 3px #8b6f474d}@media(min-width:768px){.btn-clear-selection{padding:12px 30px;font-size:1.1rem}}.btn-clear-selection:hover{background:#ff8c42;transform:translateY(-3px);box-shadow:5px 5px #8b6f4766}.btn-clear-selection:active{transform:translateY(-1px);box-shadow:2px 2px #8b6f474d}.btn-clear-selection.is-disabled,.btn-clear-selection:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.booking-grid-wrapper{display:flex;gap:0;margin:20px 0;overflow-x:visible;overflow-y:visible;border:1px solid #ddd;border-radius:10px}@media(min-width:768px){.booking-grid-wrapper{margin:30px 0;border:1px solid #ddd}}.time-labels{display:flex;flex-direction:column;background:#fafafa;flex-shrink:0}.time-labels:before{content:"";display:block;height:36px;min-height:36px;border-bottom:1px solid #ddd;box-sizing:border-box}@media(min-width:768px){.time-labels:before{height:47px;min-height:47px}}.booking-grid-wrapper.single-day .time-labels:before{display:none;height:0;min-height:0;border-bottom:none}.time-label{display:flex;align-items:center;justify-content:center;font-size:.65rem;color:#5d4e37;font-weight:700;height:36px;min-height:36px;line-height:1;border-bottom:1px solid #eee;border-right:2px solid #ddd;box-sizing:border-box;padding:0 6px;width:50px;margin:0;flex-shrink:0;background:#fafafa}@media(min-width:768px){.time-label{font-size:.75rem;height:50px;min-height:50px;padding:0 10px;width:70px}}.studios-container{display:grid;grid-template-columns:repeat(1,1fr);gap:0;flex:1;width:100%}@media(min-width:768px){.studios-container{grid-template-columns:repeat(1,1fr)}}.studio-column,.studio-column-date,.studio-column-single{border-right:1px solid #ddd;border-bottom:1px solid #ddd;padding:0;background:#fafafa;display:flex;flex-direction:column;width:100%;min-width:0}@media(min-width:768px){.studio-column,.studio-column-date,.studio-column-single{border:none;background:transparent}}.studio-column:last-child,.studio-column-date:last-child,.studio-column-single:last-child{border-right:none}.studio-column:last-child .t-slot,.studio-column-date:last-child .t-slot,.studio-column-single:last-child .t-slot{border-right:none}.studio-column h3,.studio-column-date h3,.studio-column-single h3{margin:0;padding:10px 8px;text-align:center;color:var(--text-dark);font-size:.85rem;border-bottom:1px solid #ddd;background:#fff;height:36px;box-sizing:border-box}@media(min-width:768px){.studio-column h3,.studio-column-date h3,.studio-column-single h3{padding:15px 10px;font-size:1rem;height:47px}}.studio-column-single{border:none;background:#fafafa}@media(min-width:768px){.studio-column-single{background:#fafafa}}.studio-column-date.disabled{opacity:.5}.studio-column-date.disabled .t-slot:not(.reserved){cursor:not-allowed;color:#999}.time-grid-slots{display:flex;flex-direction:column;gap:0;padding-bottom:0;flex:1}@media(min-width:768px){.time-grid-slots{padding-bottom:0}}.t-slot{background:var(--white);border-bottom:1px solid #eee;border-right:1px solid #eee;height:36px;min-height:36px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;box-sizing:border-box;border-radius:0;margin:0;padding:0;flex-shrink:0;touch-action:manipulation}@media(min-width:768px){.t-slot{height:50px;min-height:50px}}.t-slot:hover:not(.reserved){background:#fff3e0;border-color:var(--accent-color)}.t-slot.selected{background:var(--accent-color)!important;color:#fff}.t-slot.reserved{background:#e0e0e0;cursor:not-allowed;position:relative}.t-slot.reserved:hover{background:#d5d5d5;border-color:#bbb}.t-slot.reserved:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(180,180,180,.3) 5px,rgba(180,180,180,.3) 10px);pointer-events:none}.studio-summary{border-top:1px solid #eee;padding:12px 10px;text-align:center;margin:0;background:var(--white);display:flex;flex-direction:column;gap:5px;width:100%}.studio-summary p{margin:3px 0;font-size:.85rem;line-height:1.4}.studio-summary .total-price{font-size:1.2rem;font-weight:700;color:var(--text-dark)}@media(min-width:768px){.studio-summary{flex-direction:row;justify-content:space-between;align-items:center}.studio-summary p{margin:6px 0;font-size:.85rem}.studio-summary .total-price{font-size:1.2rem}}.studio-summary-fixed{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:2px solid var(--accent-color);padding:12px 15px;text-align:center;margin:0;box-shadow:0 -2px 10px #0000001a;z-index:50;display:flex;flex-direction:column;gap:5px;transform:translateY(100%);transition:transform .3s ease-in-out}.studio-summary-fixed.visible{transform:translateY(0)}.studio-summary-fixed p{margin:3px 0;font-size:.85rem;line-height:1.4}.studio-summary-fixed .total-price{font-size:1.2rem;font-weight:700;color:var(--text-dark)}@media(min-width:768px){.studio-summary-fixed{display:none}}.btn-reserve{background:linear-gradient(135deg,#ff8c42,#ff9770);color:#fff;border:none;padding:18px 32px;border-radius:50px;font-size:1.2rem;font-weight:900;cursor:pointer;margin-top:20px;margin-bottom:100px;width:100%;min-height:60px;box-shadow:5px 5px #8b6f474d;transition:all .3s ease;text-shadow:1px 1px 2px rgba(93,78,55,.3)}.btn-reserve:hover{transform:translateY(-5px) scale(1.05);box-shadow:7px 7px #8b6f4766;background:linear-gradient(135deg,#ffd166,#ffb88c)}.btn-reserve:active{transform:translateY(-2px) scale(1.02);box-shadow:3px 3px #8b6f474d}.btn-reserve:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}@media(min-width:768px){.btn-reserve{width:auto;padding:16px 40px;margin-bottom:0;margin-top:20px;font-size:1.3rem}}.time-grid-30{display:grid;grid-template-columns:60px 1fr;gap:10px;align-items:center;margin:20px 0;max-height:450px;overflow-y:auto;padding-right:10px}.t-label{font-size:.85rem;color:#5d4e37;font-weight:700;text-align:right;padding-right:5px}.price-summary{border-top:2px dashed #eee;padding-top:20px;text-align:right;width:100%}.total-price{font-size:1.5rem;font-weight:700;color:var(--text-dark)}.total-price.warning-text{color:var(--warm-coral);font-size:1.2rem;font-weight:700}#unitedStudioSummary{margin-top:30px;display:block;width:100%}.studio-selection-section{margin-bottom:30px;padding:30px;background:linear-gradient(135deg,#ffd16626,#ffb88c26);border-radius:25px;border:3px solid #f4e8c1;box-shadow:6px 6px #ff8c4233}.studio-selection-title{margin-bottom:20px;color:#ff8c42;font-size:1.3rem;text-align:center;font-weight:900;text-shadow:2px 2px 0px rgba(255,209,102,.3)}.studio-options{display:flex;flex-direction:column;gap:20px}@media(min-width:768px){.studio-options{flex-direction:row;gap:30px}}.studio-option{flex:1;position:relative;display:flex;align-items:center;padding:20px;background:#fff;border:3px solid #f4e8c1;border-radius:20px;cursor:pointer;transition:all .3s ease;box-shadow:3px 3px #ff8c4233}.studio-option:hover{transform:translateY(-3px);box-shadow:5px 5px #ff8c424d;border-color:#ff8c42}.studio-option.selected{background:linear-gradient(135deg,#ffd1664d,#ffb88c4d);border-color:#ff8c42;border-width:4px;box-shadow:5px 5px #8b6f474d}.studio-radio{position:absolute;opacity:0;width:0;height:0}.studio-info{flex:1;padding-left:40px;position:relative}.studio-info:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:24px;border:3px solid #f4e8c1;border-radius:50%;background:#fff;transition:all .3s ease}.studio-option.selected .studio-info:before{border-color:#ff8c42;background:#ff8c42;box-shadow:0 0 0 3px #fff inset}.studio-name{font-size:1.2rem;font-weight:900;color:#5d4e37;margin-bottom:4px;text-shadow:1px 1px 0px rgba(255,209,102,.2)}@media(min-width:768px){.studio-name{font-size:1.3rem}}.studio-details{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#5d4e37}@media(min-width:768px){.studio-details{font-size:1rem}}.studio-size{font-weight:700;color:#ff8c42}.studio-price{color:#666;font-size:.85rem}@media(min-width:768px){.studio-price{font-size:.9rem}}.modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#00000080;animation:fadeIn .3s ease}.modal.show{display:block}.modal-content{background-color:var(--white);margin:0;padding:8px;border-radius:0;width:100%;max-width:100vw;height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;position:relative;box-shadow:0 10px 40px #0003;animation:slideDown .3s ease;box-sizing:border-box}@media(min-width:768px){.modal-content{margin:3% auto;padding:30px;border-radius:20px;width:90%;max-width:600px;max-height:85vh;height:auto}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;right:10px;top:10px;font-size:28px;font-weight:700;color:#aaa;cursor:pointer;transition:color .3s ease}@media(min-width:768px){.modal-close{right:20px;top:20px}}.modal-close:hover{color:var(--text-dark)}.modal-title{color:var(--text-dark);margin-bottom:15px;margin-right:30px;font-size:1.1rem;text-align:center;border-bottom:2px solid var(--accent-color);padding-bottom:8px}@media(min-width:768px){.modal-title{margin-bottom:25px;margin-right:0;font-size:1.5rem;padding-bottom:15px}}.modal-section{margin-bottom:15px;padding:8px;background:#fafafa;border-radius:8px}@media(min-width:768px){.modal-section{margin-bottom:25px;padding:15px;border-radius:10px}}.modal-section h3{color:var(--text-dark);font-size:.9rem;margin-bottom:8px;font-weight:700}@media(min-width:768px){.modal-section h3{font-size:1rem;margin-bottom:15px}}.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee;gap:8px;flex-wrap:wrap}@media(min-width:768px){.info-row{padding:8px 0}}.info-row:last-child{border-bottom:none}.info-label{font-weight:700;color:var(--text-dark);font-size:.85rem;flex-shrink:0}@media(min-width:768px){.info-label{font-size:.9rem}}.info-value{color:#666;font-size:.85rem;text-align:right;word-break:break-word}@media(min-width:768px){.info-value{font-size:.9rem}}.info-value.total-amount{font-size:1.1rem;font-weight:700;color:var(--text-dark)}@media(min-width:768px){.info-value.total-amount{font-size:1.3rem}}.form-group{margin-bottom:10px}@media(min-width:768px){.form-group{margin-bottom:15px}}.form-group label{display:block;margin-bottom:4px;font-weight:700;color:var(--text-dark);font-size:.85rem}@media(min-width:768px){.form-group label{margin-bottom:5px;font-size:.9rem}}.form-group input,.form-group .form-select,.form-group .form-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;box-sizing:border-box;font-family:Noto Sans JP,sans-serif;min-height:42px}@media(min-width:768px){.form-group input,.form-group .form-select,.form-group .form-textarea{padding:12px;font-size:1rem;min-height:44px}}.form-group input:focus,.form-group .form-select:focus,.form-group .form-textarea:focus{outline:none;border-color:var(--accent-color)}.required{color:#d84315;font-weight:700}.booking-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;box-sizing:border-box;font-family:Noto Sans JP,sans-serif;min-height:42px}@media(min-width:768px){.booking-input{padding:12px;font-size:.95rem;min-height:44px}}.input-group{margin-bottom:10px}@media(min-width:768px){.input-group{margin-bottom:15px}}.input-group label{display:block;margin-bottom:4px;font-weight:700;color:var(--text-dark);font-size:.85rem}@media(min-width:768px){.input-group label{margin-bottom:5px;font-size:.9rem}}.payment-options{display:flex;flex-direction:column;gap:10px}.payment-option{display:flex;align-items:flex-start;padding:10px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s;min-height:44px}@media(min-width:768px){.payment-option{padding:15px;border-radius:10px;min-height:48px}}.payment-option:hover{border-color:var(--accent-color);background:#fffbf5}.payment-option input[type=radio]{margin-top:3px;margin-right:8px;cursor:pointer;flex-shrink:0}@media(min-width:768px){.payment-option input[type=radio]{margin-right:10px}}.payment-option input[type=radio]:checked+.payment-label{color:var(--text-dark);font-weight:700}.payment-label{display:flex;flex-direction:column;gap:3px}.payment-name{font-size:.9rem;color:var(--text-dark)}@media(min-width:768px){.payment-name{font-size:1rem}}.payment-desc{font-size:.8rem;color:#666;line-height:1.4}@media(min-width:768px){.payment-desc{font-size:.85rem}}.checkbox-label{display:flex;align-items:flex-start;cursor:pointer;font-size:.85rem;line-height:1.5}@media(min-width:768px){.checkbox-label{font-size:.9rem}}.checkbox-label input[type=checkbox]{margin-right:8px;margin-top:2px;cursor:pointer;width:auto;flex-shrink:0}.checkbox-label a{color:var(--accent-color);text-decoration:underline}.modal-notice{background:#fff3e0;padding:10px;border-radius:8px;margin-bottom:15px;font-size:.8rem;line-height:1.5}@media(min-width:768px){.modal-notice{padding:15px;border-radius:10px;margin-bottom:20px;font-size:.85rem;line-height:1.6}}.modal-notice p{margin:4px 0}@media(min-width:768px){.modal-notice p{margin:5px 0}}.modal-actions{display:flex;gap:8px;margin-top:15px;flex-wrap:nowrap}@media(min-width:768px){.modal-actions{gap:10px;margin-top:20px}}.btn-primary,.btn-secondary{flex:1;padding:12px 14px;border:none;border-radius:50px;font-size:.9rem;cursor:pointer;transition:all .3s;font-family:Noto Sans JP,sans-serif;min-height:44px;touch-action:manipulation;white-space:nowrap}@media(min-width:768px){.btn-primary,.btn-secondary{padding:14px 20px;font-size:1rem;min-height:48px}}.btn-primary{background:var(--accent-color);color:var(--text-dark);font-weight:700}.btn-primary:hover{background:#ffd9a8;transform:translateY(-2px);box-shadow:0 5px 15px #ffb3474d}.btn-secondary{background:#f5f5f5;color:var(--text-dark)}.btn-secondary:hover{background:#e0e0e0}.footer{background:linear-gradient(135deg,#8b6f47,#ff8c42);color:#fff;padding:40px 20px;text-align:center;margin-top:60px;box-shadow:0 -4px 15px #8b6f474d}.footer a{color:#ffd166;text-decoration:none;margin:0 15px;font-size:1rem;font-weight:700;transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.footer a:hover{color:#fff;transform:translateY(-2px)}.footer p{font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.sns-links,.legal-links{margin-bottom:30px}.sns-links a,.legal-links a{display:inline-block;padding:8px 16px;border-radius:20px;background:#fff3;margin:5px;border:1px solid rgba(255,255,255,.3)}.sns-links a:hover,.legal-links a:hover{background:#ffffff59;border-color:#ffffff80}.sns-links .separator,.legal-links .separator{display:inline-block;margin:0 5px;color:#fff9;font-weight:300}.footer-contact{margin-bottom:30px}.phone-number{font-size:1.3rem;font-weight:700;margin-bottom:15px}.phone-number .phone-icon{margin-right:8px;font-size:1.2rem}.phone-number a{color:#fff;text-decoration:none;transition:all .3s ease;padding:10px 20px;border-radius:25px;background:#fff3;display:inline-block;margin:0;border:2px solid rgba(255,255,255,.3)}.phone-number a:hover{background:#ffffff59;color:#ffd166;transform:scale(1.05);border-color:#ffffff80}.studio-card{cursor:pointer;position:relative;transition:all .3s ease}.studio-card:hover{transform:translateY(-8px);box-shadow:8px 8px #ff8c424d}.studio-preview-image{width:100%;height:200px;overflow:hidden;border-radius:15px;margin:20px 0;background:#f4e8c1;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.studio-preview-image{height:250px}}.studio-preview-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.studio-card:hover .studio-preview-img{transform:scale(1.05)}.view-photos-badge{display:inline-block;background:linear-gradient(135deg,#ff8c42,#ff9770);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;margin-top:15px;transition:all .3s ease}.studio-card:hover .view-photos-badge{transform:scale(1.1);box-shadow:0 4px 10px #ff8c4266}.studio-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000e6;align-items:center;justify-content:center;padding:10px}@media(min-width:768px){.studio-modal{padding:20px}}.studio-modal-content{position:relative;background:#fffffff2;padding:15px;border-radius:12px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;box-sizing:border-box}@media(min-width:768px){.studio-modal-content{padding:30px;border-radius:20px}}.studio-modal-content h2{color:#ff8c42;margin-top:0;margin-bottom:15px;margin-right:35px;text-align:center;font-size:1.2rem}@media(min-width:768px){.studio-modal-content h2{margin-bottom:30px;margin-right:0;font-size:1.5rem}}.studio-modal-close{position:absolute;top:8px;right:12px;font-size:2rem;font-weight:700;color:#5d4e37;cursor:pointer;transition:color .3s ease;z-index:1}@media(min-width:768px){.studio-modal-close{top:15px;right:25px;font-size:2.5rem}}.studio-modal-close:hover{color:#ff8c42}.studio-gallery-container{position:relative;display:flex;align-items:center;justify-content:center;gap:10px}@media(min-width:768px){.studio-gallery-container{gap:20px}}.studio-gallery-images{flex:1;display:flex;justify-content:center;align-items:center;min-height:250px;max-height:400px;overflow:hidden;border-radius:10px;background:#f4e8c1}@media(min-width:768px){.studio-gallery-images{min-height:400px;max-height:600px;border-radius:15px}}.studio-gallery-image{max-width:100%;max-height:400px;width:auto;height:auto;object-fit:contain;border-radius:8px}@media(min-width:768px){.studio-gallery-image{max-height:600px;border-radius:10px}}.gallery-nav{background:linear-gradient(135deg,#ff8c42,#ff9770);color:#fff;border:none;font-size:2rem;padding:15px 20px;cursor:pointer;border-radius:10px;transition:all .3s ease;box-shadow:0 4px 10px #ff8c424d}.gallery-nav:hover{transform:scale(1.1);box-shadow:0 6px 15px #ff8c4280}.gallery-nav:active{transform:scale(.95)}@media(max-width:767px){.gallery-nav{font-size:1.5rem;padding:10px 15px}}.gallery-counter{text-align:center;margin-top:20px;font-size:1.1rem;font-weight:600;color:#5d4e37}.py-50{padding:50px 0}.mt-20{margin-top:20px}.btn-back{display:inline-block;color:var(--accent-color);text-decoration:none;font-weight:700}.animate-on-scroll.pop-in{animation:popIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes popIn{0%{opacity:0;transform:translateY(50px) scale(.8) rotate(-5deg)}60%{opacity:1;transform:translateY(-10px) scale(1.05) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes quickBounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-10px) scale(1.02)}50%{transform:translateY(-5px) scale(1.01)}75%{transform:translateY(-8px) scale(1.015)}}.section-title.animate-on-scroll.pop-in{animation:popInTitle .8s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes popInTitle{0%{opacity:0;transform:translateY(30px) scale(.5)}50%{opacity:1;transform:translateY(-15px) scale(1.1) rotate(-3deg)}70%{transform:translateY(5px) scale(.95) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.activity-grid>*.animate-on-scroll:nth-child(1).pop-in,.studio-grid>*.animate-on-scroll:nth-child(1).pop-in{animation-delay:0s}.activity-grid>*.animate-on-scroll:nth-child(2).pop-in,.studio-grid>*.animate-on-scroll:nth-child(2).pop-in{animation-delay:.1s}.activity-grid>*.animate-on-scroll:nth-child(3).pop-in,.studio-grid>*.animate-on-scroll:nth-child(3).pop-in{animation-delay:.2s}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:60px;height:60px;border:none;border-radius:50%;cursor:pointer;background:linear-gradient(135deg,#ff8c42,#ff9770);box-shadow:0 4px 15px #ff8c4266,0 2px 8px #ff97704d;transition:all .3s ease;color:#fff;z-index:1000;display:flex;align-items:center;justify-content:center}.scroll-to-top:hover{transform:translateY(-5px) scale(1.1);box-shadow:0 8px 25px #ff8c4299,0 4px 12px #ff977080}.scroll-to-top:active{transform:translateY(-2px) scale(1.05)}.scroll-to-top{animation:floatButton 3s ease-in-out infinite}.scroll-to-top svg{width:28px;height:28px;filter:drop-shadow(0 2px 4px rgba(93,78,55,.2))}@media(max-width:768px){.scroll-to-top{width:50px;height:50px;bottom:20px;right:20px}.scroll-to-top svg{width:24px;height:24px}}@keyframes floatButton{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}
