@charset "utf-8";
/* utf-8 ◎◇ */

*{
  font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo UI', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  margin-top:0;
  -webkit-font-smoothing:antialiased;
  -ms-font-feature-settings:"normal";
  box-sizing:border-box;
  -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box;
}
html{
  font-size:62.5%;/*10px*/
  min-height:100%;
}
body{
  margin:0 0;padding:0 0;
  min-height:100%;
}
html,body{/*map表示で重要*/
  height: 100%;
  width: 100%;
}

/* ---- 画面の幅により切り替え(799px以下を境とする) ---- */
@media(max-width: 799px){
  .wide_screen:not(.narrow_screen){
    display: none !important;
  }
}

@media(min-width: 800px){
  .narrow_screen:not(.wide_screen){
    display: none !important;
  }
}

/*share*/
ul,ol{
  margin:0 0;padding:0 0;
  list-style:none;
}
dl,dt,dd{
  margin:0 0;padding:0 0;
}
a{text-decoration:none;color:inherit;}
a:not([disabled]):hover,input:not([disabled]):hover,button:not([disabled]):hover{
  background:#fffaac;color:#000!important;
  transition:all 0.2s ease;
  -webkit-transition:all 0.2s ease;
  -moz-transition:all 0.2s ease;
  -o-transition:all 0.2s ease;
}
h1{font-size:1.8rem;font-weight:900;margin-bottom:1rem;}
table{
  border-collapse: collapse;
  border-spacing: 0;
}
p,a,dt,dd,span,td,li{font-size:1.4rem;line-height:1.7;}
.fit-line-height{line-height:1.2;}
.large{font-size:2rem;margin-bottom:1rem;}
.small{font-size:1.2rem;line-height:1.5;padding-top:5px;}
.bold{font-weight:900;}
.t_c{text-align:center;}
.w_100{width:100%;}
.margin_0{margin:0 0;}
.margin_b_small{margin-bottom:7px;}
.error_message{padding:10px 0;font-weight: 900;color:red;}
.inline_b{display:inline-block;}


