@charset "utf-8";

/* lang */
[lang="ja"],
[lang="ja"] body {
  font-family: Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
}

[lang="en"],
[lang="en"] body {
  font-family: Helvetica, Arial, sans-serif;
}

[lang="zh-cn"],
[lang="zh-cn"] body {
  font-family: SimSun, Helvetica, Arial, sans-serif;
}

[lang="zh-tw"],
[lang="zh-tw"] body {
  font-family: SimSun, Helvetica, Arial, sans-serif;
}

[lang="ko"],
[lang="ko"] body {
  font-family: "Malgun Gothic", sans-serif;
}

/* search */

#no_result {
	display: none;
}

/* map_area */
#map_area_box{
	position:relative;
	overflow: hidden;
}
#map_area{
	width: 100%;
	height: 400px;
}
#sub_map_area{
	width:160px;
	height:160px;
}
#sub_map_area_box{
	position:absolute;
	top:234px;
	left:784px;
	border:6px solid #FFF;
	z-index:100;
}
.multi_spot{
	margin-right:10px;
	padding:5px;
	border-bottom:solid 1px #CCC;
}
.scalebar{
	right:170px !important;
}
#loader{
	display:none;
	position:absolute;
	top:0px;
	width:100%;
	height:216px;
	padding-top:184px;
	background:rgba(0,0,0, 0.6);
	text-align:center;
	z-index:200;
}
#here_btn{
	position:absolute;
	top:3px;
	left:4px;
}
#area_search_btn{
	display: none;
	position:absolute;
	top:26px;
	right: 2px;
}

.map_ex{
	margin-top:5px;
	padding: 13px 10px 0px;
	background-color:#f5f5f5;
}
.map_ex p{
	line-height:28px;
}
.icon_wifi_spot{
	padding-left: 25px;
	background: url(/en/mobile/set/data/special/freewifi/shared/search/img/p/icon_wifi_spot.gif) no-repeat left bottom;
}
.icon_wifi_spots{
	padding-left: 31px;
	background: url(/en/mobile/set/data/special/freewifi/shared/search/img/p/icon_wifi_spots.gif) no-repeat left bottom;
}
/* route */
.route{
	display: none;
	margin-top: 5px;
	padding: 10px 15px;
	background-color:#f5f5f5;
}
.route dt{
	line-height: 32px;
}
.route #path_btn{
	display:inline;
	line-height: 2.3em;
	padding-left:10px;
}

/* detail_table */
#detail_table{
	border-collapse:collapse;
	width:100%;
	margin-bottom: 15px;
}

.pr{
	position:relative;
}

.genre_sort{
	float: left;
	width:178px;
}
.list_genre_box_vertical{
	border:1px solid #d8dadc;
	padding:10px;
}
.list_genre_box_vertical ul#list-genre li{
	 float: none;
}

/* result contents */
#max_zoom_out, #no_result, #result_set{
	display:none;
}

/* result_list */
.result_list{
	margin-left:195px;
}

.result-table {
}

/*list_scrollable*/
#list_scrollable{
	height:333px;
}
.list_scrollable{
	overflow-y:auto;
}

/* search-result-num */
#search-result-num{
	text-align: center;
}
#search-result-num dl{
	text-align: center;
}
#search-result-num{
	border: 1px solid #d8dadc;
	position:relative;
	zoom:1;
}

/* Pagination */
.pagination {
	position: relative;
	margin: 1px 0;
	padding: 10px 5px;
	background-color: #f8f8f8;
}
.pagination{
	padding: 0px;
	background-color:#fff;
}
.pagination .prev{
	position:absolute;
	top:0px;
	left:0px;
}
.pagination .next{
	position:absolute;
	top:0px;
	right:0px;
}
.list_pagination {
	text-align: center;
	width: auto;
	min-height:28px;
	height:auto;
}
.list_pagination li {
	display: inline-block;
	text-align: center;
	margin: 0 3px;
	*display: inline;
	*zoom: 1;
}
.list_pagination li a {
	display: block;
	padding: 5px 7px;
	border: solid 1px #ebebeb;
	background-color: #ffffff;
}
.list_pagination.prev { float: left; }
.list_pagination.next { float: right; }

.pagination .focus a{
	font-weight: bold;
	color: #333333;
	text-decoration: underline;
}

.hidden{
	visibility: hidden;
}

/* Prefecture Map */
#j_map_bg{
}


