/*======================================================
 フロアガイド
=======================================================*/

div#floorguide {
   width: 1000px;
   margin: 0 auto;
}

.fl_src {
   margin-bottom: 20px;
}

.fl_src>dl,
.fl_src>dl>dd>ul {
   display: flex;
   justify-content: space-between;
}

.fl_src>dl>dt {
   width: 22%;
   height: 100px;
   background-color: #e5e2d3;
   padding-left: 16px;
}

.fl_src>dl>dt,
.fl_src>dl>dd {
   display: flex;
   align-items: center;
}

.fl_src>dl>dd {
   width: 78%;
   background: #f5f2e1 url(/img/floorguide/fl_arrow.gif) left center no-repeat;
   box-sizing: border-box;
   padding: 0 24px 0 24px;
}

.fl_src dl dd li a {
   padding: 20px 10px;
   font-size: 14px;
   color: #e6002d;
   background-color: #fff;
   border: solid 1px #e6002d;
}

span.fl_cat {
   padding: 0 0 0 40px;
   background: transparent url(/img/floorguide/fl_ico01.gif) left center no-repeat;
}

span.fl_frm {
   padding: 0 0 0 40px;
   background: transparent url(/img/floorguide/fl_ico02.gif) left center no-repeat;
}

span.fl_cat,
span.fl_frm {
   font-size: 17px;
   color: #e6002d;
}

form#head_form2 {
   display: flex;
}

#floorguide .fl_src dl dd form #searchtxt2 {
   padding: 10px 0 10px 7px;
   width: 158px;
   font-size: 13px;
   background: url(/img/floorguide/search_box02.gif) no-repeat 0 50%;
   border: none;
   display: block;
}


.fl_zone {
   margin: 0 0 20px 0;
   padding: 40px 0 0 0;
}

.fl_zone dl {}

.fl_zone dl dt {
   position: relative;
   margin: 0 0 10px 0;
   padding: 16px 0 16px 11px;
   width: 1000px;
   background-color: #e5e2d3;
   box-sizing: border-box;
}

.fl_zone dl dt span {
   padding: 8px 0 8px 45px;
   font-size: 17px;
   color: #e6002d;
   background: transparent url(/img/floorguide/fl_ico03.gif) left center no-repeat;
}

.fl_zone dl dt div.fl_print a {
   position: absolute;
   right: 13px;
   top: 13px;
   padding: 6px 6px 6px 30px;
   color: #e6002d;
   border: solid 1px #e6002d;
   background: #fff url(/img/floorguide/fl_print_off.png) 10px center no-repeat;
   display: block;
}

.fl_zone dl dt div.fl_print a:hover {
   background: #e6002d url(/img/floorguide/fl_print_on.png) 10px center no-repeat;
   ;
   color: #fff;
}

.fl_zone dl dd.fl_map {
   margin: 0 0 40px 0;
   padding: 30px 0;
   text-align: center;
   border: solid 1px #ccc;
}

.fl_zone dl dd p.flmp_b {
   margin: 0 30px;
   padding: 30px 0 0 0;
   border-top: solid 1px #ccc;
}

.fl_zone dl dd p.flmp_b img {
   display: inline;
}

.fl_zone dl dd .map_head {}

.fl_zone dl dd .map_head p.map_head_left {
   margin: 0 0 20px 30px;
   float: left;
}

.fl_zone dl dd .map_head p.map_head_right {
   margin: 0 30px 20px 0;
   float: right;
}

.fl_zone dl dd .map_head p.map_head_right span {
   margin: -10px 0 0 10px;
   float: left;
   cursor: pointer;
}

/*zoomer*/
html,
body {
   -ms-content-zooming: none;
   -ms-touch-action: none;
}

.zoomer .zoomer-holder {
   -ms-touch-action: none;
}

.zoomer,
.zoomer * {
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   -o-user-select: none;
   user-select: none;
}

.zoomer {
   margin: 0;
   background-color: #fff;
   height: 100%;
   overflow: hidden;
   position: relative;
   width: 100%;
   -webkit-transition: none;
   -moz-transition: none;
   -ms-transition: none;
   -o-transition: none;
   transition: none;
}

.zoomer .zoomer-positioner {
   margin: 0;
   height: 1px;
   position: absolute;
   width: 1px;
}

.zoomer .zoomer-holder {
   box-shadow: none;
   opacity: 0;
   position: relative;
   -webkit-transition: none;
   -moz-transition: none;
   -ms-transition: none;
   -o-transition: none;
   transition: none;
}

.zoomer_map {
   margin: 0;
   height: 667px;
   overflow: hidden;
   background-color: #fff;
   width: 998px;
}