/*form*/
input,label,select,textarea,button{
  padding:6px 10px;
  min-height:40px;
  border-radius:8px;
  display:inline-block;
  font-size:1.6rem;
}
select{min-width:7rem;}
input:focus,select:focus,textarea:focus,button:focus,input:active,select:active,textarea:active,button:active{
  outline:none;
  border:1px solid #abcdff;
  box-shadow:0px 0px 10px 0px #abcdff;
}
input,textarea,select,button{border:1px solid #c5bfb1;}
input[type="button"]:not([disabled]),label:not([disabled]),select:not([disabled]),button:not([disabled]){cursor:pointer;}

label{position: relative;}
.radiolabel input[type="radio"],
.checklabel input[type="checkbox"]{display:none;}
.radiolabel span,
.checklabel span{
  min-height:38px;
  padding-top:6px;
  padding-left:26px;
  display:inline-block;
}
.checklabel span::before,
.checklabel span::after,
.radiolabel span::before,
.radiolabel span::after{
  content: '';
  display:block;
  position: absolute;
  top:50%;
  left:0;
  transform:translate(0,-50%);
}
.radiolabel span::before,
.checklabel span::before{
  background:#fff;
  width:22px;
  height:22px;
  border:2px solid #c5bfb1;
  }
.radiolabel span::before{border-radius:50%;}
.checklabel span::before{border-radius:8px;}
.radiobtn:checked ~ span::before{
  border:2px solid #e45959;
}
.radiobtn:checked ~ span::after{
  width:14px;height:14px;
  top:50%;left:6px;
  transform:translate(0,-50%) rotate(-45deg);
  background:#e45959;
  border-radius:20px;
}
.checkbtn:checked ~ span::after{
  width:9px;
  height:6px;
  top:20px;
  left:7px;
  transform:rotate(-45deg);
  border-left:4px solid #e45959;
  border-bottom:4px solid #e45959;
}
/**/

/*個別ボタン*/
.btn_login{
  background:#de4949;
  background:-moz-linear-gradient(left,#de4949 0%,#e45959 100%);
  background:-webkit-linear-gradient(left,#de4949 0%,#e45959 100%);
  background:linear-gradient(to right,#de4949 0%,#e45959 100%);
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#de4949',endColorstr='#e45959',GradientType=1);
  border:none;
  color:#fff;
  font-weight:900;
  width: 100%;
  box-shadow:0px 0px 7px 0px rgba(0,0,0,.2);
}
.btn_join{
  background:#f7f3ea;
  padding-left:30px;padding-right:30px;
  border-radius:30px;
  font-weight:900;
  border:2px solid #c5bfb1;
}
.btn_sub{
  background:#9c9690;
  padding:3px 10px;
  min-height:34px;
  font-size:1.4rem;
  line-height:1.2;
  color:#fff;
  border:none;
}
.btn_search{
  background:#43992a;
  background:-moz-linear-gradient(left,#43992a 0%,#53ab34 100%);
  background:-webkit-linear-gradient(left,#43992a 0%,#53ab34 100%);
  background:linear-gradient(to right,#43992a 0%,#53ab34 100%);
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#43992a',endColorstr='#53ab34',GradientType=1);
  border:none;
  color:#fff;
  font-weight:900;
  width: 100%;
  box-shadow:0px 0px 7px 0px rgba(0,0,0,.2);
}
.btn_reserve,.time_minute{
  background:#fff;
  padding:4px 10px;
  min-height:34px;
  font-size:1.4rem;
  border:2px solid #c5bfb1;
  border-radius:8px;
  font-weight: 900;
  display:inline-block;
}

/*--parts--*/
.wrap_round{
  background:#fff;
  margin:10px auto;
  max-width:768px;
  width:100%;
  height:100%;
  padding:20px 0 30px;
  border-radius:16px 16px;
  border:1px solid #e3dccc;
  box-shadow:0 0 5px 0 rgba(100,100,100,.15);
}
.box{
  background:#ece8df;
  padding:10px;
  border:1px solid #e3dccc;
  border-radius:8px;
}
.box_w{
  background:#fff;
  padding:10px;
  border:1px solid #e3dccc;
  border-radius:8px;
  word-break: break-all;
}
.box + .box,
.box_w + .box_w{margin-top:10px;}
.box  > *:last-child,
.box_w > *:last-child{margin-bottom:0;}
.arrow_r{position:relative;padding-left:12px;font-weight:900;}
.arrow_r::before{
  display:block;content: '';width:0;height:0;
  position: absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
}
.arrow_r::before,.arrow_l::before{left:2px;}
.arrow_r::before{
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:5px solid #393e47;
}

/* ---- compact のタイトルは横に並べる ---- */
dl[compact]>div>dt{ display: inline-block;}
dl[compact]>div>dd{ display: inline-block;}

dl>div>dt,
dl>div>dd{ vertical-align: top;}

/* ---- 無効ボタンのテキスト色 ---- */
button[disabled]{ color: #cac;}

/* ---- 非表示 ---- */
.hide{ display: none !important;}
.invisible{ visibility: hidden !important;}

/* ---- タグ間の意図しない空白(改行等で生じる)を詰める ---- */
.no_spacing>*{ letter-spacing: normal;}
.no_spacing{ letter-spacing: -0.40em;}
.no_spacing.lite{ letter-spacing: -0.15em;}

/* ---- 固定幅フォント ---- */
/* see.. https://teratail.com/questions/10082 */
.monospace{
  font-family:"Consolas", /*Win*/"Monaco", /*Mac*/monospace /*other*/;}

/* ---- jquery-ui の規定値変更 ---- */
.ui-widget-content.ui-dialog{ background-color: white; z-index: 2000 !important; position: relative !important;}
.ui-widget .ui-widget{font-size:1.4rem;min-height:auto;}
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button{font-size:1.4rem;}


/* ================ */
/*   ログイン画面   */
/* ================ */
/*logintop index*/
/* 2025/04/04 web予約_システムタイトル可変対応 改修 start */
.wrap_round_header{
  margin:0px auto;
  max-width:768px;
  width:100%;
  height:100%;
  position: relative; /* 親要素を相対位置に設定 */
}
.logo{
  font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo UI', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  margin:0 0;
  padding:20px 0;
  color:#fff;
  text-align: center;
  width:100%;
  height:100%;
  position: relative; /* 親要素を相対位置に設定 */
}
.logo_territory1, .logo_territory2{
  top: 0;             /* 親要素の上端に合わせる */
  height: 100%;       /* 親要素の高さに合わせる */
}
.logo_territory1{
  position: absolute;   /* ここで絶対位置を指定 */
  height:110.8px;
  width:110.8px;
}
.logo_territory2{
  margin-left: 110.8px; /* ← 左の分だけずらす */
}
.logo_image{
  position: relative;  /* 親要素内での相対位置に配置 */
  float: left;
  max-width: 100%;     /* 親要素の幅に合わせる */
  max-height: 100%;    /* 親要素の高さに合わせる */
  height: auto;        /* アスペクト比を保つ */
}
.logo_text{
  position: relative;  /* 親要素内での相対位置に配置 */
  top: 50%;            /* 垂直方向の中央 */
  left: 50%;           /* 水平方向の中央 */
  transform: translate(-50%, -50%);  /* 完全に中央に配置 */
}
.logo_text1c{
  display: flex;
  justify-content: center; /* 横方向の中央 */
  align-items: center;     /* 縦方向の中央 */
  margin:0 0;
  line-height:1;
  font-size:1.8rem;
  max-height: 18px;
  white-space: nowrap; /* テキストが折り返さないようにする */
}
.logo_text2c{
  display: flex;
  justify-content: center; /* 横方向の中央 */
  align-items: center;     /* 縦方向の中央 */
  font-size:4.4rem;
  line-height:1.2;
  max-height: 56px;
  white-space: nowrap; /* テキストが折り返さないようにする */
}
#headersticky{
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: #f7f3ea;
}
/* 2025/04/04 web予約_システムタイトル可変対応 改修 end */
.wrap_idx{
  background:#4ba22f;
  min-height:100vh;
}
.wrap_idx header{
  background:transparent;
}
.wrap_idx form li + li{
  padding-top:6px;
}
.wrap_idx .wrap_round{
  background:#f7f3ea;
  margin:0 auto ;
  padding:10px 10px 0;
  border-radius:16px 16px 0 0;
}
.wrap_idx #area_name{
  margin-bottom:10px;
  text-align: center;
  font-weight:900;
  font-size:1.8rem;
}
#login_area{
  margin:10px auto;
}
#login_area .checklabel{
  padding-top:0;
  padding-bottom:0;
}
#login_area .checkbtn:checked ~ span::after{
  top:13px;
}
.wrap_re{
  margin:10px auto;
}
@media screen and (min-width:740px){
  .wrap_re{
    display:flex;
    margin:10px auto;
    justify-content: space-between;
  }
  .wrap_re .info_text{
    max-width:calc( 100% - 400px );
    margin-right:10px;
  }
  #login_area{
    margin:0 auto;
    max-width:400px;
    min-width:400px;
  }
}
#login_area .error_message,
#login_area #mentenance_guide{
  margin-top:10px;
}
.wrap_admin_info{
  padding:10px;
}
.wrap_admin_info h1{
  padding-bottom:.7rem;
  border-bottom:1px solid #c5bfb1;
}
.wrap_contact{
  margin:10px 0;
  padding:10px 0;
  text-align:center;
  border-top:1px solid #c5bfb1;
  border-bottom:1px solid #c5bfb1;
}
.wrap_contact h1{
  padding-bottom:0;
  }
.wrap_contact p{
  margin:0 0;
}
.error_message{
  margin-left: 4px;
  color: red;
  font-weight: bold;
}

/* ============ */
/*   予約画面   */
/* ============ */
/*search*/
.searchbox{
  margin:0 auto;
  padding:10px 5px;
  max-width:768px;
}
.searchbox dd{
  padding:10px 10px 0;
}
.searchbox li + li{
  margin-top:10px;
}
.bs_nav{
  padding-top:2px;
}
.bs_nav button + button{
  margin-left:3px;
}
.bs_text{
  border-radius:8px 0 0 8px;
  width:calc(100% - 5rem);
  line-height:1.4;
}
button.bs_search{
  background:#fff;
  padding:8px 5px;
  line-height:1;
  border-radius:0 8px 8px 0;
  margin-left:-1px;
  width:4.5rem;
}
#wheelchair_outer,
.wheelchair_outer{
  font-size:2.2rem;
}
.dep_arr_label{/*発着*/
  background:#fff;
  padding:0 12px;
  border:1px solid #c5bfb1;
}
.dep_arr_label + label{
  margin-left:5px;
}
.dep_arr_label span::before{
  left:5px;
}
.dep_arr_label .radiobtn:checked ~ span::after{
  left:11px;
}
/* ---- 「予約を受け付けておりません」 ---- */
#no_permit_reserve{
  text-align: center;
  line-height: 1.9;
}
#no_permit_reserve .err{
  color: red;
  font-weight: bold;
}

