/* Shared public layout. The original three-column design remains at desktop widths. */
.mobile-nav-toggle { display: none; }

@media (max-width: 1020px) {
  .wbody1_main_s, .wbody1_main_w, .wbody1_main_a, .wbody1_main_sp { background: #fff; }
  .wbody2_main_s, .wbody2_main_w, .wbody2_main_a, .wbody2_main_sp { background: none; }
  .head, .body, .bottom { width: 100%; max-width: 990px; }
  .wbody2_page_s, .wbody2_page_w, .wbody2_page_a, .wbody2_page_sp,
  .wbody2_main_s, .wbody2_main_w, .wbody2_main_a, .wbody2_main_sp { width: 100%; }
  .whead, .hlogo, .wbottom { height: auto; }
  .wbottom { background: #fff linear-gradient(to bottom, #c3d1d8 0, #fff 34px, #fff 100%); }
  .hline { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; row-gap: 4px; height: auto; min-height: 33px; padding: 6px 12px; }
  .hline > .float { float: none; }
  .hline > .clear { display: none; }
  .hline #home, .hline #map, .hline #mail { margin: 0; height: auto; }
  #login { width: auto; max-width: 100%; margin: 0; }
  #date { width: auto; height: auto; margin: 0 0 0 auto; white-space: nowrap; }
  .hlogo { display: flex; flex-wrap: wrap; align-items: center; padding: 10px 12px; }
  .hlogo > .float { float: none; }
  #logo { flex: 0 0 70px; width: 70px; height: 78px; }
  #name { flex: 1 1 260px; width: auto; height: auto; padding: 0 0 0 10px; }
  #rhead { flex: 1 1 100%; width: auto; height: auto; padding: 5px 0 0; }
  #filials { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
  #filials br, #filials .clear { display: none; }
  #filials .fil { float: none; margin: 0; }
  #cur { display: none; }
  #jam { height: auto; margin-bottom: 5px; }
  .hmenu1, .hmenu2, .hmenu3 { width: 100%; background: #075a85; }
  .hmenu3 { display: flex; flex-wrap: wrap; height: auto; margin: 0; }
  .hmenuun.float { float: none; width: auto; height: auto; min-height: 39px; padding: 10px; }
  .hmenuun a { display: block; }
  .hmenudiv { display: none; }
  .hmenuun.active { background: #03446a; }
  .mweather_main, .notification, .main_content { width: 100%; height: auto; }
  .mweather_main, .notification { display: flex; flex-wrap: wrap; }
  #wbanner_main { border: 0; }
  #wforecast { flex: 1 1 540px; width: auto; min-width: 0; overflow-x: auto; }
  .notification_left, .notification_right { width: auto; height: auto; flex: 1 1 250px; }
  .notification_middle { display: none; }
  .main_content { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px; box-sizing: border-box; }
  .main_content > .float { float: none; }
  .page_middle, .main_middle { order: 1; flex: 1 1 480px; width: auto; min-width: 0; padding: 15px; box-sizing: border-box; }
  .page_left, .main_left { order: 2; flex: 1 1 300px; width: auto; min-width: 0; }
  .page_right, .main_right { order: 3; flex: 1 1 205px; width: auto; min-width: 0; }
  .main_right > a:first-child, .main_right > .block1 { box-sizing: border-box; width: 100% !important; }
  .main_right > .block1 { background-size: 100% auto; }
  .main_right .slider_main_page, .main_right #slider1 { width: 204px; max-width: 100%; margin: 0 auto; }
  .main_right > .block1 > a { display: block; text-align: center; }
  .main_left .bl_head { box-sizing: border-box; width: 100% !important; max-width: 100%; }
  .main_left .block3, .main_left .block_blank { box-sizing: border-box; width: 100% !important; max-width: 323px; min-height: 75px; height: auto; background-position: left top; background-size: 100% 100%; overflow-wrap: anywhere; }
  .main_content > .clear { display: none; }
  .page_middle #wfinfo, .page_middle #wfinfo2, #wfinfo2 { max-width: 100%; }
  .mmcontent, .page_middle, .main_middle { overflow-wrap: anywhere; }
  .mmcontent img, .mmcontent iframe, .mmcontent video, #img_div img { max-width: 100%; height: auto; }
  .mmcontent table { display: block; max-width: 100%; overflow-x: auto; }
  .mmcontent #mapm, .mmcontent .nwmap { max-width: 100%; }
  .bottom { display: flex; flex-wrap: wrap; gap: 12px; padding: 20px 12px; box-sizing: border-box !important; max-width: 100%; overflow-wrap: anywhere; }
  .bottom > * { min-width: 0; }
  .bottom > .float { float: none; }
  .bottom1, .bottom2, .bottom3 { width: auto; flex: 1 1 230px; margin: 0; padding: 0; }
}

@media (max-width: 700px) {
  .whead { background: #e6f1f6; }
  .hlogo { padding: 10px; }
  #name { font-size: 13px; line-height: 1.3; }
  #rhead { padding-top: 10px; }
  #filials .fil { width: auto; height: auto; padding: 5px 8px; background: #d8eaf3; }
  #filials .special { display: block; }
  .mobile-nav-toggle { display: flex; justify-content: space-between; align-items: center; box-sizing: border-box !important; width: 100%; min-height: 44px; padding: 8px 14px; border: 0; background: #075a85; color: white; font: bold 16px Arial, sans-serif; cursor: pointer; }
  .mobile-nav-ready .hmenu2 { display: none; }
  .mobile-nav-ready .hmenu1.is-open .hmenu2 { display: block; }
  .hmenu3 { display: block; }
  .hmenu3 .hmenuun.float { box-sizing: border-box; width: 100%; min-height: 44px; height: auto; padding: 0; border-top: 1px solid rgba(255,255,255,.2); font-size: 14px; line-height: 1.35; text-align: left; }
  .hmenu3 .hmenuun a { box-sizing: border-box; display: block; width: 100%; padding: 12px 16px; white-space: normal; }
  .hmenu3 .hmenuun br { display: none; }
  .mweather_main, .mweather { height: auto; }
  #wbanner_main, #wbanner_page { width: 100%; height: auto; min-height: 160px; }
  #wbanner_main #wbinfo { box-sizing: border-box; width: calc(100% - 34px); height: auto; }
  #wforecast { float: none; flex-basis: 100%; height: auto; padding: 0 10px 12px; }
  #wftitle { height: auto; padding: 8px 5px; line-height: 1.35; }
  #show_toggle { display: block; margin-top: 4px; }
  #wfinfo, #wfinfo2 { box-sizing: border-box; width: 100%; }
  #wfinfo { display: flex; flex-direction: column; }
  #wfinfo .wfinfo1 { float: none; width: 100%; border-right: 0; border-bottom: 1px solid #b7bfc3; }
  #wfinfo .wfino_body { display: flex; }
  #wfinfo .wfintd { float: none; flex: 1 1 50%; min-width: 0; height: auto; }
  #wfinfo .daytime4 { width: auto; height: auto; }
  .notification { display: block; }
  .notification_left, .notification_right { box-sizing: border-box; width: 100% !important; min-height: 0; }
  .notification_left.notification_clear { min-height: 80px; padding: 18px 12px !important; line-height: 1.3; }
  .main_content { display: flex; flex-direction: column; gap: 15px; padding: 10px; }
  .page_middle, .main_middle, .page_left, .main_left, .page_right, .main_right { flex: none; width: 100%; }
  .page_middle, .main_middle { padding: 12px; }
  .page_right .block1, .main_right .block1 { max-width: 100%; }
  .main_left .block1, .main_left .bl_bl1, .main_left .bl_bl3 { box-sizing: border-box; width: 100%; height: auto; overflow-wrap: anywhere; }
  .main_left .bl_head { box-sizing: border-box; width: 100%; max-width: 100%; height: auto; min-height: 35px; padding: 8px 12px; background-size: 100% 100%; }
  .main_left .ltbl1 { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); margin: 8px 0; }
  .main_left .ltbl1 .ltblc { box-sizing: border-box; float: none; width: auto; min-width: 0; padding: 12px 6px; overflow-wrap: anywhere; }
  .main_left .list_link.floatr { float: none; display: block; margin-top: 5px; text-align: right; }
  .main_left .block3, .main_left .block_blank { max-width: 100%; }
  .bottom { display: block; }
  .bottom1, .bottom2, .bottom3 { margin-bottom: 14px; }
}

@media (max-width: 360px) {
  #wbanner_main #wbinfo { padding: 12px; }
}
