header{ width:100%;position:fixed;top:0;left:0;padding:14px 0;background-color:#fff;z-index:100;box-shadow:2px 0px 16px 0px rgba(0, 0, 0, 0.25);background:url(../img/header_bg.jpg) no-repeat center center/cover; }
header{ display:none; }
header .wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;max-width:95%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
header .logo{ display:-webkit-box;display:-ms-flexbox;display:flex;width:50%;max-width:640px;align-items:baseline;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between; }
header .main_logo{ display:block;width:50%; }
header .main_logo img{ width:100%;display:block; }
header .sub_logo{ width:47%;padding-bottom:2px; }
header .page_name{ border:1px solid #000;margin-bottom:0;padding:1% 4%;font-size:min(17px, 1.7vw);white-space:nowrap; }
#loading{ position:fixed;left:0;top:0;display:block;width:100%;height:100%;background-color:#fff;color:#000;font-size:100px;z-index:999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
#loading img{ width:250px;height:auto; }
.login_nav{/* max-width:210px; */height:100vh;background-color:#212c39;margin-bottom:min(100px, 12vw);position:fixed;width:clamp(200px, 20vw, 260px);max-width:260px;box-shadow:2px 0px 16px 0px rgba(0, 0, 0, 0.25);/* min-width:120px; */top:0;left:0;overflow-y:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.login_nav .wrap{ width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.login_nav .flex{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.login_nav .flex *{ color:#fff; }
.login_nav .item{border-top:1px solid #848484;position:relative;z-index:100;width:100%;height:100%;padding:min(17px, 5vw)  clamp(5px, 2vw, 30px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:66px;white-space:nowrap; }
.login_nav a.item:hover{ opacity:1; }
.login_nav .item.th{ border-top:none;text-align:center;font-size:150%;font-weight:bold;padding:40px 0; }
.login_nav .item.parent{position:relative;/* box-shadow:0px 6px 6px 0px rgb(0 0 0 / 24%); */cursor:pointer; }
/* .login_nav .item.parent:after{content:'';background-image:url(../img/arrow_drop_down.svg);background-size:contain;background-repeat:no-repeat;width:35px;top:50%;right:10px;transform:translateY(-50%);position:absolute;aspect-ratio:1;transition:.2s; } */
.login_nav .item.parent.active:after{ transform:translateY(-50%) rotate(180deg); }
.login_nav .item.login_user{ font-size:12px;line-height:18px; }
.login_nav .child_wrap{ display:none; }
.login_nav .child_wrap .inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;}
.login_nav .inner .item{background-color:#ffffff;color:#000;border-top:1px solid #d4d4d4;}
.login_nav .inner .item.bg_off{ background-color:#acacac;color:#474747;position:relative;padding-left:42px; }
.login_nav .inner .item.bg_off:before{ content:'';background:url(../img/line.svg) no-repeat center center/contain;position:absolute;left:25px;top:calc(50% - 6px);transform:translateY(-50%);width:6%;aspect-ratio:1;max-width:14px; }
/* .login_nav .logout{ border-bottom:1px solid #acacac; } */
.login_nav .item.other_sys{ background-color:#777; }
.login_nav .item.sin{ font-size:70%;letter-spacing:2.5px;border-top:none;color:#acacac; }
.login_nav .item.version{ margin-top:auto;max-height:30px;min-height:30px;border:none;color:#fff;font-size:110%;padding-top:0;padding-bottom:10px; }
.login_nav .item.version.pc{ display:block; }
.login_nav .item.version.sp{ display:none; }

.user_nav{ width:100vw;background-color:#fff;border-bottom: 1px solid #e9ecef;position:relative;left:50%;transform:translateX(-50%);padding:40px; }
.user_nav .wrap .flex{ display:flex; }
.user_nav .nav_body{ max-width:800px;margin:0 auto; }
.user_nav .item{ position:relative;font-size:120%;display:inline-block;margin:10px;color:#004494; }
.user_nav .item.right{ margin-left:auto; }
/* .user_nav .item:before{ content:"";position:absolute;left:0;top:6px;width:6px;height:6px;background-color:#acacac;border-radius:999px; } */
/* .login_body{ margin-top:min(150px, 5vw); } */
.login_body .generate_pass{ margin-top:4px;display:block; }
.login_nav .bt_menu, .login_nav .bt_close{ display:none; }
.material-symbols-outlined{ padding-right:6px; }
.notification{ position:fixed;left:0;top:0;max-width:400px;padding:10px;z-index:100; }
.notification .inner{ border:2px solid #acacac;background-color:#fff;border-radius:5px;padding:10px; }
.notification .allow_wrap, .notification .refuse_wrap{ border-radius:5px;margin:4px;padding:10px;background-color:#fff;box-shadow:2px 2px 6px 5px rgba(0, 0, 0, 0.1); }
.notification .allow_wrap{ border:2px solid #5eff72; }
.notification .refuse_wrap{ border:2px solid #ff9f9f; }
.notification .bt_close{ display:block;margin-left:auto;background-color:#acacac;color:#fff;border-radius:3px;width:50px;text-align:center;margin-top:6px; }
/* .notification .allow_wrap{ background-color:#b50009 } */
.save_complete{ opacity:0;height:0; }
.error_note_wrap{ margin-top:4%;margin-bottom:30px;max-width:600px;width:100%;margin-left:auto;margin-right:auto; }
.error_note_wrap span{ color:#b50009;padding:4px;border:1px solid #b50009;background-color:#ffd9db;border-radius:3px;line-height:164%;display:block;margin-bottom:8px; }
.complete_note_wrap span{ color:#27b500;padding:4px;border:1px solid #27b500;background-color:#27b5001c;border-radius:3px;line-height:164%;display:block;margin-bottom:8px;text-align:center; }
.y_scroll{ overflow-y:auto; }
/* .page_th{font-size:160%;display:block;text-align:center;margin-bottom:min(50px, 9%);}
.each_page{ margin:min(50px, 5vw) auto;margin-top:30px;padding-bottom:20px;width:90%;overflow-x:hidden; }
.th_sub{ font-size:24px;display:block;text-align:center; }
.airline_nav{ background-color:#efefef;width:100%; }
.th_container{ background-color:#fff;margin-bottom:5%; }
.th_container .main_th{ position:relative;padding:15px 20px;text-align:left;color:#fff;letter-spacing:1.9px;margin-bottom:0;background:url(../img/th_bg_grad.webp) no-repeat center center/cover; }
.th_container .main_th:after{ content:'';position:absolute;right:0;top:0;width:190px;height:100%;background:url(../img/th_bg.webp) no-repeat center center/cover;mix-blend-mode:soft-light; }
.th_container .main_th .sub{ margin-left:5px;font-weight:normal;margin-left:14px;font-weight:normal;font-size:90%; }
.th_container > .inner{ background-color:#fff;padding:20px; } */

.set_pass_page{ z-index:500; }
.set_pass_page .complete_note{ color:#27b500;padding:4px;border:1px solid #27b500;background-color:#27b5001c;display:block;font-size:120%;text-align:center;margin:20px 0; }
.set_pass_page .mask, .popup_mask{ position:fixed;width:100%;height:100%;background-color:rgba(255, 255, 255, 0.6); }
.set_pass_page .bt_send_pass{ width:100%;margin-top:12px; }
.set_pass_page .login_url{ display:block;text-align:center;margin-top:20px; }

.caution{ display:block;margin-top:5px; }
.caution a{ text-decoration-line:underline;color:#004494; }

/* 航空会社トップ */
/* .info_list_wrap .row_wrap{ margin-bottom:40px; }
.topics .info_list_wrap .bt_more{ font-size:130%;margin:5% auto;color:#1d9dd4; }
.topics, .room_schedule{ max-width:1280px;margin:0 auto; }
.info_list_wrap .row{ border-bottom:2px solid #c9caca;padding:10px 10px 20px 10px;display:block;margin-top:5px;margin-bottom:10px; }
.airline_calendar .bt_wrap, .shop_top_page .bt_wrap{ -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex; }
.airline_calendar .bt_wrap{ -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; }
.airline_calendar .common_bt, .shop_top_page .common_bt{ margin:0 10px;display:block;width:160px; } */
.select_month_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:160%;margin:2% auto; }
.select_month_wrap *{ line-height:120%;white-space:nowrap; }
.select_month_wrap .next, .select_month_wrap .prev{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 20px; }
.select_month_wrap .material-icons{ font-size:180%;text-align:center; }
.select_month_wrap .note{ font-size:16px; }
.schedule_wrap .caution{ position:relative;padding-left:14px;margin-bottom:10px; }
.schedule_wrap .caution:before{ content:'※';position:absolute;left:0;top:9%; }
.schedule_wrap .caution span{ background:repeating-linear-gradient(45deg,transparent,transparent 3px,#cccccc 0px,#cccccc 5px);width:25px;aspect-ratio:1.5;border:1px solid #ccc;display:inline-block; }

/* .schedule_table{ display:block;margin:0 auto;position:reflative;overflow-y:hidden; } */
.schedule_table{ display:block;margin:0 auto;position:relative;overflow-y:scroll;max-height:500px; }
.schedule_table .fix{ position:sticky;top:0;z-index:2;background-color:#e6e6e6; }
.schedule_table .row{ display:-webkit-box;display:-ms-flexbox;display:flex;  }
.schedule_table .th, .schedule_table .td{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.room_schedule .table_wrap{ border-bottom:1px solid var(--gray_200);margin-bottom: 40px; }
.room_schedule .this_month{ margin:0 3%; }
.room_schedule .th, .room_schedule .td{ border-left:1px solid var(--gray_200);border-bottom:1px solid var(--gray_200); }
.room_schedule .th, .room_schedule .td.time{ width:20%; }
.room_schedule .th{ border-top:1px solid var(--gray_200);border-bottom:1px solid var(--gray_200); }
.room_schedule .th, .room_schedule .data_tr .td{ height:40px; }
.room_schedule .th.room, .room_schedule .td{ width:40%; }
.room_schedule .th.room, .room_schedule .td{ width:40%; }
.room_schedule .td{ width:40%;text-align:center;position:relative;height:110px; }
.room_schedule .half .td{ height:55px; }
.room_schedule .th:last-of-type, .room_schedule .td:last-of-type{ border-right:1px solid var(--gray_200); }
.room_schedule .head_tr{ background-color:#acacac; }
.room_schedule .data_tr{ position:absolute;left:0;top:0;width:100%; }
.room_schedule .data_tr td{ border:none;background-color:transparent; }
.room_schedule .fix{ background-color:#c7c7c7;z-index:10; }
.room_schedule .unit{ font-size:80%; }
.room_schedule .reserve{ width:94%;display:none;position:absolute;left:50%;transform:translateX(-50%);outline:3px solid #a7a7a7;box-sizing:border-box;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:2;cursor:default;background-color:#ff9e9e;color:#fff; }
.room_schedule .is_hidden{ background-color:#acacac;color:#fff; }
.room_schedule .reserve:hover{ opacity:1; }
.room_schedule .reserve .inner{ position:relative;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:90%;line-height:115%; }
.room_schedule .reserve .inner .offset{ background:repeating-linear-gradient(45deg,transparent,transparent 5px,#cccccc 5px,#cccccc 10px);border:3px solid #acacac;width:calc(100% + 6px);z-index:-1; }
.room_schedule .reserve .inner .offset.before{ position:absolute;left:50%;top:0;transform:translate(-50%, -100%); }
.room_schedule .reserve .inner .offset.after{ position:absolute;left:50%;bottom:0;transform:translate(-50%, 100%); }
.room_schedule #tooltip{ display:none;position:fixed;background:white;border:1px solid black;padding:5px;width:auto;height:auto;padding:10px;z-index:100;top:50%;left:50%; }
.IT, .bt_air.common_bt.IT.active{ background-color:#FF9240;color:#fff; }
.MU, .bt_air.common_bt.MU.active{ background-color:#64B5F6;color:#fff; }
.KE, .bt_air.common_bt.KE.active{ background-color:#c2c2c2;color:#fff; }
.room_schedule .reserve.is_tmp{ opacity:0.5;border:3px solid #0056b3;cursor:default;z-index:1; }
.room_schedule .reserve.is_tmp:hover{ opacity:0.5; }
.room_schedule .reserve_info{ width:auto;height:100px;background-color:#fff;border:1px solid #acacac;position:absolute;left:40%;top:400px;z-index:50;padding:5px;box-sizing:border-box;box-shadow:2px 6px 6px rgba(0, 0, 0, 0.3); }
.room_schedule .cells_wrap{ overflow-y:hidden; }
.room_schedule #schedule_loading{ position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100%;height:100%;background-color:#fff;z-index:100; }
.room_schedule #schedule_loading img{ position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100px; }

/* ログインページ */
.each_page.input_window{ position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:0;margin:0;width:90%; }
.input_window .wrap{ width:90%;padding:7%;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,0.1);max-width:550px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.input_window .caution{ line-height:140%;letter-spacing:1px;margin-top:20px;font-size:16px; }
/* .login_page .login_wrap{ max-width:400px; } */
.login_page .login_wrap{ max-width:550px; }
.login_page .agree_wrap{ max-width:700px; }
.login_page .agree_wrap .note_wrap{ height:350px;overflow-y:scroll;border:1px solid #acacac;padding:15px; }
.agree_wrap h1{ text-align:center;font-size:130%;margin-bottom:14px;letter-spacing:2px; }
.agree_wrap h2{ color:#2980b9;text-align:left;padding-bottom:0;font-size:112%;margin-top:0;margin-bottom:10px; }
.agree_wrap .section{ margin-bottom:11px; }
.agree_wrap ol{ margin-top:4px;margin-bottom:0; }
.agree_wrap li, .login_page p{ font-size:15px;line-height:138%;letter-spacing:1px; }
.agree_wrap li{ margin-bottom:2px; }
.agree_wrap p{ margin-top:0;margin-bottom:20px; }
.agree_wrap .indent{ margin-left:10px; }
.agree_wrap .end_note{ display:block;text-align:right; }

.login_page .agree_wrap input{ display:inline-block; }
.login_page .agree_wrap #bt_agree_policy{ opacity:0.5;pointer-events:none; }
.login_page .input_row{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:20px 0;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.login_page .input_row input{ width:20px;height:20px;margin-right:10px; }
.input_window .note{ margin-bottom:10px; }
.input_window input[type="text"], input[type="password"]{margin-bottom:20px;padding:10px;border:1px solid #ccc;width:100%;font-size:16px; }
.input_window button{padding:10px;background-color:#0056b3;color:white;border:none;cursor:pointer;width:100%; }
button:hover{ background-color:#004494; }
.login_page h1{ text-align:center; }
input[name="web"].web{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important; }

/* アカウント管理 */
.set_pass_page .container{ width:420px; }
.set_pass_page span.th{ display:block;text-align:left;margin:20px 0 5px 0; }
.set_pass_page input[type="text"]{ width:100%;box-sizing:border-box; }
.set_pass_page .pass{ background-color:#e5e5e5;line-height:18px;height:40px;margin-bottom:4%; }
.set_pass_page .bt_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.set_pass_page .bt_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.set_pass_page .bt{ width:100%;margin:10px 0; }

/* 予約一覧 */
.admin_reserve_list_page  tr:nth-child(even) td{ background-color:#fff; }
.admin_reserve_list_page .td_staff .input_base{ width:70px; }
.admin_reserve_list_page .adj_price{ width:70px; }
.admin_reserve_list_page .btn_invoice{ pointer-events:none;background-color:#e3e1e1; }
.admin_reserve_list_page .btn_invoice.on{ pointer-events:visible;background-color:var(--primary_blue); }
.admin_reserve_list_page tr td.ex_cell{ pointer-events:none;background-color:#f2f2f2; }
.admin_reserve_list_page .ex_cell select{ opacity:0.6; }
.admin_reserve_list_page .ex_cell_on .ex_cell{ pointer-events:visible;background-color:inherit; }
.admin_reserve_list_page .ex_cell_on select{ opacity:1; }
.modal_invoice{ position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5); z-index:1000; }
.modal_invoice .modal_content{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background-color:#fff; padding:20px; border-radius:4px; min-width:600px; }
.modal_invoice h3{ margin:0 0 20px 0; padding:0 0 10px 0; border-bottom:1px solid #ddd; }
.modal_invoice .invoice_list{ max-height:400px; overflow-y:auto; }
.modal_invoice .invoice_list table{ width:100%; border-collapse:collapse; }
.modal_invoice .invoice_list th, .modal_invoice .invoice_list td{ padding:10px; border:1px solid #ddd; }
.modal_invoice .modal_footer{ margin-top:20px; text-align:right; }
.modal_invoice .modal_footer button{ margin-left:10px; }
.payment_history_list{background: white;border: 1px solid #ccc;border-radius: 4px;box-shadow: 0 2px 5px rgba(0,0,0,0.2);max-height: 200px;overflow-y: auto;z-index: 1000; }
.payment_history_item {padding: 8px 12px;cursor: pointer;border-bottom: 1px solid #eee;font-size: 14px; }
.payment_history_item:hover{ background-color: #f0f0f0; }
.payment_history_item:last-child{ border-bottom: none; }

.complete_page{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:90%;height:100vh;margin:0 auto;font-size:18px;white-space:break-spaces;text-align:center;flex-direction:column; }
.complete_page a{ text-decoration:underline;color:#004494; }

.custom_datepicker.ui-datepicker{ font-size:14px; }
.custom_datepicker .ui-state-default{ background:white;border:1px solid #ddd; }
.custom_datepicker .ui-state-active{ background-color:#e6e6e6;color:#333; }
.custom_datepicker .ui-state-highlight{ background-color:#fcf8e3;border-color:#faebcc; }
.tab_wrap .tab{ display:-webkit-box;display:-ms-flexbox;display:flex; }
.tab .list{ background-color:#dddddd;color:#004494;padding:5px 10px;cursor:pointer;border:1px solid #acacac;border-bottom:none; }
.tab .list br.sp{ display:none; }
.tab .list.active{ background-color:#fff; }
.tab_cont{ background-color:#fff;padding:20px;display:none;padding-top:50px; }
.tab_cont.active{ display:block; }
.bt_wrap{ margin:5% auto; }
.bt_reserve{ display:block;margin:2% auto;width:130px; }
.bt_add{ margin-left:auto;display:block; }
.popup{ width:100vw;height:100vh;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(255, 255, 255, 0.77);display:none;z-index:100; }
.popup .close{ cursor:pointer;width:10px;margin-left:auto; }
.popup .wrap{ position:relative;width:100%;height:100%; }
.popup .inner{ text-align:center; }
.popup h3{ display:block;text-align:center;margin-bottom:2%; }
.popup .container{ max-width:300px;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%); }
.popup textarea{ padding:10px; }
.popup button{ margin:3% auto;display:block; }

.float{ position:fixed;width:100%;background-color:#ddd;bottom:0;left:0;padding:15px 0 20px 0;text-align:center;z-index:100;box-shadow:2px 2px 6px 7px rgba(0, 0, 0, 0.1); }
.float .wrap{ max-width:700px;margin:0 auto; }
.float .bt_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;margin-bottom:0;margin-top:0; }
.float .bt_wrap button{ margin:0 10px;width:100px; }

/* 閲覧側お知らせ一覧 */
.info_list_wrap{ position:relative;overflow:hidden; }
.info_list_wrap .bt_more{ text-align:center;display:block; }
.info_list_wrap .wrap{ width:85%; }
.info_list_wrap .wrap{ background-color:#fff;padding:124px 130px;padding-bottom:397px; }
.info_list_wrap .th_news{ width:80%;max-width:136px;display:block;margin-left:auto;margin-right:auto;margin-bottom:10.8%; }
.info_list_wrap .row_wrap{ margin-bottom:72px;position:relative; }
.info_list_wrap .date,.info_list_wrap .note{ color:#1e140a; }
.info_list_wrap .date{ display:block;margin-bottom:0;letter-spacing:2.1px;font-size:120%;color:#b5b5b6;border-right:2px solid #c9caca;margin-right:18px;padding-right:18px; }
.info_list_wrap .cat, .info_single .cat{ padding:2px 5px;border:1px solid #9e9e9e;color:#9e9e9e;font-weight:bold;font-size:80%;margin-right:10px;letter-spacing:1px;border-radius:2px; }
.info_list_wrap .cat.shop, .info_single .cat.shop{ padding:2px 5px;border:1px solid #9e9e9e;color:#9e9e9e;font-weight:bold;font-size:80%;margin-right:10px;letter-spacing:1px;border-radius:2px; }
.info_list_wrap .note_wrap{ margin-top:1%;width:100%;-ms-flex-negative:1;flex-shrink:1; }
.info_list_wrap .head_row{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:2%; }
.info_list_wrap .th{ display:block;margin-top:0;letter-spacing:0.8px;margin-bottom:0;line-height:123%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:clamp(120% ,1.8vw ,150%);color:#1d9dd4; }
.info_list_wrap .note_wrap .note{ font-size:102%;letter-spacing:1.1px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;display:block; }
.info_list_wrap .img_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:2%; }
.info_list_wrap .news_img, .info_single .news_img{ width:5%;margin-right:1%;object-fit:cover;-ms-flex-negative:0;flex-shrink:0; }
.info_list_wrap .news_img:nth-of-type(4n){ margin-right:0; }
.info_list_wrap .bt_more{ display:block;width:80%;max-width:250px;margin-left:auto;margin-right:auto; }
.info_list_wrap .no_post_note{ display:block;text-align:center; }
.info_list_wrap .no_post_note span{ color:#000; }

/* お知らせ詳細 */
.info_single .th{ display:block;text-align:center; }
.info_single .date_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:40px;margin-top:1%;margin-bottom:2%; }
.info_single .date{ font-size:140%;color:#b5b5b6;text-align:left;margin-right:20px; }
.info_single .th{ font-size:180%;margin-bottom:9%; }
.info_single .img_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:10%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start; }
.info_single .img_wrap .news_img{ width:20%;cursor:pointer;max-width:130px; }
.info_single .filename{ display:block;text-align:center;margin-top:10px; }
.info_single .note{ font-size:16px;line-height:200%;white-space:pre-wrap; }
.info_single .back{ display:block;margin-top:60px;padding-bottom:30px;font-weight:bold; }
.info_single .mask{ position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);background-color:rgba(255, 255, 255, 0.5);z-index:100;width:100%;height:100%;display:none; }
.popup_img_wrap{ position:relative;left:50%;top:50%;transform:translate(-50%, -50%);width:100%;height:100%; }
.popup_img_wrap .close{ display:block;margin-left:auto;display:block;width:60px;margin-left:auto;background-color:#acacac;padding:4px;text-align:center;margin-bottom:6px;color:#fff; }
.popup_img_wrap .inner{ position:relative;width:100%;max-width:500px;max-height:500px;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%); }
.popup_img_wrap .inner .item{ width:100%;height:auto;object-fit:contain; }


/*////////////////////////////////////////
管理者
////////////////////////////////////////*/
/* 管理画面トップ */
.admin_top_page .menu_wrap{ margin:20px;font-size:120%; }
.admin_top_page .menu_wrap h2{ font-size:150%;font-weight:bold;text-align:left; }
.admin_top_page .menu_wrap .link_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex; }
.admin_top_page .menu_wrap .item{ padding:20px;background-color:#0056b3;color:#fff;border-radius:4px;width:260px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 20px 40px 0px;font-size:150%;box-shadow:4px 4px 10px 0px rgba(0, 21, 165, 0.2); }


/* ユーザー登録 */
.admin_stuff_upload_page .wrap{ max-width:600px; }
.admin_stuff_upload_page .note{ text-align:center;margin-bottom:4%; }
.admin_stuff_upload_page .note.update{ margin-bottom:4px;text-align:right; }
.admin_stuff_upload_page ul li{ position:relative;margin-bottom:3%; }
.admin_stuff_upload_page form{ text-align:center;margin:8% 0;display:block; }
.admin_stuff_upload_page button{ margin:50px auto 100px auto;display:block;width:200px; }
.admin_stuff_upload_page table{ width:100%; }
.admin_stuff_upload_page th, .admin_stuff_upload_page td, .admin_account_list td{ padding:7px 10px; }


/* お知らせ登録ページ */
.admin_info_edit_page .wrap{ max-width:660px;margin:0 auto; }
.admin_info_edit_page .custom_time_picker_wrapper{ display:block;width:100%; }
.admin_info_edit_page .custom_time_picker_wrapper label{ width:100%; }
.admin_info_edit_page .custom_time_picker_wrapper input{ margin-left:0;width:100%;font-size:14px; }
.admin_info_edit_page .row{ margin-bottom:10px; }
.admin_info_edit_page .row.file_wrap{ margin-top:50px; }
.admin_info_edit_page select, .admin_info_edit_page input[type="date"], .admin_info_edit_page .custom_time_picker_wrapper{ width:140px;display:block;height:33px;line-height:14px; }
.admin_info_edit_page select, .admin_info_edit_page input[type="date"], .admin_info_edit_page .custom_time_picker_wrapper, .admin_info_edit_page input, .admin_info_edit_page textarea{ font-size:16px; }

.admin_info_edit_page .delete-file{ background-color:#acacac;margin-top:auto; }
.admin_info_edit_page #file_preview{ display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap; }
.admin_info_edit_page #file_preview{ display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap; }
.admin_info_edit_page textarea{ width:100%;height:200px; }
.admin_info_edit_page .file-item{ text-align:center;margin-bottom:30px;margin-right:30px;width:22%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.admin_info_edit_page .file-name{ margin:2px 0 4px 0; }
.admin_info_edit_page .save_info{ width:100px;display:block;margin:50px auto 0 auto;text-align:center; }
.admin_info_edit_page .bt_back{ margin-top:50px;display:block;text-align:left; }

/* 管理者お知らせ一覧 */
.admin_info_list_page .wrap{ width:100%; }
.admin_info_list_page .inner{ padding:50px; }
.admin_info_list_page .bt_new{ margin-bottom:10px;display:block;margin-left:auto; }
.admin_info_list_page .common_table{ width:100%; }
.admin_info_list_page tr.close{ background-color:#d6d6d6; }
.admin_info_list_page tr.reserve{ background-color:#ffffdd; }
.admin_info_list_page .common_table .head_row td{ text-align:center;white-space:nowrap; }
.admin_info_list_page .common_table td{ padding:0 3px; }
.admin_info_list_page .common_table .date{ width:160px;text-align:center; }
.admin_info_list_page .common_table .publish{ width:80px;text-align:center; }
.admin_info_list_page .common_table .category{ width:180px;text-align:center; }
.admin_info_list_page .common_table .bt{ width:100px; }
.admin_info_list_page .common_table .common_bt{ white-space:nowrap;margin:3px;display:block; }

.logout_page{ padding-top:50px; }
.logout_page .to_login_window{ display:block;text-align:center;text-decoration:underline; }

.log_history_page .common_table{ width:100%; }
.log_history_page .common_table th{ text-align:center; }
.log_history_page .common_table th, .log_history_page .common_table td{ padding:3px; }
.log_history_wrap td.date{ width:144px;white-space:nowrap;text-align:center; }

.page_nation_wrap{ display:block;text-align:center;margin:3% auto 5% auto;padding-bottom:6%; }
.page_nation{ display:inline-block;max-width:270px; }
.page_nation .page_number{ color:#acacac; }
.page_nation .page_number.current{ color:#3B4043; }
.page_nation .num_wrap{ display:block;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around; }
.page_nation .num_wrap *{ margin:0 12px;font-size:140%; }
.page_nation .num_wrap .current{ color:#1d9dd4; }
.news .page_nation a,.news .page_nation span{ font-size:170%;font-weight:bold;color:#c3c3c3; }
.page_nation > a{ position:absolute;top:50%;transform:translateY(-50%);width:20px;z-index:1; }
.page_nation a img{ vertical-align:top; }
.page_nation .bt_prev{ left:-40px; }
.page_nation .bt_next{ right:-40px; }

.toggle_airline{ margin-bottom:10px; }
.toggle_airline a{ display:inline-block;padding:5px 10px;border:1px #ddd solid;cursor:pointer;min-width:50px;text-align:center;margin-bottom:1%; }
.toggle_airline a.active{ border-color:#000; }

.radio_label{ display:inline-block;margin-top:8px;margin-right:5px;cursor:pointer;border:1px #ddd solid;padding:4px 8px;min-width:170px;font-size:90%;border-radius:5px; }
.publish_reserve{ margin:0 4px;padding:15px 10px;border:1px #ddd solid;margin-top:5px;display:flex;align-items:center;flex-wrap:wrap;gap:10px; }
.publish_reserve label{ width:60px; }
.publish_reserve #publish_date{ font-family:sans-serif;font-size:13px; }
.admin_info_edit_page .bt_wrap{ display:flex;justify-content:center; }
.admin_info_edit_page .bt_wrap a{ min-width:180px; }
.admin_info_edit_page .bt_wrap a.draft_info{ width:100px;display:block;margin:50px auto 0 auto;text-align:center;background:#666; }
h3#info_status span{ font-weight:normal; }

/* .document_body{ padding:10% 0; } */
.document_body .page_th{ font-size:110%; }
.document_body p{ line-height:180%; }
.document_body .container{ max-width:800px;margin:0 auto;padding:40px 30px; }
.document_body .main_title{ font-size:2.5rem;font-weight:bold;text-align:center;margin-bottom:40px;padding-bottom:20px;border-bottom:3px solid #333333; }
.document_body .section{ margin-bottom:40px; }
.document_body .section_title{ font-size:1.5rem;font-weight:bold;margin-bottom:20px;padding:10px 0;border-bottom:2px solid #666666; }
.document_body .subsection{ margin-bottom:25px;margin-left:20px; }
.document_body .subsection_title{ font-size:1.2rem;font-weight:bold;margin-bottom:10px;color:#555555;text-align:left; }
.document_body .paragraph{ margin-bottom:15px;text-align:justify;line-height:1.8;text-align:left; }
.document_body ul{ margin-bottom:20px;padding-left:0; }
.document_body li{ margin-bottom:8px;padding-left:25px;position:relative;line-height:1.7; }
.document_body .service_list li::before{ content:"•";position:absolute;left:8px;font-weight:bold; }
.document_body .prohibition_list li::before{ content:"・";position:absolute;left:8px; }
.document_body .link_conditions li::before{ content:"・";position:absolute;left:8px; }
.document_body .inquiry_list li::before{ content:"・";position:absolute;left:8px; }
.document_body .contact_section{ background-color:#f8f8f8;padding:30px;border-radius:8px;border:1px solid #e0e0e0; }
.document_body .contact_info p{ margin-bottom:12px;line-height:1.6; }
.document_body .contact_info strong{ font-weight:bold;min-width:100px;display:inline-block; }
.document_body .update_date{ margin-top:20px;font-size:0.9rem;text-align:right; }
.document_body .privacy_item{ display:flex;margin-bottom:25px;align-items:flex-start;flex-direction:column; }
.document_body .privacy_number{ font-size:1.2rem;font-weight:bold;min-width:22px;margin-right:5px;margin-top:0;flex-shrink:0; }
.document_body .privacy_item .paragraph{ margin-bottom:0;flex:1; }
.document_body .contact_title{ font-size:1.3rem;font-weight:bold;margin-bottom:20px;text-align:center;padding:15px 0;border-bottom:2px solid #666666; }
.document_body .contact_info .th{ display:inline-block;width:80px;font-weight:bold; }
.privacy_policy_page .document_body .contact_info strong{ min-width:auto; }

@media screen and (max-width:1380px){
    .shop_data_edit_page .mass_table .total td, .shop_data_edit_page .middle_table .total td{ width:26%; }
}
@media screen and (max-width:1100px){
    .airline_reserve_list_page .float .bt_wrap{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;width:600px; }
    .airline_reserve_list_page .sub_bt_wrap{ position:relative;right:inherit;top:inherit;transform:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;padding-bottom:3%;margin-bottom:3%; }
    .airline_reserve_list_page .sub_bt_wrap a{ background-color:#fff;border-radius:999px;text-align:center;padding:6px 2px;text-decoration:none;width:190px;margin:0 1%; }
    .airline_reserve_list_page .sub_bt_wrap:after{ content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:90%;height:1px;background-color:#acacac; }
    .airline_compare_page .th_container > .inner{ padding-left:0;padding-right:0; }
    .compare_wrap .compare_row{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-bottom:2px solid #acacac;padding:0; }
    .compare_wrap .row .total{ display:block; }
    .compare_wrap .head_row{ display:none; }
    .compare_wrap .compare_row .reserve{ border-right:none;border-bottom:1px dashed #acacac;background-color:#efefff; }
    .compare_wrap .compare_row .reserve, .compare_wrap .compare_row .result{ padding:10px;padding-left:50px;position:relative; }
    .compare_wrap .compare_row .reserve:before{ content:'予定'; }
    .compare_wrap .compare_row .result:before{ content:'実績'; }
    .compare_wrap .compare_row .reserve:before, .compare_wrap .compare_row .result:before{ -ms-writing-mode:tb-rl;writing-mode:vertical-rl;left:10px;top:50%;transform:translateY(-50%);position:absolute;font-weight:bold; }
    .compare_wrap .compare_row .result .date{ display:none; }
    .airline_compare_page .invoice_boxes_wrap{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
    .compare_wrap .col, .invoice_boxes_wrap .common_box{ width:100%; }
    .airline_compare_page .invoice_boxes_wrap .common_box:first-of-type{ border-right:1px solid #acacac; }
    .admin_shop_data_page .shop_data{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
    .admin_shop_data_page .shop_data .rank1, .admin_shop_data_page .shop_data .rank2{ width:100%;margin:0 auto; }
    .admin_shop_data_page .shop_data .rank1{ margin-bottom:4%; }
    .admin_shop_data_page .day_ul .note{ padding:30px 0;font-size:120%; }
    .shop_data_edit_page .table_daily tr,  .shop_data_edit_page .table_daily th,  .shop_data_edit_page .table_daily td{ display:block; }
    .shop_data_edit_page .bt_wrap{ -ms-flex-wrap:wrap;flex-wrap:wrap; }
    .shop_data_edit_page .bt_shop, .airline_compare_page .bt_air{ width:46%;margin-right:4%;margin-bottom:3%; }
    .shop_data_edit_page .bt_shop:nth-of-type(2n){ margin-right:0; }
    .shop_data_edit_page .shop_name, .shop_data_edit_page .open_time{ text-align:center; }
    .shop_data_edit_page .total th{ width:100%; }
    .shop_data_edit_page tr{ margin:10px 0;-ms-flex-wrap:wrap;flex-wrap:wrap; }
    .shop_data_edit_page .table_total tr{ margin:0; }
    .shop_data_edit_page .date{ padding:10px; }
    .shop_data_edit_page .time{ -webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0; }
    .shop_data_edit_page .sales .inner{ max-width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; }
    .shop_data_edit_page .mass_table .sales .inner, .shop_data_edit_page .middle_table .sales .inner{ min-width:max-content;max-width:max-content;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start; }
    .shop_data_edit_page .sales label{ margin-left:2%;margin-right:2%; }
    .shop_data_edit_page .mass_table .sales label{ margin-right:4px;margin-left:4px; }
    .shop_data_edit_page .status > select{ margin-top:10px;display:block;margin-left:auto;margin-right:auto;margin-bottom:20px; }
    .shop_data_edit_page .date, .shop_data_edit_page .sales{ width:100%;max-width:100%; }
    .shop_data_edit_page .table_daily .date{ display:-webkit-box;display:-ms-flexbox;display:flex;font-size:120%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row; }
    .shop_data_edit_page .date .input_indicator{ display:block; }
    .shop_data_edit_page .date .input_indicator{ font-size:80%;margin-left:auto; }
    /* .shop_data_edit_page .date .input_indicator.empty{ color:#ff6767; }
    .shop_data_edit_page .date .input_indicator.filled{ color:#43ad43; } */
    .shop_data_edit_page .table_daily .cant_edit .input_indicator{ opacity:0.4; }
    .shop_data_edit_page .table_daily .md{ width:114px;white-space:nowrap; }
    /* .shop_data_edit_page .table_daily td.status{ display:none;position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);z-index:110;width:300px;background-color:#eaeaea;padding:30px 0; } */
    .shop_data_edit_page .table_daily td.status{ display:none;position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);z-index:110;width:300px;background-color:#eaeaea;padding:30px 10px; }
    .shop_data_edit_page .table_daily .current .date{ background-color:#fffbde;cursor:pointer; }
    .shop_data_edit_page .table_daily .status .th{ font-size:150%;display:block;text-align:center;margin-top:0;letter-spacing:1px;font-weight:bold; }
    .shop_data_edit_page .table_daily .status_date{ font-size:120%;display:block;text-align:center;margin-top:15px; }
    .shop_data_edit_page .table_daily .status.sp{ display:block;margin-left:2%;width:auto;border-radius:999px;border:1px solid #acacac;background-color:#fff;font-size:78%;letter-spacing:1px;cursor:pointer; }
    .shop_data_edit_page .table_daily .status.sp.short{ background-color:#FFA500;color:#fff;white-space:nowrap;  }
    .shop_data_edit_page .table_daily .status.sp.close{ background-color:#9B59B6;color:#fff;  }
    .shop_data_edit_page .table_daily td.status .bt_close{ display:block;width:100px;margin:4px auto;padding:7px 0;text-align:center;color:#fff;background-color:#0056b3; }
    .popup_mask{ top:0;left:0;z-index:100;display:none; }
    
    .recent_shop_info_wrap .common_table .tr{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
    .recent_shop_info_wrap .common_table .date{ margin-bottom:1%; }

    .admin_info_edit_page select, .admin_info_edit_page input[type="date"]{ text-align:center; }
}

@media screen and (max-width:767px){
    header .logo{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
    header .main_logo{ width:100%; }
    header .sub_logo{ width:80%;margin-top:2%;padding-bottom:0;padding-left:2%; }
    header .page_name{ display:none; }
    .login_nav{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;pointer-events:none; }
    .login_nav .bt_close{ width:32px;display:block;background-color:transparent;margin-left:auto;padding:2vh 6vw;margin-right:20px; }
    .login_nav .bt_menu{ width:32px;display:block;background-color:transparent;padding:0;position:absolute;top:50%;right:0;transform:translate(-50%, -50%); }
    .login_nav .bt_menu, .nav_body{ pointer-events:auto; }
    .login_nav .bt_menu img, .login_nav .bt_close img{ width:30px;height:auto; }
    .login_nav .item.login_user{ background-color:#6c6c6c; }
    .bt_close img{ background-color:#fff;border-radius:999px; }
    .nav_body{ position:relative; }
    .admin_top .menu_list a, .admin_top .menu_list a.pass_change{ width:min(300px, 100%); }
    .login_nav{width:100%;height:auto;max-width:100%;z-index:200;background-color:transparent;box-shadow:none; }
    .login_nav .wrap{ padding-top:0; }
    .login_nav .flex{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
    .login_nav .nav_body{position:fixed;z-index:10;height:100vh;width:100vw;background-color:#212c39;top:0;transform:translateX(100%);transition:.6s;overflow-y:scroll; }
    .login_nav.user_nav .item{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
    .login_nav .nav_body.active{ transform:translateX(0); }
    .login_nav a{/* padding:2vh 6vw; *//* background-color:#fff; */margin:1px 0;text-decoration:none;}
    .login_nav .item a{ width:100%;box-sizing:border-box; }
    .login_nav .item.version.pc{ display:none; }
    .login_nav .item.version.sp{ display:block;margin-top:20px; }
    .admin_nav.login_nav .item_logout{ margin-left:0;width:100%; }
    .table_wrap{ overflow-x:scroll; }
    .input_window .wrap{ padding:8%; }
    .each_page{ margin-top:0; }
    .header.common_box{ display:flex;flex-direction:column; }

    /* 例外運営ウィンドウ */
    .shop_info_wrap .common_table .row{ margin-bottom:0; }

    /* カウンター予約 */
    .cont_row{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:min(40px, 12%); }
    .reserve_tool .cont_row .td.flight_th{ width:100%; }
    .cont_row .th, .cont_row .td{ width:100%; }
    .cont_row .th{ font-weight:bold;margin-bottom:5px; }
    .reserve_tool .checkbox{ display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap; }
    .reserve_tool .checkbox label{ display:block;width:40px;margin-bottom:14px; }
    /* カウンター比較 */
    .airline_compare_page .bt_wrap{ padding-top:5%; }

    /* ユーザー一覧 */
    .admin_account_list th, .admin_account_list td{ width:calc(100% / 3);overflow-wrap:anywhere; }
    .log_history_page .th_container > .inner{ overflow-x:auto; }
    .log_history_page .common_table{ width:max-content; }
    .shop_info_wrap .common_table .row{ margin-bottom:4%; }
    .publish_reserve .flex_wrap{ width:100%; }

    .info_list_wrap .head_row{ -ms-flex-wrap:wrap;flex-wrap:wrap; }
    .info_list_wrap .th{ width:100%;margin-top:1.5%; }
}
@media screen and (max-width:575px){
    header .logo{ width:63%;max-width:240px; }
    .each_page{ width:100%; }
    .th_container > .inner{ padding:3%; }
    .th_container .main_th .sub{ display:block;margin-left:0; }
    .airline_reserve_list_page .float .bt_wrap{ width:100%; }

    .shop_info_wrap .common_table .tr{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
    /* .shop_info_wrap .common_table .row{ margin:7% 0; } */
    .shop_info_wrap .common_table .row{ margin:3% 0; }
    .shop_info_wrap .common_table .shop_name_wrap{ margin-right:5px; }
    .shop_info_wrap .common_table .shop_name{ width:115px;font-size:85%; }
    .shop_info_wrap .common_table .status_tag{ margin-right:10px;margin-left:10px; }

    /* お知らせ */
    .info_list_wrap .row_wrap{ padding:15px; }
    .info_list_wrap .head_row{ margin-bottom:3%; }
    .info_list_wrap .date{ border-right:none;font-size:105%;margin-right:0;padding-right:3%; }
    .info_list_wrap .th{ margin-top:3%; }
    .info_list_wrap .img_wrap{ margin-top:4%; }
    .info_list_wrap .news_img, .info_single .news_img{ width:13%; }

    /* お知らせ詳細 */
    .info_single .row_wrap{padding:15px; }
    .info_single .date{ font-size:120%;margin-right:15px; } 
    .info_single .img_wrap .news_img{ width:30%; }

    
    /* カウンター予約一覧 */
    .tab .list{ width:calc(100%/3);text-align:center; }
    .tab .list br.sp{ display:block; }
    .counter_list .company{ width:56px; }
    .admin_tmp_list .date{ left:68px; }
    .admin_fix_list .date{ left:56px; }
    .counter_list .date.no_edit{ font-size:90%;width:96px; }
    .airline_reserve_list_page .sub_bt_wrap a{ width:154px; }
    .airline_reserve_list_page .float{ padding:3% 0; }
    .counter_list .no_data, .tmp .counter_list .no_data{ width:100vw; }
    .airline_compare_page .bt_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap; }
    .shop_data_edit_page .bt_shop, .airline_compare_page .bt_air{ width:48%;margin-right:4%; }

    .compare_wrap .counter_num .inner{ margin-top:6px; }
    .airline_compare_page .bt_wrap{ -ms-flex-pack:distribute;justify-content:space-around;max-width:370px; }
    .airline_compare_page .bt_air.common_bt{ width:70px; }
    .airline_compare_page .bt_air:nth-of-type(4n){ margin-right:0; }
    .publish_reserve .flex_wrap{ width:100%; }

    .th_container .shop_schedule.inner{ padding:min(29px, 3%); }
    .shop_info_wrap .common_table .detail{ padding-left:0; }

    .each_page .input_window{ width:90%;padding:0; }
}


.shop_data_edit_page .status{ -webkit-box-orient: vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; }
/* .shop_data_edit_page .changed .status{ background-color:#ffe7c7; } */
.shop_data_edit_page .changed .status{ background-color:#e1fffd; }
.shop_data_edit_page .status .row{ display:-webkit-box;display:-ms-flexbox;display:flex;width: 100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.shop_data_edit_page .status .reason_wrap{ -webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;display:none; }
.shop_data_edit_page .status .reason{ width:calc(100%);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis; }
.shop_apply_form_page .no_data{ display:block;text-align:center; }
.shop_apply_form_page .apply_row{ margin-bottom:4.5%; }
.shop_apply_form_page .apply_row .apply_list{ display:-webkit-box;display:-ms-flexbox;display:flex;color:#004494;position:relative;width:max-content;margin-bottom:10px; }
/* .shop_apply_form_page .apply_row .apply_list:before{ content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#004494; } */
.shop_apply_form_page .shop_name{ font-size:120%;text-align:left;margin-bottom:10px; }
.shop_apply_form_page .apply_row .icon{ width:20px;margin-right:5px; }
.shop_apply_form_page .apply_row .name{ padding-right:10px; }
.shop_apply_form_page .apply_row .time{ color:#acacac; }
@media screen and (max-width:1100px){
    .shop_data_edit_page .changed .date{ background-color:#e1fffd; }
    .shop_data_edit_page .status .row{ -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:3% auto; }
}
@media screen and (max-width:768px){
}
@media screen and (max-width:575px){
    .shop_apply_form_page .apply_row .apply_list{ -ms-flex-wrap:wrap;flex-wrap:wrap;width:100%; }
}


/* 有料待合システム専用 */


.calendar_wrap{ margin-top:30px; }
#calendar, .month_bt_wrap{ max-width:470px;width:100%;margin:0 auto;line-height:30px; }
#calendar{ margin-bottom:20px; }
.month_bt_wrap{ position:absolute;left:50%;transform:translateX(-50%);z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between; }
.month_bt_wrap .bt_change_month{ font-size:120%;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline; }
#calendar h1{ text-align:center;font-size:160%; }
#calendar .top_row{ display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:10; }
#calendar .top_row span{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; }
#calendar .sun .top_row span, #calendar th:first-of-type{ color:#ff6633; }
#calendar .sat .top_row span, #calendar th:last-of-type{ color:#3089fe; }
#calendar .table_wrap{ width:100%; }
#calendar .today{ background-color:#f7ff86; }
#calendar .select{ position:relative; }
#calendar .select:after{ position:absolute;outline:3px solid #86a4ff;outline-offset:-3px;left:50%;top:50%;transform:translate(-50%, -50%);content:'';width:100%;height:100%; }
#calendar table{ width:100%;background-color:#acacac;overflow-x:scroll; }
#calendar th, #calendar td{ width:36px;padding-left:3px; }
#calendar th{ background-color:#e1e1e1;text-align:center;height:40px; }
#calendar td{ background-color:#fff;vertical-align:top;height:46px;padding:3px;position:relative; }
#calendar .day{ cursor:pointer; }
#calendar td .state{ display:none;padding-left:2px;font-size:22px;cursor:pointer;text-align:center;width:20px; }
#calendar td .info{ position:absolute;left:0;top:0;width:100%;height:100%;padding:3px;padding-top:0; }
#calendar td .info > div{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
#calendar td .note{ padding-left:3px; }
#calendar td .lunch_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:2px;margin-top:2px; }
#calendar td .icon_lunch{ width:22px;cursor:pointer; }
#calendar td .lunch_wrap .state{ font-size:15pt; }
#calendar td div[data-type="0"]{ margin-bottom:2px; }
#calendar td div[data-type="2"]{ margin-bottom:2px; }
#calendar .top_row.need_reserve span{ background-color:#ff3d3d;color:#fff;width:min(29px, 5vw);aspect-ratio:1;border-radius:999px; }
#calendar .time_tag{ padding:0 3px;color:#fff;border-radius:3px;font-size:12px; }

.calendar_mask{ position:absolute;background:#999;opacity:0.8;text-align:center;font-size:160%;text-align:center;color:#fff;font-weight:bold;z-index:500;padding-top:200px; }
.cant_reserve{ opacity:0.5;cursor:default; }


@media screen and (max-width:575px){
    #calendar td .info{ display:flex;flex-wrap:wrap;justify-content:space-between; }
    #calendar .time_tag, #calendar .icon_lunch{ pointer-events:none; }
    #calendar .time_tag{ padding:0 2px;font-size:11px; }
    #calendar .top_row.need_reserve span{ width:min(27px, 7vw); }
    .calendar_mask{ font-size:140%; }
}

:root{ --primary_blue:#2563eb; --light_blue:#dbeafe; --dark_blue:#1e40af; --primary_green:#10b981; --light_green:#d1fae5; --gray_50:#f9fafb; --gray_100:#f3f4f6; --gray_200:#e5e7eb; --gray_300:#d1d5db; --gray_400:#9ca3af; --gray_500:#6b7280; --gray_600:#4b5563; --gray_700:#374151; --shadow_sm:0 1px 2px 0 rgb(0 0 0/0.05); --shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1); --shadow_md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1); }
body{ font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background-color:#f2f2f2; margin:0;color:var(--gray_700); }
.header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; padding:16px; background:white; border-radius:12px; box-shadow:var(--shadow); }
.page_title{ font-size:24px; font-weight:600; color:var(--gray_700); margin:0; }
.header_actions{ display:flex; gap:12px; align-items:center; }
.btn{ padding:8px 16px; border-radius:8px; border:none; font-weight:500; cursor:pointer; transition:all 0.2s ease; display:inline-flex; align-items:center; gap:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:120px; }
.btn_primary{ background:var(--primary_blue); color:white; }
.btn_primary:hover{ background:var(--dark_blue); }
.btn_secondary{ background:var(--gray_100); color:var(--gray_700); }
.btn_secondary:hover{ background:var(--gray_200); }
.submit_btns{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:4% auto; }
.submit_btns{ -webkit-box-orient: vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.submit_btns a{ display:block;margin:10px auto;width:100%;max-width:300px;text-align:center; }
.submit_btns button{ margin:10px; }
.form_submit{ width:120px;text-align:center;display:block;margin:3% auto; }
.filters{ display:flex; gap:12px; margin-bottom:24px; padding:16px; background:white; border-radius:12px; box-shadow:var(--shadow); }
.input_base{ padding:8px 12px;margin:0;border:1px solid var(--gray_200); border-radius:8px; transition:all 0.2s ease; font-size:14px; background:white; width:calc(100% - 2px); margin:-1px; }
.input_base, textarea{ padding:8px 12px;margin:0;border:1px solid var(--gray_200); border-radius:8px; transition:all 0.2s ease; font-size:14px; background:white; width:calc(100% - 2px); margin:-1px; }
.input_base:hover{ border-color:var(--primary_blue); }
.input_base:focus{ outline:none; border-color:var(--primary_blue); box-shadow:0 0 0 3px var(--light_blue); }
.input_base[name="payment"]{ text-align:center; }
.search_box{ position:relative; flex:1; }
.search_icon{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--gray_400); }
.search_input{ width:100%; padding-left:40px; }
.table_container{ position:relative; overflow:hidden; border-radius:8px; border:1px solid var(--gray_200); }
.table_scroll{ max-width:100%;overflow-x:auto; }
.admin_reserve_list_page .table_scroll{ cursor:grab;user-select:none; }
.table_scroll::-webkit-scrollbar{ height:10px; }
.table_scroll::-webkit-scrollbar-track{ background:var(--gray_100); border-radius:5px; }
.table_scroll::-webkit-scrollbar-thumb{ background:var(--gray_300); border-radius:5px; }
.table_scroll::-webkit-scrollbar-thumb:hover{ background:var(--gray_400); }
.admin_reserve_list_page .table_scroll:active{ cursor:grabbing; }
.admin_reserve_list_page .table_scroll.dragging{ cursor:grabbing;user-select:none; }
table{ width:100%; border-collapse:collapse; font-size:14px; }
th{ padding:12px; font-weight:600; text-align:left; background:var(--gray_50); position:relative; border:1px solid var(--gray_200); }
.th_scheduled{ background:var(--light_blue)!important; color:var(--dark_blue); border-bottom:2px solid var(--primary_blue); }
.th_actual{ background:var(--light_green)!important; color:var(--primary_green); border-bottom:2px solid var(--primary_green); }
.th_payment{ min-width:130px; }
td{ padding:12px; border:1px solid var(--gray_200); background:white; }
td.off{ background-color:#ececec; }
td.no_data{ text-align:center;height:100px; }
.col_fixed{ position:sticky; left:0; z-index:2; background:#fff; box-shadow:2px 0 4px rgba(0,0,0,0.15); }
.col_fixed:before{ content:'';position:absolute;left:50%;top:50%;width:100%;height:100%;transform:translate(-50%, -50%);z-index:-1;border:1px solid var(--gray_50); }
tr:nth-child(even) td{ background:var(--gray_50); }
.input_time{ width:100px; }
.input_staff{ width:120px; }
.input_number{ width:100px; text-align:right; }
.badge{ padding:4px 8px; border-radius:999px; font-size:12px; font-weight:500; display:inline-flex; align-items:center; justify-content:center; }
.badge_complete{ background:var(--light_green); color:var(--primary_green); }
.badge_pending{ background:var(--light_blue); color:var(--primary_blue); }
.time_period{ white-space:nowrap; }
.time_group{ border-left:2px solid var(--gray_300); border-right:2px solid var(--gray_300); }
.time_group_first{ border-left:none; }
.check_box_wrapper{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
@keyframes fadeIn{ from{opacity:0;} to{opacity:1;} }
.fade_in{ animation:fadeIn 0.3s ease-in-out; }


.admin_reserve_list_page.each_page, .user_reserve_list_page{ max-width:1000px; }
.admin_reserve_list_page .search_box{ width:200px; }
.admin_reserve_list_page .th_user_type{ min-width:100px; }
.admin_reserve_list_page .td_user_type{ text-align:center;text-align:left; }
.admin_reserve_list_page .th_staff{ min-width:100px; }
.admin_reserve_list_page .th_user_note, .admin_reserve_list_page .th_staff_note{ min-width:180px; }
.admin_reserve_list_page .th_facility{ min-width:140px; }
.admin_reserve_list_page .th_status{ min-width:80px; }
.admin_reserve_list_page select.show_room{ width:200px; }
.admin_reserve_list_page table .room_name{ min-width:56px; }
.admin_reserve_list_page .th_extend{ min-width:80px; }
.link_deco{ text-decoration:underline;color:blue;white-space:nowrap; }
.admin_reserve_list_page .add_new_reserve{ width:150px;display:block;text-align:center; }
.admin_reserve_list_page input[type="date"]{ width:140px; }
.admin_reserve_list_page th{ white-space:nowrap; }
.admin_reserve_list_page label.invoice, .admin_reserve_list_page .input_payment_way{ display:block;margin-top:5px; }
.admin_reserve_list_page .input_base.off{  -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important; }
.admin_reserve_list_page .sort_cat.off, .admin_reserve_list_page .input_base.off{ background:#e3e1e1; }

.each_page{ max-width:800px; margin:0 auto; padding:24px; }
.each_page .header{ margin-bottom:24px; }
.common_box{ padding:16px; background:white; border-radius:12px; box-shadow:var(--shadow);border:none; }
.each_page .page_title{ font-size:24px; font-weight:600; color:var(--gray_700); margin:0; }
.detail_table{ width:100%; }
.detail_table th{ width:180px; padding:16px;background:var(--gray_50); border:1px solid var(--gray_200); vertical-align:top; }
.detail_table td{ padding:16px; border:1px solid var(--gray_200); }
.detail_table th.required::after{ content:"*"; color:#dc2626; margin-left:4px; }
.datetime_group{ display:flex; gap:12px; }
.datetime_group .input_base{ width:auto; }
.checkbox_wrapper{ display:flex; align-items:center; gap:8px; cursor:pointer; }
.checkbox_input{ width:16px; height:16px; margin:0; }
.checkbox_label{ font-size:14px; color:var(--gray_700); }
/* .projector_row{ display:none; } */
.facility_select[value="seto"] ~ .projector_row{ display:table-row; }

.user_reserve_list_page .mobile_view{ display:none; }
.user_reserve_list_page .pc_view{ display:block; }
.user_reserve_list_page .reserve_container{ padding:0 15px; }
.user_reserve_list_page .reserve_card{ background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.1);padding:16px;margin-bottom:16px; }
.user_reserve_list_page .reserve_date, .reserve_room, .reserve_time, .reserve_price{ margin-bottom:12px;display:flex;justify-content:space-between;align-items:center; }
.user_reserve_list_page .key_info{ display:flex;justify-content:space-between;margin-bottom:12px;padding:10px;background-color:#f5f8ff;border-radius:6px; }
.user_reserve_list_page .key_time{ flex:1; }
.user_reserve_list_page .key_time:first-child{ margin-right:10px;padding-right:10px;border-right:1px solid #e0e0e0; }
.user_reserve_list_page .date_label, .room_label, .time_label, .key_label, .price_label{ font-weight:bold;color:#666;font-size:14px; }
.user_reserve_list_page .date_value, .room_value, .time_value, .key_value, .price_value{ font-size:16px;color:#333; }
.user_reserve_list_page .date_value{ color:#2563eb;font-weight:bold; } 
.user_reserve_list_page .price_value{ color:#10b981;font-weight:bold; }
.user_reserve_list_page .reserve_detail{ text-align:center;padding-top:12px;margin-top:8px;border-top:1px solid #eee; }
.user_reserve_list_page .detail_link{ display:inline-block;padding:8px 32px;background-color:#2563eb;color:#fff;border-radius:6px;text-decoration:none;font-weight:bold;transition:background-color 0.3s ease; }
.user_reserve_list_page .detail_link:hover{ background-color:#1e40af;opacity:1; }
.user_reserve_list_page .add_new_reserve{ width:100% !important;margin-bottom:16px;padding:12px !important; }
.user_reserve_list_page .no_record{ text-align:center;padding:30px 0;background-color:#f9f9f9;border-radius:8px;color:#666; }

.user_detail_page .privacy_wrap{ -webkit-box-orient: vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:3%; }
.user_detail_notice .caution{ color:#004494; }
.user_detail_page .field_note{ padding-top:7px; }
.reserve_detail_page .table_container .mask{ position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:0.6;pointer-events:none;z-index:100; }
.reserve_detail_page .time_selection select{ width:80px; }
.reserve_detail_page .td_date .checkbox_wrapper{ margin-top:10px;width:90px; }
.reserve_detail_page .caution{ font-size:100%; }
.reserve_detail_page .caution.important{ font-size:120%;color:#b50009; }
.reserve_detail_page input[type=date]::-webkit-calendar-picker-indicator{ position:absolute;width: 100%;height:100%;opacity:0; }
.reserve_detail_page input[type="date"]::-webkit-inner-spin-button{ -webkit-appearance:none; }
.reserve_detail_page input[type="date"]::-webkit-clear-button{ -webkit-appearance:none; }
.reserve_detail_page input[type="date"]{ position: relative; }
.reserve_detail_page .submit_btns button.close{ pointer-events:none;background-color:#acacac;opacity:0.6; }
.reserve_panel{ transform:translateY(-150px); }

.date_schedule_page #btn_reserve{ margin-bottom:10px;margin-left:auto;display:block;width:100%;max-width:500px;text-align:center;margin:3% auto;font-size:130%;height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:300px; }
.date_schedule_page #btn_reserve.close{ pointer-events:none;opacity:0.6; }
.date_schedule_page .bt_layer .common_bt_arrow{ margin-left:auto; }
.date_schedule_page.include.each_page{ padding:0; }

/* .pre_register_page{ width:90%;max-width:700px;margin:0 auto; } */
.pre_register_page .th{ text-align:center;font-size:200%; }
.pre_register_page .th span{ font-size:70%;padding-top:5px;display:block;font-weight:normal; }
.pre_register_page .note{ margin:6% auto;line-height:180%; }
.pre_register_page input{ width:100%;margin-bottom:14px; }
.pre_register_page 
{ width:100%;display:block;text-align:center; }

/* .admin_room_edit_page .tax_table_container{ max-width:300px; } */
.admin_room_edit_page th{ text-align:center; }
.admin_room_edit_page td input{ text-align:right; }
.admin_room_edit_page .price{ width:100%; }
.admin_room_edit_page .price[name="tax_rate"]{ max-width:100px; }
.admin_room_edit_page .unit{ display:block;text-align:right; }
.admin_room_edit_page .price[name="tax_rate"] + .unit{ display:inline; }
.admin_room_edit_page .tax_table_container td{ text-align:right; }
.admin_room_edit_page tr:nth-child(even) td{ background-color:#fff;}
/* .admin_room_edit_page .tax_table_container input{  } */
.admin_room_edit_page .detail_table td{ text-align:right; }



/* 管理者請求書発行 */
.modal_invoice{ position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);z-index:1000;display:flex;justify-content:center;align-items:center; }
.modal_content{ background-color:#fff;padding:20px;border-radius:5px;width:80%;max-width:800px;max-height:80vh;overflow-y:auto; }
.invoice_list table{ width:100%;border-collapse:collapse;margin-bottom:20px; }
.invoice_list th,.invoice_list td{ padding:8px;border:1px solid #ddd;text-align:left; }
.invoice_list th{ background-color:#f5f5f5; }
.modal_footer{ display:flex;justify-content:flex-end;gap:10px;margin-top:20px; }
.text-right{ text-align:right; }
.modal_invoice .form_row{ margin-bottom:15px;display:flex;align-items:center; }
.modal_invoice .form_row label{ min-width:100px;font-weight:bold; }
.modal_invoice .recipient_name{ width:300px;padding:8px;border:1px solid #ccc;border-radius:4px; }
.modal_invoice .payment_destination_select{ width:400px;padding:8px;border:1px solid #ccc;border-radius:4px; }
.modal_invoice .invoice_list{ margin-top:20px;max-height:300px;overflow-y:auto; }
.modal_invoice h4.user_info{ margin-bottom:20px; }
.modal_invoice .checkbox_row{ margin:15px 0; }
.modal_invoice .checkbox_container{ display:flex;align-items:center;cursor:pointer; }
.modal_invoice .checkbox_container input[type="checkbox"]{ margin-right:8px;cursor:pointer; }
.modal_invoice .checkbox_label{ font-weight:normal; }

.flatpickr_time_input{ width:80px;text-align:center;cursor:pointer; }
.flatpickr-calendar.noCalendar.open{ width:125px; }
.flatpickr-calendar.noCalendar .flatpickr-time{ max-height:40px;border-top:0; }
.flatpickr-calendar.noCalendar .numInputWrapper{ width:45%; }
.flatpickr-calendar.noCalendar .numInputWrapper input{ text-align:center; }

/* 管理者代行予約 */
.proxy_reservation_notice {background-color: #f8f9fa;border-left: 4px solid #007bff;padding: 10px 15px;margin-bottom: 20px;font-size: 16px;}
.modal_reservation_type,.modal_user_search,.modal_new_user_info{ position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);z-index:1000;display:flex;justify-content:center;align-items:center; }
.modal_content{ background-color:#fff;border-radius:4px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto; }
.modal_header{ display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid #eee; }
.modal_header h3{ margin:0;font-size:16px; }
.modal_close_btn{ background:none;border:none;font-size:20px;cursor:pointer; }
.modal_body{ padding:15px; }
.modal_footer{ padding:10px 15px;text-align:right;border-top:1px solid #eee; }
.modal_reservation_type .btn_group{ display:flex;flex-direction:column;gap:10px; }
.modal_reservation_type .btn_group .btn{ width:100%;padding:10px;text-align:center; }
.search_input_wrapper{ display:flex;margin-bottom:10px; }
.user_search_input{ flex:1;margin-right:10px; }
.search_status{ margin-bottom:10px;font-style:italic;color:#666; }
.user_list{ border:1px solid #eee;max-height:250px;overflow-y:auto;margin-bottom:10px; }
.user_item{ padding:10px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center; }
.user_item:last-child{ border-bottom:none; }
.user_info{ flex:1; }
.user_name{ font-weight:bold; }
.user_email,.user_company{ font-size:13px;color:#666; }
.modal_reservation_type .btn{ padding:6px 12px;border-radius:3px;cursor:pointer;margin-left:5px; }
.modal_reservation_type .btn_primary{ color:white; }
.modal_reservation_type .no_results,.search_error{ padding:10px;color:#666;text-align:center; }
.modal_reservation_type .field_note{ font-size:12px;color:#666;margin-top:5px; }
.modal_reservation_type .btn_back{ background-color:#6c757d;border-color:#6c757d;color:white; }

@media screen and (max-width:768px){
    .detail_table th{ width:120px; white-space:normal; }
    .datetime_group{ flex-direction:column; }
    .datetime_group .input_base{ width:100%; }

    .user_reserve_list_page .mobile_view{ display:block; }
    .user_reserve_list_page .pc_view{ display: none; }

    .month_bt_wrap{ width:90%; }

    .privacy_policy_page.each_page{ margin-top:-15%; }
}

@media screen and (max-width:575px){
    body{ padding:0; }
    .detail_table, .detail_table tbody, .detail_table tr, .detail_table th, .detail_table td{ display:block; width:100%; }
    .detail_table th{ border-bottom:none; padding:8px 16px; }
    .detail_table td{ border-top:none; }
    .input_window{ padding:3%; }
    .input_window .wrap{ width:100%; }

    .user_reserve_list_page .reserve_container{ padding:0; }
    .user_reserve_list_page .reserve_card{ padding:12px; }
    .user_reserve_list_page .key_info{ flex-direction:column; }
    .user_reserve_list_page .key_time:first-child{ margin-right:0;padding-right:0;border-right:none;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e0e0e0; }
    .user_reserve_list_page .date_label, .room_label, .time_label, .key_label, .price_label{ font-size:12px; }
    .user_reserve_list_page .date_value, .room_value, .time_value, .key_value, .price_value{ font-size:14px; }
    .user_reserve_list_page .detail_link{ width:100%;padding:10px 0; }
    .user_detail_page .privacy_wrap{ margin:8% auto; }

    .date_schedule_page.include.each_page{ padding:0; }
    .date_schedule_page #btn_reserve{ margin-bottom:15%; }

    tr:nth-child(even) td{ background-color:#fff; }
    
    .pre_register_page .note br{ display:none; }

    .input_window input[type="text"], input[type="password"]{ margin-bottom: 10px; }
}