/* ---- 乗降車場選択 ---- */
/* 乗降車場検索結果と履歴はいずれかを排他的に表示する */
.bs_outer:not(.listed) .bslist{
  display: none !important;
}
.bs_outer:not(.history_listed) .history_bslist{
  display: none !important;
}

/* ---- 検索結果一覧および履歴一覧 ---- */
.bslist,
.history_bslist{
  border:1px solid #c5bfb1;
  width: 100%;
  height: 120px;
  background-color: #e8e8ef;
  overflow-y: scroll;
}
.bslist>table,
.history_bslist>table{
  width: 100%;
  font-size: 18px;
}
.bslist tr,
.history_bslist tr{
  height: 30px;
  border-bottom: solid 1px white;
}
.bslist tr:first-child,
.history_bslist tr:first-child{
  height: 0px;
}
.bslist tr:hover,
.history_bslist tr:hover{
  background-color: #fffccc;
}
.bslist .err{
  color: red;
  font-weight: bold;
}

/* ---- 空席検索結果(通常) ---- */
#vacantseat_outer .err{
  color: red;
  font-weight: bold;
  margin-top:10px;
  margin-bottom:0;
  text-align:center;
}
/*候補表示*/
.vacantseat_result{
  padding-top:5px;
}
.vacantseat_result li{
  padding:10px 20px;
  border-bottom:1px solid #e3dccc;
  display: flex;
  justify-content: space-between;
}
.vacantseat_result li:nth-child(even){
  background:#fcf9f5;
}
  .vacantseat_result li p{
    margin: 0 0; padding-top:4px;
    color:#736658;
  }
  .vacantseat_result li p span{
    padding-left:.5rem;
    display:inline-block;
    color:#000;
    font-size:1.6rem;
    font-weight:900;
  }
