/* テーマ側の table / a の装飾に負けないよう、.eyc から始めて主要な指定は !important にしている */
.eyc{max-width:560px;margin:1.5em auto;font-size:14px;line-height:1.4;color:#333}
.eyc .eyc-lead{margin:0 0 .6em !important;padding:0 !important;text-align:center;font-weight:700;color:#333 !important;background:none !important;border:0 !important}
.eyc p::before,.eyc p::after,.eyc a::before,.eyc a::after,.eyc th::before,.eyc td::before{content:none !important;display:none !important}
.eyc .eyc-lead span{font-size:12px;font-weight:400;color:#666 !important}
.eyc .eyc-tabs{display:flex;gap:4px;margin:0;border-bottom:2px solid #c0753f}
.eyc .eyc-tab{flex:1;margin:0;padding:10px 4px;border:0 !important;border-radius:8px 8px 0 0;background:#f3ede8 !important;color:#6b5a4d !important;font:inherit;font-weight:700;box-shadow:none !important;cursor:pointer}
.eyc .eyc-tab.is-active{background:#c0753f !important;color:#fff !important}
.eyc .eyc-body{border:2px solid #c0753f;border-top:0;border-radius:0 0 8px 8px;padding:10px 8px;background:#fff}
.eyc .eyc-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.eyc .eyc-nav button{padding:6px 10px;border:1px solid #c0753f !important;border-radius:4px;background:#fff !important;color:#c0753f !important;font:inherit;font-size:12px;box-shadow:none !important;cursor:pointer}
.eyc .eyc-nav button:disabled{border-color:#ddd !important;color:#bbb !important;cursor:default}
.eyc .eyc-range{font-weight:700;color:#333}
.eyc .eyc-grid{overflow:visible}
.eyc .eyc-grid.is-scroll{max-height:380px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-bottom:1px solid #e5ddd6}
.eyc .eyc-scroll-hint{margin:6px 0 0 !important;font-size:11px;color:#999 !important;text-align:center}
.eyc table.eyc-table{width:100% !important;margin:0 !important;border-collapse:collapse !important;table-layout:fixed;background:#fff !important;border:0 !important}
.eyc table.eyc-table th,.eyc table.eyc-table td{padding:0 !important;border:1px solid #e5ddd6 !important;text-align:center !important;vertical-align:middle !important;background:#fff !important;color:#333 !important;font-size:12px}
.eyc table.eyc-table thead th{padding:4px 0 !important;background:#faf6f2 !important;color:#333 !important;font-weight:700}
.eyc table.eyc-table thead th span{font-size:11px;font-weight:400;color:inherit !important}
.eyc table.eyc-table th.is-sat{color:#2f6db5 !important}
.eyc table.eyc-table th.is-sun{color:#c63b3b !important}
.eyc table.eyc-table th.eyc-time{width:3.4em;background:#faf6f2 !important;color:#555 !important;font-size:11px;font-weight:400}
.eyc table.eyc-table td.eyc-cell{height:34px}
.eyc table.eyc-table td.is-none{color:#bbb !important}
.eyc table.eyc-table td.eyc-cell button.eyc-pick{display:block;width:100%;height:34px;line-height:34px;margin:0;padding:0;border:0 !important;outline:0 !important;box-shadow:none !important;background:none !important;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.eyc table.eyc-table td.eyc-cell .is-ok{color:#c0753f !important}
.eyc table.eyc-table td.eyc-cell .is-few{color:#d28b2c !important}
.eyc table.eyc-table td.eyc-cell button.eyc-pick:hover{background:#fff1e5 !important}
.eyc .eyc-msg{margin:2em 0;text-align:center;color:#666}
.eyc .eyc-legend{margin:8px 0 0 !important;font-size:12px;color:#666 !important;text-align:center}
.eyc a.eyc-cta{display:block;margin:12px auto 0;padding:14px;border:0 !important;border-radius:999px;outline:0 !important;box-shadow:none !important;background:#c0753f !important;color:#fff !important;font-weight:700;text-align:center;text-decoration:none !important}
.eyc a.eyc-cta:hover{opacity:.85;color:#fff !important}
html body .eyc a.eyc-cta,html body .eyc a.eyc-cta:link,html body .eyc a.eyc-cta:visited,html body .eyc a.eyc-cta *{color:#fff !important;text-decoration:none !important}
.eyc table.eyc-table thead th{position:sticky;top:0;z-index:1}
.eyc table.eyc-table.is-10min td.eyc-cell{height:28px}
.eyc table.eyc-table.is-10min td.eyc-cell button.eyc-pick{height:28px;line-height:28px;font-size:14px}
.eyc table.eyc-table.is-10min tr.is-hour th,.eyc table.eyc-table.is-10min tr.is-hour td{border-top:2px solid #d9c9bc !important}
.eyc .eyc-note{margin:0 0 1em;padding:12px 14px;border:2px solid #c0753f;border-radius:8px;background:#fff8f2;text-align:left}
.eyc .eyc-note p{margin:0 !important;padding:0 !important;border:0 !important;background:none !important}
.eyc .eyc-note .eyc-note-ttl{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;line-height:1.4;color:#333 !important}
.eyc .eyc-note .eyc-note-icon{flex:none;padding:3px 8px;border-radius:4px;background:#c0753f;color:#fff !important;font-size:11px;letter-spacing:.05em}
.eyc .eyc-note em{display:inline-block;white-space:nowrap;font-style:normal;color:#c0753f !important;background:linear-gradient(transparent 60%,#ffe08a 60%)}
.eyc .eyc-note .eyc-note-txt{margin-top:6px !important;font-size:13px;line-height:1.7;color:#444 !important}
.eyc .eyc-note strong{font-weight:700;color:#333 !important;background:linear-gradient(transparent 60%,#ffe08a 60%)}
.eyc .eyc-tab .eyc-badge{display:block;margin-top:2px;font-size:10px;font-weight:400;line-height:1.2;color:inherit !important;opacity:.85}

/* 枠を押したときに出る確認シート（押した枠では予約は確定しない旨を伝える） */
.eyc-sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .18s;z-index:99998}
.eyc-sheet-bg.is-open{opacity:1;pointer-events:auto}
.eyc-sheet{position:fixed;left:0;right:0;bottom:0;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 24px);z-index:99999;max-width:560px;margin:0 auto;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.18);transform:translateY(110%);transition:transform .22s cubic-bezier(.2,.8,.3,1);font-size:14px;line-height:1.4;color:#333}
.eyc-sheet.is-open{transform:translateY(0)}
.eyc-sheet{touch-action:pan-y}
/* つまみ：ここを下にスワイプ（PCはドラッグ）して閉じられる */
.eyc-sheet .eyc-sheet-grab{display:flex;align-items:center;justify-content:center;height:26px;margin:-14px 0 6px;touch-action:none;cursor:grab}
.eyc-sheet .eyc-sheet-grab:active{cursor:grabbing}
.eyc-sheet .eyc-sheet-bar{display:block;width:44px;height:5px;border-radius:3px;background:#d8d2cc}
.eyc-sheet .eyc-sheet-slot{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid #c0753f;border-radius:10px;background:#fff8f2}
.eyc-sheet .eyc-sheet-mark{flex:none;width:30px;height:30px;line-height:30px;border-radius:50%;background:#c0753f;color:#fff !important;text-align:center;font-size:17px;font-weight:700}
.eyc-sheet .eyc-sheet-when{font-size:17px;font-weight:700;color:#333 !important;line-height:1.35}
.eyc-sheet .eyc-sheet-when small{display:block;font-size:12px;font-weight:400;color:#777 !important}
.eyc-sheet .eyc-sheet-steps{margin:14px 0 0 !important;padding:0 !important;list-style:none;font-size:13px;line-height:1.75;color:#444}
.eyc-sheet .eyc-sheet-steps li{display:flex;gap:8px;margin:0 !important;padding:3px 0;list-style:none}
.eyc-sheet .eyc-sheet-steps li::before{content:none !important}
.eyc-sheet .eyc-sheet-steps b{flex:none;width:19px;height:19px;margin-top:3px;line-height:19px;border-radius:50%;background:#efe4da;color:#8a6a53 !important;text-align:center;font-size:11px;font-weight:700}
.eyc-sheet .eyc-sheet-steps strong{font-weight:700;color:#333 !important}
.eyc-sheet .eyc-sheet-note{margin:12px 0 0 !important;font-size:11.5px;line-height:1.65;color:#888 !important}
.eyc-sheet a.eyc-sheet-go{display:block;margin:16px 0 0;padding:15px;border:0 !important;border-radius:999px;box-shadow:none !important;background:#c0753f !important;color:#fff !important;font-weight:700;font-size:15px;text-align:center;text-decoration:none !important}
.eyc-sheet .eyc-sheet-close{display:block;width:100%;margin:10px 0 0;padding:10px;border:0 !important;background:none !important;box-shadow:none !important;color:#888 !important;font:inherit;font-size:13px;cursor:pointer}