#by-area-map {
}
#prefecture {
	float: left;
	position: relative;
	width: 470px;
	height: 390px;
	background: url(/en/mobile/set/data/special/freewifi/shared/img/p/bg_top_map.png) no-repeat;
}
#prefecture a {
	position: absolute;
	display: block;
	text-indent: -9999px;
	background-image: url(/en/mobile/set/data/special/freewifi/shared/img/p/bg_top_map.png);
	background-repeat: no-repeat;
	outline: none!important;
	cursor: pointer;
}
#prefecture a.pref-hover {
	background-image: url(/en/mobile/set/data/special/freewifi/shared/img/p/bg_top_map_ov.png);
}
#prefecture a.pref-focus {
	background-image: url(/en/mobile/set/data/special/freewifi/shared/img/p/bg_top_map_focus.png);
}

.pref01 { width: 120px; height: 100px; left: 331px; top:  15px; background-position: -331px  -15px; }
.pref02 { width:  80px; height:  28px; left: 330px; top: 115px; background-position: -330px -115px; }
.pref03 { width: 40px; height: 30px; left: 370px; top:143px; background-position: -370px -143px; }
.pref04 { width: 40px; height: 30px; left: 370px; top:173px; background-position: -370px -173px; }
.pref05 { width: 40px; height: 30px; left: 330px; top:143px; background-position: -330px -143px; }
.pref06 { width: 40px; height: 30px; left: 330px; top:173px; background-position: -330px -173px; }
.pref07 { width: 50px; height: 30px; left: 360px; top:203px; background-position: -360px -203px; }
.pref08 { width: 30px; height: 53px; left: 381px; top:235px; background-position: -381px -235px; }
.pref09 { width: 33px; height: 28px; left: 347px; top:235px; background-position: -347px -235px; }
.pref10 { width: 25px; height: 53px; left: 322px; top:235px; background-position: -322px -235px; }
.pref11 { width: 33px; height: 25px; left: 347px; top:263px; background-position: -347px -263px; }
.pref12 { width: 30px; height: 47px; left: 379px; top:288px; background-position: -379px -288px; }
.pref13 { width: 41px; height: 17px; left: 339px; top:288px; z-index: 1; background-position: -339px -288px; }
.pref14 { width: 51px; height: 38px; left: 319px; top:297px; background-position: -319px -297px; }
.pref15 { width: 47px; height: 29px; left: 311px; top:204px; background-position: -311px -204px; }
.pref16 { width: 41px; height: 29px; left: 270px; top:204px; background-position: -270px -204px; }
.pref17 { width: 30px; height: 34px; left: 240px; top:185px; background-position: -240px -185px; }
.pref18 { width: 30px; height: 37px; left: 240px; top:219px; background-position: -240px -219px; }
.pref19 { width: 47px; height: 32px; left: 292px; top: 263px; background-position: -292px -263px; }
.pref20 { width: 30px; height: 41px; left: 292px; top: 233px; background-position: -292px -233px; }
.pref21 { width: 21px; height: 39px; left: 269px; top: 235px; background-position: -269px -235px; }
.pref22 { width: 39px; height: 38px; left: 279px; top: 297px; background-position: -279px -297px; }
.pref23 { width: 30px; height: 51px; left: 261px; top: 274px; background-position: -261px -274px; }
.pref24 { width: 31px; height: 39px; left: 230px; top: 286px; background-position: -230px -286px; }
.pref25 { width: 45px; height: 28px; left: 223px; top: 257px; background-position: -223px -257px; }
.pref26 { width: 30px; height: 22px; left: 209px; top: 235px; background-position: -209px -235px; }
.pref27 { width: 44px; height: 28px; left: 179px; top: 257px; background-position: -179px -257px; }
.pref28 { width: 30px; height: 22px; left: 179px; top: 235px; background-position: -179px -235px; }
.pref29 { width: 21px; height: 60px; left: 209px; top: 285px; background-position: -209px -285px; }
.pref30 { width: 19px; height: 60px; left: 190px; top: 285px; background-position: -190px -285px; }
.pref31 { width: 29px; height: 21px; left: 148px; top: 255px; background-position: -148px -255px; }
.pref32 { width: 30px; height: 21px; left: 118px; top: 255px; background-position: -118px -255px; }
.pref33 { width: 29px; height: 19px; left: 148px; top: 276px; background-position: -148px -276px; }
.pref34 { width: 30px; height: 19px; left: 118px; top: 276px; background-position: -118px -276px; }
.pref35 { width: 19px; height: 40px; left: 99px; top: 255px; background-position: -99px -255px; }
.pref36 { width: 34px; height: 21px; left: 144px; top: 305px; background-position: -144px -305px; }
.pref37 { width: 34px; height: 19px; left: 144px; top: 326px; background-position: -144px -326px; }
.pref38 { width: 36px; height: 21px; left: 108px; top: 305px; background-position: -108px -305px; }
.pref39 { width: 36px; height: 19px; left: 108px; top: 326px; background-position: -108px -326px; }
.pref40 { width: 30px; height: 27px; left: 62px; top: 265px; background-position: -62px -265px; }
.pref41 { width: 21px; height: 58px; left: 41px; top: 265px; background-position: -41px -265px; }
.pref42 { width: 20px; height: 50px; left: 21px; top: 265px; background-position: -21px -265px; }
.pref43 { width: 25px; height: 32px; left: 51px; top: 323px; background-position: -51px -323px; }
.pref44 { width: 39px; height: 31px; left: 62px; top: 292px; background-position: -62px -292px; }
.pref45 { width: 25px; height: 32px; left: 76px; top: 323px; background-position: -76px -323px; }
.pref46 { width: 50px; height: 20px; left: 51px; top: 355px; background-position: -51px -355px; }
.pref47 { width: 20px; height: 51px; left: 21px; top: 324px; background-position: -21px -324px; }

