*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--el-cream: #FAF8F5;--el-ivory: #F5F0EB;--el-sage: #7B9E87;--el-sage-dark: #5A7D66;--el-sage-light: #E8F0EA;--el-rose: #C4A882;--el-rose-light: #F0E8DD;--el-charcoal: #2C2C2C;--el-text: #3A3A3A;--el-text-sub: #727272;--el-text-light: #999;--el-border: #E8E2DC;--el-white: #FFFFFF;--el-font-display: "Cormorant Garamond", serif;--el-font-body: "Zen Kaku Gothic New", sans-serif;--el-font-mincho: "Shippori Mincho", serif;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 12px rgba(0,0,0,.06);--shadow-lg: 0 8px 32px rgba(0,0,0,.1)}body{font-family:var(--el-font-body);font-weight:400;color:var(--el-text);background:var(--el-cream);line-height:1.7;-webkit-font-smoothing:antialiased}.hidden{display:none!important}.el-header{background:#fffffff2;backdrop-filter:blur(10px);border-bottom:1px solid var(--el-border);padding:0 24px;position:sticky;top:0;z-index:100}.el-header-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:64px}.el-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--el-charcoal)}.el-logo-icon{font-size:1.4rem;color:var(--el-sage)}.el-logo-en{font-family:var(--el-font-display);font-size:1.1rem;font-weight:600;display:block;line-height:1.2}.el-logo-jp{font-size:.65rem;color:var(--el-text-sub);display:block;letter-spacing:.1em}.el-header-actions{display:flex;align-items:center;gap:12px}.el-header-tel{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--el-sage-dark);text-decoration:none;font-weight:500}.el-btn-back{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:var(--el-sage);color:var(--el-white);border-radius:var(--radius-sm);text-decoration:none;font-size:.8rem;font-weight:500;transition:background .25s}.el-btn-back:hover{background:var(--el-sage-dark)}.page-hero{background:linear-gradient(135deg,var(--el-sage) 0%,var(--el-sage-dark) 100%);padding:48px 24px;text-align:center;color:#fff}.page-hero h1{font-family:var(--el-font-display);font-size:2rem;font-weight:600;margin-bottom:6px;color:#fff}.page-hero p{color:#fffc;font-size:.9rem}.reservation-section{max-width:700px;margin:-24px auto 60px;padding:0 20px;position:relative;z-index:1}.reservation-card{background:var(--el-white);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:40px;border:1px solid var(--el-border)}.steps{display:flex;justify-content:center;gap:8px;margin-bottom:36px}.step{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-size:.85rem;color:var(--el-text-sub);background:var(--el-ivory)}.step.active{background:var(--el-sage);color:#fff}.step-num{font-weight:700}.step-content h2{font-family:var(--el-font-mincho);font-size:1.1rem;margin-bottom:20px;text-align:center;color:var(--el-charcoal)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-nav button{background:none;border:1px solid var(--el-border);border-radius:var(--radius-sm);padding:6px 14px;cursor:pointer;font-size:.85rem;font-family:inherit;color:var(--el-text-sub);transition:all .2s}.cal-nav button:hover{border-color:var(--el-sage);color:var(--el-sage-dark)}.cal-nav-title{font-weight:700;font-size:1rem}.cal-header{text-align:center;font-size:.75rem;color:var(--el-text-sub);padding:8px 0;font-weight:500}.cal-day{text-align:center;padding:10px 4px;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:all .15s;border:2px solid transparent}.cal-day:hover:not(.disabled){background:var(--el-sage-light)}.cal-day.selected{background:var(--el-sage);color:#fff}.cal-day.disabled{color:#ccc;cursor:not-allowed}.cal-day.sunday{color:#c53030}.cal-day.saturday{color:var(--el-sage)}.cal-day.disabled.sunday,.cal-day.disabled.saturday{color:#ccc}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.time-slot{padding:12px;text-align:center;border:2px solid var(--el-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;transition:all .15s}.time-slot:hover{border-color:var(--el-sage)}.time-slot.selected{border-color:var(--el-sage);background:var(--el-sage);color:#fff}.time-slot.disabled{background:var(--el-ivory);color:#ccc;cursor:not-allowed;border-color:transparent}.selected-date,.selected-info{text-align:center;color:var(--el-sage-dark);font-weight:500;margin-bottom:20px;padding:8px;background:var(--el-sage-light);border-radius:var(--radius-sm)}.time-section-label{font-size:.8rem;color:var(--el-text-sub);margin-bottom:8px;padding-left:4px;font-weight:500;grid-column:1 / -1}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;margin-bottom:6px;font-size:.9rem}.required{color:#c53030;font-size:.75rem}.optional{color:var(--el-text-sub);font-size:.75rem}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:2px solid var(--el-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;transition:border-color .2s;background:var(--el-cream)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--el-sage)}.form-group textarea{resize:vertical}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .25s;text-decoration:none}.btn-primary{background:var(--el-sage);color:var(--el-white)}.btn-primary:hover{background:var(--el-sage-dark)}.btn-outline{background:transparent;border:1.5px solid var(--el-border);color:var(--el-text-sub)}.btn-outline:hover{border-color:var(--el-sage);color:var(--el-sage-dark)}.back-btn{margin-top:8px}.confirm-card{background:var(--el-ivory);border-radius:var(--radius-sm);padding:20px 24px;margin-bottom:20px;border:1px solid var(--el-border)}.confirm-row{display:flex;padding:8px 0;border-bottom:1px solid var(--el-border);font-size:.9rem}.confirm-row:last-child{border-bottom:none}.confirm-label{width:120px;font-weight:500;color:var(--el-text)}.confirm-value{color:var(--el-text-sub);flex:1}.complete{text-align:center;padding:20px 0}.complete-icon{margin-bottom:16px}.complete h2{font-family:var(--el-font-mincho);color:var(--el-charcoal)}.complete p{color:var(--el-text-sub);margin:12px 0 24px;font-size:.9rem}.el-footer{background:var(--el-charcoal);color:#fff9;text-align:center;padding:32px 20px;font-size:.8rem}.el-footer-name{font-family:var(--el-font-display);font-size:1rem;color:#fffc;margin-bottom:4px}@media(max-width:768px){.reservation-card{padding:20px 14px}.steps{flex-wrap:wrap;gap:4px}.step{padding:6px 10px;font-size:.75rem}.step-content h2{font-size:1rem}.time-slots{grid-template-columns:repeat(3,1fr);gap:6px}.time-slot{padding:10px 4px;font-size:.85rem}.form-actions{flex-direction:column}.calendar{gap:2px}.cal-day{padding:12px 4px;font-size:.95rem;min-height:44px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:rgba(123,158,135,.15);cursor:pointer;user-select:none;touch-action:manipulation}.cal-header{font-size:.7rem;padding:6px 0}.selected-date,.selected-info{font-size:.85rem}.form-group input,.form-group textarea{font-size:16px}.page-hero h1{font-size:1.6rem}.el-header-tel{display:none}}