.l_et{
  margin-right:2rem;
  position: relative;
}
.l_et::after{
  display:block;content:'';width:0;height:0;
  position: absolute;
  top:50%;right:-1.7rem;
  transform:translateY(-50%);
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:5px solid #e45959;
}

/* ---- 空席検索結果(バス路線運行) ---- */
#time_table_outer .err{
  color: red;
  font-weight: bold;
  margin-top:10px;
  margin-bottom:0;
  text-align:center;
}
#bustransport_no_transit{
  color: red;
  font-weight: bold;
}

/*時刻表*/
.time_table{
  width:100%;
  font-size:1.6rem;
  border-collapse: separate;
  padding-top:5px;
}
.time_table th,
.time_table td{
  border-bottom:1px solid #e3dccc;
}
.time_table tr:last-child{
  border-bottom:1px solid #e3dccc;
}
.time_table tr:nth-child(odd){
  background:#fcf9f5;
}
.time_table th,
.time_table td{
  padding:6px 0;
}
.time_table th{
  width:7rem;
  font-weight:normal;
}
.time_table a{
  min-width:5rem;
  font-size:1.6rem;
  text-align: center;
}
.time_table a + a{margin-left:10px;}
.time_tbody tbody{
  border-radius:18px;
  /*border:1px solid red;*/
}

/*ダイアログ*/
.ui-widget-content.ui-dialog-content{
  padding:0 10px;
}
.alertable{
	max-width:95%;
	left:50%;
	top:50%;
  transform:translate(-50%,-50%);
}

/*お問い合わせ*/
.ui-dialog-content dt{
  background:#eee;
  margin:5px 0;
}
.ui-dialog-content hr{
  display:none;
}
.ui-dialog-content label{
  width:100%;
  padding:0 0;
}

/*お知らせ*/
.alertable-message{
  font-size:1.4rem;
  line-height:1.7;
}

/* ---- 予約確定前の確認ダイアログ ---- */