#prefectureText {
	float: right;
	width: 470px;
}

#prefectureText .uni-link-list li {
	margin-top: 2px;
}

#prefectureText .uni-link-list li a.pref-hover {
	color: #006699;
	background: #ff99c6;
}

/* search_box */
#sws_search_box{
	position:relative;
}

#sws_search_text {
	width: 670px;
	height: 39px;
	margin: 0 10px 0 0;
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	vertical-align: top;
}

#sws_search_radio{
	padding-top: 5px;
	width: 300px;
}
#sws_search_box div.input{
	border-top: 1px solid #222;
	border-left: 1px solid #222;
	border-bottom: 1px solid #7c7c7c;
	border-right: 1px solid #7c7c7c;
}
#text-input-box input.keyword{
	width: 239px;
	border: none;
	border-top: 1px solid #e2e2e2;
	border-left: 1px solid #d0d0d0;
	font-size: 16px;
	padding: 7px 0;
	color:#999;
}
#text-input-box input.btn{
	border: 0px;
	width: 70px;
	height: 34px;
}
#text-input-box input.active{
	cursor: pointer;
}
#text-input-box input.active:hover{
}
#sws_search_box span.radio{
	padding-left:10px;
}
#sws_search_box label{
	padding-left:5px;
}
#sws_search_box .gerne{
	padding-left: 17px;
}
#sws_search_box .deactive{
	text-decoration:none;
	color:#999;
	cursor:default;
}
ul#list-genre li {
	max-width: 100%;
	margin-top: 3px;
}
ul#list-genre.inline li {
	display: inline-block;
	margin-right: 10px;
}
ul#list-genre li input {
	margin: 0 5px 0 0;
	cursor: pointer;
}
ul#list-genre li.checked {
}
ul#list-genre li label {
	cursor: pointer;
}

ul#list-genre li span {
    padding: 0 0 0 17px;
    cursor: pointer;
}

/* q */
div#search_box a.item_q{
    display: inline-block;
    width: 16px;
    height: 16px;
	margin: 0 0 0 10px;
}

div#search_box a.item_q .icon_q{
	display: block;
    width: 16px;
    height: 16px;
    background: url("/mobile/set/common/p/img/v11a/pdct_savoia/icon_question.gif") left center no-repeat;
    text-indent: -9999px;
	cursor: pointer;
}

div#search_box a.item_q:hover .icon_q {
    background-image: url("/mobile/set/common/p/img/v11a/pdct_savoia/icon_question_on.gif");
}

.genreBox {
	display: none;
}

.keyword .genreBox {
	display: block;
}

#sws_search .tab a {
	color: #006699;
	outline: none;
}

#sws_search .tab .active a {
	color: #333333;
}

/*=== Box Item Details ===*/
#box_item-details {
    width: 262px;
    font-size: 12px;
    position: absolute;
    left: 0;
    top: 0;
    display: none;
    z-index: 10 !important;
}

