.tai-reservation-wrap{max-width:820px;margin:24px auto 50px;padding:0 14px;box-sizing:border-box}.tai-form{background:#fff;border:1px solid #eee;border-radius:16px;padding:26px;box-shadow:0 8px 26px rgba(0,0,0,.05)}.tai-form-head{text-align:center;margin-bottom:24px}.tai-form-head h2{margin:0 0 8px;font-size:26px}.tai-form-head p{margin:0;color:#666}.tai-form>label,.tai-form fieldset{display:block;margin:0 0 22px}.tai-form label{font-weight:600;color:#333}.tai-form input[type=text],.tai-form input[type=date],.tai-form select,.tai-form textarea{width:100%;box-sizing:border-box;margin-top:8px;padding:12px 13px;border:1px solid #ccc;border-radius:9px;background:#fff;font:inherit}.tai-form textarea{resize:vertical}.tai-form fieldset{border:0;padding:0}.tai-form legend{font-weight:700;margin-bottom:10px}.tai-radio-row{display:flex;flex-wrap:wrap;gap:10px 18px}.tai-radio-row label{font-weight:500}.tai-required{display:inline-block;margin-left:5px;padding:2px 7px;border-radius:999px;background:#d9534f;color:#fff;font-size:11px;vertical-align:middle}.tai-optional{font-size:12px;color:#777;font-weight:500}.tai-choice-block{margin:26px 0;padding:18px;border:1px solid #ead5da;border-radius:12px;background:#fffafb}.tai-choice-block h3{margin:0 0 14px;font-size:18px}.tai-choice-block h3 span{font-size:11px;background:#d9534f;color:#fff;padding:2px 7px;border-radius:999px}.tai-grid-3{display:grid;grid-template-columns:1.35fr 1fr .8fr;gap:12px}.tai-info{margin:-8px 0 22px;padding:12px 14px;border-radius:9px;background:#f7f7f7;color:#555;font-size:14px;line-height:1.7}.tai-conditional{display:none}.tai-conditional.is-open{display:block}.tai-submit{display:block;width:100%;border:0;border-radius:11px;padding:15px 18px;background:#e48a9a;color:#fff;font-weight:700;font-size:17px;cursor:pointer}.tai-submit:hover{filter:brightness(.96)}.tai-error{margin:0 0 14px;color:#c62828;font-weight:700}.tai-success{margin-bottom:18px;padding:16px 18px;border:1px solid #9ccda5;border-radius:12px;background:#f4fbf5;line-height:1.7}.tai-guide{padding:18px;border-radius:12px;background:#f7f7f7;text-align:center;color:#555}@media(max-width:700px){.tai-form{padding:19px 15px}.tai-form-head h2{font-size:22px}.tai-grid-3{grid-template-columns:1fr}.tai-choice-block{padding:15px}.tai-radio-row{flex-direction:column;gap:10px}}
.tasukeai-reservation-menu.tai-menu-is-hidden{display:none!important}.tai-back-wrap{margin:0 0 12px}.tai-back-menu{display:inline-flex;align-items:center;gap:4px;color:#777!important;text-decoration:none!important;font-size:14px;font-weight:600}.tai-back-menu:hover{color:#e48a9a!important}.tai-availability-note{margin:5px 0 18px;padding:12px 14px;border-left:4px solid #e48a9a;border-radius:8px;background:#fff7f9;color:#555;line-height:1.65}.tai-availability-note small{color:#777}@media(max-width:700px){.tai-back-wrap{margin:0 0 10px}.tai-back-menu{font-size:13px}}

/* ===== 予約ポップアップ v0.3.0 ===== */
.tai-popup-float{position:fixed;z-index:99980;display:flex;align-items:center;gap:8px;padding:13px 17px;border:0;border-radius:999px;background:#e48a9a;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);font:inherit;cursor:pointer;line-height:1}.tai-popup-float strong{font-size:15px;white-space:nowrap}.tai-popup-float-right{right:18px}.tai-popup-float-left{left:18px}.tai-popup-float:hover{filter:brightness(.96);transform:translateY(-1px)}
.tai-popup-inline-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:150px;padding:13px 20px;border:0;border-radius:10px;background:#e48a9a;color:#fff;font:inherit;font-weight:700;cursor:pointer}.tai-popup-inline-trigger:hover{filter:brightness(.96)}
.tai-popup{position:fixed;inset:0;z-index:99990;display:none}.tai-popup.is-open{display:block}.tai-popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.52)}.tai-popup-dialog{position:absolute;top:4vh;left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 32px));max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.28);outline:0}.tai-popup-header{position:sticky;top:0;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;background:#fff;border-bottom:1px solid #eee}.tai-popup-header h2{margin:0 0 4px;font-size:24px}.tai-popup-header p{margin:0;color:#666;font-size:14px}.tai-popup-close{flex:0 0 auto;width:40px;height:40px;border:0;border-radius:50%;background:#f3f3f3;color:#555;font-size:28px;line-height:1;cursor:pointer}.tai-popup-close:hover{background:#e9e9e9}.tai-popup-success{margin:18px 20px 0;padding:15px 17px;border:1px solid #9ccda5;border-radius:12px;background:#f4fbf5;line-height:1.7}.tai-popup-menu{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 20px 4px}.tai-popup-menu-button{display:flex;align-items:center;gap:13px;min-height:86px;padding:15px 16px;text-align:left;border:2px solid #e6b0ba;border-radius:13px;background:#fff;color:#333;font:inherit;cursor:pointer;transition:.18s ease}.tai-popup-menu-button:hover{background:#fff7f9;transform:translateY(-1px)}.tai-popup-menu-button.is-active{border-color:#e48a9a;background:#fff1f4;box-shadow:0 0 0 2px rgba(228,138,154,.12)}.tai-popup-menu-button>span:last-child{display:flex;flex-direction:column;min-width:0}.tai-popup-menu-button strong{font-size:17px;line-height:1.35}.tai-popup-menu-button small{margin-top:4px;color:#777;font-size:12px;line-height:1.45}.tai-popup-menu-icon{font-size:28px;line-height:1}.tai-popup-form-area{padding:10px 20px 22px}.tai-popup-form-panel{display:none}.tai-popup-form-panel.is-active{display:block}.tai-popup-prompt{padding:22px;text-align:center;border-radius:12px;background:#f7f7f7;color:#666}.tai-popup .tai-reservation-wrap{max-width:none;margin:0;padding:0}.tai-popup .tai-form{box-shadow:none;border-color:#eee}.tai-popup .tai-form-head{display:none}body.tai-popup-lock{overflow:hidden}
@media(max-width:700px){.tai-popup-float{padding:12px 14px}.tai-popup-float strong{font-size:14px}.tai-popup-float-right{right:12px}.tai-popup-float-left{left:12px}.tai-popup-dialog{top:0;width:100%;height:100%;max-height:none;border-radius:0}.tai-popup-header{padding:15px 14px 12px}.tai-popup-header h2{font-size:21px}.tai-popup-menu{grid-template-columns:1fr;padding:14px 12px 2px;gap:10px}.tai-popup-menu-button{min-height:72px;padding:12px 13px}.tai-popup-menu-button strong{font-size:16px}.tai-popup-form-area{padding:10px 10px 20px}.tai-popup-success{margin:14px 12px 0}.tai-popup-close{width:38px;height:38px}.tai-popup .tai-form{border-radius:12px}}

/* Ver.0.3.2: 固定ページ/LINEの個別MENUから開いた場合は、ポップアップ内の二重MENUを非表示 */
.tai-popup.is-direct .tai-popup-menu{display:none!important;}
.tai-popup.is-direct .tai-popup-header p{display:none;}
.tai-popup.is-direct .tai-popup-form-area{padding-top:0;}


/* Ver.0.3.6: 予約送信プロセス表示 */
.tai-form{position:relative}.tai-submit:disabled{opacity:.68;cursor:wait}.tai-sending-status{position:absolute;inset:0;z-index:20;display:none;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:30px;background:rgba(255,255,255,.93);border-radius:16px;text-align:center;color:#333}.tai-sending-status.is-visible{display:flex}.tai-sending-status strong{font-size:22px}.tai-sending-status small{font-size:14px;color:#777}.tai-sending-spinner{width:42px;height:42px;border:4px solid #f1d5db;border-top-color:#e48a9a;border-radius:50%;animation:tai-spin .8s linear infinite}@keyframes tai-spin{to{transform:rotate(360deg)}}.tai-popup-success{text-align:center;padding:22px 18px}.tai-popup-success strong{display:block;margin:2px 0 7px;font-size:21px}.tai-send-complete-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 8px;border-radius:50%;background:#5aa66a;color:#fff;font-size:30px;font-weight:700;line-height:1}@media(max-width:700px){.tai-sending-status{border-radius:12px}.tai-sending-status strong{font-size:20px}}


/* Ver.0.3.7: 送信プロセスをビューポート中央に固定し、完了後は専用画面へ切替 */
.tai-send-process{position:fixed;inset:0;z-index:100050;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.36);box-sizing:border-box}.tai-send-process.is-visible{display:flex}.tai-send-process-card{width:min(360px,calc(100vw - 40px));padding:30px 24px;border-radius:18px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.28);text-align:center;color:#333}.tai-send-process-card .tai-sending-spinner{display:block;margin:0 auto 16px}.tai-send-process-card strong{display:block;font-size:22px;line-height:1.4}.tai-send-process-card small{display:block;margin-top:9px;color:#666;font-size:14px;line-height:1.7}.tai-form.is-sending{pointer-events:none}.tai-form.is-sending .tai-sending-status{display:none!important}
.tai-popup.is-success .tai-popup-menu,.tai-popup.is-success .tai-popup-form-area,.tai-popup.is-success .tai-popup-header p{display:none!important}.tai-popup.is-success .tai-popup-dialog{max-width:620px}.tai-popup.is-success .tai-popup-header{border-bottom:0}.tai-popup-success-screen{margin:10px 22px 26px!important;padding:34px 24px!important;border:0!important;background:#fff!important}.tai-popup-success-screen p{margin:0;color:#555;line-height:1.8}.tai-popup-success-screen .tai-send-complete-icon{width:58px;height:58px;margin-bottom:14px;font-size:34px}.tai-popup-success-screen strong{font-size:25px}.tai-success-close{display:inline-flex;align-items:center;justify-content:center;min-width:150px;margin-top:22px;padding:12px 24px;border:0;border-radius:10px;background:#e48a9a;color:#fff;font:inherit;font-weight:700;cursor:pointer}.tai-success-close:hover{filter:brightness(.96)}
@media(max-width:700px){.tai-send-process-card{padding:26px 20px}.tai-popup.is-success .tai-popup-dialog{height:auto;min-height:0;top:50%;transform:translate(-50%,-50%);width:calc(100% - 28px);border-radius:18px}.tai-popup-success-screen{margin:0 14px 22px!important;padding:26px 12px!important}.tai-popup-success-screen strong{font-size:23px}}
/* 詳しく見るボタン */
.tai-popup-detail-link {
    text-align: center;
    margin: 18px 0 20px;
}

.tai-popup-detail-link a {
    display: inline-block;
    padding: 10px 24px;
    border: 1px solid currentColor;
    border-radius: 999px;
    text-decoration: none !important;
    font-weight: 600;
    line-height: 1.4;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.tai-popup-detail-link a:hover {
    opacity: 0.75;
    transform: translateY(-1px);
}