.reserve_details_disp ul{
  margin:10px 0;
}
.reserve_details_disp p,
#reserve_done_body p{
  margin-bottom:.2rem;
}
.dlg_time{
  width:6rem;
  display:inline-block;
}
.dlg_bs_name{
  width:calc(100% - 7rem);
  display:inline-block;
  vertical-align: top;
}
.bookid_outer{
  color:#4ba22f;
  font-weight:900;
}

/* 2024/10/18 web予約_エラーメッセージ出力対応 改修 start */
#confirm_fix_body .err{
  font-size:12px;
  font-weight:bold;
  color:rgb(132, 32, 41);
  background-color:rgb(248, 215, 218);
}
/* 2024/10/18 web予約_エラーメッセージ出力対応 改修 end */

/* -------------------------------- */
/* ---- 予約確定完了ダイアログ ---- */
#reserve_done_body .item_head{
  position: relative;
  height: 38px;
  width: 100%;
}
#reserve_done_body .item_head>*{
  position: absolute;
  top: 2px;
  height: 30px;
}
#reserve_done_body .item_head>.l{
  left: 0px;
  background-image: none;
  background-color: white;
}
#reserve_done_body .item_head>.r{
  right: 0px;
}
#reserve_done_body .item_head>*>span{
  display: inline-block;
  padding-top: 6px;
}
#reserve_done_body .item_row{
  height: 28px;
}
#reserve_done_body .item_row.heigh{
  height: 34px;
}
/* -------------------------------- */
/* ---- 予約取消確認ダイアログ ---- */
#confirm_cancel_body .item_head{
  position: relative;
  height: 38px;
  width: 100%;
}
#confirm_cancel_body .item_head>*{
  position: absolute;
  top: 2px;
  height: 30px;
}
#confirm_cancel_body .item_head>.l{
  left: 0px;
  background-image: none;
  background-color: white;
}
#confirm_cancel_body .item_head>.r{
  right: 0px;
}
#confirm_cancel_body .item_head>*>span{
  display: inline-block;
  padding-top: 6px;
}
#confirm_cancel_body .item_row{
  height: 28px;
}
#confirm_cancel_body .item_row.heigh{
  height: 34px;
}
#confirm_cancel_body .item_row.mostheigh{
  height: 38px;
}
#confirm_cancel_body.wide_screen{
  background-color: #c0e8ff;
}
/* 2024/10/18 web予約_エラーメッセージ出力対応 改修 start */
#confirm_cancel_body .err{
  font-size:12px;
  font-weight:bold;
  color:rgb(132, 32, 41);
  background-color:rgb(248, 215, 218);
}
/* 2024/10/18 web予約_エラーメッセージ出力対応 改修 end */

/* ---------------------------- */
/* ---- 人数変更ダイアログ ---- */

#confirm_alter_body .item_head{
  position: relative;
  height: 38px;
  width: 100%;
}
#confirm_alter_body .item_head>*{
  position: absolute;
  top: 2px;
  height: 30px;
}
#confirm_alter_body .item_head>.l{
  left: 0px;
  background-image: none;
  background-color: white;
}
#confirm_alter_body .item_head>.r{
  right: 0px;
}
#confirm_alter_body .item_head>*>span{
  display: inline-block;
  padding-top: 6px;
}
#confirm_alter_body .item_row{
  height: 28px;
}
#confirm_alter_body .item_row.heigh{
  height: 34px;
}
#confirm_alter_body .item_row.mostheigh{
  height: 38px;
}
#confirm_alter_body.wide_screen{
  background-color: #c0e8ff;
}
#confirm_alter_body .passenger{
  background-color: #fff;
}
#confirm_alter_body .c{
  text-align: center;
}
/* 2024/10/18 web予約_エラーメッセージ出力対応 改修 start */
#confirm_alter_body .err{
  font-size:12px;
  font-weight:bold;
  color:rgb(132, 32, 41);
  background-color:rgb(248, 215, 218);
}
/* 2024/10/18 web予約_エラーメッセージ出力対応 改修 end */

