*{
  margin: 0px;
  padding: 0px;
}
html {
  overflow-y: scroll;
  overflow-x: hidden;
}
body{
  font-size: 13px;
}
li{
  list-style-type: none;
}

.ui-link{
  word-break: break-all;
}
.ui-body-c .ui-link{
  font-weight: normal;
}
/**
 * =================================== 
 * layout
 *
 */

#main, #header{
  position: fixed;
}
#header.ui-header .ui-title{
  font-size: 12px;
  margin: 0.5em 0;
}
#header .ui-header .ui-btn-inner{
  font-size: 10px;
}
#footer .ui-navbar li .ui-btn .ui-btn-inner {
  padding-bottom: 0.1em;
}
#footer .ui-navbar li .ui-btn-icon-top .ui-btn-inner {
  padding-top: 28px;
}
#footer{
  z-index: 1010; 
  /* panelが1001 */
  /* .ui-popup-screen 1099 */
  /* .ui-popup-container 1100 */
}
.ui-content#main{
  padding: 0px;
}

/**
 * =================================== 
 * course
 *
 */

.js-course-point{
  padding: 10px;
  background: #FFF;
  font-size: 15px;
  border-bottom: 1px solid #EEE;
}
.js-course-point:hover{
  background: #EEE;
}
.js-template{
  display: none;
}
.js-course .js-image{
  max-height: 50px;
  max-width: 50px;
  margin-bottom: -5px;
}
.js-course-container .js-course .js-name{
  font-size: 13px;
  min-height: 30px;
}
.js-course-container .ui-btn-inner {
  padding: 0px;
}
.js-course h3 a{
  padding: 1em 15px; /* imgがないなら */
}
.js-selected {
  background: #DDD;
}

.js-course-detail .js-image{
  float: left;
  margin-right: 10px;
  max-height: 16px;
  max-width: 16px;
  position: relative;
/*  left: 10px;
  top: .9em;*/
}
.js-course-detail .ui-link{
  padding-left: 10px;
  color: black;
  font-weight: normal;
  text-decoration: none;
}
.js-course-detail .ui-link:hover{
  color: black;
}
.js-course-detail p.js-type{
  margin: 0px;
  padding: 0px;
}
.js-course-detail li{
}

/**
 * =================================== 
 * search-result
 *
 */
.search-result li{
  /*        font-size: 14px;
          padding: 5px;*/
}

.search-result .ui-li .ui-btn-inner a.ui-link-inherit {
  padding-left: 30px;
}
.sr-next {
  margin: auto;
  margin-top: 0.5em;
  max-width: 23em;
  margin-bottom: 1em;
}
.sr-notfound{
  padding: 10px;
  text-align: center;
  font-size: 16px;
}
.sr-link .sr-info, .sr-distance{
  font-weight: normal;
}
.ui-content .sr-container{
  margin: 0 0 0 1em;  
}
/**
 * =================================== 
 * compass
 *
 */
.compass-container{
  position: absolute;
  width: 120px;
  height: 240px;
  padding-left: 120px;
}
.compass-fan{
  position: absolute;
  font-size: 0px;
  width: 120px;
  height: 120px;
  z-index: 1;
  background: -webkit-gradient(linear, left bottom, right top, from(rgba(0, 64, 128, 0.8)),
        color-stop(0.5, rgba(0, 128, 200, 0)),
        to(rgba(0, 128, 200, 0)));
}
.compass-circle{
	width: 20px;
	height: 20px;
	background: rgba(0, 128, 200, 0.8);
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
  position: absolute;
  top: 110px;
  left: 110px;
}
.mode-aerial .compass-fan{
  background: -webkit-gradient(linear, left bottom, right top, from(rgba(128, 128, 0, 0.8)),
        color-stop(0.5, rgba(255, 255, 0, 0)),
        to(rgba(255, 255, 0, 0)));
}
.mode-aerial .compass-circle{
	background: rgba(255, 255, 0, 0.8);
}

/**
 * =================================== 
 * info-window
 *
 */
