/* Station Hotel Shingu responsive enhancements - desktop design preserved */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
#wrapper { width: 100%; }
#top_main_image img { max-width: 100%; height: auto; display: block; }
#body_right img, #body_left img, header img, footer img { max-width: 100%; height: auto; }
#body_right iframe { max-width: 100%; }
#body_right { width: calc(100% - 205px); }
#body_left { width: 200px; }
#body_right table { max-width: 100%; }
#body_right td, #body_right th { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  body { margin: 0; }
  #wrapper { width: 100%; max-width: 100%; padding: 0 10px; }
  header { height: auto !important; display: flex; flex-wrap: wrap; align-items: flex-start; }
  header > p:first-child { width: 100%; padding: 7px 0; font-size: 14px; }
  #header_left { float: none !important; width: 48% !important; max-width: 48% !important; height: auto !important; }
  #header_right { float: none !important; width: 52% !important; max-width: 52% !important; margin: 0 !important; font-size: 12px !important; }
  #header_right span { float: none !important; display: block; }
  #header_right img { max-width: 100%; width: auto !important; }
  #header_right p { float: none !important; margin: 0 !important; }
  #top_main_image img { width: 100%; }
  ul#grand_menu { display: flex !important; flex-wrap: wrap; height: auto !important; gap: 3px; }
  ul#grand_menu li { display: block !important; float: none !important; width: calc(50% - 2px) !important; flex: 1 1 calc(50% - 2px); min-width: 0; font-size: 14px; }
  ul#grand_menu li a { padding: 13px 4px; line-height: 1.35; }
  #body_right, #body_left { float: none !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  #body_right { overflow-wrap: anywhere; }
  #body_left { margin-top: 20px; }
  #body_left img { width: auto !important; max-width: 100% !important; }
  #body_right img { max-width: 100% !important; height: auto !important; }
  #body_right iframe { width: 100% !important; height: 340px !important; }
  #body_right table { width: 100% !important; max-width: 100% !important; table-layout: auto; }
  #body_right table td, #body_right table th { min-width: 0; padding: 4px; }
  #body_right table img { max-width: 100% !important; }
  #body_right table[width="700"] { width: 100% !important; }
  #top_room_list td, #top_front_images td { width: auto; }
  #body_right div[style*="float:left"], #body_right div[style*="float:right"] { max-width: 100%; }
  #access_description { font-size: 12px; }
  #access_description td, #access_description th { word-break: normal; overflow-wrap: break-word; }
  footer { clear: both; font-size: 12px; }
  footer .right_menu { float: none !important; text-align: center; }
}
@media (max-width: 380px) {
  #wrapper { padding: 0 6px; }
  #body_right { font-size: 13px; }
  #header_right { font-size: 11px !important; }
}