#box_item-details dt {
    padding: 35px 20px 0;
    background: url("/mobile/set/common/p/img/v11a/pdct_savoia/bg_box_item-details.png") left top no-repeat;
    font-weight: bold;
}
#box_item-details dd.item_a {
    padding: 10px 20px 22px;
    background: url("/mobile/set/common/p/img/v11a/pdct_savoia/bg_box_item-details.png") left bottom no-repeat;
	font-weight: bold;
}
#box_item-details dd.item_a span {
    display: block;
    margin-bottom: 8px;
}
#box_item-details .link-list_navy {
    display:none;
}
.btn_close {
    position: absolute;
    right: 15px;
    top: 12px;
    padding-left: 16px;
    background: url("/mobile/set/common/p/img/v11a/pdct_savoia/icn_bullet_list-close-win.gif") left center no-repeat;
}

#spot_list * {
	word-break: break-all;
}

/* Common Header */
#commonHeader {
	border-top: #d9dadc solid 1px;
	margin-bottom: 20px;
	min-height: 160px;
}

#commonHeader .commonMenu {
	background: #e70012;
}

#commonHeader .commonMenu.fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}

#commonHeader .commonMenu ul {
	width: 950px;
	height: 70px;
	margin: 0 auto;
}

#commonHeader .commonMenu ul li {
	float: left;
	position: relative;
	display: table;
	border-collapse: separate;
	width: 206px;
	height: 70px;
}

#commonHeader .commonMenu ul li.langSelect {
	width: 126px;
	float: inline-end;
}

#commonHeader .commonMenu ul li a {
	position: relative;
	display: table-cell;
	width: 100%;
	height: 70px;
	text-align: center;
	vertical-align: middle;
	color: #ffffff;
	font-weight: bold;
	font-size: 18px;
	background: url(/en/mobile/set/data/special/freewifi/shared/img/p/bg_common_menu.png) no-repeat left;
}

#commonHeader .commonMenu ul li a.polyLine {
	font-size: 16px;
	line-height: 16px;
}

#commonHeader .commonMenu ul li a.polyLine span {
	display: block;
}

#commonHeader .commonMenu ul li a.polyLine span span {
	display: inline;
}

#commonHeader .commonMenu ul li a strong {
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: 0px;
	height: 0px;
	line-height: 0;
	margin: 0 0 0 -6px;
	overflow: hidden;
	border-style: solid;
	border-color: transparent transparent #ffffff;
	border-width: 0 6px 8px;
}

#commonHeader .commonMenu ul li.langSelect {
	display: block;
}

#commonHeader .commonMenu ul li.langSelect div {
	position: relative;
	height: 30px;
	line-height: 30px;
	margin: 20px 0 0;
	padding: 0 0 0 28px;
	background: #ffffff;
	color: #006699;
	cursor: pointer;
	word-break: keep-all;
}

#commonHeader .commonMenu ul li.langSelect div span {
	position: absolute;
	left: 10px;
	top: 12px;
	display: block;
	width: 0px;
	height: 0px;
	line-height: 0;
	overflow: hidden;
	border-style: solid;
	border-color: #006699 transparent transparent;
	border-width: 6px 5px 0px;
}

#commonHeader .commonMenu ul li.langSelect p {
	position: absolute;
	left: 0px;
	top: 50px;
	width: 124px;
	margin: 0;
	background: #ffffff;
	border: #d8dadc solid 1px;
	border-top: none;
	z-index: 100;
	display: none;
}

#commonHeader .commonMenu ul li.langSelect p a {
	display: block;
	width: auto;
	height: 30px;
	line-height: 30px;
	padding: 0 0 0 27px;
	text-align: left;
	vertical-align: middle;
	color: #006699;
	font-weight: normal;
	font-size: 14px;
	background: none;
	border-top: #d8dadc solid 1px;
	word-break: keep-all;
}

.topMain {
	margin: 0 0 40px;
}

.languageTop .commonHeaderLogo {
	display: none;
}

.topMain .topMainVisual {
	margin: 0 auto;
	padding: 55px 0 0;
	position: relative;
	box-sizing: border-box;
	width: 950px;
	height: 377px;
}

.topMain .topMainVisual .phrase {
	margin: 0;
	position: absolute;
	top: 0;
}

.topMain .topMainVisual .logo {
	position: absolute;
	top: 55px;
	left: 0;
}

.topMain .topMainVisual .feature {
	margin: 0;
	position: absolute;
	top: 121px;
	right: 0;
}

