/* Live portal: the desktop layout above remains unchanged at 990px and up. */
.mobile-brand, .mobile-navigation { display: none; }
@media screen and (max-width: 989px) {
 body { background-color: #f1eee8; }
 #main { text-align: left; }
 #header { border-top: 3px solid #a92125; border-bottom: 1px solid #d3bdb0; }
 #header #h_center { width: 100%; height: auto; }
 #h_center > a:not(.mobile-brand) { display: none; }
 .mobile-brand {
  display: flex; flex-direction: column; justify-content: center; min-height: 86px;
  box-sizing: border-box; padding: 12px 16px 12px 128px;
  background: linear-gradient(90deg, transparent 90px, #f1eee8 128px),
   url(../images/template/banner_new.jpg) left top / auto 86px no-repeat;
  color: #a92125; text-decoration: none;
 }
 .mobile-brand:hover { color: #a92125; text-decoration: none; }
 .mobile-brand strong { font: bold 24px/1.15 Georgia, "Times New Roman", serif; }
 .mobile-brand span { margin-top: 5px; font: 12px/1.4 Verdana, sans-serif; color: #654c3e; }
 #top_navi { padding: 0; }
 .mobile-navigation { display: flex; align-items: stretch; max-width: none; margin: auto; }
 .mobile-navigation a, .mobile-navigation button {
  display: flex; align-items: center; justify-content: center; flex: 1;
  min-height: 46px; padding: 0 6px; box-sizing: border-box;
  font: bold 12px Verdana, sans-serif; color: #fff; background: transparent;
  text-decoration: none; border-right: 1px solid #ffffff30; cursor: pointer;
 }
 .mobile-navigation a:hover, .mobile-navigation button:hover { background: #a92125; color: #fff; }
 .mobile-navigation button { display: none; }
 .mobile-ready .mobile-navigation button { display: flex; }
 #top_navi #c_top_navi {
  display: flex; flex-wrap: wrap; gap: 6px; width: auto; height: auto;
  max-width: none; padding: 0; margin: 0;
 }
 .mobile-ready #top_navi #c_top_navi { display: none; }
 .mobile-ready.mobile-menu-open #top_navi #c_top_navi { display: flex; }
 #top_navi #c_top_navi .navidiv, #top_navi #c_top_navi .top_navi_right_images {
  float: none; margin: 0; padding: 0; display: flex;
 }
 #top_navi #c_top_navi .navidiv { width: 100%; border-radius: 0; }
 #c_top_navi .navidiv a { width: 100%; box-sizing: border-box; }
 #c_top_navi .navidiv a { display: flex; align-items: center; min-height: 42px; padding: 0 12px; font-size: 14px; }
 #c_top_navi .top_navi_right_images a { display: flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; }
 #content_main {
  display: flex; flex-direction: column; gap: 14px; box-sizing: border-box;
  width: 100%; max-width: none; padding: 0; margin: 0;
  background: none; overflow: visible;
 }
 #content_main #c_left, #content_main #c_center, #content_main #c_rightw,
 #content_main #c_right, #content_main #c_banner {
  float: none; width: 100%; min-width: 0; margin: 0; box-sizing: border-box;
  background: #fff; border: 0; border-radius: 0;
  overflow: hidden;
 }
 #content_main #c_center { order: 1; min-height: 0; height: auto; }
 #content_main #c_right { order: 2; }
 #content_main #c_rightw { order: 3; background-image: none; }
 #content_main #c_banner { order: 4; }
 #content_main #c_left { order: 5; }
 .mobile-ready #content_main #c_left { display: none; }
 .mobile-menu-open #content_main #c_left { display: block; order: 0; }
 .portal-page #content_main #c_right,
 body:not(.portal-home) #content_main #c_banner,
 body:not(.portal-home) #portal-statistics { display: none; }
 #content_main #c_rightw, #portal-calendar { display: none; }
 .calendar-view #portal-calendar { display: block; }
 .calendar-view #content_main #c_center, .calendar-view #content_main #c_banner { display: none; }
 .mobile-menu-open #content_main #c_center,
 .mobile-menu-open #content_main #c_right,
 .mobile-menu-open #content_main #c_rightw,
 .mobile-menu-open #content_main #c_banner,
 .mobile-menu-open #footer { display: none; }
 .portal-column-end, .portal-content-end { display: none; }
 #content_main { overflow-wrap: anywhere; }
 #content_main, #content_main td, #content_main p { font-size: 15px; line-height: 1.55; }
 #content_main h2 { font-size: 18px; line-height: 1.35; }
 #content_main h2 a { color: #3f2323; }
 #content_main .headline, #content_main .LN_title {
  font-size: 14px; line-height: 1.4; padding: 10px 12px;
 }
 #content_main .LN_title { background-color: #cc3333; background-size: auto 100%; box-sizing: border-box; width: 100%; }
 #content_main .content_list { padding: 14px 12px; border-bottom: 1px solid #e8ddd4; display: flow-root; }
 #content_main .content_list:last-child { border-bottom: 0; }
 #c_center .content { margin: 0; }
 #content_main .content { margin: 10px 12px; }
 #content_main .text_short, #content_main .text_long { overflow-wrap: anywhere; }
 #content_main .text_short p, #content_main .text_long p { font-size: inherit; line-height: inherit; }
 #content_main .idate, #content_main .content_date { font-size: 12px; line-height: 1.5; color: #69584b; margin-bottom: 6px; }
 #content_main img { max-width: 100%; height: auto; box-sizing: border-box; }
 #c_center .content_list > div[style*="float:right"] { max-width: 32%; margin: 0 0 8px 10px; }
 #c_center .content_list > div[style*="float:right"] img { max-width: 100% !important; padding-left: 0 !important; }
 #content_main iframe, #content_main video { max-width: 100%; }
 #content_main table { max-width: 100%; }
 #content_main .text_short table, #content_main .text_long table { display: block; overflow-x: auto; }
 #content_main ul.left-navi { font-size: 14px; }
 #content_main ul.left-navi li a { padding: 10px 12px; }
 #content_main #c_left .content { margin: 0; }
 #calendar-container { width: 100% !important; margin: 0; }
 #calendar-container .calendar, #calendar-container .calendar table { width: 100% !important; box-sizing: border-box; }
 #calendar-container .calendar table { table-layout: fixed; border-collapse: collapse; }
 #calendar-container .calendar td { box-sizing: border-box; font-size: 15px; text-align: center; padding: 10px 2px; height: 44px; }
 #calendar-container .calendar thead .name { font-size: 12px; height: 32px; padding: 5px 2px; }
 #calendar-container .calendar thead .title { font-weight: bold; }
 #calendar-container .calendar tbody .day { width: auto; border: 1px solid #e6d9cb; }
 #calendar-container .calendar tbody .today { color: #a92125; box-shadow: inset 0 0 0 2px #a92125; }
 #calendar-container .calendar tfoot .ttip { font-size: 12px; height: 30px; padding: 4px; }
 #content_main #c_right li { font-size: 14px; line-height: 1.6; padding-top: 4px; padding-bottom: 4px; }
 #content_main .rightw { padding: 10px 12px; }
 #content_main .rightw li { margin: 0; padding-top: 8px; padding-bottom: 8px; border-bottom: 1px solid #eee5dc; }
 #content_main .thoughts_name { font-size: 16px; line-height: 1.6; }
 #content_main .thoughts_sign { font-size: 12px; }
 #c_banner .banner { display: inline-block; vertical-align: middle; padding: 8px 12px; }
 #footer { box-sizing: border-box; width: 100%; max-width: none; padding: 12px 20px 24px; margin: auto; font-size: 12px; line-height: 2; }
 #footer a:not([href]), #footer a[href^="javascript:"] { display: none; }
 #main a:focus-visible, #main button:focus-visible { outline: 3px solid #dfb43b; outline-offset: -3px; }
 #content_main input, #content_main select, #content_main textarea { max-width: 100%; box-sizing: border-box; font-size: 16px; }
 #content_main .button { min-height: 42px; padding: 8px 12px; }
}
@media screen and (max-width: 359px) {
 .mobile-brand { padding-left: 112px; background: linear-gradient(90deg, transparent 75px, #f1eee8 112px), url(../images/template/banner_new.jpg) left top / auto 86px no-repeat; }
 .mobile-brand strong { font-size: 21px; }
 .mobile-brand span { font-size: 11px; }
 #content_main { padding: 0; }
 .mobile-navigation a, .mobile-navigation button { font-size: 11px; padding: 0 4px; }
}