.info-window{
  min-height: 3em;
  min-width: 15em;
  cursor: pointer;
  text-align: center;
}
.info-window th{
  background-color: #EEE;
  width: 4em;
}
.info-window th, .info-window td{
  padding: 3px;
}
.iw-courses .ui-icon{
  /* 何故か必要 */
  z-index: 1;
}
.iw-courses .js-name{
  font-size: 12px;
}
.iw-courses .js-image{
  max-height: 50px;
  max-width: 50px;
  /*margin-bottom: -5px;*/
}
.iw-courses .ui-li .ui-btn-inner a.ui-link-inherit{
  padding: .5em 15px;
}
.iw-courses .ui-li-has-thumb .ui-btn-inner a.ui-link-inherit{
  min-height: 35px;
  padding-left: 55px;
}
.iw-courses-heading{
  margin: 1.5em 0 0 0.5em;  
}
.iw-image-popup .iw-image{
  max-height: 380px;
}
.iw-sv{
  margin: 0px;
  padding: 0px;
  min-height: 100px;
}

#page-place table{
  width: 100%;
}
#page-place th, #page-place td,
.ih-expanded-result-content th, .ih-expanded-result-content td {
  background-color: #FFF;
  padding: 5px;
}
#page-place td {
  word-break: normal;
}
#page-place th {
  background-color: #F5F5F5;
  text-align: left;
  width: 5.5em;
}
#page-place .iw-type-icon{
  vertical-align: bottom;
  margin-right: 5px;
  width: 30px;
  height: 30px;
}
@media (max-width: 767.98px) {
  #page-place .hz-detail-table-en td p {
    width: 85%;
  }
}

.info-window .ui-btn{
  margin: 0 0.3em 0.3em;
}
/**
 * =================================== 
 * search-count
 *
 */
.number-of-places{
  font-size: 18px;
  padding: 5px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  border: 1px solid rgba(245, 245, 255, 0.9);
  background-color: rgba(245, 245, 255, 0.9);
  color: #46A;
  text-align: center;
  margin-right: 5px;
}
.search-count-circle {
  float: right;
  border-radius: 1em;
  border: 1px solid #CCC;
  background: #EEE;
  font-size: 11px;
  color: #222;
  text-shadow: 0 1px 0 #fff;
  background-image: linear-gradient(#fff,#f1f1f1);
  padding: .2em .4em;
  margin-top: 2px;
  margin-left: 10px;
  position: relative;
  top: -2px;
  min-width: 1.5em;
  text-align: center;
}
.js-tooltip.child .search-count-circle {
  float: right;
  border-radius: 1em;
  border: none;
  background: none;
  font-size: 11px;
  color: #000000;
  text-shadow: 0 1px 0 #fff;
  padding: .2em .4em;
  margin-top: 2px;
  margin-left: 10px;
  position: relative;
  top: -2px;
  min-width: 1.5em;
  text-align: center;
}

/**
 * =================================== 
 * pages
 *
 */
.panel-content.pages h3{
  font-size: 14px;
}
.panel-content.pages p{
  margin: 1em;
}
.panel-content.pages p.notice{
  margin: 2em 1em;
}
.panel-content.pages ul{
  margin: 1em 12px;
}
.popup-dialog{
  text-align: center;
  max-width: 480px;
}
.popup-dialog-content{
  height: 300px;
  overflow: scroll;
  text-align: left;
  -webkit-overflow-scrolling: touch;
}
.popup-dialog-content p{
  margin: 1em 12px;
  text-indent: 1em;
}

.page-env h2{
  margin-left: 12px;
}

.info-version{
  text-align: right;
}

/*
  検索パネル: メニュー(a)
    カテゴリ検索で、項目全チェックボックスを非表示(機能は有効)に
    する場合は、以下を有効にし、(b)を無効にする
    ファセット検索の場合も(b)を無効にする
*/
#page-search .category-label .ui-icon{
  display: none;
}
#page-search .category-label .ui-btn-inner{
  padding-left: 10px;
}
#page-search .ui-fullsize .ui-btn-inner {
  font-size: 14px;
  padding: .2em 10px;
}
#page-search label.js-tooltip > span.ui-btn-inner {
  padding-left: 32px;
}

