@charset "UTF-8";
/*
breakpoint 

@include _mq-down(sm) {}
@include _mq-down(md) {}
*/
/*
レティナディスプレイに対応させるための高画質の画像 logo-2x.png を
.logo { @include _p-imgRetina(logo, png, 100px, 40px);
}
*/
/* ------------------------------------------------------------------
map base
-------------------------------------------------------------------
*/
.l-map { position: relative; left: 0; top: 0; display: block; overflow: hidden; }

.l-map_base { width: 100%; height: auto; display: block; }

.l-map::-webkit-scrollbar { display: block; }

/* ------------------------------------------------------------------
map sidenavi
-------------------------------------------------------------------
*/
.l-map_contents { position: absolute; left: 0; top: 0; display: block; width: 320px; height: 100%; z-index: 1000; background-color: #fff; box-shadow: 0px 0px 5px 3px #b2b2b2; -moz-box-shadow: 0px 0px 5px 3px #b2b2b2; -webkit-box-shadow: 0px 0px 5px 3px #b2b2b2; }
@media screen and (max-width: 599px) { .l-map_contents { position: absolute; left: 0; top: 150vh; width: 100%; z-index: 500; } }

.l-tourism_link { font-size: 12px; font-size: 0.75rem; width: 100%; height: auto; min-height: 15px; padding: 8px; color: #fff; display: inline-block; position: absolute; }
.l-tourism_link:hover, .l-tourism_link:active, .l-tourism_link:focus { text-decoration: underline; color: #fff; }
.l-tourism_link a { color: #fff; }

.l-tourism_link_a { width: 100%; height: auto; display: block; background-color: #01699f; background-repeat: no-repeat; background-position: calc(100% - 10px) center; background-size: auto 10px; }

.l-tourism_contents { height: auto; min-height: 15px; display: block; background-color: #01699f; }

.l-map_check-pop { position: absolute; left: 313px; top: 7px; width: 161px; height: 45px; line-height: 45px; display: block; z-index: 1200; padding: 0 0 0 43px; opacity: 0; color: #01699f; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; font-size: 12px; font-size: 0.75rem; background-repeat: no-repeat; background-position: left top; background-size: 100% auto; }
@media screen and (max-width: 599px) { .l-map_check-pop { position: fixed; width: 195px; height: 85px; padding: 33px 0 0 40px; top: 25px; left: 25%; z-index: 1200; font-size: 14px; font-size: 0.875rem; } }

.l-map_event-pop { position: absolute; left: 340px; top: 10px; width: 210px; height: 40px; line-height: 1; display: inline-block; vertical-align: middle; z-index: 70; padding: 7px 0 0 40px; color: #d62e00; font-size: 12px; font-size: 0.75rem; background-repeat: no-repeat; background-position: left top; background-size: 100% auto; }
.l-map_event-pop:hover, .l-map_event-pop:active, .l-map_event-pop:focus { color: #d62e00; }
@media screen and (max-width: 599px) { .l-map_event-pop { position: fixed; left: calc(97% - 210px); z-index: 5; } }

/* ------------------------------------------------------------------
header menu
-------------------------------------------------------------------
*/
.l-map_header { display: table; table-layout: fixed; width: 100%; margin-top: 40px; }

.l-map_header-li { display: table-cell; vertical-align: middle; text-align: center; }

.l-map_header-lis { float: right; margin-right: 10px; }

.l-tourism_logo { width: 120px; height: auto; }

/* ------------------------------------------------------------------
map tab
-------------------------------------------------------------------
*/
.tabmenu { position: relative; width: 100%; height: auto; font-size: 0; top: 0; float: left; }
@media screen and (max-width: 599px) { .tabmenu { top: 0; float: none; } }

.tabmenu.is-3col input[type="radio"] + .l-target { width: 33.333333%; }

.tabmenu input[type="radio"] { display: none; }

.tabmenu input[type="radio"] + .l-target { position: relative; bottom: 0; z-index: 100; display: inline-block; width: 25%; vertical-align: middle; background: #fff; color: #707070; text-align: center; font-size: 11px; cursor: pointer; }
.tabmenu input[type="radio"] + .l-target.l-no_login { width: 100%; height: 50px; cursor: default; }

.tabmenu input[type="radio"]:checked + .l-target { background: #01699f; color: #fff; }

.tabmenu input[type="radio"]:checked + .l-target::after { position: absolute; left: 50%; display: block; content: “”; }

.tabmenu input[type="radio"] + .l-target ~ .l-target_area { display: none; }

.tabmenu input[type="radio"]:checked + .l-target ~ .l-target_area { display: block; }

.l-target_area { position: absolute; left: 0; display: block; width: 100%; height: calc(100vh - 60px - 80px - 30px); overflow: auto; font-size: 11px; cursor: default; background-color: #fff; background-size: 100% auto; background-position: left bottom; background-repeat: no-repeat; }
@media screen and (max-width: 599px) { .l-target_area { overflow: scroll; overflow-y: scroll; transform: translateZ(0); overflow-scrolling: touch; -webkit-overflow-scrolling: touch; } }

.l-list_title_hd { display: table; width: 100%; height: 50px; vertical-align: middle; text-align: center; }

.l-list_title { display: table-cell; vertical-align: middle; text-align: center; line-height: 1.25; border-bottom: 1px solid #dddddd; }

/* ------------------------------------------------------------------
map card
-------------------------------------------------------------------
*/
.l-map_link { cursor: pointer; }
.l-map_link a { color: #373d3f !important; }
.l-map_link:hover, .l-map_link:active, .l-map_link:focus { text-decoration: none; color: #373d3f; background-color: red; }

.l-map_list_card { width: 100%; display: table; overflow: hidden; border-bottom: 1px solid #dddddd; background-repeat: no-repeat; background-position: calc(100% - 10px) center; background-color: #fff; background-size: 7px auto; }
.l-map_list_card:hover, .l-map_list_card:active, .l-map_list_card:focus { background-color: #dcf1ff; }
.l-map_list_card:hover .l-map_data-title:before, .l-map_list_card:active .l-map_data-title:before, .l-map_list_card:focus .l-map_data-title:before { background: -moz-linear-gradient(0% 50% 0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); background: -webkit-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 253, 245, 0)), color-stop(0.664, #dcf1ff)); background: -o-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); background: -ms-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5', endColorstr='#DCF1FF' ,GradientType=0)"; background: linear-gradient(90deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5',endColorstr='#DCF1FF' , GradientType=1); }

.l-map_card_img { width: 30%; padding: 15px 0 15px 15px; display: table-cell; vertical-align: middle; text-align: -webkit-center; }

.l-map_card_img_other { width: 15%; padding: 10px 0 10px 10px; display: table-cell; vertical-align: middle; }

.l-map_thum { width: 80px; height: 80px; background-repeat: no-repeat; background-position: center; background-size: cover; overflow: hidden; display: block; }

.l-map_pin_thum { width: 40px; height: 40px; background-repeat: no-repeat; background-position: center center; background-size: auto 40px; overflow: hidden; display: block; }

.l-map_list_data { padding-left: 10px; display: table-cell; vertical-align: middle; color: #373d3f; }

.l-map_data-title { width: calc(100% - 20px); font-size: 16px; font-size: 1rem; min-height: 42px; line-height: 42px; position: relative; left: 0; top: 0; overflow: hidden; }
.l-map_data-title:before { content: ""; width: 50px; height: 50px; position: absolute; top: 0; right: 0; z-index: 100; background: -moz-linear-gradient(0% 50% 0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); background: -webkit-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 253, 245, 0)), color-stop(0.6609, white)); background: -o-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); background: -ms-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5', endColorstr='#FFFFFF' ,GradientType=0)"; background: linear-gradient(90deg, rgba(255, 253, 245, 0) 0%, white 66.09%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5',endColorstr='#FFFFFF' , GradientType=1); }

.l-map_other_data-title { font-size: 16px; font-size: 1rem; min-height: 20px; line-height: 20px; position: relative; left: 0; top: 0; overflow: hidden; }
.l-map_other_data-title:before { content: ""; width: 20px; height: 20px; }

.l-map_title-hiden { display: block; overflow: hidden; white-space: nowrap; position: absolute; left: 0; top: 0; }

.l-map_contributor { display: table; }

.l-map_contributor_my { width: 100%; }

.l-map_contributor-title { display: table-cell; padding-right: 10px; font-size: 10px; font-size: 0.625rem; vertical-align: middle; }

.l-map_contributor-name { display: table-cell; float: left; font-size: 12px; font-size: 0.75rem; vertical-align: middle; }

.l-map_list { padding-top: 8px; display: block; }

.l-map_category { float: left; clear: both; display: table; vertical-align: middle; margin-right: 5px; }
.l-map_category:after { content: ""; display: block; clear: both; }

.l-map_category-title { display: table-cell; vertical-align: middle; padding-right: 8px; font-size: 10px; font-size: 0.625rem; color: #707070; }

.l-map_category-type, .l-map_category-type-tablet, .l-map_category-type-spot, .l-map_category-type-notices { float: left; display: table-cell; font-size: 10px; font-size: 0.625rem; background-color: #01699f; color: #fff; text-align: center; padding: 3px 5px; line-height: 1em; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; }

.l-map_category-type-tablet { background-color: #d62e00; margin-right: 5px; }

.l-map_category-type-spot { background-color: #00bcd4; margin-right: 5px; }

.l-map_spot-event { margin-bottom: 25px; }
.l-map_spot-event .l-shop_curpon:nth-child(2) { margin-top: 10px; }

.l-shop_spot-title { background-color: #d62e00; color: #fff; line-height: 55px; text-align: center; }

.l-shop_spot-text { padding: 0 10px; }

.l-map_category-type-notices { background-color: #4caf50; margin-right: 5px; }

.l-map_wanttogo { float: right; margin-right: 30px; line-height: 18px; font-size: 12px; font-size: 0.75rem; }

.l-myself:hover, .l-myself:active, .l-myself:focus { background-color: #dcf1ff; }
.l-myself:hover .l-map_data-title:before, .l-myself:active .l-map_data-title:before, .l-myself:focus .l-map_data-title:before { background: -moz-linear-gradient(0% 50% 0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); background: -webkit-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 253, 245, 0)), color-stop(0.664, #dcf1ff)); background: -o-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); background: -ms-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5', endColorstr='#DCF1FF' ,GradientType=0)"; background: linear-gradient(90deg, rgba(255, 253, 245, 0) 0%, #dcf1ff 66.4%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5',endColorstr='#DCF1FF' , GradientType=1); }
.l-myself .l-map_category-type, .l-myself .l-map_category-type-tablet, .l-myself .l-map_category-type-spot, .l-myself .l-map_category-type-notices { background-color: #e09422; }

/* ------------------------------------------------------------------
other
-------------------------------------------------------------------
*/
.l-loadingbox { position: relative; display: block; width: 100%; height: 300px; }

.l-note_date { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

/* ------------------------------------------------------------------
map view change
-------------------------------------------------------------------
*/
.l-bg_background { content: ""; position: fixed; left: -100%; display: block; width: 100%; height: 100vh; background-color: #000000; opacity: 0; filter: alpha(opacity=0); z-index: 0; transition: opacity  300ms 0s ease; }

.l-change_view { position: fixed; top: 0; left: -350px; display: block; min-height: 100vh; z-index: 200000; }
@media screen and (max-width: 599px) { .l-change_view { left: -100%; width: 100%; min-width: 320px; min-height: auto; overflow-y: auto; overflow: auto; height: calc(100% - 60px); transform: translateZ(0); overflow-scrolling: touch; -webkit-overflow-scrolling: touch; } }

.l-menu_view_change { position: absolute; display: block; width: 300px; height: 100vh; left: -120%; top: 0; overflow: auto; padding: 30px 20px; background-color: #fff; z-index: 10; background-size: 100% auto; background-position: left bottom; background-repeat: no-repeat; }
@media screen and (max-width: 599px) { .l-menu_view_change { width: calc(100% - 50px); overflow-y: auto; overflow: auto; height: 100vh; transform: translateZ(0); overflow-scrolling: touch; -webkit-overflow-scrolling: touch; } }

.l-map_btn-base { width: 300px; display: block; position: relative; left: 0; top: 0; }
@media screen and (max-width: 599px) { .l-map_btn-base { width: 100%; position: absolute; right: 0; top: 0; } }

.l-map_btn-close { width: 30px; height: 30px; display: block; position: absolute; top: 15px; right: -40px; z-index: 200000; background-position: left center; background-repeat: no-repeat; background-size: 100% auto; cursor: pointer; }
@media screen and (max-width: 599px) { .l-map_btn-close { top: 15px; right: 8px; opacity: 0; } }

.l-menu_change { border-bottom: 1px solid #707070; padding-bottom: 30px; }

.l-menu_change-title { font-size: 20px; font-size: 1.25rem; color: #01699f; line-height: 1em; }

.l-change_contents { display: table; table-layout: fixed; width: 100%; height: 20px; line-height: 1em; letter-spacing: -0.5em; }

.l-change_title { display: inline-block; width: calc(100% - 75px); font-size: 16px; font-size: 1rem; text-align: left; line-height: 1em; vertical-align: middle; letter-spacing: normal; }

.l-change_title_btn { display: inline-block; text-align: right; width: 75px; height: 20px; position: relative; border: 0px solid transparent; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; background-color: #dddddd; vertical-align: middle; letter-spacing: normal; }

.l-change_subtext { display: none; width: 100%; margin-top: 5px; text-align: right; font-size: 12px; font-size: 0.75rem; color: #d62e00; }

/* ------------------------------------------------------------------
トグルボタン
-------------------------------------------------------------------
*/
.l-menu_change_content1 { margin-top: 25px; }

.l-menu_change_content2 { margin-top: 15px; }

input[type="checkbox"].toggle-button { -webkit-appearance: none; -ms-appearance: none; -moz-appearance: none; display: none; margin: 0; width: 75px; height: 20px; min-height: 20px; border: 0px solid transparent; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; cursor: pointer; background-color: #dddddd; transition: background-color .4s ease; background-color: red; z-index: 100; pointer-events: none; }

input[type="checkbox"].toggle-button:checked { background-color: #dddddd; }

input[type="checkbox"].toggle-button + label { position: absolute; display: inline-block; top: 0; left: 0; width: 38px; height: 20px; line-height: 20px; border: 0px solid transparent; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; background-color: #707070; transition: left .4s ease, background-color .4s ease; }
input[type="checkbox"].toggle-button + label:before { content: "OFF"; position: absolute; text-align: center; left: 0; top: 0; width: inherit; line-height: 20px; color: #fff; font-size: 12px; font-size: 0.75rem; }

input[type="checkbox"].toggle-button:checked + label { position: absolute; display: inline-block; top: 0; left: 38px; width: 38px; height: 20px; border: 0px solid transparent; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; background-color: #01699f; }
input[type="checkbox"].toggle-button:checked + label:before { content: "ON"; position: absolute; text-align: center; left: 0; top: 0; width: inherit; line-height: 20px; color: #fff; border: 0px solid transparent; font-size: 12px; font-size: 0.75rem; }

input[type="checkbox"].toggle-button:focus { outline: none; }

input[type="checkbox"].toggle-button:disabled { background-color: #f5f5f5; cursor: default; }

input[type="checkbox"].toggle-button:disabled + label { background-color: #d4d4d4; color: #fff; cursor: default; }

/* ------------------------------------------------------------------
マイルート
-------------------------------------------------------------------
*/
.l-myroot-list { font-size: 12px; font-size: 0.75rem; display: none; margin-top: 8px; margin-left: 20px; }
.l-myroot-list li { line-height: 1em; margin-bottom: 10px; }
.l-myroot-list li:last-child { margin-bottom: 0; }
.l-myroot-list li input { vertical-align: middle; margin-top: 0; margin-right: 5px; margin-left: 0; }
@media screen and (max-width: 599px) { .l-myroot-list { font-size: 16px; font-size: 1rem; white-space: nowrap; } }

.l-photocategory-list { display: none; font-size: 12px; font-size: 0.75rem; margin-top: 8px; margin-left: 20px; }
.l-photocategory-list li { line-height: 1em; margin-bottom: 5px; padding-right: 10px; display: inline-block; }
.l-photocategory-list li:last-child { margin-bottom: 0; }
.l-photocategory-list li input { vertical-align: middle; margin-top: 0; margin-right: 5px; margin-left: 0; }
@media screen and (max-width: 599px) { .l-photocategory-list { font-size: 16px; font-size: 1rem; } }

.l-eventbtn_box a { margin-top: 10px; }
.l-eventbtn_box a:first-child { margin-top: 20px; }

/* ------------------------------------------------------------------
マップ詳細
-------------------------------------------------------------------
*/
@media screen and (max-width: 599px) { .p-map_scrollevent { overflow: scroll; overflow-y: scroll; transform: translateZ(0); overflow-scrolling: touch; -webkit-overflow-scrolling: touch; } }

@media screen and (max-width: 599px) { .p-map_notice_bar_scroll, .p-map_spot_bar_scroll { padding-bottom: 50vh; } }

.p-map_header-pc { display: inline-block; padding-bottom: 10px; float: left; position: static; }
@media screen and (max-width: 599px) { .p-map_header-pc { padding-bottom: 0; float: none; position: absolute; z-index: 0; } }

.p-map_detaile-title { position: relative; left: 0; top: 0; width: 100%; padding: 20px 0; background-color: #01699f; margin-bottom: 10px; color: #fff; line-height: 1em; }
@media screen and (max-width: 599px) { .p-map_detaile-title { margin-top: 0; margin-bottom: 10px; user-select: none; -ms-user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; } }

@media screen and (max-width: 599px) { .p-map_detaile-title_sp { display: block; position: relative; left: 0; top: 0; width: 100%; padding: 20px 0; background-color: #01699f; margin-bottom: 0; color: #fff; line-height: 1em; font-size: 16px; font-size: 1rem; } }

.p-map_detailes_navi { display: table; table-layout: fixed; width: 100%; padding-bottom: 10px; }

.p-map_detailes_navi-list { display: table-cell; vertical-align: middle; }

.p-map_detailes_li { font-size: 12px; font-size: 0.75rem; }

.p-map_detail_box { padding: 0 20px 30px; height: calc(100vh - 215px); overflow: auto; }
@media screen and (max-width: 599px) { .p-map_detail_box { overflow: scroll; overflow-y: scroll; transform: translateZ(0); overflow-scrolling: touch; -webkit-overflow-scrolling: touch; } }

.p-map_detaile-img { width: 100%; display: block; margin: 0 auto 0; overflow: hidden; background-repeat: no-repeat; background-size: cover; background-position: center center; background-color: #f8f8f8; -webkit-overflow-scrolling: touch; }
.p-map_detaile-img.l-mb { margin-bottom: 15px; }
.p-map_detaile-img img { width: 100%; -webkit-overflow-scrolling: touch; }

.p-map_thum { height: 0; padding-top: 100%; display: block; }

.p-map_detailes-text { width: 100%; margin-top: 5px; line-height: 1.7; word-break: break-all; }

.p-map_detail_icon { display: inline-block; padding: 0 8px 0 25px; margin-left: 0; line-height: 20px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; font-size: 12px; font-size: 0.75rem; background-position: 8px center; background-repeat: no-repeat; background-size: 12px auto; }
.p-map_detail_icon.p-icon_wanna1 { color: #01699f; border: 1px solid #01699f; cursor: pointer; }
.p-map_detail_icon.p-icon_wanna2 { color: #fff; border: 1px solid #01699f; background-color: #01699f; pointer-events: none; }
.p-map_detail_icon.p-icon_wanna3 { color: #707070; border: none; background-color: #fff; pointer-events: none; }
.p-map_detail_icon.p-icon_map { color: #01699f; border: 1px solid #01699f; background-size: 10px auto; cursor: pointer; }
.p-map_detail_icon.l-dushbox { line-height: 30px; background-size: 13px auto; cursor: pointer; }

.l-map_now_base { padding-right: 10px; background-repeat: no-repeat; background-position: right center; background-size: auto 8px; }

.l-map_now_box_my { display: block; float: right; }

.l-map_now_box { display: block; text-align: right; }

.p-map_detail_wanna { display: table; table-layout: auto; float: left; }

.p-map_detail_count { vertical-align: middle; border: 1px solid #01699f; background-color: #01699f; line-height: 21px; display: inline-block; color: #fff; padding: 0 5px; margin-left: 8px; position: relative; left: 0; top: 0; font-size: 12px; font-size: 0.75rem; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.p-map_detail_count::after { content: ""; display: inline-block; width: 0; height: 0; position: absolute; left: -6px; top: 6px; border-style: solid; border-width: 4px 5px 4px 0; border-color: transparent #01699f transparent transparent; }

.p-map_line-top { border-top: 1px solid #373d3f; padding-top: 10px; }

.p-map_line-bottom { width: 100%; border-bottom: 1px solid #373d3f; padding-bottom: 10px; }
.p-map_line-bottom:after { content: ""; display: block; clear: both; }
.p-map_line-bottom.p-map_line-top { padding-top: 0px; }

.p-map_line-event { border-top: 1px solid #373d3f; margin-top: 25px; padding-top: 10px; line-height: 15px; }

.p-map_contributor { display: table; margin-top: 10px; margin-bottom: 8px; float: left; }
.p-map_contributor.float-none { float: none; }

.p-map_contributor-list { display: table-cell; }

.p-map_contributor-title { font-size: 10px; font-size: 0.625rem; color: #707070; padding-right: 10px; }

.p-map_contributor-name { font-size: 14px; font-size: 0.875rem; }

.p-map_categorykind { display: table; float: left; }

.p-map_category_type { min-width: 35px; height: 16px; line-height: 16px; display: inline-block; vertical-align: middle; text-align: center; padding: 0 5px; background-color: #01699f; color: #fff; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; font-size: 10px; font-size: 0.625rem; }

.l-my_self .p-map_category_type { background-color: #e09422; }

.p-map_categorykind-cell { display: table-cell; }

.p-map_posteddate { display: table; float: right; }

.p-map_posteddate-cell { display: table-cell; }

.p-map_posteddate-day { font-size: 12px; font-size: 0.75rem; }

.p-near_photo { display: block; clear: both; margin-top: 10px; }

.p-near_photo_box { width: 100%; display: block; margin: 20px auto 30px; padding: 0 5px 30px; }
.p-near_photo_box:after { content: ""; display: block; clear: both; }

.p-near_photo_list { display: inline-block; float: left; }

.p-near_photo-img { width: calc(100% / 3); background-color: #f8f8f8; display: block; float: left; background-repeat: no-repeat; background-size: cover; background-position: center center; background-color: #f8f8f8; overflow: hidden; }
.p-near_photo-img img { opacity: 0; width: 60px; height: 60px; }

.p-near_photo-thum { display: block; height: 0; padding-top: 100%; }

.p-map_icon_alink { background-size: auto 10px; background-repeat: no-repeat; background-position: left center; padding-left: 10px; margin-top: 25px; display: inline-block; }

/* ------------------------------------------------------------------
ショップレイアウト
-------------------------------------------------------------------
*/
.l-shop_curpon { border: 2px solid #d62e00; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }

.l-shop_curpon-title { background-color: #d62e00; color: #fff; line-height: 1.2; padding: 10px 0; text-align: center; }

.l-shop_curpon-text { padding: 20px; word-break: break-all; }
.l-shop_curpon-text p { font-weight: bold; line-height: 1.4; }

.l-shop_title { margin-top: 25px; font-size: 20px; font-size: 1.25rem; display: inline-block; word-break: break-all; }

.l-supot_title { font-size: 20px; font-size: 1.25rem; display: inline-block; line-height: 1.2; word-break: break-all; }

.l-shop_data_th { font-size: 12px; font-size: 0.75rem; border-bottom: 1px solid #373d3f; margin-top: 15px; }

.l-shop_data_td { padding-left: 10px; word-break: break-all; }

.l-event_detaile-title { font-size: 16px; font-size: 1rem; }

.l-event_detaile-text { margin-top: 5px; word-break: break-all; }

.l-event_detaile-box { margin-top: 20px; }

/* ------------------------------------------------------------------
閲覧数
-------------------------------------------------------------------
*/
.p-map_view_pd { padding-top: 10px; }

.p-map_views_list { display: table; float: right; clear: both; }

.p-map_views_list-cell { display: table-cell; }

.p-map_views_list-title { font-size: 10px; font-size: 0.625rem; padding-right: 10px; }

.p-map_views_list-text { font-size: 12px; font-size: 0.75rem; }

.p-map_views_list_unit-text { padding-left: 3px; }

/* ------------------------------------------------------------------
マップ　ヘルプ
-------------------------------------------------------------------
*/
.l-map_list_box { display: table; width: 100%; table-layout: fixed; padding: 0 0 0; clear: both; }
.l-map_list_box + .l-map_list_box { margin-top: 10px; padding-top: 10px; border-top: 1px solid #dddddd; }

.l-line .l-map_list_box_list:nth-child(2) .l-map_help_box { border-left: 1px solid #dddddd; }

.l-map_help_boxs { padding: 10px 10px 15px; }

.l-map_help_box { padding: 10px 10px 15px; }

.l-help_inner { text-align: center; }
.l-help_inner .l-help_text { display: inline-block; }

.l-map_list_box_list { display: table-cell; }
.l-map_list_box_list + .l-map_list_box_list { width: 50%; }

.l-map_pin_help_img { height: 60px; margin-top: 15px; margin-bottom: 5px; position: relative; text-align: center; }
@media screen and (max-width: 599px) { .l-map_pin_help_img { height: 80px; margin-top: 0; margin-bottom: 0; } }

.l-map_list_pin { width: 100%; max-width: 140px; display: block; margin: 0 auto; overflow: hidden; }

.l-map_pin_help_span { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 60px; height: 60px; }

.l-map_list_pin_detaile { width: auto; float: left; display: inline-block; text-align: center; }

.l-map_list_pin_detaile_ul { width: 50%; }

.l-map_spot_icon { width: 45%; float: left; margin-top: 7px; margin-left: 2%; padding-left: 15px; border-left: 1px solid #dddddd; }
@media screen and (max-width: 599px) { .l-map_spot_icon { margin-top: 0; width: calc(100% - 5px); margin: 10px 0; padding: 20px 10px 0; display: block; clear: both; border-top: 1px solid #dddddd; border-left: none; float: left; } }

.l-map_spot_box { width: 100%; margin-top: 20px; }

.l-map_spot_box2 { width: 100%; margin-top: 20px; }

.l-map_spot_box { width: 100%; margin-top: 20px; }

.l-map_spot_box-li { margin-bottom: 15px; width: calc(100% / 4); display: inline-block; float: left; text-align: center; }
@media screen and (max-width: 599px) { .l-map_spot_box-li { margin-bottom: 10px; } }

.l-map_spot_box-text { width: 100%; display: block; text-align: center; font-size: 10px; font-size: 0.625rem; line-height: 1.2; }

@media screen and (min-width: 600px) { .l-modal_helpbox { width: 53%; float: left; } }

@media screen and (min-width: 600px) { .l-modal_content { max-width: auto; } }

.l-modal_content_modal { max-width: 600px; }

@media screen and (min-width: 600px) { .l-modal_contents { width: 100%; } }

@media screen and (min-width: 600px) { .l-modal_delete { width: 350px; max-width: 400px; } }

.l-pin_size_type01 { width: 60px; }
@media screen and (min-width: 400px) { .l-pin_size_type01 { width: 60px; height: auto; }
  .l-pin_size_type01 img { width: 100%; height: auto; } }

.l-pin_size_type02 { width: 95px; }
@media screen and (min-width: 400px) { .l-pin_size_type02 { width: 105px; height: auto; }
  .l-pin_size_type02 img { width: 100%; height: auto; } }

.l-pin_size_type03 { width: calc(100% / 4); }
@media screen and (min-width: 400px) { .l-pin_size_type03 { height: auto; } }
.l-pin_size_type03 img { width: 100%; max-width: 60px; height: auto; margin-bottom: 5px; }

.l-remodal_nologin { width: 460px; }
@media screen and (max-width: 599px) { .l-remodal_nologin { width: 94%; } }

.l-help_text { display: block; text-align: left; }
.l-help_text.l-pin { margin-top: 10px; }
.l-help_text.l-nowrap { white-space: nowrap; }

@media screen and (max-width: 599px) { .l-help_title_text { letter-spacing: 0; } }

.l-help_myroot { display: block; text-align: center; }

.l-no_login { width: auto; height: 60px; display: table; margin: 0 auto; }

.l-no_pin { width: 60px; height: auto; }

.l-no_login_textbox { display: table-cell; height: 60px; padding-left: 10px; vertical-align: middle; }

.l-no_login_text-title { font-size: 16px; font-size: 1rem; }
@media screen and (max-width: 599px) { .l-no_login_text-title { display: block; text-align: center; } }

.l-no_login_title { height: auto; display: table; text-align: center; font-size: 16px; font-size: 1rem; }

.l-no_login_text { display: block; font-size: 14px; font-size: 0.875rem; }

.l-no_login_line { width: 420px; margin: 30px auto 0; border: 2px solid #373d3f; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; padding: 20px; }
.l-no_login_line:after { content: ""; display: block; clear: both; }
@media screen and (max-width: 599px) { .l-no_login_line { width: 100%; } }

.l-pin_size_type04 { width: 60px; max-width: 80px; }
@media screen and (min-width: 400px) { .l-pin_size_type04 { width: 60px; max-width: auto; height: auto; }
  .l-pin_size_type04 img { width: 100%; height: auto; margin-bottom: 5px; } }
.l-pin_size_type04.m-r15 { margin-right: 12px; }

.l-pin_float_block { display: inline-block; margin: 25px auto 0; }
@media screen and (max-width: 599px) { .l-pin_float_block { margin: 15px auto 0; display: table; } }

.l-pin_float1 { float: left; }
@media screen and (max-width: 599px) { .l-pin_float1 { float: none; margin: 0 auto 10px; display: inline-block; } }

.l-pin_float2 { float: left; }
@media screen and (max-width: 599px) { .l-pin_float2 { float: none; clear: both; display: table; margin: 0 auto 0; } }

.l-pin_float1_list { float: left; }

/* ------------------------------------------------------------------
スポット詳細　イベント　スタンプラリー・ウォーキングの時
-------------------------------------------------------------------
*/
.l-spot_wrap-title { background-color: #d62e00; color: #fff; line-height: 1.2; padding: 0 15px; text-align: center; }

.l-spot_wrap-span { display: inline-table; height: 35px; padding: 10px 0 10px 35px; vertical-align: middle; background-repeat: no-repeat; background-size: 25px auto; background-position: left center; }

.l-map_eventlink_list li + li { border-top: 1px solid #dddddd; }

.l-map_eventlink_title_a { white-space: nowrap; display: block; padding: 10px 0; background-repeat: no-repeat; background-size: 8px auto; background-position: right center; }

.l-map_eventlink_title { width: calc(100% - 20px); font-size: 16px; font-size: 1rem; min-height: 1.5em; line-height: 1.5em; position: relative; left: 0; top: 0; display: block; overflow: hidden; }
.l-map_eventlink_title:before { content: ""; width: 50px; height: 1.5em; position: absolute; top: 0; right: 0; z-index: 1000; background: -moz-linear-gradient(0% 50% 0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); background: -webkit-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 253, 245, 0)), color-stop(0.6609, white)); background: -o-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); background: -ms-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, white 66.09%); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5', endColorstr='#FFFFFF' ,GradientType=0)"; background: linear-gradient(90deg, rgba(255, 253, 245, 0) 0%, white 66.09%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5',endColorstr='#FFFFFF' , GradientType=1); }

.l-map_eventlink_title_detaile { width: calc(100% - 20px); font-size: 16px; font-size: 1rem; min-height: 1.5em; line-height: 1.5em; position: relative; left: 0; top: 0; display: block; overflow: hidden; }
.l-map_eventlink_title_detaile:before { content: ""; width: 50px; height: 1.5em; position: absolute; top: 0; right: 0; z-index: 10; background: -moz-linear-gradient(0% 50% 0deg, rgba(255, 253, 245, 0) 0%, #f8f8f8 66.09%); background: -webkit-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #f8f8f8 66.09%); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(255, 253, 245, 0)), color-stop(0.6609, #f8f8f8)); background: -o-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #f8f8f8 66.09%); background: -ms-linear-gradient(0deg, rgba(255, 253, 245, 0) 0%, #f8f8f8 66.09%); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5', endColorstr='#f8f8f8' ,GradientType=0)"; background: linear-gradient(90deg, rgba(255, 253, 245, 0) 0%, #f8f8f8 66.09%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFDF5',endColorstr='#f8f8f8' , GradientType=1); }

.l-type_spot, .l-type_notice, .l-type_tablet, .l-type_photo { display: none; }

/* ------------------------------------------------------------------
Debug　PC版
-------------------------------------------------------------------
*/
.l-debug { display: none; }

/* ------------------------------------------------------------------
スマホ対応
-------------------------------------------------------------------
*/
.l-map_view_sp { display: none; }
@media screen and (max-width: 599px) { .l-map_view_sp { display: block; } }

.leaflet-bottom { z-index: 100 !important; }
@media screen and (max-width: 599px) { .leaflet-bottom { z-index: 100 !important; } }

.l-map_kankou, .l-map_header { float: left; }
@media screen and (max-width: 599px) { .l-map_kankou, .l-map_header { display: none; float: none; } }

@media screen and (max-width: 599px) { .l-map_view_sp { display: block; position: relative; left: 0; top: 0; width: 100%; z-index: 100; } }

@media screen and (max-width: 599px) { .l-map_menu_sp { position: absolute; width: 100%; left: 0; top: 0; z-index: auto; } }

.l-map_logo_sp { position: fixed; z-index: 3000; top: 150px; left: 50px; display: block; width: 150px; height: 50px; }
@media screen and (max-width: 599px) { .l-map_logo_sp { top: 15px; left: 3%; width: 70px; height: 38px; padding: 8px; background-color: #fff; opacity: 0; } }

@media screen and (max-width: 599px) { .l-map_help_sp { position: absolute; top: 0; left: 0; z-index: 100; } }

@media screen and (max-width: 599px) { .l-map_mymenu_sp { position: absolute; top: 45px; left: 0; z-index: 100; } }

@media screen and (max-width: 599px) { .l-map_gps_sp { position: absolute; top: 45px; right: 3%; z-index: 100; } }

@media screen and (max-width: 599px) { .js-tab-menu_sp { position: absolute; bottom: 0; } }

@media screen and (max-width: 599px) { .js-tab_menu-box { position: absolute; width: 100%; height: 55px; top: 0; margin-top: 95px; display: block; } }

@media screen and (max-width: 599px) { .tab_menu-list { width: 92%; margin: 0 4%; padding: 10px 0; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; text-align: center; color: #fff; background-color: #01699f; display: block; cursor: pointer; background-position: calc(100% - 20px) center; background-size: 14px auto; background-repeat: no-repeat; } }

@media screen and (max-width: 599px) { .l-tab_photolist { z-index: 1000; position: absolute; left: 0; top: 150px; width: 100%; z-index: 1000; } }

@media screen and (max-width: 599px) { .l-tab_otherlist { z-index: 1000; position: absolute; left: 0; top: 150px; width: 100%; z-index: 1000; } }

@media screen and (max-width: 599px) { .l-kankou_link { position: fixed; left: 0; top: 0; z-index: 0; width: 100%; } }

@media screen and (max-width: 599px) { .js-listmenu_close { cursor: pointer; } }

/* ------------------------------------------------------------------
スポット詳細
-------------------------------------------------------------------
*/
.l-spot_detail { position: absolute; width: 320px; left: 100%; top: 0; background-color: #fff; z-index: 9900; }
@media screen and (max-width: 599px) { .l-spot_detail { position: fixed; width: 100%; left: -100%; top: 0; } }

.l-pin_icon { cursor: pointer; }

/* ------------------------------------------------------------------
回転を行った際、エラー表示
-------------------------------------------------------------------
*/
.l-rotate_error { position: fixed; display: none; opacity: 0; }

.js-land { display: none; }

@media only screen and (orientation: landscape) { .l-rotate_error { position: fixed; top: 0; right: 0; left: 0; bottom: 0; background-color: #373d3f; z-index: 500000; display: block; opacity: 1; }
  .l-rotate_box { width: 100%; height: 100%; display: block; position: relative; }
  .l-rotate_icon { position: absolute; width: 100%; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
  .l-rotate_icon img { width: 120px; }
  .l-rotate_p { margin-top: 10px; }
  .l-rotate_txt { color: #fff; text-align: center; } }
/* ------------------------------------------------------------------
Loading
-------------------------------------------------------------------
*/
.loading { position: fixed; left: 0; top: 0; width: 100%; height: 100vw; background-color: #fff; z-index: 999999999; opacity: 1; }
.loading .load { opacity: 0.4; }

.l-load_box { width: 100%; height: 100vh; display: block; position: relative; }

/* ------------------------------------------------------------------
JS 微調整用
-------------------------------------------------------------------
*/
.js-remodal_box { cursor: pointer; }

.test-icon_debug { position: absolute; left: 50%; top: 50%; z-index: 10; }

.test-icon_debug2 { position: absolute; left: 10%; top: 30%; z-index: 10; }

/* ------------------------------------------------------------------
一覧リスト
-------------------------------------------------------------------
*/
.l-search_r_title { margin-top: 30px; font-size: 20px; font-size: 1.25rem; color: #01699f; display: block; }

.l-search_box_l { float: left; }
@media screen and (max-width: 599px) { .l-search_box_l { float: none; } }

.l-search_box_r { float: left; margin-left: 20px; }
@media screen and (max-width: 599px) { .l-search_box_r { display: block; margin-top: 30px; margin-left: 0; } }

.l-checkbox_list_serach { display: inline-block; margin-left: 15px; min-height: 35px; line-height: 35px; }
@media screen and (max-width: 599px) { .l-checkbox_list_serach { display: block; min-height: 25px; line-height: 1; } }

.l-search_total_title { margin-top: 40px; display: block; }

.l-search_total { margin-top: 5px; color: #707070; font-size: 14px; font-size: 0.875rem; }

/* ------------------------------------------------------------------
一覧
-------------------------------------------------------------------
*/
.is-wv .l-content_type01 { margin-top: 0; }

.l-map_list_card_tb { width: 100%; display: table; overflow: hidden; border-bottom: 1px solid #dddddd; background-repeat: no-repeat; background-position: calc(100% - 10px) center; background-color: #fff; background-size: 7px auto; }
@media screen and (max-width: 599px) { .l-map_list_card_tb { display: block; } }

.l-map_card_img_tb { width: 30%; padding: 15px 0 20px 15px; display: table-cell; vertical-align: middle; text-align: -webkit-center; }

.l-map_card_img_other_tb { width: 60px; padding: 20px 0 20px 10px; display: table-cell; vertical-align: middle; }
@media screen and (max-width: 599px) { .l-map_card_img_other_tb { padding: 10px 0 5px 10px; } }

.l-map_table_cell { display: table-cell; vertical-align: middle; padding-right: 10px; }

.l-map_list_data_tb { width: calc(100% - 10px); min-width: 280px; padding: 20px 10px 20px 0; display: table-cell; vertical-align: middle; color: #373d3f; }
@media screen and (max-width: 599px) { .l-map_list_data_tb { width: 100%; min-width: initial; padding: 10px 10px 5px 0; } }
.l-map_list_data_tb.p_none { padding: 0; }

.l-map_link_cell { display: table-cell; vertical-align: middle; text-align: right; }
@media screen and (max-width: 599px) { .l-map_link_cell { display: block; padding-bottom: 5px; } }

.p-icon_link_after { background-size: auto 8px; background-repeat: no-repeat; background-position: right center; padding-right: 10px; margin-right: 15px; }

@media screen and (min-width: 400px) { .p-list_detail_live_l { display: table-cell; } }

.p-list_detail_live_r { padding-top: 15px; text-align: center; }
@media screen and (min-width: 400px) { .p-list_detail_live_r { display: table-cell; vertical-align: middle; width: 10%; } }

.p-base { position: relative; }

/* ------------------------------------------------------------------
leaflet-styleの上書き
-------------------------------------------------------------------
*/
.leaflet-container img { transition: all 0.3s cubic-bezier(0.18, 0.89, 0.54, 1.58); }

.marker-cluster { background-color: rgba(214, 46, 0, 0.9) !important; }

.marker-cluster div { background-color: transparent !important; color: #fff; }

.js-nowspot .marker { position: relative; display: block; width: 20px; height: 20px; border: 2px solid #fff; border-radius: 100px; background: #ff9600; }
.js-nowspot .marker::before { content: ""; display: block; background: rgba(255, 155, 0, 0.5); position: absolute; z-index: -1; border-radius: 50%; height: 20px; width: 20px; top: -2px; left: -2px; -webkit-animation: pulsate 1s ease-out infinite; animation: pulsate 1s ease-out infinite; }

@-webkit-keyframes pulsate { 0% { -webkit-transform: scale(1, 1); }
  50% { opacity: 1; }
  100% { -webkit-transform: scale(2, 2); opacity: 0.0; } }
@keyframes pulsate { 0% { transform: scale(1, 1); }
  50% { opacity: 1; }
  100% { transform: scale(2, 2); opacity: 0.0; } }

/*# sourceMappingURL=map.css.map */