/* ---------------------------------- */
/* ---- 問い合わせ入力ダイアログ ---- */
#contact_body dl>dt{
  text-align: center;
}
#contact_body li{
  margin-bottom: 8px;
}
#contact_body .text{
  height: 7rem;
  width: 100%;
}
#contact_body .phone,
#contact_body .mailto{
  width: 100%;
}
/* ---------------------------------- */
/* ---- 問い合わせ確認ダイアログ ---- */
#confirm_contact_body dl>dt{
  text-align: center;
}

#confirm_contact_body li{
  margin-bottom: 8px;
}

#confirm_contact_body .text{
  height: 7rem;
  width: 100%;
}
#confirm_contact_body .phone,
#confirm_contact_body .mailto{
  width: 100%;
}
/* ============ */
/*   地図       */
/* ============ */

/* ---- 本体 ---- */
#map{
  height: 100%;
  width: 100%;
}

/* ---- 検索領域 ---- */
#map_search_box{
  position: absolute;
  height: auto;
  width: auto;
  font-size: 14px;
}
#map_search_box input[type="text"]{
  width: 240px;
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 14px;
}
#map_search_box #search{
  width: 44px;
  padding: 4px ;
  font-size: 14px;
}

/* ---- 乗降車場をクリックした時の吹き出し ---- */
table.map_bs_sel>tbody>tr>th,
table.map_bs_sel>tbody>tr>td{
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 4px;
  padding-right: 4px;
}
table.map_bs_sel>tbody>tr>td #sel_o,
table.map_bs_sel>tbody>tr>td #sel_d{
  width: 60px;
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 18px;
}

/* ============================= */
/* ご利用方法およびお問い合わせ */
/* ============================= */
section.info_box{
  padding-top: 4px;
  padding-left: 4px;
}
section.info_box *{
  line-height: 1.4;
}
section.info_box h1{
  margin-bottom: 12px;
  font-size: 24px;
  line-height: 1;
  font-weight: normal;
}
section.info_box p{
  margin-left: 4px;
}
section.info_box ul,
section.info_box ol{
  list-style: none;
}
section.info_box dl{
  margin-top:10px;
  margin-left: 4px;
}
section.info_box dl dt{
  margin: 0 0 5px;
  font-size: 20px;
}
section.info_box dl dd{
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom:10px;
}
/*section.info_box dl dd:last-child{
  margin: 0;
}*/
section.info_box .bottom_20{
  margin-bottom: 20px;
}
section.info_box .t_l{
  text-align: left !important;
}
section.info_box .red{
  color: red;
}
section.info_box a{
  color: #ff5b5b;
  text-decoration: none;
}
section.info_box dl dd ul.address{
  display: inline-block;
  margin: 1em 0 0 1em;
  padding: 5px 0 0 0;
  border-top: solid 1px #ede6d7;
}
section.info_box dl dd ul.address li{
  margin: 0 0 5px;
  padding: 0 5px 5px;
  border-bottom: solid 1px #ede6d7;
  text-indent: 0;
}
section.info_box ul:after,
section.info_box dl:after,
section.info_box p:after{
  display: block;
  visibility: hidden;
  clear: both;
  content: ".";
  height: 0;
  font-size: 0;
}
section.info_box p.must{
  padding: 3px 0;
  border-top: dashed 1px #ccc;
  border-bottom: dashed 1px #ccc;
  background-image: none;
  background-color: #fafafa;
  text-align: right;
}
section.info_box dl dd dt {
    margin: 0 0 10px;
    padding: 3px 0;
    border-top: dashed 1px #ccc;
    border-bottom: dashed 1px #ccc;
    background-image: none;
    background-color: #fafafa;
    font-size: 100%;
    font-weight: bold;
}
section.info_box dl dd dl dd ol {
    margin: 10px 0 0;
    padding: 0 0 0 1em;
}
section.info_box dl dd dl dd li {
    margin: 0 0 10px;
    text-indent: -1em;
}
/* ----  ---- */



#body{background:#f7f3ea;}
header{background:#fff;}

/*2nd template*/
#sitename{
  background:#4ba22f;
  color:#fff;
  font-size:1.4rem;
  margin:0 0;
  padding:10px;
  /* 2025/04/04 web予約_システムタイトル可変対応 改修 start */
  white-space: nowrap; /* テキストが折り返さないようにする */
  /* 2025/04/04 web予約_システムタイトル可変対応 改修 end */
}
.menu_g{
  padding:10px;
  position: relative;
}
.menu_g p{
  margin:0 0;
}