/*
  検索パネル: メニュー(b)
    カテゴリ検索で、項目全チェックボックスを表示する場合は
    以下を有効にし、(a)を無効にする
*/
/*
#page-search .ui-fullsize .ui-btn-inner {
  font-size: 14px;
  padding-top: .2em;
  padding-bottom: .2em;
}

#page-search .category-label .ui-icon {
  left: 9px;
}
*/

.js-facet-count ~ span {
  vertical-align: sub;
}

/* 検索パネル: 「選択を解除」ボタン */
div#all-clear {
  text-align: center;
}
div#all-clear div {
  margin: 0;
}
div#all-clear .ui-btn-up-d .ui-btn-up-hover-d {
  border: 1px solid #bbbbbb;
}
div#all-clear .ui-btn-inner {
  font-size: 14px;
}

.js-search-type label.ih-last-facet-value {
  border-bottom-width: 1px;
}

/**
 * =================================== 
 * popup
 *
 */

/* Cleaner, but slightly less support: use "50%" as value */
@media screen and (max-height: 600px) {
  .popup-content{
    max-height: 480px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

@media screen and (max-height: 480px) {
  .popup-content{
    max-height: 320px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

/**
 * =================================== 
 * panel
 *
 */
.ui-panel .ui-content{
  padding: 5px;
}
.ui-panel h1.ui-title {
  margin: .4em 30% .6em;
}
.ui-panel{
  background-color: #EFEFEF;
  width: 22em;
  min-height: initial;
  top: 27px;
}
.ui-panel-inner{
  padding: 0px;
}
.ui-panel-inner .ui-header>.ui-btn {
  margin: 3px;
}
.panel-content{
  margin: 0px;
  height: 400px;
  overflow-y: scroll;
  overflow-x: hidden;
  /*position: fixed;*/
  width: 21em; /* .ui-panel:width - 1 */
  padding: 3px;
  -webkit-overflow-scrolling: touch;
}
.ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-reveal, 
.ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-push, 
.ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal,
.ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-push {
  -webkit-transform: translate3d(20em,0,0);
  -moz-transform: translate3d(20em,0,0);
  transform: translate3d(20em,0,0);
}
.panel-content .ui-collapsible-heading-toggle .ui-btn-inner {
  padding-top: 0.3em;
  padding-bottom: 0.3em;
}

@media (min-width:40em) {
  /* ------------------------------------
   * 幅を変更
   */
  .ui-panel{
    width: 30em;
    top: 36px;
  }
  .panel-content{
    width: 29em; /* .ui-panel:width - 1 */
  }
  .ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-reveal, 
  .ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-push, 
  .ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal,
  .ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-push {
  -webkit-transform: translate3d(30em,0,0);
  -moz-transform: translate3d(30em,0,0);
  transform: translate3d(30em,0,0);
  }
 
  /* 以下レスポンシブ設定だが、幅変更に対応しきれてない */
  /* wrap on wide viewports once open */
  .ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-left,
  .ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-left,
  .ui-page-panel-open .ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-left,
  .ui-page-panel-open .ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-left {
    margin-right: 17em;
  }  
  .ui-page-panel-open .ui-panel-animate.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-right,
  .ui-page-panel-open .ui-panel-animate.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-right,
  .ui-page-panel-open .ui-panel-animate.ui-panel-content-fixed-toolbar-open.ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-right,
  .ui-page-panel-open .ui-panel-animate.ui-panel-content-fixed-toolbar-open.ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-right {
    margin-left: 17em;
  }
  .ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push,
  .ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal {
    width: auto;	
  }
 
  /* disable "dismiss" on wide viewports */
  .ui-panel-dismiss {
    display: none;
  }
  /* same as the above but for panels with display mode "push" only */
  .ui-panel-dismiss-display-push {
    display: none;
  }
  
  /* ------------------------------------
   * ヘッダー文字サイズ
   */
  #header.ui-header .ui-title {
    font-size: 14px;
  }

  .hz-header-buttons.ui-btn.ui-btn-right,
  .hz-header-buttons.ui-corner-all {
    top: 0.4em;
    padding: 0.3em 0 0.25em 0;
    margin-right: 0.5em;
  }
  .hz-header-buttons.ui-corner-all {
    top: 0;
  }
  .hz-view-change-button-group.ui-controlgroup .ui-radio label.ui-btn {
    padding: 0.1em;
  }
  .hz-view-change-button-group.ui-controlgroup .ui-radio label.ui-btn .ui-btn-inner {
    padding: 1em;
  }
  fieldset.ui-controlgroup.ui-mini.hz-view-change-button-group-en {
    margin: 0;
  }
  .hz-header-buttons.ui-btn.ui-btn-right.hz-locale-change-button-en {
    top: 0;
  }
}



.ui-btn.js-tooltip-trigger{
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
  float: right;
  width: 80px;
  left: 50px;
}
.ui-btn.js-tooltip-trigger .ui-btn-inner{
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
}
.js-tooltip-trigger .ui-icon{
  background-color: #387bbe !important;
}
.ui-checkbox .ui-mini.ui-btn-icon-left .ui-btn.js-tooltip-trigger .ui-btn-inner{
  padding-left: 20px;
}
.js-tooltip-display{
  padding-top: 0.5em;
  width: 17em;
  font-size: 16px;
  right: 0.5em;
}
.ui-select .ui-btn select{
  font-size:16px;
}

.ui-controlgroup img{
  vertical-align: bottom;
}

.location-bar{
  background-color: #EEE;
  color: black;
  text-align: center;
  font-weight: normal;
  font-size: 12.5px;
  text-shadow: none;
  width: 100%;
  height: 20px;
}

.location-bar-address{
  display: inline-block;
}
.location-bar-elevation{
  display: inline-block;
}

/* カルーセル */
.iw-image-count {
  text-align: center;
}
#image-popup-popup {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#image-popup {
  background: #ddd;
  width: 100%;
  max-width: 70vw;
}
#image-popup .bx-wrapper {
  margin: 0 auto 45px;
}
.bx-viewport {
  max-height: 80vh;
}
#image-slider {
  height: 100%;
}
.sliding-images {
  height: 100%;
  display: flex;
  align-items: center;
  margin-right: 0 !important;
}
.bx-wrapper .sliding-images img {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3em;
}
.bx-caption {
  bottom: auto !important;
  top: 0;
}
.bx-caption span {
  text-shadow: initial;
  text-align: center;
  font-size: 1.2em !important;
  padding: 4px !important;
}
.bx-caption span > span.mf-carousel-credit {
  display: inline;
  font-size: 0.75em !important;
}

  /* サイドパネルヘッダー */