.topMain .topMainVisual .howto {
	margin: 0;
	position: absolute;
	right: 0;
	bottom: 0;
}

.topMain .topMainVisual #pv {
	margin: 0;
	position: absolute;
	bottom: 2px;
	right: 2px;
	width: 209px;
	height: 116px;
}
.topMain .topMainVisual #pv .player {
	width:209px;
	height:116px;
}

.topMain .topMainSetting {
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
	width: 990px;
}

.topMain .topMainSetting li {
	margin: 0 10px;
	min-width: 270px;
}

.topMain .topMainSetting li a {
	width: 100%;
	/* color: #fff;
	text-decoration: none;
	padding: 10px 29px 7px 27px;
	border: 1px solid #0087cb;
	border-radius: 3px;
	background-color: #0087cb;
	box-shadow: 0 0 0 1px #99cfea inset;
	text-align: center;
	text-shadow: 0 1px 1px rgba(0,0,0,0.4);
	font-weight: bold;
	font-size: 114.29%;
	line-height: 1.3; */
}

.topMain .topMainApp {
	color: #fff;
	background-color: #059;
}

.topMain .topMainApp .body {
	margin: 0 auto;
	padding: 0 300px;
	display: table;
	box-sizing: border-box;
	width: 990px;
}

.topMain .topMainApp .body .copy {
	display: table-cell;
	vertical-align: middle;
}

.topMain .topMainApp .body .copy p {
	margin: 0;
	line-height: 1.1;
	font-size: 24px;
}

.topMain .topMainApp .body .store {
	padding: 10px 0;
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}

.topMain .topMainApp .body ul {
	padding: 10px 0;
	width: 180px;
	background-color: #fff;
	display: inline-block;
	border-radius: 8px;
	text-align: center;
	font-size: 0;
}

.topMain .topMainApp .body ul li {
	margin: 0px 5px;
	display: inline-block;
	font-size: 1rem;
}

.topMain .topMainNotes {
	margin: 40px 0 0;
	padding: 15px 0;
	background: #f4f5f7;
}

.topMain .topMainNotes p {
	width: 950px;
	margin: 0 auto;
	text-align: center;
	font-size: 18px;
}

.topMain .topMainNotes p span {
	font-size: 14px;
}

/* ----------------------------------------------------------------
    SNS
----------------------------------------------------------------- */
ul.snsbtn_buttongroup {
	height: 25px;
	margin: 0;
	padding: 10px 10px 9px;
	list-style-type: none;
	background:#fff;
	border:1px solid #d8dadc;
}

ul.snsbtn_buttongroup li {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0 4px;
}

ul.snsbtn_buttongroup li.first-child {
  margin-left: 0;
}

html[lang="en"] ul.snsbtn_buttongroup li.first-child {
}

*:first-child + html ul.snsbtn_buttongroup li.first-child {
}

ul.snsbtn_buttongroup li.twt_nocount iframe {
  position: relative;
}

ul.snsbtn_buttongroup li.g_plusone iframe {
  position: relative !important;
}

div.related-news_bottom ul.snsbtn_buttongroup li.twt_nocount iframe {
  z-index: 2;
}

div.related-news_bottom ul.snsbtn_buttongroup li.g_plusone iframe {
  z-index: 2;
}

div.related-news ul.snsbtn_buttongroup li.fb_like iframe {
  z-index: 3;
}

div.related-news ul.snsbtn_buttongroup li.twt_nocount iframe {
  z-index: 4;
}

div.related-news ul.snsbtn_buttongroup li.g_plusone iframe {
  z-index: 4;
}

.topMainSns {
  width:990px;
  margin: 0 auto;
}

.topMain ul.snsbtn_buttongroup {
	text-align: right;
	padding: 10px 20px 20px;
	list-style-type: none;
	border:none;
}

.twt_nocount {
	position: relative;
	overflow: hidden;
}

#search_box {
  display: none;
}

.map_ex {
  margin-bottom: 20px
}

.route {
  display: none;
}

.mapboxgl-popup-content {
	font-family: "Hiragino Sans W3","ヒラギノ角ゴ ProN W3","WinGothic W3",sans-serif;
	padding:20px 15px 20px;
	font-size: 14px;
}

.mapboxgl-popup-close-button {
	margin-right:5px;
	margin-top:2px;
}

.mapBoxMarker {
	overflow-y:scroll;
	max-height:200px;
}