/* 2024/05/24 web予約_車両位置情報表示機能 start */
.space{
  padding:5px;
}
@keyframes blinking {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
.notice{
  display:none;
}
.notice_style{
  background-color:#FFBF00;
  border:none;
  margin:0 0;
  font-size:20px;
  font-weight:bold;
  text-decoration: underline;
  animation: blinking 1s ease infinite alternate;
}
.myDialog_c{
 position: absolute;
 margin-top: -100px; /* 中央配置する要素の横幅の半分だけ上にずらす */
 margin-left: -100px; /* 中央配置する要素の縦幅の半分だけ左にずらす */
 top: 50%;  /* 要素の上端を中央に */
 left: 50%;  /* 要素の左端を中央に */
 background-color:#FFBF00;
}
.myDialog_c p{
 font-size:20px;
 font-weight:bold;
}
.button_ok{
 position: absolute;
 bottom:   10%;
 left: 5%;
 font-weight:bold;
}
.button_cancel{
 position: absolute;
 bottom:   10%;
 right: 5%;
 font-weight:bold;
}
#update_map{
 position: absolute;
 top:   2%;
 right: 2%;
}
.update_map_btn{
 font-weight:bold;
 background-color: white;
}
/* 2024/05/24 web予約_車両位置情報表示機能 end */


/* ---- メニュー ---- */
/* ---- メニューアイコン ---- */
#menu_icon{
  position: absolute;
  top:0;right:0;
  min-width:42px;min-height:42px;
  border-radius:8px;
  text-align:center;
  padding:23px 0 0 0;
  font-size:1rem;
  cursor: pointer;
}
#menu_icon::before,
#menu_icon::after{
  background:#000;
  display:block;content:'';
  width:60%;height:1px;
  position: absolute;
  left:50%;
  transform: translateX(-50%);
  top:11px;
}
#menu_icon::after{
  top:19px;
}
#menu_icon:hover{
  background:#fffccc;
}
/* ---- メニュー本体 ---- */
#menu_outer{
  position: fixed;
  overflow: auto;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  /* 2025/04/04 web予約_システムタイトル可変対応 改修 start */
  z-index: 1001;
  /* 2025/04/04 web予約_システムタイトル可変対応 改修 end */
}
#menu_outer>*{
  position: absolute;
}
#menu_background{
  background:rgba(0,0,0,.5);
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
}
#menu_outer > ul{
  background: #fff;
  height: 100%;
  opacity: 1.0;
  right: 0px;
}
ul#menu{
  min-width:50%;
  max-width:80%;
  list-style: none;
}
ul#menu > li{
  padding:20px ;
  min-height: 44px;
  font-size:1.6rem;
}
ul#menu > li + li{
  border-top:1px solid #e5dfd0;
}
/* 2024/09/11 web予約_ユーザー退会対応 改修 start */
#menu_under_font{
  font-size:1.4rem!important;
}
#menu_user_delete{
  font-size:1.4rem!important;
}
/* 2024/09/11 web予約_ユーザー退会対応 改修 end   */
ul#menu > li:last-child{
  border-bottom:1px solid #e5dfd0;
}
ul#menu>li:not([disabled]){
  cursor: pointer;
}
ul#menu>li:not([disabled]):hover{
  background-color: #fffccc;
}
ul#menu>li>a{
  color: initial;
  text-decoration: none;
  font-size:1.6rem;
}

/*nav*/
#navi{
  display:flex;
}
#navi button{
  background:#fff;
  width:calc( 100% / 3 );
  border-radius:0;
  border-left:none;border-right:none;
  color:#736658;
}
#navi button + button{
  border-left:1px solid #c5bfb1;
}
#navi .selected{
  background:#e45959;color:#fff;
}
#subnav{
  margin-top:10px;
  margin-bottom:10px;
  display:flex;
  justify-content: space-between;
}
#subnav li{
  width:calc( 100% / 2 - 1px);/*  width:calc( 100% / 3 - 1px);*/
  text-align:center;
  background:#9c9690;
  border-radius:8px;
}
#subnav a{
  display:block;
  height:100%;
  min-height:36px;
  padding:10px 5px;
  border-radius:8px;
  color:#fff;
  line-height:1.2;
}
.outer_main{
  padding:5px ;
}