.ui-panel-inner h2 {
  margin: .6em 0 .8em !important;
}

/* モーダルメニューのヘッダ */
.modal-menu-header {
  text-align: center;
  background-color: lightgrey;
  border-color: lightgray;
}

/* モーダルメニューの閉じるボタン */
.modal-menu-closer {
  top: 3px !important;
  left: 3px !important;
  border-radius: 10px !important;
}
.modal-menu-closer .ui-btn-inner {
   padding: 5px !important;
 }
.modal-menu-closer .ui-btn-text {
  font-size: 12px !important;
}

#ih_panel_header_privacy {
  font-size: 14px;
}

.ih-external-link {
  padding-right: 18px;
  background: transparent url(../img/external_link.gif) no-repeat center right;
}

/* キーワード検索: 結果パネル表示ボタン */
.ih-keyword-result {
  width: 80%;
  margin: 0 auto 2.5em;
}

/* ツールチップ */

.ih-tooltip-header {
  display: flex;
}
.ih-tooltip-header .ui-btn-inner {
  font-size: 14px;
  padding: .2em 8px;
}
.ih-tooltip-title {
  margin-left: 0.5em;
}
.ih-tooltip-closer {
  margin-top: 0;
  margin-left: auto;
}

/* 検索結果タイル表示 */
.ih-list-controller {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.ih-result-sort {
  max-width: 27em;
  margin: auto;
}
span.ih-result-sort-menu {
  font-size: 15px;
  padding: .5em 20px;
}
#ih-expanded-result-viewport {
  display: none;
  height: 100%;
  overflow-y: hidden;
}
.ih-expanded-tiled-result-content {
  overflow-x: hidden;
  overflow-y: auto;
}
#ih-tiled-result-container {
  display: flex;
  flex-wrap: wrap;
  margin: 0 .5em;
}
@media (min-width: 25em) {
  .sr-container#ih-tiled-result-container {
    display: flex;
    flex-wrap: wrap;
    margin: 0 1.5em;
  }
}
.ih-expanded-result-tile {
  text-align: center;
  width: 168px;
  height: 150px;
  margin-bottom: 10px;
 }