.zoomer_map img {
   display: inline;
}

.zoomer_custom_zoom_in {}

.zoomer_custom_zoom_out {}

#fl-tab {
   padding: 0;
   margin: 0;
   clear: both;
   border: none;
}

#fl-tab .ui-tabs-nav {
   padding: 0;
   margin: 0;
   border: none;
   display: flex;
}

#fl-tab .ui-tabs-nav li {
   padding: 0;
   margin: 0;
   border: none;
}

#fl-tab .ui-tabs-nav .ui-tabs-selected a {
   top: 0;
}

#fl-tab .ui-tabs-nav li a {
   margin: 0 12px 0 0;
   padding: 0;
   background-color: #f5f2e1 border:none;
   text-indent: -9999px;
}

#fl-tab .ui-tabs-nav li a:first-child {
   margin: 0 0 0 12px;
}

#fl-tab .ui-tabs-nav li a.fl_deli {
   background: #f5f2e1 url(../_images/fl_deli.png) center bottom no-repeat;
   height: 63px;
   text-align: center;
   width: 317px;
   display: block;
}

#fl-tab .ui-tabs-nav li a.fl_deli:hover {
   background-color: #005133;
   background-position: center top;
}

#fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_deli {
   background-color: #005133;
   background-position: center top;
}

#fl-tab .ui-tabs-nav li a.fl_rest {
   background: #f5f2e1 url(../_images/fl_rest.png) center bottom no-repeat;
   height: 63px;
   text-align: center;
   width: 317px;
   display: block;
}

#fl-tab .ui-tabs-nav li a.fl_rest:hover {
   background-color: #ad181f;
   background-position: center top;
}

#fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_rest {
   background-color: #ad181f;
   background-position: center top;
}

#fl-tab .ui-tabs-nav li a.fl_fashion {
   background: #f5f2e1 url(../_images/fl_fashion.png) center bottom no-repeat;
   height: 63px;
   text-align: center;
   width: 317px;
   display: block;
}

#fl-tab .ui-tabs-nav li a.fl_fashion:hover {
   background-color: #273b60;
   background-position: center top;
}

#fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_fashion {
   background-color: #273b60;
   background-position: center top;
}

#fl-tab .ui-tabs-nav li a.fl_others {
   background: #f5f2e1 url(../_images/fl_others.png) center bottom no-repeat;
   height: 63px;
   text-align: center;
   width: 235px;
   display: block;
}

#fl-tab .ui-tabs-nav li a.fl_others:hover {
   background-color: #0aa6d8;
   background-position: center top;
}

#fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_others {
   background-color: #0aa6d8;
   background-position: center top;
}

#fl-tab .ui-tabs-panel {
   border: none;
   margin: 0;
   padding: 0;
   display: inline-block;
}

.ui-tabs-hide {
   display: none !important;
}

#floorguide p.flguid_list_txt1 {
   margin: 0;
   padding: 10px 12px 0 12px;
   font-size: 15px;
   border-top: solid 5px #005133;
}

#floorguide p.flguid_list_txt2 {
   margin: 0;
   padding: 10px 12px 0 12px;
   font-size: 15px;
   border-top: solid 5px #ad181f;
}

#floorguide p.flguid_list_txt3 {
   margin: 0;
   padding: 10px 12px 0 12px;
   font-size: 15px;
   border-top: solid 5px #273b60;
}

#floorguide p.flguid_list_txt4 {
   margin: 0;
   padding: 10px 12px 0 12px;
   font-size: 15px;
   border-top: solid 5px #0aa6d8;
}

#floorguide ul.flguid_list {}

#floorguide ul.flguid_list li {
   margin: 0 30px 24px 0;
   width: 313px;
   float: left;
}

#floorguide ul.flguid_list li:nth-child(3n) {
   margin: 0;
}

#floorguide ul.flguid_list li a {
   display: block;
}

#floorguide ul.flguid_list li a:hover {
   opacity: 0.8;
}

#floorguide ul.flguid_list li dl {
   margin: 0;
   padding: 0;
   width: 313px;
}

#floorguide ul.flguid_list li dl dt {
   margin: 0 10px 0 0;
   padding: 0;
   width: 80px;
   height: 80px;
   border: solid 1px #ccc;
   float: left;
   box-sizing: border-box;
}

#floorguide ul.flguid_list li dl dd {
   position: relative;
   margin: 0;
   padding: 0;
   width: 223px;
   float: left;
}