/*履歴*/
#history_list.wrap_round{padding:10px 0;}
#history_list > li:first-child{padding-top:0;}
#history_list > li{padding:10px;}
#history_list > li + li{border-top:1px solid #e5dfd0;}
#history_list > li:nth-child(2){border:none;padding-top:0;}
#history_list > li:last-child{padding-bottom:0;}
#history_list dl{margin:0 ;}
#history_list dt{padding-bottom:5px;font-weight:900;color:#4ba22f}
#history_list p{margin-bottom:.2rem;}
.history_time{display:inline-block;width:7rem}
.history_bs_name{display:inline-block;width:calc(100% - 8rem);vertical-align: top;}

/*予約確認*/
#reserve_list dl{padding:10px 0;}
#reserve_list dt{
  padding:0 10px 10px;
  font-weight:900;color:#4ba22f;
  display:flex;justify-content: space-between;
  border-bottom:1px solid #e5dfd0;
}
#reserve_list .bookid_outer{padding:5px 0 0 0 ;}
#reserve_list dd{ padding:10px;}
#reserve_list dd > div:last-child{margin:0 0;}
#reserve_list dd ul{ margin-top:5px;margin-bottom:5px;}
#reserve_list p{margin-bottom:.2rem;}
.reserve_time{display:inline-block;width:7rem;}
.reserve_bs_name{display:inline-block;width:calc(100% - 8rem);vertical-align: top;}
.light_memo.focus{width:100%;}
.light_memo_change{margin-top:5px;width:100%;}
.light_memo_change.invisible{width:0;height:0;line-height:0;margin:0 0;padding:0 0;}

/**/
#calendar {
  height: 1.5em;
  margin: 0px;
  background-color: #e2f1fa;
  width: 130px;
  padding: 0px;
  font-family:
    OCRB,
    monospace,
    "モトヤLシーダ3等幅",
    "Osaka−等幅",
    "ＭＳ ゴシック"
  ;
  text-indent: -7ch;
  font-size: 1.6rem;
  font-weight: bold;
  cursor: pointer;
  vertical-align: top;
}
.ui-datepicker td a{
  font-size: 1.6rem;}
.ui-datepicker{width:auto!important;}

/*現在地*/
#map_here{
	z-index: 1000;
	position: absolute;
	bottom: 0;
	right: 0;
	height: 40px;
	width: 40px;
	cursor: pointer;
	background-color: white;
	margin: 40px 10px;
	border-radius: 50%;
}

#map_here_image{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*2025/05/26 web予約_家族同乗者予約 改修 start*/
/*同乗者選択ダイアログ*/
input[type=checkbox]{
 position: relative;
 top: 0px;
 vertical-align:middle;
 transform: scale(1.5);
 margin: 0 6px 0 0; /* 上右下左のマージン調整 */
 
}

#passenger_template p{
 margin: 0;
 padding: 0;
}

#passenger_template input{
 min-height: 30px;
}

#passenger_template span{
 font-size: 20px;
}

#select_passenger_body label{
 display: flex;
 align-items: center;
}

.select_passenger_disp {
 max-height: 200px; /* 5件分くらいの高さに調整 */
 overflow-y: auto;
 border: 2px solid #ccc; /* 任意：枠線を追加 */
 padding: 10px;
}

/* 無効な jQuery UI ボタンに対してホバー時の色を固定 */
.ui-button:disabled,
.ui-button:disabled:hover {
  background: #e0e0e0 !important;  /* 灰色など無効感のある色に */
  color: #999 !important;          /* テキストもグレーっぽく */
  cursor: default !important;      /* 通常の矢印に */
  border: 1px solid #ccc !important;
}

/*人数変更ダイアログ*/
#alter_passenger_template p{
 margin: 0;
 padding: 0;
}

#alter_passenger_template input{
 min-height: 30px;
}

#alter_passenger_template span{
 font-size: 20px;
}

.alter_select_passenger_disp {
 max-height: 200px; /* 5件分くらいの高さに調整 */
 overflow-y: auto;
 border: 2px solid #ccc; /* 任意：枠線を追加 */
 padding: 10px;
}

/*2025/05/26 web予約_家族同乗者予約 改修 end  */