.ih-flex-grow {
  flex: 1 0 168px
}
.ih-tile {
  height: 140px;
  display: flex;
  border-radius: 0.5em;
}
.ih-tile .ui-btn-inner {
  margin: auto;
  margin-bottom: 0;
  font-size: 13px;
  padding: 0.6em;
}
.ih-expanded-result-tile img {
  max-width: 141px;
  max-height: 94px;
}

.list-sort-buttons {
  text-align: center;
  max-width: 100%;
}
.ih-expanded-result-viewport .ui-title {
  margin: 0 .8em;
}

.ih-empty-tile {
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.hz-header-buttons.ui-btn {
  top: 3px;
}
.hz-header-buttons .ui-btn-inner {
  display: inline;
}
.hz-view-change-button-group.ui-controlgroup {
  top: 0;
}
.hz-view-change-button-group.ui-controlgroup .ui-radio label {
  padding: 0;
}
.hz-view-change-button-group.ui-controlgroup .ui-radio label .ui-btn-inner {
  padding: 0 1em;
}
.hz-view-change-button-selected {
  background-image: linear-gradient(#000000, #000000);
}

.iw-description {
  word-break: normal;
}

.ui-header a.panel-closer .ui-btn-inner {
  padding: .4em 11px .25em;
}

.ih-collapsible-search-menu-marker {
  float: right;
  color: #e29e83;
}


/******** 大阪府版 ********/
@media (min-width: 768px) {
  /* ヘッダー・フッター */
  #footer.hz-footer.ui-footer .ui-btn-inner {
    font-size: 14px;
  }
  #header.hz-header.ui-header .ui-title {
    font-size: 16px;
  }
  /* パネル・情報メニュー */
  #home.hz-home div.ui-panel[id^=page-][data-role=panel],
  .hz-info-menu-reposition {
    top: 41px !important;
  }
}

@media (max-width: 767.98px) {
  /* パネル */
  #home.hz-home div.ui-panel[id^=page-][data-role=panel] {
    top: 31px;
  }
  /* 言語選択メニュー */
  .hz-locale-select-container .ui-select .ui-btn .ui-btn-inner{
    padding: .3em 2.5em .4em 11px;
  }
  .hz-locale-select {
    font-size: 10px;
  }
}
/* 言語選択メニュー */
.ui-selectmenu.ui-popup,
.ui-selectmenu.ui-popup .ui-selectmenu-list.ui-listview li .ui-btn-text,
.ui-selectmenu.ui-popup .ui-header,
.ui-selectmenu.ui-popup .ui-header .ui-title {
  background: rgb(59, 59, 59);
  border: none;
  color: #ffffff;
  font: 400 13.3333px Arial;
}
.ui-selectmenu.ui-popup .ui-selectmenu-list.ui-listview .ui-li {
  border: none;
}
.ui-selectmenu.ui-popup .ui-selectmenu-list.ui-listview li.ui-btn-hover-f .ui-btn-text {
  background: #0088cc;
}
.ui-selectmenu.ui-popup .ui-selectmenu-list.ui-listview li.ui-disabled a.ui-link-inherit {
  color: #ffffff;
  background: #808080;
}
  /* 情報メニュー */
.hz-info-menu {
  all: initial;
  height: 90%;
}
.hz-info-menu .ui-btn-inner {
  height: inherit;
  padding: 0;
}
.hz-info-menu-img {
  height: 90%;
  transition: all 150ms 0s ease;
}
.hz-info-menu-open {
  transform: rotate(0.25turn);
}
.hz-info-menu-reposition {
  left: 0 !important;
}

img {
  pointer-events: none;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-touch-callout:none;
  -moz-user-select:none;
  touch-callout:none;
  user-select:none;
}
