@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho+B1:wght@500;600&display=swap";
:root{--brown-main:#806240;--brown-dark:#5a4b41;--brown-soft:#806240cc;--brown-soft-light:#806240b3;--bg-beige:#f6efe6;--bg-cream:#fbf7f0;--text-main:#5a4b41;--text-sub:#7a6a5d;--text-light:#8a7a6d;--border-color:#ddd;--card-shadow:0 10px 28px #00000014;--accent-green:#3c8f4a;--accent-orange:#e2a15a}.delivery-reservation-container{background:radial-gradient(circle at top,#fff7ea 0%,var(--bg-beige)45%,#f3e9dc 100%);scroll-behavior:smooth;max-width:1100px;min-height:100vh;margin:0 auto;padding:48px 32px 140px;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;position:relative}html{scroll-behavior:smooth}.delivery-reservation-container:before,.delivery-reservation-container:after{content:"";opacity:.12;z-index:0;border-radius:999px;position:absolute}.delivery-reservation-container:before{background:#d8b892;width:260px;height:260px;top:40px;left:-120px}.delivery-reservation-container:after{background:#9fbe9e;width:220px;height:220px;bottom:140px;right:-80px}.delivery-reservation-container>*{z-index:1;position:relative}.loading{text-align:center;color:var(--text-sub);padding:60px 0}.reservation-header{text-align:center;border-bottom:1px solid #80624026;margin-bottom:36px;padding-bottom:24px}.reservation-logo{width:180px;height:auto;margin-bottom:12px}.reservation-hero{flex-direction:column;align-items:center;gap:10px;display:flex}.reservation-eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--text-light);margin:0;font-family:Shippori Mincho B1,Hiragino Mincho ProN,serif;font-size:.75rem}.reservation-title{color:var(--text-main);letter-spacing:.08em;margin:0;font-family:Shippori Mincho B1,Hiragino Mincho ProN,serif;font-size:2.1rem;font-weight:600;line-height:1.3}.reservation-title-emphasis{color:var(--brown-main);margin-left:8px;display:inline-block}.reservation-subtitle{color:var(--text-sub);margin-top:12px;margin-bottom:14px;font-family:Shippori Mincho B1,Hiragino Mincho ProN,serif;font-size:1rem;line-height:1.7}.price-tags{color:var(--text-main);flex-wrap:wrap;justify-content:center;gap:12px;font-size:.95rem;display:flex}.first-time-link{border:1px solid var(--brown-main);color:var(--brown-main);background:0 0;border-radius:999px;align-items:center;gap:6px;margin-top:16px;padding:10px 20px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.first-time-link:after{content:"↓";font-size:.85rem}.first-time-link:hover{background:var(--brown-main);color:#fff}.reservation-section{margin-bottom:32px}.section-title{color:var(--text-main);letter-spacing:.06em;margin-bottom:16px;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif;font-size:1.25rem}.section-lead{color:var(--text-sub);margin-bottom:18px;font-size:.95rem}.bulk-input{background:var(--bg-cream);box-shadow:var(--card-shadow);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;display:flex}.bulk-label{color:var(--text-main);font-size:.85rem;font-weight:600}.bulk-select{border:1px solid var(--border-color);background:#fff;border-radius:6px;padding:8px 10px;font-size:.9rem}.bulk-quantity{align-items:center;gap:6px;display:flex}.bulk-quantity input{text-align:center;border:1px solid var(--border-color);border-radius:6px;width:50px;padding:6px 8px;font-size:.9rem}.bulk-apply-btn{background:var(--brown-main);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-size:.85rem;transition:opacity .2s}.bulk-apply-btn:disabled{opacity:.4;cursor:not-allowed}.bulk-clear-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:.85rem;text-decoration:underline;transition:color .2s}.bulk-clear-btn:hover{color:var(--text-main)}.no-results{text-align:center;color:var(--text-light);padding:32px 0}.date-list{gap:12px;display:grid}.date-card{box-shadow:var(--card-shadow);background:#fff;border-radius:14px;flex-direction:column;gap:12px;padding:16px 18px;animation:.5s both fadeUp;display:flex}.date-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.date-label-row{align-items:center;gap:8px;display:flex}.date-label{color:var(--text-main);margin:0;font-size:.95rem;font-weight:600}.status-badge{letter-spacing:.04em;border-radius:999px;align-items:center;padding:3px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.status-available{color:var(--accent-green);background:#3c8f4a1f}.status-deadline{color:#b26c1e;background:#e2a15a26}.date-card-summary{color:var(--text-sub);font-size:.9rem}.date-card-placeholder{color:var(--text-light)}.date-card-controls{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr);align-items:end;gap:12px;display:grid}.size-select{color:var(--text-main);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.size-select select{border:1px solid var(--border-color);background:#fff;border-radius:6px;padding:8px 10px;font-size:.9rem}.quantity-control{color:var(--text-main);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.quantity-input-wrapper{align-items:center;gap:6px;display:flex}.quantity-btn{border:1px solid var(--brown-main);width:30px;height:30px;color:var(--brown-main);cursor:pointer;background:#fff;border-radius:6px;font-size:1rem;transition:all .2s}.quantity-btn:disabled{opacity:.4;cursor:not-allowed}.quantity-input-wrapper input{text-align:center;border:1px solid var(--border-color);border-radius:6px;width:60px;padding:6px 8px;font-size:.9rem}.total-bar{background:#faf7f3f5;border-top:1px solid #80624040;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:16px 20px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 10px #0000000d}.total-bar-info{color:var(--text-main);align-items:baseline;gap:12px;font-size:1rem;display:flex}.total-amount strong{font-size:1.1rem}.order-button{background:var(--brown-main);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-size:.95rem;transition:transform .2s,box-shadow .2s}.order-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #80624033}.order-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.order-modal{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 10px 30px #0003}.order-modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.order-modal-header h2{color:var(--text-main);margin:0;font-size:1.2rem}.order-modal-close{cursor:pointer;color:var(--text-sub);background:0 0;border:none;font-size:1.4rem}.order-form{flex-direction:column;gap:20px;display:flex}.order-form-section{background:var(--bg-cream);border-radius:12px;padding:16px}.order-form-section h3{color:var(--text-main);margin:0 0 12px;font-size:1rem}.order-items-list{gap:10px;display:grid}.order-item-row{color:var(--text-sub);grid-template-columns:minmax(160px,1fr) minmax(120px,1fr) minmax(120px,1fr);gap:8px;font-size:.9rem;display:grid}.order-total-row{color:var(--text-main);margin-top:12px;font-size:1rem}.form-group{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.form-group label{color:var(--text-main);font-size:.9rem}.form-group input,.form-group textarea{border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;font-size:.95rem}.required{color:#d65a5a}.customer-type-selector{gap:8px;margin-top:6px;display:flex}.customer-type-option{box-shadow:inset 0 0 0 1px var(--border-color);cursor:pointer;background:#fff;border:2px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.customer-type-option:hover{border-color:var(--brown-soft-light);background:#80624008}.customer-type-option input[type=radio]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.customer-type-option:has(input[type=radio]:checked){box-shadow:inset 0 0 0 2px var(--brown-main);background:#8062400f}.customer-type-option:has(input[type=radio]:checked) span{color:var(--brown-main)}.customer-type-option span{color:var(--text-sub);cursor:pointer;text-align:center;font-size:.9rem;font-weight:500}.name-input-row{gap:8px;display:flex}.name-input-row input{flex:1}.postal-code-input{gap:8px;display:flex}.postal-code-input input{flex:1;max-width:140px}.postal-search-btn{border:1px solid var(--brown-main);color:var(--brown-main);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:8px 14px;font-size:.85rem;transition:all .2s}.postal-search-btn:hover{background:#80624014}.postal-search-btn:disabled{opacity:.5;cursor:not-allowed}.order-form-actions{justify-content:flex-end;gap:12px;display:flex}.order-form-cancel,.order-form-submit{cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-size:.95rem}.order-form-cancel{color:var(--text-main);background:#eee}.order-form-submit{background:var(--brown-main);color:#fff}.order-form-cancel:disabled,.order-form-submit:disabled{opacity:.5;cursor:not-allowed}.content-section{margin-top:64px}.carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;margin:0 -16px;padding:4px 16px 12px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{height:4px}.carousel::-webkit-scrollbar-thumb{background:#d6c7b3;border-radius:2px}.carousel-card{scroll-snap-align:start;width:calc(100% - 60px);max-width:280px;box-shadow:var(--card-shadow);background:#fffdf9;border-radius:14px;flex-direction:column;flex:none;gap:10px;padding:14px;display:flex}.carousel-image{object-fit:contain;background:#faf6f1;border-radius:10px;width:100%;height:180px}.carousel-title{color:var(--text-main);font-size:.95rem;font-weight:600;line-height:1.4}.carousel-date{color:var(--text-sub);margin-bottom:2px;font-size:.8rem;font-weight:500;display:block}.carousel-description{color:var(--text-sub);font-size:.82rem;line-height:1.6}.info-section{gap:12px;margin-top:48px;display:grid}.info-card{box-shadow:var(--card-shadow);background:#fffdf9;border-radius:12px;padding:14px 16px}.info-card li,.info-card strong,.info-card p{border-bottom:none;text-decoration:none}.info-title{color:var(--text-main);letter-spacing:.04em;border-bottom:1px dashed #d6c7b3;margin:0 0 10px;padding-bottom:8px;font-size:1rem;font-weight:600}.info-list{margin:0;padding-left:0;list-style:none}.info-list li{color:var(--text-sub);border-bottom:none;margin-bottom:6px;padding-left:1.4rem;font-size:.9rem;line-height:1.6;text-decoration:none;position:relative}.info-list li:before{content:"";background:var(--accent-green);opacity:.7;border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.info-list li:last-child{margin-bottom:0}.info-list strong{color:var(--text-main);border-bottom:none;font-weight:600;text-decoration:none}.info-note{color:var(--text-light);margin:8px 0 0;padding-left:.2rem;font-size:.82rem}.go-to-reservation-link{background:var(--brown-main);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:14px 28px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 4px 12px #80624040}.go-to-reservation-link:before{content:"↑";font-size:.9rem}.go-to-reservation-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px #8062404d}.voice-card{box-shadow:var(--card-shadow);background:#fffdf9;border-radius:16px;padding:28px 24px}.voice-card p{margin-bottom:20px;font-size:.95rem;line-height:1.8}.voice-card strong{color:var(--text-main)}.list{margin-top:12px;padding-left:1.4rem}.list li{margin-bottom:10px;font-size:.95rem}.link{color:#1976d2;text-decoration:underline}.form-section{border-top:1px dashed #d6c7b3;margin-top:56px;padding-top:32px}.contact-notice{text-align:center;box-shadow:var(--card-shadow);background:#fffdf9;border-radius:12px;margin-top:40px;padding:20px 18px}.contact-notice p{color:var(--text-sub);margin-bottom:6px;font-size:.9rem}.line-button{color:#fff;letter-spacing:.04em;background:#00c300;border-radius:999px;margin-top:12px;padding:10px 20px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .25s,transform .15s;display:inline-block}.line-button:hover{background:#00ad00;transform:translateY(-1px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.back-home-container{background:0 0}@media (max-width:768px){.delivery-reservation-container{padding:32px 20px 160px}.reservation-title{font-size:1.6rem}.date-card-controls{grid-template-columns:1fr}.carousel{margin:0 -20px;padding-left:20px;padding-right:20px}.carousel-card{width:calc(100% - 40px);max-width:none}.carousel-image{height:160px}.voice-card{padding:22px 18px}.order-item-row{grid-template-columns:1fr}.total-bar{flex-direction:column;align-items:flex-start}}