#floorguide ul.flguid_list li dl dd p.num1 {
   margin: 0 0 5px 0;
   padding: 3px 0 0 0;
   font-size: 10px;
   color: #fff;
   text-align: center;
   line-height: 1.6em;
   width: 30px;
   height: 20px;
   background-color: #005133;
   box-sizing: border-box;
}

#floorguide ul.flguid_list li dl dd p.num2 {
   margin: 0 0 5px 0;
   padding: 3px 0 0 0;
   font-size: 10px;
   color: #fff;
   text-align: center;
   line-height: 1.6em;
   width: 30px;
   height: 20px;
   background-color: #ad181f;
   box-sizing: border-box;
}

#floorguide ul.flguid_list li dl dd p.num3 {
   margin: 0 0 5px 0;
   padding: 3px 0 0 0;
   font-size: 10px;
   color: #fff;
   text-align: center;
   line-height: 1.6em;
   width: 30px;
   height: 20px;
   background-color: #273b60;
   box-sizing: border-box;
}

#floorguide ul.flguid_list li dl dd p.num4 {
   margin: 0 0 5px 0;
   padding: 3px 0 0 0;
   font-size: 10px;
   color: #fff;
   text-align: center;
   line-height: 1.6em;
   width: 30px;
   height: 20px;
   background-color: #0aa6d8;
   box-sizing: border-box;
}

#floorguide ul.flguid_list li dl dd div.ct_img {
   position: absolute;
   top: 2px;
   left: 30px;
   width: 50%;
}

#floorguide ul.flguid_list li dl dd div.ct_img img {
   width: 100%;
}

#floorguide ul.flguid_list li dl dd p {
   font-size: 16px;
   line-height: 1em;
}

#floorguide ul.flguid_list li dl dd p em {
   font-size: 12px;
   color: #e6002d;
   font-style: normal;
}

p.restaurant-guide {
   display: inline-block;
   margin: 50px auto;
}

p.restaurant-guide a {
   border: 1px solid #e6002d;
   padding: 20px 30px;
   color: #e6002d;
   font-size: 1.4rem;
}

/* --------------------------------------------------------------------------------------
   共通部分
--------------------------------------------------------------------------------------- */

div#mobile-div {
   width: 100% !important;
   height: 667px !important;
   margin: 0 auto;
   background-color: #f5f2e9;
}

g#svg-pan-zoom-controls {
   transform: translate(1vw, 1vw);
}

.fl_zone dl dd.fl_map {
   padding: 0;
}

.fl_zone dl dd p.flmp_b {
   margin: 0;
}

p.map-att {
   font-size: 1.3rem;
   text-align: center;
   margin: 15px auto;
}

/* --------------------------------------------------------------------------------------
   ios用のリンク対策
--------------------------------------------------------------------------------------- */

@media (min-width: 1024px) {}

/* --------------------------------------------------------------------------------------
   スマホ
--------------------------------------------------------------------------------------- */

