@charset "UTF-8";
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*----------------------------------
base
----------------------------------*/
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  font-size: 10px;
}

main, article, section {
  display: block;
}

body {
  width: 100%;
  min-width: 320px;
  min-height: 100%;
  color: #444;
  font-size: 1.4rem;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  line-height: 1.1;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-flow: row nowrap;
}

header, main, footer {
  display: block;
}

a {
  color: #4587c5;
  text-decoration: none;
}

img {
  display: block;
}

h1, h2, h3, h4, h5 {
  font-weight: normal;
  font-size: 1.2rem;
}

p,
ul,
li,
dl, h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

html:not([lang="en"]) p, html:not([lang="en"]) a, html:not([lang="en"]) div, html:not([lang="en"]) th, html:not([lang="en"]) td {
  word-break: break-all;
}

html[lang="en"] p, html[lang="en"] a, html[lang="en"] div, html[lang="en"] th, html[lang="en"] td {
  word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/*----------------------------------
module common
----------------------------------*/
/*
細かい部品
地図面
  地図面 ポイントアイコン
  地図面 地図アイコン
  地図面 左カラムリスト アイコン(大ジャンルのみ)
  地図面地図アイコン 複数ポイント
一覧
  左カラムのカテゴリ選択
詳細ページ
leaflet
*/
.btn-default {
  padding: 0 35px;
  border-radius: 3px;
  background: #fff;
  border: 1px solid #4286C7;
  color: #4286C7;
  font-size: 12px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.btn-default.icon-route span {
  padding-left: 18px;
  background: url(../img/icon/icon_route_white@2x.png) left center/auto 12px no-repeat;
}

.btn-default.icon-around span {
  padding-left: 16px;
  background: url(../img/icon/icon_around@2x.png) left center/auto 12px no-repeat;
}

.inlineblock {
  display: inline-block;
}

.t-bold {
  font-weight: bold;
}

.not-variable-size {
  flex-shrink: 0;
  flex-grow: 0;
}

.is-shrink {
  flex-shrink: 1;
  flex-grow: 0;
}

.text {
  padding: 16px;
  font-size: 16px;
  line-height: 1.5;
}

/*固定のページトップへ戻る*/
.btn-pagetop {
  width: 55px;
  height: 55px;
  position: fixed;
  right: 50px;
  opacity: 0.5;
  z-index: 1;
}

.btn-pagetop a {
  width: 100%;
  height: 100%;
  display: block;
  background: url(../img/btn_totop.png) center center/contain no-repeat;
}

/*画像の縦横比を判断するときのclass*/
.img-aspect img {
  width: auto;
  height: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

.img-aspect img.portrate {
  width: 100% !important;
  height: auto !important;
}

/*ヘッダー天気予報*/
.weather-wrap {
  width: 210px;
  height: auto;
  padding: 9px 9px 5px 9px;
  background-color: #ffffff;
  border: solid 1px #dddddd;
}

.weather-wrap .content::after {
  content: '';
  display: block;
  clear: both;
}

.weather-wrap .ttl {
  height: 42px;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-flow: row nowrap;
}

.weather-wrap .ttl span {
  font-weight: bold;
}

.weather-left {
  width: 60px;
  font-size: 0;
  float: left;
  overflow: hidden;
}

.weather-icon {
  width: 56px;
  height: 28px;
  margin-right: 4px;
  overflow: hidden;
  position: relative;
}

.weather-icon img {
  width: auto;
  height: 28px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.weather-wrap .weather-inner-bottom {
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
}

.weather-wrap .date {
  color: #aaa;
  font-size: 1rem;
  line-height: 1;
}

.weather-wrap .temperature {
  font-size: 1.4rem;
  text-align: center;
  line-height: 1;
}

.weather-wrap .temperature::after {
  content: '\02103';
  display: inline-block;
  transform: scale(0.8);
  position: relative;
  top: 1px;
}

.weather-wrap .detail-link {
  text-align: right;
  line-height: 1;
  font-size: 0;
}

.weather-wrap .detail-link a {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
}

.weather-wrap .detail-link a:before {
  content: '';
  width: 12px;
  height: 12px;
  margin-right: 4px;
  display: inline-block;
  background: url(../img/icon/icon_cir_arrow_under@2x.png) left center no-repeat;
  background-size: 12px auto;
  transform: rotate(-90deg);
  vertical-align: top;
}

/*地図面*/
.map-pane {
  position: absolute;
  top: 0;
  left: 0;
}

/*地図面 ポイントの説明部分部品*/
.maplist-poi {
  width: 100%;
  padding: 16px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-flow: row nowrap;
  border-bottom: 1px dashed #a0b8ce;
  cursor: pointer;
}

.maplist-poi > div:first-child {
  margin-right: 4px;
}

.maplist-poi > div:last-child {
  margin-left: 4px;
}

.maplist-poi .maplist-name-box {
  min-width: 128px;
  flex-grow: 1;
}

.maplist-poi .maplist-name {
  display: block;
  margin-bottom: 8px;
  font-size: 1.4rem;
  color: #4286c7;
}

.maplist-poi .maplist-cate {
  font-size: 1.2rem;
}

.maplist-poi .maplist-cate li {
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 4px;
  vertical-align: middle;
}

.maplist-poi .pair-btn-wrap {
  margin: 12px 0 0 auto;
}

/*地図面地図アイコン 複数ポイント*/
.map-icon-multiple-num {
  border-radius: 8px;
  min-width: 16px;
  max-width: 30px;
  padding: 1px 3px;
  height: 16px;
  line-height: 14px;
  font-size: 1.2rem;
  background: #444;
  color: #fff;
  position: absolute;
  top: -8px;
  right: 0;
  transform: translateX(50%);
  z-index: 2;
  white-space: nowrap;
  text-align: center;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}

@media all and (-ms-high-contrast: none) {
  .map-icon-multiple-num {
    padding-top: 2px;
  }
}

.map-icon-img.icon-multiple::after {
  content: '';
  border-radius: 50%;
  width: 16px;
  height: 16px;
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 2px 4px #7F7F7F;
  position: absolute;
  top: -8px;
  right: -8px;
  z-index: -1;
}

.map-icon-img.icon-multiple::after {
  content: '';
  border-radius: 50%;
  width: 16px;
  height: 16px;
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 2px 4px #7F7F7F;
  position: absolute;
  top: -8px;
  right: -8px;
  z-index: -1;
}

.maplist-poi-multiple {
  display: block;
  cursor: default;
}

.maplist-poi-multiple .maplist-name::before {
  content: '';
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 0;
  border-radius: 3px;
  vertical-align: top;
  flex-shrink: 0;
  flex-grow: 0;
}

.maplist-poi-multiple .maplist-name {
  padding: 8px 0;
  margin-bottom: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-flow: row nowrap;
  line-height: 20px;
  border-bottom: 1px dashed #a0b8ce;
}

.maplist-poi-multiple > li:last-child .maplist-name {
  border-bottom: none;
}

/*背景色付き白いカテゴリアイコン*/
.cate-gourmet-list::before {
  background: url(../img/icon/tourism_gourmet_icon_w@2x.png) center center/contain no-repeat;
}

.cate-g-ramen-list::before {
  background: url(../img/icon/tourism_g_ramen_icon_w@2x.png) center center/contain no-repeat;
}

.cate-g-cafe-list::before {
  background: url(../img/icon/tourism_g_cafe_icon_w@2x.png) center center/contain no-repeat;
}

.cate-g-bar-list::before {
  background: url(../img/icon/tourism_g_bar_icon_w@2x.png) center center/contain no-repeat;
}

.cate-hotel-list::before {
  background: url(../img/icon/tourism_hotel_icon_w@2x.png) center center/contain no-repeat;
}

.cate-event-list::before {
  background: url(../img/icon/tourism_event_icon_w@2x.png) center center/contain no-repeat;
}

.cate-e-sakura-list::before {
  background: url(../img/icon/tourism_e_sakura_icon_w@2x.png) center center/contain no-repeat;
}

.cate-e-hanabi-list::before {
  background: url(../img/icon/tourism_e_hanabi_icon_w@2x.png) center center/contain no-repeat;
}

.cate-traffic-list::before {
  background: url(../img/icon/tourism_traffic_icon_w@2x.png) center center/contain no-repeat;
}

.cate-t-monorail-list::before {
  background: url(../img/icon/tourism_traffic_icon_w@2x.png) center center/contain no-repeat;
}

.cate-t-car-list::before {
  background: url(../img/icon/tourism_t_car_icon_w@2x.png) center center/contain no-repeat;
}

.cate-t-plane-list::before {
  background: url(../img/icon/tourism_t_plane_icon_w@2x.png) center center/contain no-repeat;
}

.cate-t-ship-list::before {
  background: url(../img/icon/tourism_t_ship_icon_w@2x.png) center center/contain no-repeat;
}

.cate-t-flag-list::before {
  background: url(../img/icon/tourism_t_flag_icon_w@2x.png) center center/contain no-repeat;
}

.cate-t-point-list::before {
  background: url(../img/icon/tourism_t_flag_icon_w@2x.png) center center/contain no-repeat;
}

.cate-shopping-list::before {
  background: url(../img/icon/tourism_shopping_icon_w@2x.png) center center/contain no-repeat;
}

.cate-s-info-list::before {
  background: url(../img/icon/tourism_s_info_icon_w@2x.png) center center/contain no-repeat;
}

.cate-healing-list::before {
  background: url(../img/icon/tourism_healing_icon_w@2x.png) center center/contain no-repeat;
}

.cate-history-list::before {
  background: url(../img/icon/tourism_history_icon_w@2x.png) center center/contain no-repeat;
}

.cate-h-temple-list::before {
  background: url(../img/icon/tourism_h_temple_icon_w@2x.png) center center/contain no-repeat;
}

.cate-art-list::before {
  background: url(../img/icon/tourism_art_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-list::before {
  background: url(../img/icon/tourism_act_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-zoo-list::before {
  background: url(../img/icon/tourism_act_zoo_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-other-list::before {
  background: url(../img/icon/tourism_act_other_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-fish-list::before {
  background: url(../img/icon/tourism_act_fish_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-park-list::before {
  background: url(../img/icon/tourism_act_park_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-camp-list::before {
  background: url(../img/icon/tourism_act_camp_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-swim-list::before {
  background: url(../img/icon/tourism_act_swim_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-ski-list::before {
  background: url(../img/icon/tourism_act_ski_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-golf-list::before {
  background: url(../img/icon/tourism_act_golf_icon_w@2x.png) center center/contain no-repeat;
}

.cate-act-cycling-list::before {
  background: url(../img/icon/tourism_act_cycling_icon_w@2x.png) center center/contain no-repeat;
}

.cate-nature-list::before {
  background: url(../img/icon/tourism_nature_icon_w@2x.png) center center/contain no-repeat;
}

.cate-n-other-list::before {
  background: url(../img/icon/tourism_n_other_icon_w@2x.png) center center/contain no-repeat;
}

.cate-n-flower-list::before {
  background: url(../img/icon/tourism_n_flower_icon_w@2x.png) center center/contain no-repeat;
}

.cate-toilet-list::before {
  background: url(../img/icon/tourism_toilet_icon_w@2x.png) center center/contain no-repeat;
}

/*色付きカテゴリアイコン*/
.cate-gourmet-color label::before,
.cate-gourmet-color a::before {
  background: url(../img/icon/tourism_gourmet_icon@2x.png) center center/contain no-repeat;
}

.cate-g-ramen-color a::before {
  background: url(../img/icon/tourism_g_ramen_icon@2x.png) center center/contain no-repeat;
}

.cate-g-cafe-color a::before {
  background: url(../img/icon/tourism_g_cafe_icon@2x.png) center center/contain no-repeat;
}

.cate-g-bar-color a::before {
  background: url(../img/icon/tourism_g_bar_icon@2x.png) center center/contain no-repeat;
}

.cate-hotel-color label::before,
.cate-hotel-color a::before {
  background: url(../img/icon/tourism_hotel_icon@2x.png) center center/contain no-repeat;
}

.cate-event-color label::before,
.cate-event-color a::before {
  background: url(../img/icon/tourism_event_icon@2x.png) center center/contain no-repeat;
}

.cate-e-sakura-color a::before {
  background: url(../img/icon/tourism_e_sakura_icon@2x.png) center center/contain no-repeat;
}

.cate-e-hanabi-color a::before {
  background: url(../img/icon/tourism_e_hanabi_icon@2x.png) center center/contain no-repeat;
}

.cate-traffic-color label::before,
.cate-traffic-color a::before {
  background: url(../img/icon/tourism_traffic_icon@2x.png) center center/contain no-repeat;
}

.cate-t-monorail-color a::before {
  background: url(../img/icon/tourism_traffic_icon@2x.png) center center/contain no-repeat;
}

.cate-t-car-color a::before {
  background: url(../img/icon/tourism_t_car_icon@2x.png) center center/contain no-repeat;
}

.cate-t-plane-color a::before {
  background: url(../img/icon/tourism_t_plane_icon@2x.png) center center/contain no-repeat;
}

.cate-t-ship-color a::before {
  background: url(../img/icon/tourism_t_ship_icon@2x.png) center center/contain no-repeat;
}

.cate-t-flag-color a::before {
  background: url(../img/icon/tourism_t_flag_icon@2x.png) center center/contain no-repeat;
}

.cate-t-point-color a::before {
  background: url(../img/icon/tourism_t_flag_icon@2x.png) center center/contain no-repeat;
}

.cate-shopping-color label::before,
.cate-shopping-color a::before {
  background: url(../img/icon/tourism_shopping_icon@2x.png) center center/contain no-repeat;
}

.cate-s-info-color a::before {
  background: url(../img/icon/tourism_s_info_icon@2x.png) center center/contain no-repeat;
}

.cate-healing-color label::before,
.cate-healing-color a::before {
  background: url(../img/icon/tourism_healing_icon@2x.png) center center/contain no-repeat;
}

.cate-history-color label::before,
.cate-history-color a::before {
  background: url(../img/icon/tourism_history_icon@2x.png) center center/contain no-repeat;
}

.cate-h-temple-color label::before,
.cate-h-temple-color a::before {
  background: url(../img/icon/tourism_h_temple_icon@2x.png) center center/contain no-repeat;
}

.cate-art-color label::before,
.cate-art-color a::before {
  background: url(../img/icon/tourism_art_icon@2x.png) center center/contain no-repeat;
}

.cate-act-color label::before,
.cate-act-color a::before {
  background: url(../img/icon/tourism_act_icon@2x.png) center center/contain no-repeat;
}

.cate-act-zoo-color a::before {
  background: url(../img/icon/tourism_act_zoo_icon@2x.png) center center/contain no-repeat;
}

.cate-act-other-color a::before {
  background: url(../img/icon/tourism_act_other_icon@2x.png) center center/contain no-repeat;
}

.cate-act-fish-color a::before {
  background: url(../img/icon/tourism_act_fish_icon@2x.png) center center/contain no-repeat;
}

.cate-act-park-color a::before {
  background: url(../img/icon/tourism_act_park_icon@2x.png) center center/contain no-repeat;
}

.cate-act-camp-color a::before {
  background: url(../img/icon/tourism_act_camp_icon@2x.png) center center/contain no-repeat;
}

.cate-act-swim-color a::before {
  background: url(../img/icon/tourism_act_swim_icon@2x.png) center center/contain no-repeat;
}

.cate-act-ski-color a::before {
  background: url(../img/icon/tourism_act_ski_icon@2x.png) center center/contain no-repeat;
}

.cate-act-golf-color a::before {
  background: url(../img/icon/tourism_act_golf_icon@2x.png) center center/contain no-repeat;
}

.cate-nature-color label::before,
.cate-nature-color a::before {
  background: url(../img/icon/tourism_nature_icon@2x.png) center center/contain no-repeat;
}

.cate-n-other-color a::before {
  background: url(../img/icon/tourism_n_other_icon@2x.png) center center/contain no-repeat;
}

.cate-n-flower-color a::before {
  background: url(../img/icon/tourism_n_flower_icon@2x.png) center center/contain no-repeat;
}

.cate-toilet-color label::before,
.cate-toilet-color a::before {
  background: url(../img/icon/tourism_toilet_icon@2x.png) center center/contain no-repeat;
}

/*地図面 ポイントアイコン*/
.map-icon-wrap {
  display: inline-block;
  position: absolute;
}

.map-icon-img {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  box-shadow: 0 2px 4px #7F7F7F;
  position: relative;
  border: 1px solid #fff;
  box-sizing: content-box;
  cursor: pointer;
  transform: scale(1);
  transition-property: transform;
  transition-duration: 0.2s;
}

.map-icon-wrap.is-active .map-icon-img {
  transform: scale(1.08);
}

/*地図面 地図アイコン*/
.icon-gourmet .map-icon-img {
  background: #FF9918 url(../img/icon/tourism_gourmet_icon_w@2x.png) center center/contain no-repeat;
}

.icon-g-ramen .map-icon-img {
  background: #FF9918 url(../img/icon/tourism_g_ramen_icon_w@2x.png) center center/contain no-repeat;
}

.icon-g-cafe .map-icon-img {
  background: #FF9918 url(../img/icon/tourism_g_cafe_icon_w@2x.png) center center/contain no-repeat;
}

.icon-g-bar .map-icon-img {
  background: #FF9918 url(../img/icon/tourism_g_bar_icon_w@2x.png) center center/contain no-repeat;
}

.icon-hotel .map-icon-img {
  background: #006088 url(../img/icon/tourism_hotel_icon_w@2x.png) center center/contain no-repeat;
}

.icon-event .map-icon-img {
  background: #B362BB url(../img/icon/tourism_event_icon_w@2x.png) center center/contain no-repeat;
}

.icon-e-sakura .map-icon-img {
  background: #B362BB url(../img/icon/tourism_e_sakura_icon_w@2x.png) center center/contain no-repeat;
}

.icon-e-hanabi .map-icon-img {
  background: #B362BB url(../img/icon/tourism_e_hanabi_icon_w@2x.png) center center/contain no-repeat;
}

.icon-traffic .map-icon-img {
  background: #648108 url(../img/icon/tourism_traffic_icon_w@2x.png) center center/contain no-repeat;
}

.icon-t-monorail .map-icon-img {
  background: #648108 url(../img/icon/tourism_traffic_icon_w@2x.png) center center/contain no-repeat;
}

.icon-t-car .map-icon-img {
  background: #648108 url(../img/icon/tourism_t_car_icon_w@2x.png) center center/contain no-repeat;
}

.icon-t-plane .map-icon-img {
  background: #648108 url(../img/icon/tourism_t_plane_icon_w@2x.png) center center/contain no-repeat;
}

.icon-t-ship .map-icon-img {
  background: #648108 url(../img/icon/tourism_t_ship_icon_w@2x.png) center center/contain no-repeat;
}

.icon-t-flag .map-icon-img {
  background: #648108 url(../img/icon/tourism_t_flag_icon_w@2x.png) center center/contain no-repeat;
}

.icon-t-point .map-icon-img {
  background: #648108 url(../img/icon/tourism_t_flag_icon_w@2x.png) center center/contain no-repeat;
}

.icon-shopping .map-icon-img {
  background: #EE8EB9 url(../img/icon/tourism_shopping_icon_w@2x.png) center center/contain no-repeat;
}

.icon-s-info .map-icon-img {
  background: #EE8EB9 url(../img/icon/tourism_s_info_icon_w@2x.png) center center/contain no-repeat;
}

.icon-healing .map-icon-img {
  background: #FF6554 url(../img/icon/tourism_healing_icon_w@2x.png) center center/contain no-repeat;
}

.icon-history .map-icon-img {
  background: #00B7B7 url(../img/icon/tourism_history_icon_w@2x.png) center center/contain no-repeat;
}

.icon-h-temple .map-icon-img {
  background: #00B7B7 url(../img/icon/tourism_h_temple_icon_w@2x.png) center center/contain no-repeat;
}

.icon-art .map-icon-img {
  background: #53C5F1 url(../img/icon/tourism_art_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-zoo .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_zoo_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-fish .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_fish_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-other .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_other_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-park .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_park_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-camp .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_camp_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-swim .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_swim_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-ski .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_ski_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-golf .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_golf_icon_w@2x.png) center center/contain no-repeat;
}

.icon-act-cycling .map-icon-img {
  background: #FFC800 url(../img/icon/tourism_act_cycling_icon_w@2x.png) center center/contain no-repeat;
}

.icon-nature .map-icon-img {
  background: #69D22D url(../img/icon/tourism_nature_icon_w@2x.png) center center/contain no-repeat;
}

.icon-n-other .map-icon-img {
  background: #69D22D url(../img/icon/tourism_n_other_icon_w@2x.png) center center/contain no-repeat;
}

.icon-n-flower .map-icon-img {
  background: #69D22D url(../img/icon/tourism_n_flower_icon_w@2x.png) center center/contain no-repeat;
}

.icon-toilet .map-icon-img {
  background: #2573E5 url(../img/icon/tourism_toilet_icon_w@2x.png) center center/contain no-repeat;
}

.icon-multiple .map-icon-img {
  background: #9B9B9B url(../img/icon/tourism_multiple_icon_w@2x.png) center center/contain no-repeat;
}

/*地図面 左カラムリスト アイコン*/
.maplist-img-wrap.cate-gourmet-w .cate-icon {
  background: url(../img/icon/tourism_gourmet_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-g-ramen-w .cate-icon {
  background: url(../img/icon/tourism_g_ramen_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-g-cafe-w .cate-icon {
  background: url(../img/icon/tourism_g_cafe_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-g-bar-w .cate-icon {
  background: url(../img/icon/tourism_g_bar_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-hotel-w .cate-icon {
  background: url(../img/icon/tourism_hotel_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-event-w .cate-icon {
  background: url(../img/icon/tourism_event_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-e-sakura-w .cate-icon {
  background: url(../img/icon/tourism_e_sakura_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-e-hanabi-w .cate-icon {
  background: url(../img/icon/tourism_e_hanabi_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-traffic-w .cate-icon {
  background: url(../img/icon/tourism_traffic_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-t-monorail-w .cate-icon {
  background: url(../img/icon/tourism_traffic_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-t-car-w .cate-icon {
  background: url(../img/icon/tourism_t_car_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-t-plane-w .cate-icon {
  background: url(../img/icon/tourism_t_plane_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-t-ship-w .cate-icon {
  background: url(../img/icon/tourism_t_ship_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-t-flag-w .cate-icon {
  background: url(../img/icon/tourism_t_flag_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-t-point-w .cate-icon {
  background: url(../img/icon/tourism_t_flag_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-shopping-w .cate-icon {
  background: url(../img/icon/tourism_shopping_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-s-info-w .cate-icon {
  background: url(../img/icon/tourism_s_info_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-healing-w .cate-icon {
  background: url(../img/icon/tourism_healing_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-history-w .cate-icon {
  background: url(../img/icon/tourism_history_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-h-temple-w .cate-icon {
  background: url(../img/icon/tourism_h_temple_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-art-w .cate-icon {
  background: url(../img/icon/tourism_art_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-w .cate-icon {
  background: url(../img/icon/tourism_act_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-zoo-w .cate-icon {
  background: url(../img/icon/tourism_act_zoo_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-fish-w .cate-icon {
  background: url(../img/icon/tourism_act_fish_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-other-w .cate-icon {
  background: url(../img/icon/tourism_act_other_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-park-w .cate-icon {
  background: url(../img/icon/tourism_act_park_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-camp-w .cate-icon {
  background: url(../img/icon/tourism_act_camp_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-swim-w .cate-icon {
  background: url(../img/icon/tourism_act_swim_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-ski-w .cate-icon {
  background: url(../img/icon/tourism_act_ski_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-golf-w .cate-icon {
  background: url(../img/icon/tourism_act_golf_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-act-cycling-w .cate-icon {
  background: url(../img/icon/tourism_act_cycling_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-nature-w .cate-icon {
  background: url(../img/icon/tourism_nature_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-n-other-w .cate-icon {
  background: url(../img/icon/tourism_n_other_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-n-flower-w .cate-icon {
  background: url(../img/icon/tourism_n_flower_icon_w@2x.png) center center/contain no-repeat;
}

.maplist-img-wrap.cate-toilet-w .cate-icon {
  background: url(../img/icon/tourism_toilet_icon_w@2x.png) center center/contain no-repeat;
}

/*一覧ページ 左カラムのカテゴリ選択 / spカテゴリ*/
.select-cate-wrap {
  width: 230px;
  height: 100%;
  padding: 16px 16px 50px 24px;
  background: #4587C5;
}

.select-cate-wrap .btn-default {
  display: inline-block;
  border: 1px solid #fff;
  color: #fff;
  background: none;
}

.ttl-select-cate-wrap {
  width: 100%;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
}

.ttl-select-cate {
  display: inline-block;
  color: #fff;
  font-size: 1.6rem;
}

.btn-default.btn-article {
  min-width: 248px;
  min-height: 36px;
  padding: 5px;
  border-radius: 6px;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.select-cate {
  width: 100%;
}

.select-cate label {
  width: 100%;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-flow: row nowrap;
  background: #fff;
  border-radius: 0;
  font-size: 1.2rem;
  cursor: pointer;
  line-height: 1;
}

.select-cate label::before {
  content: '';
  width: 24px;
  height: 24px;
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 0;
  border-radius: 3px;
  vertical-align: middle;
  flex-shrink: 0;
  flex-grow: 0;
}

.select-cate li {
  margin-bottom: 2px;
}

.select-cate li span {
  flex-grow: 1;
}

.select-cate .ckbox {
  width: 14px;
  height: 14px;
  margin-left: 4px;
  border: 1px solid #4286C7;
  border-radius: 2px;
  flex-grow: 0;
  flex-shrink: 0;
}

.select-cate input[type="checkbox"] {
  display: none;
}

.select-cate input[type="checkbox"]:checked + label {
  background: #EEF3F8;
}

.select-cate input[type="checkbox"]:checked + label .ckbox {
  border: 1px solid #4286C7;
  background: #4286C7 url(../img/icon/icon_check@2x.png) center center/contain no-repeat;
}

/*詳細ページ*/
.icon-url {
  padding-right: 18px;
  background: url(../img/icon/icon_url@2x.png) right center/14px auto no-repeat;
}

/*leaflet*/
.leaflet-control-zoom.leaflet-bar a {
  color: #4587c5;
  font-size: 18px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
  width: 26px;
  height: 26px;
}

.leaflet-control-zoom.leaflet-bar a.leaflet-control-zoom-in {
  background: #fff url(../img/icon/icon_scale_plus@2x.png) center center/10px auto no-repeat;
}

.leaflet-control-zoom.leaflet-bar a.leaflet-control-zoom-out {
  background: #fff url(../img/icon/icon_scale_minus@2x.png) center center/10px auto no-repeat;
}

.leaflet-control-zoom.leaflet-bar a:first-child {
  border-color: #4587c5;
}

.leaflet-control-zoom.leaflet-bar {
  border: 1px solid #4587c5;
  box-shadow: none;
}

/*----------------------------------
sp module
----------------------------------*/
/*
hoverはspとcommonにはかかない
ボタン
header
main
地図面
  スポット一覧
  スポット概要
  地図面 地図アイコン sp用
  カテゴリ選択
一覧
詳細
sidemenu
leaflet
slick
slick lightbox
*/
.btn-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
}

.article-map + .btn-wrap {
  max-width: 660px;
  margin: 8px auto auto;
}

.article-map + .btn-wrap > .btn-default {
  width: calc((100% - 8px) / 2);
  max-width: 382px;
  min-width: auto;
}

.btn-pagetop {
  right: 12px;
}

/*
sp header module
-------------------------------*/
/*sp 天気*/
.weather-wrap {
  width: auto;
  height: auto;
  display: block;
  padding: 12px 16px 14px;
  color: #444;
  background-color: #ffffff;
  border: none;
  border-bottom: solid 1px #D7E8F2;
}

.weather-wrap .ttl {
  margin-bottom: 0;
  height: 30px;
  font-size: 1.4rem;
  justify-content: center;
}

.weather-wrap .date {
  text-align: center;
  font-size: 1.2rem;
}

.weather-wrap .temperature {
  font-size: 1.4rem;
}

.weather-wrap .temperature:after {
  transform: scale(1);
  font-size: 1rem;
}

.weather-left {
  width: 48px;
  margin-right: 8px;
}

.weather-icon {
  width: 48px;
}

/*
main module
-------------------------------*/
/*sp リストのサムネイル*/
.maplist-img-wrap {
  width: 80px;
  height: 60px;
  position: relative;
  background: #e3e3e3;
  overflow: hidden;
  flex-grow: 0;
  flex-shrink: 0;
}

.maplist-img-wrap .cate-icon {
  width: 25px;
  height: 25px;
  border-radius: 0 0 5px 0;
  border: 1px solid #fff;
  border-width: 0 1px 1px 0;
  position: absolute;
  left: -1px;
  top: -1px;
}

.maplist-img-wrap img {
  width: auto;
  height: 100%;
  display: block;
}

/*地図面
-------------------------------*/
.map-pane {
  width: 100%;
  height: calc(100% - 44px);
}

/*地図面 headerのカテゴリ選択*/
.select-cate-wrap.header-select-cate {
  width: 100%;
  min-width: 882px;
  height: auto;
  padding: 4px 4px 0 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-flow: row nowrap;
  flex-grow: 1;
  flex-shrink: 1;
}

.header-select-cate .ttl-select-cate-wrap {
  width: 130px;
  margin-bottom: 0;
  flex-grow: 0;
}

.header-select-cate .ttl-select-cate-wrap .ttl-select-cate {
  width: 100%;
  display: block;
  text-align: center;
}

.header-select-cate .select-cate {
  padding-bottom: 2px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-flow: row wrap;
  flex-grow: 1;
}

.header-select-cate .select-cate li {
  width: 216px;
  min-height: 40px;
  margin-right: 2px;
  margin-bottom: 2px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-flow: row nowrap;
}

.header-select-cate .select-cate li label {
  border-radius: 4px;
}

.select-cate-wrap.header-select-cate .btn-default {
  display: none;
}

/*地図面 リスト*/
.ttl-map-spot-wrap {
  width: 100%;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
  background: #EEF3F8;
  border-bottom: 1px solid #A0B8CE;
}

.ttl-map-spot-wrap .btn-default {
  padding: 0 20px;
  max-width: 96px;
  min-width: 80px;
}

.ttl-result-num {
  display: inline-block;
  font-size: 1.4rem;
}

.map-spot-result-wrap {
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  overflow-y: auto;
}

.map-spot-result-wrap li:last-child .maplist-poi {
  border-bottom: none;
}

.map-spot-result-pager {
  width: 100%;
  height: 42px;
  padding: 0;
  background: #eef3f8;
}

.map-spot-result-pager:empty {
  display: none;
}

.map-spot-result-pager .pager-prev, .map-spot-result-pager .pager-next {
  display: block;
  width: 50%;
}

.map-spot-result-pager .pager-prev span, .map-spot-result-pager .pager-next span {
  display: block;
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 26px;
}

.map-spot-result-pager .pager-prev.is-disabled span, .map-spot-result-pager .pager-next.is-disabled span {
  opacity: 0.2;
}

.map-spot-result-pager .pager-prev {
  float: left;
  position: relative;
}

.map-spot-result-pager .pager-prev span {
  padding-left: 64px;
  background: url(../img/sp_btn_spot_prev@2x.png) left center/50px auto no-repeat;
}

.map-spot-result-pager .pager-prev::after {
  content: '';
  display: block;
  width: 1px;
  height: auto;
  background: #C9DEED;
  position: absolute;
  top: 8px;
  bottom: 8px;
  right: 0;
}

.map-spot-result-pager .pager-next {
  float: right;
}

.map-spot-result-pager .pager-next span {
  padding-right: 64px;
  text-align: right;
  background: url(../img/sp_btn_spot_next@2x.png) right center/50px auto no-repeat;
}

.map-spot-result-pager::after {
  content: '';
  display: block;
  clear: both;
}

.list-cate {
  margin-top: 8px;
  color: #9B9B9B;
  font-size: 1.2rem;
}

.list-cate li {
  display: inline-block;
  margin-right: 4px;
}

.list-cate li::before {
  content: '';
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 4px;
  border-radius: 3px;
  vertical-align: middle;
}

.list-cate li span {
  vertical-align: middle;
  display: inline-block;
  margin-bottom: 4px;
}

/*地図面 地図*/
.map-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.map-container {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
  overflow: hidden;
  flex-grow: 1;
  flex-shrink: 0;
}

.sp-map-column {
  width: 100%;
  position: relative;
}

.l-map-content-wrap.sp .sp-map-column {
  height: 100%;
}

.sp-map-list-wrap {
  width: 100%;
  height: 100%;
  flex-grow: 0;
  flex-shrink: 0;
  display: none;
  align-items: center;
  justify-content: flex-start;
  flex-flow: column nowrap;
}

/*地図面 スポット一覧*/
.sp-map-spot-column {
  width: 100%;
  max-height: 90%;
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-flow: column nowrap;
  box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.2);
  -webkit-transition-duration: 0.2s;
  -webkit-transition-property: transform;
  transition-duration: 0.2s;
  transition-property: transform;
}

.sp-map-spot-column.is-active {
  -webkit-transition-duration: 0.2s;
  -webkit-transition-property: transform;
  transition-duration: 0.2s;
  transition-property: transform;
}

.sp-map-spot-column.is-active .result-num {
  background: url(../img/icon/icon_cir_arrow_under@2x.png) left center/12px auto no-repeat;
}

.sp-map-spot-column.is-disabled {
  -webkit-transition-duration: 0.2s;
  -webkit-transition-property: transform;
  transition-duration: 0.2s;
  transition-property: transform;
}

.ttl-map-spot {
  width: 100%;
  padding: 0 4px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  background: #EEF3F8;
}

.ttl-map-spot .result-info {
  flex-grow: 1;
  padding: 12px 0 6px 12px;
  text-decoration: none;
}

.ttl-map-spot .result-num {
  padding-left: 18px;
  background: url(../img/icon/icon_cir_arrow_top@2x.png) left center/12px auto no-repeat;
  font-size: 1.2rem;
  font-weight: bold;
  color: #4587C5;
}

.ttl-map-spot .result-num-list {
  padding-left: 18px;
  font-size: 1.2rem;
  color: #aaa;
}

.ttl-map-spot.no-result {
  width: 100%;
  display: block;
  flex-grow: 0;
  flex-shrink: 0;
  padding-right: 0;
  background: #fff;
}

.ttl-map-spot.no-result p {
  padding: 8px;
}

.map-result-pager {
  height: 44px;
  padding: 12px 0 6px 0;
  font-size: 0;
  position: relative;
}

.map-result-pager a {
  display: inline-block;
  width: 50px;
  height: 100%;
}

.map-result-pager a.is-disabled {
  opacity: 0.2;
}

.map-result-pager:before {
  content: '';
  width: 1px;
  height: auto;
  display: block;
  position: absolute;
  top: 12px;
  bottom: 6px;
  right: 50%;
  opacity: 1;
  border-right: 1px solid #D9E7F4;
  z-index: 0;
}

.map-result-pager .btn-prev {
  background: url(../img/sp_btn_spot_prev@2x.png) center center/contain no-repeat;
}

.map-result-pager .btn-next {
  background: url(../img/sp_btn_spot_next@2x.png) center center/contain no-repeat;
}

.sp-map-spot-list .maplist-poi {
  padding: 8px 12px;
  flex-flow: row-reverse nowrap;
}

.sp-map-spot-list .maplist-poi .maplist-name {
  margin-top: 4px;
  font-size: 1.6rem;
}

.sp-map-spot-list .maplist-poi > div:first-child {
  margin-left: 4px;
  margin-right: 0;
}

.sp-map-spot-list .maplist-poi > div:last-child {
  margin-right: 4px;
  margin-left: 0;
}

.sp-map-spot-list .maplist-poi .maplist-cate {
  margin: 0;
}

.map-spot-column-bg {
  visibility: hidden;
  width: 100%;
  height: calc(100% - 50px);
  position: fixed;
  top: 50px;
  left: 0;
  opacity: 0;
  background: #000;
  -webkit-transition-property: opacity visibility;
  -webkit-transition-duration: 0.2s;
  transition-property: opacity visibility;
  transition-duration: 0.2s;
  z-index: 1;
}

.map-spot-column-bg.is-active {
  visibility: visible;
  opacity: 0.5;
  -webkit-transition-property: opacity visibility;
  -webkit-transition-duration: 0.2s;
  transition-property: opacity visibility;
  transition-duration: 0.2s;
}

/*地図面 スポット概要*/
.sp-map-spot-column.sp-map-icon-spot {
  max-height: 48%;
  top: 100%;
  box-shadow: none;
  -webkit-transition-property: transform;
  -webkit-transition-duration: 0.2s;
  transition-property: transform;
  transition-duration: 0.2s;
}

.sp-map-spot-column.sp-map-icon-spot.is-active {
  box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.2);
  transform: translateY(-100%);
  -webkit-transition-property: transform;
  -webkit-transition-duration: 0.2s;
  transition-property: transform;
  transition-duration: 0.2s;
}

/*地図面の天気アイコン*/
.cir-weather-wrap {
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  left: 12px;
  z-index: 1;
}

.cir-weather {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #fff;
  overflow: hidden;
  position: relative;
  border: solid 1px #d0d0d0;
}

.cir-weather-img {
  width: auto;
  height: 34px;
  position: absolute;
  top: -2px;
  left: 50%;
  margin-left: -34px;
}

.cir-weather-temperature {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 3px;
  z-index: 1;
  color: #444;
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
}

.cir-weather-temperature::after {
  content: '\02103';
  display: inline-block;
  transform: scale(0.8);
  position: relative;
  top: 1px;
}

/*地図面 現在地ボタン*/
.current-position-button {
  width: 28px;
  height: 28px;
  background: #fff;
  border: 1px solid #4587c5;
  border-radius: 4px;
  position: absolute;
  top: -38px; /* ズームボタンからの相対値 */
  z-index: 10;
  background: #fff url(../img/icon/icon_scale_gps@2x.png) center center/14px auto no-repeat;
}

/*地図面 地図アイコン sp用 is-activeなしはcommon*/
.map-icon-wrap.is-active.icon-gourmet .map-icon-img {
  background: #fff url(../img/icon/tourism_gourmet_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FF9918;
}

.map-icon-wrap.is-active.icon-ramen .map-icon-img {
  background: #fff url(../img/icon/tourism_g_ramen_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FF9918;
}

.map-icon-wrap.is-active.icon-g-cafe .map-icon-img {
  background: #fff url(../img/icon/tourism_g_cafe_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FF9918;
}

.map-icon-wrap.is-active.icon-g-bar .map-icon-img {
  background: #fff url(../img/icon/tourism_g_bar_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FF9918;
}

.map-icon-wrap.is-active.icon-hotel .map-icon-img {
  background: #fff url(../img/icon/tourism_hotel_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #006088;
}

.map-icon-wrap.is-active.icon-event .map-icon-img {
  background: #fff url(../img/icon/tourism_event_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #B362BB;
}

.map-icon-wrap.is-active.icon-e-sakura .map-icon-img {
  background: #fff url(../img/icon/tourism_e_sakura_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #B362BB;
}

.map-icon-wrap.is-active.icon-e-hanabi .map-icon-img {
  background: #fff url(../img/icon/tourism_e_hanabi_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #B362BB;
}

.map-icon-wrap.is-active.icon-traffic .map-icon-img {
  background: #fff url(../img/icon/tourism_traffic_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #648108;
}

.map-icon-wrap.is-active.icon-t-monorail .map-icon-img {
  background: #fff url(../img/icon/tourism_traffic_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #648108;
}

.map-icon-wrap.is-active.icon-t-car .map-icon-img {
  background: #fff url(../img/icon/tourism_t_car_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #648108;
}

.map-icon-wrap.is-active.icon-t-plane .map-icon-img {
  background: #fff url(../img/icon/tourism_t_plane_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #648108;
}

.map-icon-wrap.is-active.icon-t-point .map-icon-img {
  background: #fff url(../img/icon/tourism_t_flag_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #648108;
}

.map-icon-wrap.is-active.icon-t-ship .map-icon-img {
  background: #fff url(../img/icon/tourism_t_ship_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #648108;
}

.map-icon-wrap.is-active.icon-t-flag .map-icon-img {
  background: #fff url(../img/icon/tourism_t_flag_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #648108;
}

.map-icon-wrap.is-active.icon-shopping .map-icon-img {
  background: #fff url(../img/icon/tourism_shopping_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #EE8EB9;
}

.map-icon-wrap.is-active.icon-s-info .map-icon-img {
  background: #fff url(../img/icon/tourism_s_info_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #EE8EB9;
}

.map-icon-wrap.is-active.icon-healing .map-icon-img {
  background: #fff url(../img/icon/tourism_healing_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FF6554;
}

.map-icon-wrap.is-active.icon-history .map-icon-img {
  background: #fff url(../img/icon/tourism_history_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #00B7B7;
}

.map-icon-wrap.is-active.icon-h-temple .map-icon-img {
  background: #fff url(../img/icon/tourism_h_temple_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #00B7B7;
}

.map-icon-wrap.is-active.icon-art .map-icon-img {
  background: #fff url(../img/icon/tourism_art_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #53C5F1;
}

.map-icon-wrap.is-active.icon-act .map-icon-img {
  background: #fff url(../img/icon/tourism_act_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-zoo .map-icon-img {
  background: #fff url(../img/icon/tourism_act_zoo_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-other .map-icon-img {
  background: #fff url(../img/icon/tourism_act_other_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-park .map-icon-img {
  background: #fff url(../img/icon/tourism_act_park_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-camp .map-icon-img {
  background: #fff url(../img/icon/tourism_act_camp_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-swim .map-icon-img {
  background: #fff url(../img/icon/tourism_act_swim_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-ski .map-icon-img {
  background: #fff url(../img/icon/tourism_act_ski_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-golf .map-icon-img {
  background: #fff url(../img/icon/tourism_act_golf_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-act-cycling .map-icon-img {
  background: #fff url(../img/icon/tourism_act_cycling_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #FFC800;
}

.map-icon-wrap.is-active.icon-nature .map-icon-img {
  background: #fff url(../img/icon/tourism_nature_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #69D22D;
}

.map-icon-wrap.is-active.icon-n-other .map-icon-img {
  background: #fff url(../img/icon/tourism_n_other_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #69D22D;
}

.map-icon-wrap.is-active.icon-n-flower .map-icon-img {
  background: #fff url(../img/icon/tourism_n_flower_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #69D22D;
}

.map-icon-wrap.is-active.icon-toilet .map-icon-img {
  background: #fff url(../img/icon/tourism_toilet_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #2573E5;
}

.map-icon-wrap.is-active.icon-multiple .map-icon-img {
  background: #fff url(../img/icon/tourism_multiple_icon@2x.png) center center/contain no-repeat;
  border: 2px solid #9B9B9B;
}

/*一覧
-------------------------------*/
/*一覧ページ コンテンツ部分*/
.main-list-wrap {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 16px 0 16px 8px;
  background: #EEF3F8;
}

.main-list-inner {
  max-width: 1040px;
  margin: 0 auto;
}

.main-list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-flow: row wrap;
}

@media print, screen and (max-width: 1022px) {
  .main-list {
    width: calc(256px * 2);
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 1023px) {
  .main-list {
    width: calc(256px * 3);
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 1311px) {
  .main-list {
    width: calc(256px * 4);
    margin: 0 auto;
  }
}

.main-list > li {
  width: 240px;
  margin: 0 8px 16px 8px;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-flow: row nowrap;
  background: #fff;
}

.main-list > li.no-result {
  display: none;
}

.main-list > li.no-result:only-child {
  width: 100%;
  display: block;
  min-height: 583px;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.main-list .maplist-poi-link {
  display: block;
  width: 100%;
  padding: 16px;
  display: block;
  border: 1px solid #a0b8ce;
}

.main-list .maplist-poi-link:hover {
  text-decoration: none;
  background: #EEF3F8;
}

.main-list .maplist-large-img-wrap {
  width: 238px;
  height: 170px;
  margin: -16px -16px auto -16px;
  position: relative;
  overflow: hidden;
  background: #e3e3e3;
}

.main-list .maplist-name {
  margin-top: 16px;
  font-size: 18px;
}

/*カテゴリ選択*/
.sp-select-cate-wrap {
  width: 100%;
  height: calc(100% - 50px);
  padding: 16px 16px;
  position: fixed;
  top: -100%;
  left: 0;
  z-index: 2;
  overflow-y: auto;
  -webkit-transition-property: top;
  -webkit-transition-duration: 0.3s;
  transition-property: top;
  transition-duration: 0.3s;
}

.sp-select-cate-wrap.is-active {
  position: fixed;
  top: 50px;
  -webkit-transition-property: top;
  -webkit-transition-duration: 0.3s;
  transition-property: top;
  transition-duration: 0.3s;
}

.sp-select-cate-wrap .ttl-select-cate-wrap {
  margin-bottom: 14px;
}

.sp-select-cate-wrap .ttl-select-cate-wrap,
.sp-select-cate-wrap .select-cate {
  max-width: 768px;
  margin-left: auto;
  margin-right: auto;
}

.sp-select-cate-wrap .btn-default {
  min-width: 100px;
  height: 28px;
  padding: 5px;
  line-height: 1.1;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.sp-select-cate-wrap .btn-cate-filter {
  width: 100%;
  max-width: 382px;
  min-height: 60px;
  margin: 12px auto auto;
  font-size: 1.6rem;
  border-radius: 4px;
}

.sp-select-cate-wrap .ttl-select-cate {
  font-weight: normal;
}

.sp-select-cate-wrap label {
  padding: 6px 16px 6px 8px;
  position: relative;
  font-size: 1.4rem;
}

.sp-select-cate-wrap label::before {
  content: '';
  width: 30px;
  height: 30px;
  margin-right: 8px;
}

.sp-select-cate-wrap label:after {
  content: '';
  display: block;
  width: calc(100% - 30px - 8px - 8px);
  height: 1px;
  background: #D8E8F2;
  position: absolute;
  bottom: 0;
  right: 0;
}

.sp-select-cate-wrap li {
  margin-bottom: 0px;
}

.sp-select-cate-wrap li:first-child label {
  border-radius: 4px 4px 0 0;
}

.sp-select-cate-wrap li:last-child label {
  border-radius: 0 0 4px 4px;
}

.sp-select-cate-wrap li:last-child label:after {
  content: none;
}

/*一覧ページ
-------------------------------*/
.sp-map-spot-column.sp-list {
  position: relative;
  max-height: none;
  -webkit-transition-property: none;
  transition-property: none;
}

.sp-list .ttl-map-spot .result-num {
  padding-left: 0;
  background-image: none;
  color: #444;
}

.sp-list .ttl-map-spot .result-num-list {
  padding-left: 0;
}

.sp-map-spot-column.sp-list-no-result {
  position: relative;
  max-height: none;
  top: auto;
  height: 100%;
  display: block;
  box-shadow: none;
  -webkit-transition-property: none;
  transition-property: none;
}

.l-header.higher-header + .l-main .sp-map-spot-column.sp-list-no-result {
  height: calc(100% - 101px);
}

.sp-list-no-result .ttl-map-spot {
  width: 100%;
  height: 50%;
  min-height: 255px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
  font-size: 1.4rem;
  line-height: 1.5;
  background: none;
}

.sp-list-no-result .ttl-map-spot.no-result p {
  padding: 0 24px;
  background: none;
}

.sp-no-result-btn-wrap {
  width: 100%;
  height: 160px;
  padding: 0 24px;
  position: fixed;
  /*iOS10用*/
  bottom: 0;
  left: 0;
}

.l-container-wrap .sp-no-result-btn-wrap .sp-footer {
  margin: 40px auto 16px;
}

.btn-default.btn-no-result {
  margin-left: auto;
  margin-right: auto;
  max-width: 382px;
  min-height: 46px;
  background: #4587C5;
  border: none;
  color: #fff;
  font-size: 1.4rem;
}

/*詳細ページ
-------------------------------*/
.l-article-ttl-wrap {
  width: 100%;
  padding: 8px 8px 8px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
}

.article-ttl {
  flex-grow: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-flow: row wrap;
}

.article-ttl::after {
  content: '';
  clear: both;
  display: block;
}

.article-ttl .ttl-text {
  display: inline-block;
  padding-left: 9px;
  font-size: 1.8rem;
}

.article-ttl .ttl-ruby {
  display: inline-block;
  padding-left: 9px;
  font-size: 1.2rem;
}

.article-ttl::before {
  content: '';
  width: 24px;
  height: 24px;
  display: block;
  border-radius: 3px;
  float: left;
}

.article-ttl-text-wrap {
  width: calc(100% - 32px);
}

.sns-wrap {
  margin: 8px 12px 48px auto;
  font-size: 0;
  text-align: right;
}

.sns-wrap a[class^="btn-"] {
  display: inline-block;
  width: 40px;
}

.sns-wrap a[class^="btn-"] + a {
  margin-left: 12px;
}

.sns-wrap a[class^="btn-"] img {
  width: 100%;
  display: block;
  border-radius: 3px;
}

.article-section-ttl {
  padding-left: 36px;
  padding-bottom: 8px;
  line-height: 22px;
  font-size: 18px;
  font-weight: bold;
  border-bottom: 2px solid #A0B8CE;
}

.article-map {
  width: 100%;
  height: 0;
  padding-top: 66%;
  margin-top: 16px;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.link-around-spot {
  padding-top: 12px;
  display: block;
  margin: 0 0 0 auto;
  text-align: right;
}

.section-comment .article-section-ttl {
  background: url(../img/icon/icon_comment@2x.png) left 12px top 3px/16px auto no-repeat;
}

.section-spot .article-section-ttl {
  background: url(../img/icon/icon_info@2x.png) left 12px top 3px/16px auto no-repeat;
}

.section-time .article-section-ttl {
  background: url(../img/icon/icon_time@2x.png) left 12px top 3px/16px auto no-repeat;
}

.section-menu .article-section-ttl {
  background: url(../img/icon/icon_detail@2x.png) left 12px top 3px/16px auto no-repeat;
}

.section-comment {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: row nowrap;
}

.detail-image-column {
  width: 100%;
  margin: 0 auto;
}

.detail-image-wrap {
  width: 100%;
}

.detail-image {
  display: block;
  margin: 0;
  width: 100%;
  height: 0;
  padding-top: 62.5%;
  overflow: hidden;
  position: relative;
}

.detail-image img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.comment-large-img.no-img {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/photo/no_image_bg@2x.png) center top/contain no-repeat;
}

.comment-large-img-text {
  padding: 8px;
  line-height: 1.5;
  background: #fff;
}

.comment-large-img-text:empty {
  height: 0px;
  padding: 0;
}

.no-img-bg {
  width: 100%;
  height: 100%;
  background: url(../img/photo/no_image_bg@2x.png) center center/contain no-repeat;
}

/*詳細ページ コメント*/
.text {
  padding: 16px 12px;
  font-size: 1.4rem;
}

.text-detail-wrap {
  padding-bottom: 64px;
  max-height: calc(5 * 14px * 1.5 + 16px + 64px);
  position: relative;
  overflow: hidden;
}

.text-detail-wrap.is-detail-show {
  padding-bottom: 0;
  overflow: auto;
  max-height: none;
}

.text-detail-wrap.is-detail-show .btn-wrap-detail {
  display: none;
}

.text-detail-wrap::after {
  content: '...';
  display: block;
  width: 16px;
  line-height: 1.5;
  font-size: 1.4rem;
  background: #fff;
  position: absolute;
  bottom: 64px;
  right: 12px;
}

.text-detail-wrap.is-detail-show::after,
.text-detail-wrap.is-detail-lower::after {
  content: none;
}

.btn-wrap-detail {
  width: auto;
  height: 64px;
  padding-bottom: 12px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
}

.btn-default.btn-article {
  padding: 5px;
  min-height: 40px;
  font-size: 1.2rem;
  border-radius: 4px;
}

.btn-default.btn-article.icon-route {
  background-color: #4286C7;
  color: #fff;
}

.btn-default.btn-detail {
  height: 48px;
  border-radius: 6px;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.text-detail-wrap.is-detail-lower {
  max-height: none;
  padding-bottom: 0;
}

.is-detail-lower .btn-wrap-detail {
  display: none;
}

.section-comment .text-detail-wrap + .text-detail-wrap::before {
  content: '';
  width: 64%;
  max-width: 490px;
  display: block;
  margin: 0 auto 0;
  border-top: 1px solid #D9E7F4;
  position: relative;
}

.text-detail-wrap + .text-detail-wrap {
  margin-top: 0px;
}

/*詳細ページの表*/
.article-table {
  width: calc(100% - 32px);
  margin: 0 auto;
  border: none;
  border-collapse: collapse;
  line-height: 1.5;
  table-layout: fixed;
}

.sp-article-table .maplist-cate {
  margin-bottom: -4px;
}

.sp-article-table .maplist-cate li {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 4px;
  vertical-align: middle;
}

.sp-article-table .maplist-cate li:before {
  content: '';
  width: 24px;
  height: 24px;
  margin-right: 4px;
  display: inline-block;
  border-radius: 3px;
  vertical-align: middle;
}

.sp-article-table .maplist-cate li span {
  vertical-align: middle;
}

.sp-article-table {
  width: calc(100% - 24px);
  margin: 16px 12px;
  border-collapse: collapse;
}

.sp-article-table tr.is-empty {
  display: none;
}

.sp-article-table th {
  width: 100%;
  display: block;
  padding: 8px 16px;
  text-align: left;
  font-size: 1.4rem;
  font-weight: bold;
  background-color: #eef3f8;
}

.sp-article-table td {
  width: 100%;
  display: block;
  padding: 12px 0 20px 16px;
}

/*メニュー詳細の表 組み方がpcと違う*/
.sp-article-table.thead-table thead {
  display: none;
}

.sp-article-table.thead-table tr {
  border-top: 1px dashed #a0b8ce;
}

.sp-article-table.thead-table tr:not(.thead-table-ttl):first-child {
  border-top: none;
}
 .sp-article-table.thead-table .thead-table-ttl {
  border-top: none;
}
 .sp-article-table.thead-table .thead-table-ttl + tr {
  border-top: none;
}

.sp-article-table.thead-table th {
  display: table-cell;
  width: 90px;
  background: #fff;
  white-space: nowrap;
  font-weight: normal;
}

.sp-article-table.thead-table th[colspan="2"] {
  background: #eef3f8;
  font-weight: bold;
}

.sp-article-table.thead-table td {
  display: table-cell;
  padding: 16px 0 16px 0;
}

/*営業時間の表*/
.sp-article-table.thead-noth td {
  width: 100%;
}

.sp-article-table.thead-noth td:first-child {
  padding-bottom: 12px;
  background: #eef3f8;
  font-weight: bold;
}

.sp-article-table .td-address {
  padding: 12px 0 20px;
}

.sp-article-table .address-wrap {
  display: block;
}

.sp-article-table .address-wrap .btn-default {
  flex-grow: 0;
  flex-shrink: 0;
}

.sp-article-table .address-text {
  padding-left: 16px;
  padding-right: 16px;
  margin-bottom: 12px;
}

.sp-article-table .address-text + .btn-wrap {
  max-width: 640px;
  margin: 0 auto;
}

.l-section + .btn-wrap {
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.btn-wrap .btn-default.height-high {
  width: calc(100% - 24px);
  max-width: 382px;
  height: 48px;
  padding: 0;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
  border-radius: 6px;
}

.btn-wrap .btn-default.height-high.icon-around span {
  padding-left: 34px;
  background-size: 18px auto;
}

@media screen and (min-width: 768px) {
  .article-map {
    padding-top: 30%;
  }
}

/*
sp sidemenu module
-------------------------------*/
body.is-fixed {
  position: fixed;
}

.sp-sidemenu-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: row nowrap;
  position: fixed;
  left: 100%;
  top: 0;
  z-index: 20;
  -webkit-transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-property: transform;
  transition-duration: 0.3s;
}

.sp-sidemenu-inner {
  width: 240px;
  height: 100%;
  margin: 0 0 0 auto;
  background: #fff;
  overflow-y: auto;
  flex-grow: 0;
  flex-shrink: 0;
}

.sp-sidemenu-container {
  min-height: 100%;
  position: relative;
  padding-bottom: 60px;
}

.sp-sidemenu-container > nav {
  padding-top: 8px;
}

.sp-sidemenu-wrap.is-active {
  transform: translateX(-100%);
  -webkit-transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-property: transform;
  transition-duration: 0.3s;
}

.sp-sidemenu-bg {
  visibility: hidden;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 19;
  opacity: 0;
  background: #000;
  -webkit-transition-property: opacity visibility;
  -webkit-transition-duration: 0.2s;
  transition-property: opacity visibility;
  transition-duration: 0.2s;
}

.sp-sidemenu-bg.is-active {
  visibility: visible;
  opacity: 0.5;
  -webkit-transition-property: opacity visibility;
  -webkit-transition-duration: 0.2s;
  transition-property: opacity visibility;
  transition-duration: 0.2s;
}

.sp-sidemenu-btn-wrap {
  height: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  position: relative;
}

.sp-sidemenu-btn {
  display: block;
  position: absolute;
  top: 12px;
  right: 35px;
  color: #fff;
  font-size: 10px;
  text-align: center;
  text-decoration: none;
}

.sp-sidemenu-btn:hover {
  text-decoration: none;
}

.sp-sidemenu-btn-close {
  width: 34px;
  height: 36px;
  background: url(../img/btn_close_menu@2x.png) center center/contain no-repeat;
  position: relative;
  margin: 0 auto;
}

html[lang="en"] .sp-sidemenu-btn-close,
html[lang="zh"] .sp-sidemenu-btn-close,
html[lang="zh-tw"] .sp-sidemenu-btn-close,
html[lang="ko"] .sp-sidemenu-btn-close {
  background: url(../img/en_btn_close_menu@2x.png) center center/contain no-repeat;
}

.sidemenu-map a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-flow: row nowrap;
  padding: 18px 8px 18px 62px;
  background: url(../img/icon/icon_map@2x.png) left 24px center/22px auto no-repeat;
  color: #444;
}

.sidemenu-list a {
  display: block;
  padding: 18px 8px 18px 62px;
  margin-bottom: 8px;
  background: url(../img/icon/icon_list@2x.png) left 24px center/22px auto no-repeat;
  color: #444;
}

.language-wrap {
  margin-top: 8px;
}

.sidemenu-list {
  border-bottom: solid 1px #D7E8F2;
}

.sidemenu-language div {
  display: block;
  padding: 14px 8px 14px 62px;
  color: #444;
  background: url(../img/icon/icon_world@2x.png) left 24px center/22px auto no-repeat;
}

.sp-language-select-wrap {
  width: auto;
  margin: 0 8px 0 24px;
  overflow: hidden;
  border-radius: 4px;
  border: solid 1px #D7E8F2;
}

.sp-language-select {
  width: 100%;
  display: block;
  padding: 14px;
  background: #fff url(../img/icon/icon_triangle@2x.png) right 12px center/10px auto no-repeat;
  border: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  position: relative;
  font-size: 1.6rem;
}

.sp-language-select option {
  background: #fff;
  color: #444;
}

.sp-footer {
  width: 100%;
  padding: 8px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.l-container-wrap .sp-footer {
  position: static;
  margin: 32px auto;
}

.sp-footer .logo-tourist img {
  width: 156px;
  margin: 0 auto;
}

.sp-footer .copyright {
  margin-top: 8px;
  font-size: 1rem;
  color: #9b9b9b;
  text-align: center;
}

select::-ms-expand {
  display: none;
}

/*leaflet*/
.leaflet-control-container .leaflet-top {
  top: 38px;
}

.article-map .leaflet-control-container .leaflet-top {
  top: 0px;
}

.article-map .current-position-button {
  display: none;
}

.article-map .leaflet-touch .leaflet-bar {
  border: 1px solid #4587c5;
}

.leaflet-control-zoom.leaflet-bar a:first-child span {
  top: 0;
}

/*slick*/
.slick-slide {
  outline: none;
}

.detail-image-wrap {
  display: none;
}

.slick-loading .slick-list {
  background: #fff url("../img/ajax-loader.gif") center center no-repeat;
}

.slick-prev {
  left: 0;
  z-index: 1;
}

.slick-next {
  right: 0;
}

.slick-prev, .slick-next {
  display: none;
  width: 40px;
  height: 50px;
  padding: 10px 5px;
  top: 50%;
}

.slick-prev:before, .slick-next:before {
  font-size: 30px;
}

.slick-dots {
  display: none;
  height: 22px;
  top: 0;
  bottom: 0;
}

.slick-dots li {
  margin: 0;
}

.slick-dots li button {
  opacity: 0.5;
  background: url(../img/icon/slick_dot.png) center center/8px auto no-repeat;
}

.slick-dots li.slick-active button {
  opacity: 1;
  background: url(../img/icon/slick_dot_active.png) center center/8px auto no-repeat;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before, .slick-dots li.slick-active button:before, .slick-dots li button:before {
  content: none;
  opacity: 0;
}

.slick-dots li:only-child {
  display: none;
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.detail-image-wrap.slick-initialized {
  display: block;
}

.detail-image-wrap.slick-initialized .slick-dots, .detail-image-wrap.slick-initialized .slick-prev, .detail-image-wrap.slick-initialized .slick-next {
  display: block;
}

/*slick lightbox*/
.slick-lightbox-slick-item {
  font-size: 0;
}

.slick-lightbox-slick-item-inner {
  max-width: 94%;
  max-height: 94%;
  vertical-align: middle;
}

.slick-lightbox-slick-img {
  max-width: 94%;
  max-height: 94%;
  margin: 0 auto;
}

.slick-lightbox-close {
  width: 34px;
  height: 36px;
  background: url(../img/btn_close_menu@2x.png) center center/contain no-repeat;
  top: 10px;
  right: 10px;
}

.slick-lightbox-close:before {
  content: none;
}

@media screen and (min-width: 501px) {
  .slick-slide figure {
    width: calc(100% - 10px);
    margin: 0 5px;
  }
}

/*----------------------------------
sp layout
----------------------------------*/
.l-map-content-wrap {
  height: 100%;
}

.l-wrapper {
  width: 100%;
  min-width: 320px;
  margin: 0 auto;
  flex-grow: 1;
  flex-shrink: 1;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

/*iOS10用*/
.l-map-content-wrap .l-wrapper {
  height: 100%;
}

/*header*/
.l-header {
  width: 100%;
  height: 51px;
  padding: 0 8px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row nowrap;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 3;
  border-bottom: 1px solid transparent;
}

body:not(.l-map-content-wrap) .l-header {
  border-bottom: 1px solid #ddd;
}

.l-header .title-wrap {
  height: 50px;
}

.l-header .header-title {
  height: 100%;
}

.l-header .header-title a {
  width: auto;
  height: 100%;
  padding-left: 8px;
  color: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row nowrap;
}

.l-header .header-title img {
  margin-right: 4px;
}

.l-header .header-pair-btn-wrap,
.l-header .weather-wrap {
  flex-grow: 0;
  flex-shrink: 0;
}

.l-header .header-title {
  font-size: 1.6rem;
  line-height: 1.2;
  text-align: left;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-flow: row nowrap;
  overflow: hidden;
}

.l-header .header-title img {
  display: inline-block;
  vertical-align: middle;
  flex-grow: 0;
  flex-shrink: 0;
}

.header-btn-wrap {
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-flow: row nowrap;
}

.sp-header-btn {
  width: 44px;
  height: 50px;
  display: inline-block;
}

.sp-header-btn.btn-category {
  background: url(../img/sp_btn_category@2x.png) center center/contain no-repeat;
}

.sp-header-btn.btn-category.is-active {
  background: url(../img/sp_btn_category_active@2x.png) center center/contain no-repeat;
}

.sp-header-btn.btn-list {
  background: url(../img/sp_btn_list@2x.png) center center/contain no-repeat;
}

.sp-header-btn.btn-map {
  background: url(../img/sp_btn_map@2x.png) center center/contain no-repeat;
}

/*英語*/
html[lang="en"] .sp-header-btn.btn-category {
  background: url(../img/en_sp_btn_category@2x.png) center center/contain no-repeat;
}

html[lang="en"] .sp-header-btn.btn-category.is-active {
  background: url(../img/en_sp_btn_category_active@2x.png) center center/contain no-repeat;
}

html[lang="en"] .sp-header-btn.btn-list {
  background: url(../img/en_sp_btn_list@2x.png) center center/contain no-repeat;
}

html[lang="en"] .sp-header-btn.btn-map {
  background: url(../img/en_sp_btn_map@2x.png) center center/contain no-repeat;
}

/*简体中文*/
html[lang="zh"] .sp-header-btn.btn-category {
  background: url(../img/hans_sp_btn_category@2x.png) center center/contain no-repeat;
}

html[lang="zh"] .sp-header-btn.btn-category.is-active {
  background: url(../img/hans_sp_btn_category_active@2x.png) center center/contain no-repeat;
}

html[lang="zh"] .sp-header-btn.btn-list {
  background: url(../img/hans_sp_btn_list@2x.png) center center/contain no-repeat;
}

html[lang="zh"] .sp-header-btn.btn-map {
  background: url(../img/hans_sp_btn_map@2x.png) center center/contain no-repeat;
}

/*繁體中文*/
html[lang="zh-tw"] .sp-header-btn.btn-category {
  background: url(../img/hant_sp_btn_category@2x.png) center center/contain no-repeat;
}

html[lang="zh-tw"] .sp-header-btn.btn-category.is-active {
  background: url(../img/hant_sp_btn_category_active@2x.png) center center/contain no-repeat;
}

html[lang="zh-tw"] .sp-header-btn.btn-list {
  background: url(../img/hant_sp_btn_list@2x.png) center center/contain no-repeat;
}

html[lang="zh-tw"] .sp-header-btn.btn-map {
  background: url(../img/hant_sp_btn_map@2x.png) center center/contain no-repeat;
}

/*韓国語*/
html[lang="ko"] .sp-header-btn.btn-category {
  background: url(../img/kr_sp_btn_category@2x.png) center center/contain no-repeat;
}

html[lang="ko"] .sp-header-btn.btn-category.is-active {
  background: url(../img/kr_sp_btn_category_active@2x.png) center center/contain no-repeat;
}

html[lang="ko"] .sp-header-btn.btn-list {
  background: url(../img/kr_sp_btn_list@2x.png) center center/contain no-repeat;
}

html[lang="ko"] .sp-header-btn.btn-map {
  background: url(../img/kr_sp_btn_map@2x.png) center center/contain no-repeat;
}

.l-list-content-wrap .sp-header-btn.btn-list {
  display: none;
}

.l-map-content-wrap .sp-header-btn.btn-map {
  display: none;
}

.l-detail-content-wrap .sp-header-btn.btn-category {
  display: none;
}

.sp-header-btn.btn-header-sidemenu {
  background: url(../img/sp_btn_menu@2x.png) center center/contain no-repeat;
}

html[lang="en"] .sp-header-btn.btn-header-sidemenu {
  background: url(../img/en_sp_btn_menu@2x.png) center center/contain no-repeat;
}

html[lang="zh"] .sp-header-btn.btn-header-sidemenu {
  background: url(../img/hans_sp_btn_menu@2x.png) center center/contain no-repeat;
}

html[lang="zh-tw"] .sp-header-btn.btn-header-sidemenu {
  background: url(../img/hant_sp_btn_menu@2x.png) center center/contain no-repeat;
}

html[lang="ko"] .sp-header-btn.btn-header-sidemenu {
  background: url(../img/kr_sp_btn_menu@2x.png) center center/contain no-repeat;
}

/*l-main*/
.l-main {
  width: 100%;
  height: calc(100% - 51px);
  margin-top: 51px;
  min-height: 270px;
  z-index: 1;
}

.l-container-wrap {
  width: 100%;
  position: relative;
}

body.l-map-content-wrap .l-container-wrap,
body.l-list-no-result .l-container-wrap {
  height: 100%;
}

.sp-container-column {
  height: 100%;
}

/*詳細ページ用*/
.l-section {
  width: 100%;
  margin: 0 auto;
}

.l-section + .l-section {
  margin-top: 20px;
}

/*footer*/
.l-footer {
  width: 100%;
  height: 42px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-flow: row nowrap;
  background: linear-gradient(to right, #ffffff 306px, rgba(255, 255, 255, 0.7) 306px, rgba(255, 255, 255, 0.7));
  font-size: 1.4rem;
  flex-grow: 0;
  flex-shrink: 0;
  bottom: 0;
  left: 0;
}

.l-map-content-wrap .l-footer {
  background: rgba(255, 255, 255, 0.7);
  position: absolute;
  z-index: 1;
}

body:not(.l-map-content-wrap):not(.l-list-content-wrap) .l-footer {
  background: #fff;
}

.l-footer .logo-tourist {
  width: 220px;
  margin-right: 16px;
  flex-grow: 0;
  flex-shrink: 0;
}

.l-footer .logo-tourist img {
  width: 100%;
  height: auto;
}

.l-footer .copyright {
  margin: 0 0 0 auto;
  padding-left: 1em;
  font-size: 1.2rem;
  color: #9b9b9b;
}

/*ロゴが横に大きいheader用*/
@media screen and (max-width: 500px) {
  .l-header.higher-header {
    height: 101px;
    padding-right: 0;
    flex-flow: row wrap;
  }
  .l-header.higher-header .title-wrap {
    height: 50px;
    flex-grow: 1;
  }
  .l-header.higher-header .header-title a {
    padding-right: 8px;
  }
  .l-header.higher-header .header-btn-wrap {
    margin: 0 0 0 auto;
  }
  .l-header.higher-header + .l-main {
    height: calc(100% - 101px);
    min-height: 220px;
    margin-top: 101px;
  }
  .l-header.higher-header + .l-main .sp-select-cate-wrap.is-active {
    top: 101px;
  }
}

/*# sourceMappingURL=style_sp.css.map */