@media (max-width: 1024px) {

   div#floorguide {
      margin: 0;
      padding: 0;
      width: 100%;
   }

   #floorguide .fl_src {
      margin: 5vw;
   }

   #floorguide .fl_src dl {
      flex-direction: column;
   }

   #floorguide .fl_src dl dt {
      padding: 12px 0 12px 16px;
      width: 100%;
      height: auto;
      background-color: #e5e2d3;
      box-sizing: border-box;
   }

   #floorguide .fl_src dl dt span {
      font-size: 14px;
      color: #e6002d;
   }

   #floorguide .fl_src dl dt span.fl_cat {
      padding: 12px 0 12px 40px;
      background: transparent url(/img/floorguide/fl_ico01.gif) left center no-repeat;
   }

   #floorguide .fl_src dl dt span.fl_frm {
      padding: 12px 0 12px 40px;
      background: transparent url(/img/floorguide/fl_ico02.gif) left center no-repeat;
   }

   #floorguide .fl_src dl dd {
      padding: 12px;
      width: 100%;
      height: auto;
      background-color: #f5f2e1;
      background-image: none;
      box-sizing: border-box;
      float: none;
   }

   #floorguide .fl_src dl dd ul {
      margin: 0;
      width: 100%;
      flex-direction: column;
   }

   #floorguide .fl_src dl dd li {
      margin: 0 0 7px 0;
      width: 100%;
      float: none;
   }

   #floorguide .fl_src dl dd li:last-child {
      margin: 0;
   }

   #floorguide .fl_src dl dd li a {
      padding: 16px 0;
      font-size: 12px;
      color: #e6002d;
      width: 100%;
      background-color: #fff;
      text-align: center;
      display: block;
      border: solid 1px #e6002d;
   }

   #floorguide .fl_src dl dd li a:hover {
      color: #fff;
      background-color: #e6002d;
   }

   #floorguide .fl_src dl dd form {
      position: relative;
      width: 100%;
   }

   #floorguide .fl_src dl dd form #searchtxt {
      margin: 0;
      padding: 10px 0 10px 7px;
      width: 95%;
      font-size: 13px;
      background: url(/img/floorguide/search_box02.gif) no-repeat 0 50%;
      border: none;
      float: left;
   }

   #floorguide .fl_src dl dd form #submit {
      position: absolute;
      padding: 0;
      background: url(/img/floorguide/search_submit.gif) no-repeat 0 50%;
      border: none;
      right: 0;
   }

   #floorguide .fl_src dl dd p.fl_att {
      color: #999;
   }

   #floorguide .fl_src dl dd form #searchtxt2 {
      margin: 0;
      width: 90%;
   }

   .fl_zone {
      margin: 0 5% 20px 5%;
      padding: 0;
   }

   .fl_zone dl {}

   .fl_zone dl dt {
      position: relative;
      margin: 0 0 10px 0;
      padding: 12px 0 12px 11px;
      width: 100%;
      background-color: #e5e2d3;
      box-sizing: border-box;
   }

   .fl_zone dl dt span {
      padding: 8px 0 8px 45px;
      font-size: 14px;
      color: #e6002d;
      background: transparent url(/img/floorguide/fl_ico03.gif) left center no-repeat;
   }

   .fl_zone dl dt div.fl_print a {
      display: none;
   }

   .fl_zone dl dd.fl_map {
      margin: 0 0 20px 0;
      padding: 30px 0;
      text-align: center;
      border: solid 1px #ccc;
   }

   .fl_zone dl dd p.flmp {
      padding: 0 0 30px 0;
   }

   .fl_zone dl dd p.flmp img {
      width: 100%;
   }

   .fl_zone dl dd p.flmp_b {
      margin: 0;
      padding: 0;
      border-top: solid 1px #ccc;
   }

   .fl_zone dl dd p.flmp_b img {
      width: 100%;
   }

   .fl_zone dl dd .map_head {}

   .fl_zone dl dd .map_head p.map_head_left {
      margin: 20px 0 10px 20px;
      float: none;
   }

   .fl_zone dl dd .map_head p.map_head_left img {
      width: 100%;
   }

   #fl-tab {
      padding: 0 0 40px 0;
      margin: 0 5%;
      clear: both;
      border: none;
   }

   #fl-tab .ui-tabs-nav {
      padding: 0;
      margin: 0;
      border: none;
      justify-content: space-between;
   }

   #fl-tab .ui-tabs-nav li {
      padding: 0;
      width: 32%;
      border: none;
   }

   #fl-tab .ui-tabs-nav li:nth-child(2n) {
      margin: 0 0 2% 0;
   }

   #fl-tab .ui-tabs-nav .ui-tabs-selected a {
      top: 0;
   }

   #fl-tab .ui-tabs-nav li a {
      margin: 0;
      padding: 0;
      background-color: #f5f2e1 border:none;
      text-indent: -9999px;
   }

   #fl-tab .ui-tabs-nav li a:first-child {
      margin: 0;
   }

   #fl-tab .ui-tabs-nav li a.fl_deli {
      background: #f5f2e1 url(/img/floorguide/fl_deli.png) center bottom no-repeat;
      height: 32px;
      text-align: center;
      width: 100%;
      display: block;
      background-size: 94px 63px;
   }

   #fl-tab .ui-tabs-nav li a.fl_deli:hover {
      background-color: #005133;
      background-position: center top;
   }

   #fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_deli {
      background-color: #005133;
      background-position: center top;
   }

   #fl-tab .ui-tabs-nav li a.fl_rest {
      background: #f5f2e1 url(/img/floorguide/fl_rest.png) center bottom no-repeat;
      height: 32px;
      text-align: center;
      width: 100%;
      display: block;
      background-size: 94px 63px;
   }

   #fl-tab .ui-tabs-nav li a.fl_rest:hover {
      background-color: #ad181f;
      background-position: center top;
   }

   #fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_rest {
      background-color: #ad181f;
      background-position: center top;
   }

   #fl-tab .ui-tabs-nav li a.fl_fashion {
      background: #f5f2e1 url(/img/floorguide/fl_fashion.png) center bottom no-repeat;
      height: 32px;
      text-align: center;
      width: 100%;
      display: block;
      background-size: 94px 63px;
   }

   #fl-tab .ui-tabs-nav li a.fl_fashion:hover {
      background-color: #273b60;
      background-position: center top;
   }

   #fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_fashion {
      background-color: #273b60;
      background-position: center top;
   }

   #fl-tab .ui-tabs-nav li a.fl_others {
      background: #f5f2e1 url(/img/floorguide/fl_others.png) center bottom no-repeat;
      height: 32px;
      text-align: center;
      width: 100%;
      display: block;
      background-size: 94px 63px;
   }

   #fl-tab .ui-tabs-nav li a.fl_others:hover {
      background-color: #0aa6d8;
      background-position: center top;
   }

   #fl-tab .ui-tabs-nav li.ui-tabs-selected a.fl_others {
      background-color: #0aa6d8;
      background-position: center top;
   }

   #fl-tab .ui-tabs-panel {
      border: none;
      margin: 0;
      padding: 0;
   }

   #floorguide p.flguid_list_txt1 {
      margin: 0;
      padding: 6px 0 12px 0;
      font-size: 12px;
      border-top: none;
   }

   #floorguide p.flguid_list_txt2 {
      margin: 0;
      padding: 6px 0 12px 0;
      font-size: 12px;
      border-top: none;
   }

   #floorguide p.flguid_list_txt3 {
      margin: 0;
      padding: 6px 0 12px 0;
      font-size: 12px;
      border-top: none;
   }

   #floorguide p.flguid_list_txt4 {
      margin: 0;
      padding: 6px 0 12px 0;
      font-size: 12px;
      border-top: none;
   }

   #floorguide ul.flguid_list {}

   #floorguide ul.flguid_list li {
      margin: 0 30px 13px 0;
      width: 100%;
   }

   #floorguide ul.flguid_list li:nth-child(3n) {
      margin: 0 30px 13px 0;
   }

   #floorguide ul.flguid_list li a {
      display: block;
   }

   #floorguide ul.flguid_list li a:hover {
      opacity: 0.8;
   }

   #floorguide ul.flguid_list li dl {
      margin: 0;
      padding: 0;
      width: 100%;
   }

   #floorguide ul.flguid_list li dl dt {
      margin: 0 10px 0 0;
      padding: 0;
      width: 60px;
      height: 60px;
      border: solid 1px #ccc;
      float: left;
      box-sizing: border-box;
   }

   #floorguide ul.flguid_list li dl dt img {
      width: 100%;
      height: 100%;
   }

   #floorguide ul.flguid_list li dl dd {
      margin: 0;
      padding: 0;
      width: 70%;
      float: left;
   }

   #floorguide ul.flguid_list li dl dd p.num1 {
      margin: 0 0 5px 0;
      padding: 3px 0 0 0;
      font-size: 10px;
      color: #fff;
      text-align: center;
      line-height: 1.6em;
      width: 30px;
      height: 20px;
      background-color: #005133;
      box-sizing: border-box;
   }

   #floorguide ul.flguid_list li dl dd p.num2 {
      margin: 0 0 5px 0;
      padding: 3px 0 0 0;
      font-size: 10px;
      color: #fff;
      text-align: center;
      line-height: 1.6em;
      width: 30px;
      height: 20px;
      background-color: #ad181f;
      box-sizing: border-box;
   }

   #floorguide ul.flguid_list li dl dd p.num3 {
      margin: 0 0 5px 0;
      padding: 3px 0 0 0;
      font-size: 10px;
      color: #fff;
      text-align: center;
      line-height: 1.6em;
      width: 30px;
      height: 20px;
      background-color: #273b60;
      box-sizing: border-box;
   }

   #floorguide ul.flguid_list li dl dd p.num4 {
      margin: 0 0 5px 0;
      padding: 3px 0 0 0;
      font-size: 10px;
      color: #fff;
      text-align: center;
      line-height: 1.6em;
      width: 30px;
      height: 20px;
      background-color: #0aa6d8;
      box-sizing: border-box;
   }

   #floorguide ul.flguid_list li dl dd p {
      font-size: 12px;
      line-height: 1em;
   }

   #floorguide ul.flguid_list li dl dd p em {
      font-size: 10px;
      color: #e6002d;
      font-style: normal;
   }

   .fl_zone dl dd.fl_map {
      padding: 0;
   }

   .fl_zone dl dd .non_zoomer {
      padding: 5%;
      width: 90%;
   }

   .fl_zone dl dd .non_zoomer img {
      width: 100%;
   }

   div#mobile-div {
      height: 90vw !important;
      margin: 0 auto;
   }

   g#svg-pan-zoom-controls {
      transform: translate(3vw, 3vw);
   }

   p.restaurant-guide {
      margin: 10vw 0;
   }

   p.restaurant-guide a {
      padding: 3vw 5vw;
      font-size: 1.2rem;
   }
}