html {
    width: 100vw;
    height: 100%;
}

body {
    width: 100vw;
    height: 100%;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
}

a {
    text-decoration: none;
}

a:hover {
    opacity: 0.7;
}

ul {
    list-style: none;
    padding: 0;
}


/* 地図 レイヤー */
div#map_Layer {
    width: 100vw;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

div#map {
    width: 100vw;
    height: 100%;
    z-index: 1;
}

#map_logo{
    width:80px;
    height: 18px;
    position: absolute;
    bottom: 5px;
    left: 5px;
    z-index: 999;
}
/* ***********************************************/
/* 検索 *******************************************/
/* ***********************************************/
div#search_again_btn_box {
    position: absolute;
    top: 25px;
    right: auto;
    left: auto;
    z-index: 8;
    background: #fff;
    padding: 4px 20px;
    font-size: 12px;
    color: #1b98ff;
    border-radius: 30px;
    box-shadow: 1px 1px 4px -1px #525252;
    font-weight: bold;
    transition: 0.5s;
}

div#search_again_btn_box.show {
    top: 25px;
}

div#search_again_btn_box:hover {
    cursor: pointer;
    opacity: 0.7;
}

div#top_search_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 350px;
    z-index: 10;
    /* z-index: 1480; */
    display: flex;
    flex-direction: column;
    padding: 10px;
}

#top_search_box {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 5px 15px;
    width: calc(100% - 30px);
    height: 35px;
    border-radius: 5px;
    z-index: 100;
    box-shadow: 0px 2px 6px -5px grey;
}

input.top_search_input {
    margin-left: 12px;
    height: 80%;
    width: 100%;
    border: none;
    font-size: 15px;
}

input.top_search_input::placeholder {
    color: rgb(195, 195, 195);
}

input.top_search_input:focus {
    outline: none;
}

img.menu_icon {
    width: 25px;
}

#top_search_box span {
    height: 35px;
    width: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #b8b8b8;
    font-size: 23px;
}

#top_search_box span:hover {
    cursor: pointer;
}

div#search_cross_box {
    display: flex;
}

#line_beside_search_cross {
    height: 35px;
    margin: 0 5px;
    border-left: 1.5px solid #b8b8b8;
}

/* 検索結果 */
span#close_btn_search_message,
span#close_btn_no_search_result_message {
    width: 30px;
    height: 30px;
    background: #ffffffba;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -10px;
    right: -10px;
}

span#close_btn_search_message:hover,
span#close_btn_no_search_result_message:hover {
    cursor: pointer;
    opacity: 0.8;
}

div#search_message_wrapper,
div#search_result_wrapper {
    position: relative;
    background: #ff7777cf;
    text-align: center;
    padding: 15px 0;
    margin-top: 13px;
    z-index: 100;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

div#search_message_wrapper div,
div#search_result_wrapper div {
    color: rgb(255 255 255);
    font-size: 13px;
    font-weight: bold;
    padding: 15px 0;
}

div#search_no_result_wrapper {
    height: 100px;
    background: #eee;
    padding: 10px 5px;
    margin-top: -5px;
    z-index: 100;
    scrollbar-width: none;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    color: gray;
}

ul#search_any_result_wrapper {
    width: 330px;
    height: 100%;
    background: #eee;
    padding-top: 25px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 200px;
    z-index: 1200;
    overflow-y: scroll;
    scrollbar-width: none;
    position: absolute;
    top: 30px;
    left: 0;
    /* margin: 20px auto 0; */
    margin-left: 10px;
}

ul#search_any_result_wrapper::-webkit-scrollbar{
    display: none;
}

ul#search_any_result_wrapper li {
    background: #fff;
    padding: 10px;
    margin-bottom: 5px;
    display: flex;
    flex-direction: row;
}

ul#search_any_result_wrapper li:last-child {
    margin-bottom: 200px !important;
}

ul#search_any_result_wrapper li:hover {
    opacity: 0.7;
    cursor: pointer;
}

ul#MEO_search_any_result_wrapper {
    width: 330px;
    height: 40vh;
    background: #eee;
    padding-top: 25px;
    padding-left: 10px;
    padding-right: 10px;
    /* padding-bottom: 200px; */
    padding-bottom: 20px;
    z-index: 1300;
    overflow-y: scroll;
    scrollbar-width: none;
    left: 0;
    margin-left: 10px;
    top: unset;
    bottom: 0;
    position: absolute;
}

ul#MEO_search_any_result_wrapper::-webkit-scrollbar{
    display: none;
}

ul#MEO_search_any_result_wrapper li {
    background: #fff;
    padding: 10px;
    margin-bottom: 5px;
    display: flex;
    flex-direction: row;
}

ul#MEO_search_any_result_wrapper li:last-child {
    margin-bottom: 200px !important;
}

ul#MEO_search_any_result_wrapper li:hover {
    opacity: 0.7;
    cursor: pointer;
}


.search_result_left {
    height: 65px;
}

.search_result_left img {
    width: 65px;
    height: 65px;
    object-fit: cover;
    border-radius: 3px;
}

.search_result_right {
    height: 65px;
    padding-left: 10px;
}

.search_result_right.pin {
    height: auto;
    padding-left: 10px;
}

p.search_result_title {
    margin-top: 0;
    margin-bottom: 3px;
    font-weight: bold;
    font-size: 14px;
}

.search_result_category_box {
    font-size: 13px;
}

p.search_result_address {
    margin: 3px 0;
    font-size: 10px;
    color: gray;
}

/* ***********************************************/
/* 経路検索 *********************************/
/* ***********************************************/
.divIcon1, .divIcon2{
    color: steelblue; 
    text-align: center;
    font-size: larger;
}
#showRoute > button {
    font-size: 16px;
    border-width: 1px;
    background-color: white;
    
}

/* 検索バーとルート案内の結果の表示との間を設定 */
#geocode{
    padding-bottom: 1%;
}

calcite-accordion > div > ul {
    margin-top : 5px;
    background-color: white;
}

button#carButton{
    margin-left:10%;
    cursor: pointer;
    background-color: white;
    border: none;
}
button#carButton.pushed{
    margin-left:10%;
    cursor: pointer;
    background-color: lightsteelblue;
    border: none;
}
button#carButton > li{
    display: flex; 
    flex-direction: row;
    font-size: 24px;
}
button#carButton > li > i{
    margin-left: 5px;
    margin-right: 5px;
}

button#walkingButton{
    margin-left:10%;
    cursor: pointer;
    background-color: white;
    border: none;
}
button#walkingButton.pushed{
    margin-left:10%;
    cursor: pointer;
    background-color: lightsteelblue;
    border: none;
}

button#walkingButton > li{
    display: flex; 
    flex-direction: row;
    font-size: 24px;
}
button#walkingButton > li > i{
    margin-left: 5px;
    margin-right: 5px;
}

div#showRoute {
    margin-top: -1%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

div#showRoute > button {
    margin-top: 2%;
    margin-bottom: 1%;
    margin-right: 2%;
    width: 37%;
    display: flex;
    font-size: 15px;
    border-radius: 5px;
    cursor: pointer;
    background-color: white;
}

div#showRoute > button > i{
    margin-right: 8%;
    font-size: 18px;
    color: green
}
div#routSearchInner{
    background-color: white;
    height: 100%;
    width: 68%;
}

button#showResult{
    background-color: white;
    margin-bottom: 2px;
    margin-right: 8%;
    border-radius: 5px;
    border-width: 0.5px;
    cursor: pointer;
    
}
button#showResult::before{
    content:"▼";
    display: inline-block;
    transform: rotate(-90deg);
}

button#showResult.active::before{
    content:"▼";
    display: inline-block;
    transform: rotate(0deg);
    right: 35px;
}

div#result{
    overflow-y: scroll;
    height: 200px; 
    background-color: white;
}
diV#startInput > input {
    width: 74%;
    margin-top: 0px;
    margin-left: 8px;
    margin-right: 8px;
    margin-bottom: 4px;
    border-radius: 4px;
    background-color: white;
}
diV#endInput > input {
    width: 74%;
    margin-left: 8px;
    margin-right: 8px;
    margin-bottom: 10px;
    border-radius: 4px;
    background-color: white;
}
div#showResultParentDiv{
    display: flex ;
    flex-direction: row;
    justify-content: center;
    align-items: baseline;
    
}
div#showResultDiv {
    background-color: white;
    margin-top: 2px;
    margin-bottom: 0px;
    display: flex;
    justify-content: right;
    width: 29%;
}
div#timeDistance{
    display: flex; 
    flex-direction: row;
    margin-top: 2px;
    width: 72%;
    font-size: 20px;
    font-weight: bold;
}

calcite-accordion > div{
    background-color: white;
}
div#geocode > div > input{
    background-color: white;
}

/* ルート案内文を記載する領域の CSS を指定 */
div#directions {
    position: absolute;
    z-index: 1000;
    width: 30%;
    max-height: 50%;
    right: 20px;
    top: 20px;
    overflow-y: scroll; 
    background: white;
    line-height: 1.5;
    font-size: 14px;
    padding: 10px;
}
/* ***********************************************/
/* 言語選択 ボタン *********************************/
/* ***********************************************/
div#header_lang_btn_div {
    position: absolute;
    right: 15px;
    color: rgb(100 100 100);
    background-color: #ffffffcc;
    padding: 5px 10px;
    border: solid 1px rgb(100 100 100);
    border-radius: 4px;
    margin: 10px 0;
    z-index: 1200;
}

/*div#header_lang_btn_div:hover {
    cursor: pointer;
}*/

select#language_select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 5px;
    border: none;
    background-color: transparent;
    color: rgb(100 100 100);
    cursor: pointer;
}

select#language_select:focus {
    outline: none;
}

/* ***********************************************/
/* Leaflet ボタン *********************************/
/* ***********************************************/
.leaflet-bottom.leaflet-right {
    z-index: 1200;
}

.leaflet-touch .leaflet-bar a {
    width: 45px;
    height: 45px;
    line-height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.leaflet-touch .leaflet-bar a:last-child {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.leaflet-touch .leaflet-bar a:first-child {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.leaflet-control-locate a .leaflet-control-locate-location-arrow {
    display: inline-block;
    width: 35px !important;
    height: 35px !important;
    /*width: 21px !important;
    height: 21px !important;*/
    margin: 5px;
    background-color: #006633;
}

.leaflet-control-layers-toggle {
	/* background-image: url(map_layer.jpg);
    background-size: 35px 35px; */
    background-image: url(map-solid.svg);
	background-size: 26px 26px;
}

.leaflet-control-layers-toggle {
	width: 44px ;
    height: 44px ;
	
	}
.leaflet-retina .leaflet-control-layers-toggle {
	/* background-image: url(map_layer.jpg);
    background-size: 35px 35px; */
    background-image: url(map-solid.svg);
	background-size: 26px 26px;
} 

/*レイヤーコントロールのスタイル*/
#tile_select label{
    display: inline-block;
}
.leaflet-control-layers label{
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
}

.map_tile{
    padding:0 10px;
}
/* カスタムレイヤ切替えラジオボタン位置 */
.leaflet-top{margin-top:85px}

/* ***********************************************/
/* 下部 ボタン *************************************/
/* ***********************************************/

#bottom_btns {
    position: absolute;
    bottom: 10px;
    height: 110px;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;
    transition: .5s;
}
#SP_bottom_btns  {
    position: absolute;
    bottom: 10px;
    height: 90px;
    /*width: 100px;*/
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;
    transition: .5s;
    margin-bottom: 16px;
}

/* 縮尺 */
div.leaflet-control-scale-line {
    margin-bottom: -6px;
}

#bottom_btns ul,#SP_bottom_btns ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

#bottom_btns ul li {
    width: 90px;
    height: 90px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 15px;
    background-color: #fff;
    box-shadow: 0px 0px 5px -1px #a3a3a3;
}

#SP_bottom_btns ul li {
    width: 90px;
    height: 70px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 10px;
    background-color: #fff;
    box-shadow: 0px 0px 2px -1px #a3a3a3;
}
#bottom_btns ul li:hover,#SP_bottom_btns ul li:hover {
    cursor: pointer;
}

#bottom_btns ul li i,#SP_bottom_btns ul li i {
    font-size: 30px;
}

#bottom_btns ul li i.genre,#SP_bottom_btns ul li i.genre {
    color: #ffb011;
}

#bottom_btns ul li i.academy, #SP_bottom_btns ul li i.academy {
    color: #42aaff;
}

#bottom_btns ul li i.mapIcon, #SP_bottom_btns ul li i.mapIcon {
    color: #32cd32;
}

#bottom_btns ul li span, #SP_bottom_btns ul li span {
    font-size: 12px;
    margin-top: 5px;
}
.startButton{
    width: 48px;
    margin-top:0px;
    /* height: 90px; */
}
.startButtonLabel{
    margin-bottom: 4px;
}
.startButtonSP{
    width: 32px;
    margin-top:0px;
    /* height: 90px; */
}

/* ***********************************************/
/* モーダル共通 ************************************/
/* ***********************************************/
.close_icon {
    width: 50px;
    height: 50px;
    position: absolute;
    top: -4px;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 25px;
    z-index: 2000;
}

ul.left_modal_bottom_btns {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    background: beige;
    margin: 0;
    padding: 25px 0;
}

/* ***********************************************/
/* メニューモーダル *********************************/
/* ***********************************************/
div#menu_modal {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #1d1d1d9e;
    z-index: 1480;
    box-shadow: -2px 0 6px 2px #989898;
}

div#menu_modal.hidden {
    display: none !important;
}


.menu_modal_inner {
    height: 100%;
    width: 350px;
    background-color: #f3f3f3;
    position: absolute;
    top: 0;
    display: flex;
    flex-direction: column;
    position: relative;
}

.menu_modal_top_bar {
    height: 40px;
    padding: 10px;
    display: flex;
    align-items: center;
    background-color: #fff;
    box-shadow: 0px -1px 5px -1px grey;
}

img#menu_logo {
    /*height: 40px;*/
    height: 36px;
}

div#menu_lang_btn_div {
    width: 100%;
    margin: 10px 0 30px;
}

#guid_board_globe_icon{
    position: relative;
    left: 2px;
    color:#646464
}

#guide_board_language_select{
    font-size: 14px;
    width: 60%;
    height: 35px;
    margin: 0px 8px 0px;
    padding-left: 40px;
}

select#menu_language_select {
    width: 50%;
    padding: 5px 7px;
    font-size: 20px;
    background: #fff;
    color: #4a4a4a;
    border-radius: 5px;
}

.menu_item_box {
    padding: 15px;
    width: calc(100% - 30px);
}

.menu_item_box li {
    margin-bottom: 10px;
}

.menu_item_box li a {
    color: black;
}

.menu_item_box li a:hover {
    opacity: 0.7;
}

.menu_item_box.bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.menu_item_box.bottom li a {
    font-size: 14px;
}

.howToUserInGenre{
    margin-top: 0px;

}

li.menu_btn_howto,
li.menu_btn_business {
    width: 100%;
    margin-bottom: 25px;
}

li.menu_btn_howto a,
li.menu_btn_business a {
    background: #0067d4;
    padding: 6px 20px;
    font-size: 15px;
    border-radius: 6px;
    color: #fff;
    font-weight: bold;
}

li.menu_btn_howto a {
    /*background: #68b1ff;*/
    background: #3300ff;  
}

li.menu_btn_business a {
    /*background: #0067d4;*/
    background: #003366;
}

.genre_title_box {
    font-size: 20px;
    font-weight: bold;
    color: rgb(63, 63, 63);
    margin-top: -10px;
}

/* ***********************************************/
/* ジャンルモーダル *********************************/
/* ***********************************************/
div#genre_modal {
    position: absolute;
    top: 0;
    left: 0;
    /* width: 350px; */
    /* width: 250px; */
    width: 280px;
    height: 100vh;
    /* min-height: 100vh; */
    background-color: #ffff;
    z-index: 1230;
    box-shadow: -2px 0 6px 2px #989898;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;
}
@supports (-webkit-touch-callout: none) {
    div#genre_modal {
        height: -webkit-fill-available;
    }
} 

div#genre_modal.hidden {
    display: none !important;
}



#guideButton {
    /* position: absolute; */
    bottom: 10px;
    height: 70px;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;
    transition: .5s;
    margin-bottom: 8px;
    margin-left:auto;
    margin-right:auto;
}
#guideButton ul li {
    width: 90px;
    height: 70px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 15px;
    /* margin-left:auto; */
    background-color: #fff;
    /* box-shadow: 0px 0px 2px -1px #a3a3a3; */
    box-shadow: 0px 0px 2px 3px #e1dfdf;
    
}
#guideButton ul li span {
    font-size: 12px;
    /* align-items: center; */
    text-align: center;
    /* width: 36px; */
    /* width: 30px; */
    height: 18px;
    margin-top: 5px;
    margin-left: auto;
    margin-right: auto;
}

#genreButton {
    /* position: absolute; */
    bottom: 10px;
    height: 120px;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;
    transition: .5s;
    margin-bottom: 8px;
    margin-left:auto;
    margin-right:auto;
}
#genreButton ul li {
    width: 90px;
    height: 70px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 15px;
    /* margin-left:auto; */
    background-color: #fff;
    /* box-shadow: 0px 0px 2px -1px #a3a3a3; */
    box-shadow: 0px 0px 2px 3px #e1dfdf;
    
}
#genreButton ul li i.genre {
    color: #ffb011;
    font-size: 30px;
}
/* #genreButton ul li {
    margin-left: auto;
    margin-right: auto;
} */

#genreButton ul li span {
    font-size: 12px;
    text-align: center;
    /* width: 36px; */
    /* width: 30px; */
    height: 18px;
    margin-top: 5px;
    margin-left: auto;
    margin-right: auto;
}
/* .divGuideButtonSP{
    margin-bottom:50px;
} */

/* .divGuideButtonSP{
    width: 70px;
    margin-left: 10px;
    margin-bottom: 10px;
    height: 10px
} */

/* アイコンサイズ  */
.divGuideButtonSP{
    width: 30px;
    margin-top:0px;
    /* margin-left : 85px; */
}
.startButtonLabelInGenre{
    width: 48px;
    margin-top:3px;
    /* margin-left : 85px; */
}
.genre_modal_inner {
    /* height: 100%; */
    height: 96%;
    padding: 20px 20px;
    /* padding: 16px 20px; */
    overflow: scroll;
}

/* 言語セレクタ PC */ 
#modal_globe_icon_PC {
    position: relative;
    left: 2px;
    color:#646464
}
#modal_language_select_PC{
    font-size: 12px;
    width: 28%;
    height: 35px;
    margin: 0px 8px 10px;
    padding-left: 10px;
}
/* 言語セレクタ SP */ 
#modal_globe_icon_SP {
    position: relative;
    left: 10px;
    color:#646464
}
#modal_language_select_SP{
    font-size: 12px;
    width: 28%;
    height: 35px;
    margin: 0px 18px 10px;
    padding-left: 18px;
}

.modal_contents {
    padding: 0px 0;
    margin-top: -12px;
}

ul#genre_major_ul {
    margin-top: 14px;
    margin-bottom: 70px;
}

.genre_major_list {
    padding-top: 0px;
}

span.genre_major_title {
    display: inline-block;
    text-align: center;
    width: 100%;
    padding: 6px 0px;
    border-radius: 50px;
    font-size: 14px;
    color: #fff;
    background-color: #a7a7a7;
    margin-bottom: 5px;
}

ul.detail_genre_list {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 5px 0 15px;
}

ul.detail_genre_list li {
    background-color: lightgray;
    margin-right: 10px;
    margin-bottom: 8px;
    border-radius: 10px;
    font-size: 11px;
    padding: 2px 19px;
}

ul.detail_genre_list input {
    display: none;
}

ul.detail_genre_list label {
    height: 24px;
    margin-right: 5px;
    margin-bottom: 6px;
}

ul.detail_genre_list label span {
    color: #333;
    font-size: 12px;
    background-color: lightgray;
    border-radius: 20px;
    padding: 5px 20px;
}

ul.detail_genre_list label input:checked + span.lightorange {
    background-color: rgb(255, 196, 148);
}

ul.detail_genre_list label input:checked + span.lightgreen {
    background-color: rgb(161, 255, 177);
}

ul.detail_genre_list label input:checked + span.lightblue {
    background-color: lightblue;
}

/* フロアマップリンクボタン */
#elementFloorMapLinkPC {
    width: 28%;
    height: 35px;
    margin-left: 25px;
    padding-top: 10px;
    padding-left: 25px;
    border: solid 0.5px;
    color: #000000;
}
#elementFloorMapLinkPC > a > i {
    margin-left: -10px;
}
#elementFloorMapLinkPC > a >  span{
    margin-left: 10px;
}

#elementFloorMapLinkSP {
    width: 28%;
    height: 35px;
    margin-left: 25px;
    margin-bottom: 20px;
    padding-top: 10px;
    padding-left: 25px;
    border: solid 0.5px;
    color: #000000;
}

#elementFloorMapLinkSP > a > i {
    margin-left: -10px;
}
#elementFloorMapLinkSP > a >  span{
    margin-left: 10px;
}

.nextModalButtonsInner {
    /* margin-top: 8px; */
    margin-top: 2px;
    display: flex;
    flex-direction: row-reverse;
}

.nextModalButtons {
    margin-right: 8px;
}
.btnToggle {
    margin-top: 2px;
    margin-left: 2px;
}

#initialButton ,#initialButtonPC {
    font-size: 18px;
    /* font-size: 38px; */
    margin: 0px;
    /* margin: 2px; */
    border-color: transparent;
    background-color: transparent;
    border: none;
}

#initialButton i, #initialButtonPC i {
    /* font-size: 22px; */
    font-size: 28px;
    /* margin: 0px; */
    margin-left: 8px;
    margin-top: 2px;
    border-color: transparent;
    background-color: transparent;
    border: none;
    

}

#nextButton, #nextButtonPC {
    /* font-size: 22px; */
    font-size: 38px;
    margin: 0px;
    border-color: transparent;
    background-color: transparent;
}

#previousButton, #previousButtonPC {
    /* font-size: 22px; */
    font-size: 38px;
    margin: 0px;
    border-color: transparent;
    background-color: transparent;
}

#initialButton i.nextModal, #initialButtonPC i.nextModal{
    color: #698b22;

}
#nextButton i.nextModal, #nextButtonPC i.nextModal{
    color: #698b22;
}
#nextButton i.onAuto, #nextButtonPC i.onAuto{
    color: #d9d9e1;
}
#previousButton i.previousModal, #previousButtonPC i.previousModal{
    color: #698b22;
}
#previousButton i.onAuto, #previousButtonPC i.onAuto{
    color: #d9d9e1;
}
#autoNextButton, #autoNextButtonPC {
    /* font-size: 20px; */
    font-size: 28px;
    margin: 0px;
    border-color: transparent;
    background-color: transparent;
    border-radius: 7px;
}
#autoNextButton i, #autoNextButtonPC i {
    color: #698b22;
}
#autoNextButton i.onAuto,#autoNextButtonPC i.onAuto{
    color: #d9d9e1;
}

#autoPreviousButton, #autoPreviousButtonPC{
    /* font-size: 18px; */
    font-size: 28px;
    margin: 0px;
    border-color: transparent;
    background-color: transparent;
    border-radius: 7px;
}
#autoPreviousButton i, #autoPreviousButtonPC i{
    color: #698b22;
}
#autoPreviousButton i.onAuto, #autoPreviousButtonPC i.onAuto{
    color: #d9d9e1;
}

#autoCommentButton, #autoCommentButtonPC {
    font-size: 18px;
    margin: 0px;
    border-color: transparent;
    background-color: transparent;
}
#autoPauseButton, #autoPauseButtonPC  {
    font-size: 18px;
    margin: 0px;
    border-color: transparent;
    background-color: transparent;
}


#autoPauseButton i, #autoPauseButtonPC i{
    /* font-size: 18px; */
    font-size: 26px;
    border-color: transparent;
    background-color: transparent;
    color: #787575;
    /* color: #a0522d; */
}
#autoPauseButton i.onAuto, #autoPauseButtonPC i.onAuto{
    color: #a0522d;
}
/* URL copy ボタン  */
.URLCopyButton {
    background: #0000cd;
    padding: 3px 3px 3px 6px;
    color: #fff;
    height: 13px;
    margin-left: 5px;
    /* display: inline-block; */
    display: flex;
    flex-direction: row-reverse;
    border-radius: 4px;
    opacity: 0.8;
    cursor: pointer;
}
/* ***********************************************/
/* 地域についてモーダル ******************************/
/* ***********************************************/
div#aboutarea_modal {
    position: absolute;
    top: 0;
    left: 0;
    width: 350px;
    height: 100vh;
    background-color: #f7f7f7;
    z-index: 1400;
    box-shadow: -2px 0 6px 2px #989898;
}
@supports (-webkit-touch-callout: none) {
    div#aboutarea_modal {
        height: -webkit-fill-available;
    }
} 

div#aboutarea_modal.hidden {
    display: none !important;
}

.aboutarea_modal_inner {
    height: 100%;
    padding: 0px 15px;
    overflow: scroll;
    position: relative;
}

.areaLayer_modal_inner {
    height: 100%;
    padding: 0px 15px;
    overflow: scroll;
    position: relative;
}
/* 768px以下で高さを80pxに */
@media screen and (max-width: 768px) {
    .areaLayer_modal_inner {
        height: 80%;
    }
}
.aboutarea_modal_inner_child, .aboutarea_layer_modal_inner_child {
    padding: 15px 0;
}

.about_area_item {
    margin-bottom: 15px;
    width: 100%;
}

.about_area_item.title_box {
    display: flex;
    flex-direction: column;
}

.about_area_item.title_box .big_title {
    font-size: 20px;
    font-weight: bold;
    color: rgb(63, 63, 63);
}

.about_area_item.title_box .small_title {
    font-size: 15px;
    color: rgb(128, 128, 128);
}

img.city_image {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 7px;
}

.city_description {
    font-size: 16px;
    line-height: 24px;
}

.city_sub_title {
    background-color:#c9f8ff;
    font-weight:bold; 
    padding:5px;
}

.about_area_item.original_map_box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.about_area_item.original_map_box a {
    padding: 8px 0;
    background-color: #53b7c7;
    width: 100%;
    text-align: center;
    border-radius: 5px;
    font-size: 14px;
    color: #fff;
    margin-bottom: 5px;
}


.about_area_item.layer_map_box {
    display: flex;
    /*justify-content: center;
    align-items: center;*/
    flex-direction: column;
}

.about_area_item.layer_map_box .big_title {
    font-size: 20px;
    font-weight: bold;
    padding: 10px;
    color: rgb(63, 63, 63);
}

.about_area_item.layer_map_box a {
    padding: 8px;
    /*padding: 8px 0;*/
    /*background-color: #32cd32;*/
    background-color: #dbffdb;
    width: 95%;
    /*width: 100%;*/
    /*text-align: center;*/
    border-radius: 5px;
    /*font-size: 14px;*/
    font-size: 15px;
    color: #000;
    margin-bottom: 5px;
    border:0;
}
.about_area_item.layer_map_box button {
    padding: 8px;
    /*padding: 8px 0;*/
    /*background-color: #32cd32;*/
    background-color: #dbffdb;
    width: 95%;
    /*width: 100%;*/
    /*text-align: center;*/
    border-radius: 5px;
    /*font-size: 14px;*/
    font-size: 15px;
    color: #000;
    margin-bottom: 5px;
    border:0;
}

.about_area_item.layer_map_box button {
    cursor: pointer;
}

.about_area_item.layer_map_box a:nth-child(even), .about_area_item.layer_map_box button:nth-child(even) {
    background-color: #edffdb;
}


.about_area_item.layer_map_box a:nth-child(n+8), .about_area_item.layer_map_box button:nth-child(n+8) {
    background-color: #fdf5e6;
}

.about_area_item.layer_map_box.link_description a {
    padding: 8px 0;
    /*background-color: #00bfff;*/
    /* background-color: #eaffff; */
    background-color: #afeeee;
    width: 100%;
    text-align: center;
    border-radius: 5px;
    /*font-size: 14px;*/
    font-size: 15px;
    color: #000;
    margin-bottom: 5px;
    cursor: pointer;
}

.about_area_tokusan_ul {

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 10px 0;
}

.about_area_item {
    margin-bottom: 15px;
    width: 100%;
}

.section_title {
    margin-top: 30px;
    border-bottom: solid 0.5px gray;
    font-size: 16px;
    color: black;
}

.about_area_tokusan_ul li {
    font-size: 14px;
    margin-right: 7px;
    background-color: #c9f8ff;
    color: #53b7c7;
    padding: 2px 13px;
    border-radius: 10px;
    margin-bottom: 5px;
}

.about_area_links_ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

ul.about_area_links_ul li {
    width: 80px;
    height: 80px;
    background-color: rgb(255, 255, 255);
    border: solid 2px #53b7c7;
    margin-right: 5px;
    margin-bottom: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
}

ul.about_area_links_ul li a {
    text-align: center;
    font-size: 14px;
    color: #53b7c7;
    font-weight: bold;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-break: anywhere;
    padding: 0 5px;
}

ul.about_area_links_ul li a:hover {
    cursor: pointer;
}

.backToBoardButton {
    /* width: 30px; */
    text-align: center;
    width: 56px;
    height: 12px;
    margin-left: -80px;
    margin-bottom: -58px;
    background-color:#d6d6d6;
    border: none;
    padding: 2px 10px;
    margin-top: 20px;
    padding-top: 10px;
    padding-bottom: 20px;
    font-size: 14px;
    border-radius: 6px;

}
.backToBoardButton :hover{
    cursor: pointer;
}

span.aboutAreaBackButton {
    display: inline-block;
    text-align: center;
    width: 100%;
    padding: 6px 0px;
    border-radius: 50px;
    font-size: 14px;
    color: #fff;
    background-color: #228b22;
    margin-left: -38px;
    margin-bottom: -10px;
}
/* ***********************************************/
/* テーママップモーダル ******************************/
/* ***********************************************/
div#areaLayer_modal {
    position: absolute;
    top: 0;
    left: 0;
    /*width: 350px;*/
    width: 280px;
    height: 100vh;
    /*background-color: #f7f7f7;*/
    background-color: #fff;
    z-index: 1400;
    box-shadow: -2px 0 6px 2px #989898;
}
@supports (-webkit-touch-callout: none) {
    div#areaLayer_modal {
        height: -webkit-fill-available;
    }
} 
.accordionList{
    list-style: none;
}

/* 開閉不可ボタン */
.accordionChild {
    padding: 8px;
    /* background-color: #dbffdb; */
    width: 95%;
    border-radius: 5px;
    font-size: 15px;
    color: #000;
    margin-bottom: 5px;
    border: 0;
    cursor: pointer;
}

.about_area_item.layer_map_box button.odd{
    background-color: #dbffdb;
}
.about_area_item.layer_map_box button.even{
    background-color: #edffdb;
}


.about_area_item.layer_map_box button.colorOdd{
    background-color: #ffc1c1;
}
.about_area_item.layer_map_box button.colorEven{
    background-color: #fff09b;
}


/* 開閉可能ボタン */
.accordionBtn,.accordionBtnUnfold{
    position: relative;
    border: none;
    width: 100%;
    background-color: inherit;
    color: #fff;
    cursor: pointer;
    text-align: left;
    padding: 15px 0 15px 20px;
    font-size:1em;
}

.accordionBtnUnfold{
    cursor: none;
}

button.accordionBtn{
    background-color: #69bb79!important;
    color: #ffffff!important;
}
button.accordionBtn:hover{
    background-color: #37a0b8!important;
    color: #ffffff!important;
}

.accordionBtn::before{
    content:"▼";
    display: inline-block;
    transform: rotate(-90deg);
    right: 35px;
}

.accordionBtn::after{
    display: inline-block;
    transform: rotate(0deg);
    right: 35px;

}

.accordingUl{
    height: 0;
    padding: 0;
    overflow: hidden;
    transition: .5s;
    margin:0;    
}

li.active button::before{
    transform: rotate(0deg);
    transition:.5s;
}

li.active button::after{
    transform: rotate(0deg);
    transition:.5s;
}
/* ul.active{ overflow-y: auto; } */
/* ***********************************************/
/* テーママップモーダルSP ******************************/
/* ***********************************************/

div#areaLayer_modal_SP {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    width: calc(100vw - 20px);
    height: 40vh;
    /*background-color: #f7f7f7;*/
    background-color: #fff;
    padding: 10px;
    z-index: 1400;
    box-shadow: -2px 0 6px 2px #989898;
    overflow: scroll;
}
/* ***********************************************/
/* スポットモーダル PC*********************************/
/* ***********************************************/
div#spot_modal {
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 100vh;
    background-color: #f7f7f7;
    z-index: 1570;
    box-shadow: 3px 0 6px 2px #676767;
}
@supports (-webkit-touch-callout: none) {
    div#spot_modal {
        height: -webkit-fill-available;
    }
} 

div#spot_modal.hidden {
    display: none !important;
}

.spot_modal_inner {
    height: 100%;
    overflow: scroll;
}

/*ローマ字を非表示にする*/
#spot_title_roman, #spot_title_roman_sp {
    display: none;
}

.spot_close_icon {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 5px;
    left: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 25px;
    z-index: 2000;
    background-color: #e1e1e19e;
    border-radius: 50px;
}
div#qr_image_box{
    display: flex;
    justify-content: center;
    margin-top: 0px;
}
.qr_description{
    display: flex;
    justify-content: center;
    font-size:12px;
    /*margin-top: 30px;*/
    padding: 30px;
}

/* Swiper (Modal写真複数枚表示)*/
.swiper {
    width: 100%;
    max-width: 380px;
    height: 250px ;
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
    /*padding-right: -2px;*/
}
.mySwiper {
    --add-bottom: 40px;
    padding-bottom: var(--add-bottom);
}
.mySwiper [class^="swiper-button-"]{
    top: calc(50% - var(--add-bottom) / 2);
}
.mySwiper_sp{
    --add-bottom: 40px;
    padding-bottom: var(--add-bottom);
}
.mySwiper_sp[class^="swiper-button-"]{
    top: calc(50% - var(--add-bottom) / 2);
}
.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 250px;
    max-width: 380px;
    object-fit: cover;
}

.swiper-pagination-bullet {
    background-color: #999;
    height: 12px;
    width: 12px;
}
.swiper-button-prev::after {
    position: relative;
    content: "\f137";
    font-family: "Font Awesome 5 Free";
    font-size: 20px;
    font-weight: 900;
    opacity: 0.9;
    color:#1e90ff;
    /* color:#fff; */
}
.swiper-button-next::after {
    position: relative;
    content: "\f138";
    font-family: "Font Awesome 5 Free";
    font-size: 20px;
    font-weight: 900;
    opacity: 0.9; 
    color:#1e90ff;
    /* color:#fff; */
}

/* Swiper (SP ICONスライド)*/
#SP_bottom_btns{
    width: 290px;
    margin-left: -20px;
}
.iconSwiper {
    width: 280px;
    height: 100px;
    overflow: hidden;
}
.swiper-slide-icon {
    width: 30px;
    height:80px;
    text-align: center;
    font-size: 12px;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
}
.swiper-slide-icon img {
    display: block;
    width: 40px;
    /* height: 80px; */
    /* max-width: 100px; */
    /* object-fit: cover; */
}

#SP_bottom_btns .swiper-button-prev::after, #SP_bottom_btns .swiper-button-next::after {
    color: #007aff;
}

.spot_image_box {
    position: relative;
    height: 250px;
}

img.spot_image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    max-width: 380px;
    margin-left: 2px;
    /* margin-right: -6px; */
    padding-right: -2px;
}

.spot_title_box {
    /* position: absolute;
    bottom: 0; */
    background-color: #ffffffb5;
    padding: 10px 10px 5px;
    display: flex;
    flex-direction: column;
    /* align-items: flex-start; */
    align-items: flex-end;
    text-align: right;
}

#switch {
    background-color: #ffffffb5; 
}
#spot_genre {
    background: gray;
    font-size: 11px;
    margin-bottom: 4px;
    border-radius: 10px;
    padding: 1px 14px;
    color: #fff;
}

#spot_genre_sp {
    background: gray;
    font-size: 11px;
    margin-bottom: 4px;
    border-radius: 10px;
    padding: 1px 14px;
    color: #fff;
}

#info_owner {
    font-size: 12px;
    padding: 5px;
}

.spot_contents {
    width: calc(100% - 40px);
    padding: 15px 20px 5px;
    max-width: 500px;
    margin: 0 auto;
}

.description_box {
    margin-bottom: 30px;
}

span#spot_description {
    /*font-size: 12px;*/
    font-size: 16px;
    /*line-height: 18px;*/
    line-height: 28px;
    display: block;
}

table.spot_info_table {
    width: 100%;
    font-size: 14px;
}

table.spot_info_table {
    width: 100%;
    font-size: 14px;
    border-top: solid 0.5px #d4d4d4;
    padding-top: 10px;
    margin-bottom: 30px;
}

tr.spot_info_tr td {
    padding: 0px 0px 10px;
    vertical-align: initial;
}

td.table_front {
    width: 25%;
    font-weight: bold;
    color: #939393;
}

td.table_back.biztime li {
    list-style: none;
}

.spot_modal_comment {
    font-size: 12px;
    margin: 3px 0 10px;
}

ul#spot_links_ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}

ul#spot_links_ul_sp {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}

li.spot_link_box {
    width: 65px;
    height: 65px;
    margin-right: 5px;
    border-radius: 4px;
    border: solid 0.5px #000000;
}

li.spot_link_box a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

li.spot_link_box a i{
    font-size: 20px;
}

span.link_text {
    font-size: 11px;
    padding-top: 5px;
}

ul#spot_links_sns_ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

ul#spot_links_sns_ul_sp{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

li.spot_sns_box {
    margin: 0 5px;
    font-size: 25px;
}

ul.icon_list_ul {
    display: flex;
    flex-direction: row;
    margin: 5px 0 20px;
}

ul.icon_list_ul li {
    width: 35px;
    height: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right: 5px;
    padding: 3px;
}

ul.icon_list_ul li i {
    font-size: 15px;
    color: #282828;
}

ul.icon_list_ul li span {
    font-size: 10px;
    line-height: 10px;
    margin-top: 3px;
    line-break: anywhere;
    text-align: center;
}

/* ***********************************************/
/* スポットモーダル SP ******************************/
/* ***********************************************/
div#spot_sp_modal {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100vw;
    
    height: 60vh;
    max-height: 60%;

    /* height: 88vh;
    max-height: 88%; */
    background-color: #f7f7f7;
    z-index: 1560;
    box-shadow: 3px 0 6px 2px #676767;
}

/* safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root div#spot_sp_modal {
        height: 60svh !important;
        /* height: 88svh !important; */

    }
}

.spot_close_box {
    width: 50px;
    height: 35px;
    background: #f7f7f7;
    position: absolute;
    top: -35px;
    right: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    z-index: 2550;
}

.spot_title_box_sp {
    /*margin-bottom: 16px;*/
    padding: 5px 10px;
}

span#spot_title {
    font-size: 19px;
    font-weight: bold;
}

span#spot_title_sp {
    font-size: 19px;
    font-weight: bold;
}

.description_box.sp {
    /*display: flex;*/
    margin-bottom: 10px;
}

img#spot_modal_image_sp {
    height: 250px;
    object-fit: cover;
    /* max-width: 350px; */
    max-width: 380px;
}

span#spot_description_sp {
    font-size: 16px;
    /*font-size: 13px;*/
    /*line-height: 17px;*/
    line-height: 28px;
    display: block;
    padding: 10px;
}

table.spot_info_table.sp {
    margin-bottom: 0px;
    padding: 10px;
}

table.spot_info_table.sp tr.spot_info_tr td {
    padding-bottom: 2px;
}

div#qr_image_box_SP{
    display: flex;
    justify-content: center;
    margin-top: 0px;
}

/* ***********************************************/
/* バスモーダル PC*********************************/
/* ***********************************************/
div#bus_modal {
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 100vh;
    background-color: #f7f7f7;
    z-index: 1480;
    box-shadow: 3px 0 6px 2px #676767;
}

div#bus_modal.hidden {
    display: none !important;
}

.bus_modal_inner {
    height: 100%;
    overflow: scroll;
}

.bus_close_icon {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 5px;
    left: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 25px;
    z-index: 2000;
    background-color: #e1e1e19e;
    border-radius: 50px;
}

.bus_contents_wrapper {
    padding-top: 40px;
}

.bus_contents {
    width: calc(100% - 40px);
    padding: 15px 20px 15px;
    max-width: 500px;
    margin: 0 auto;
}

.bus_stop_title {
    font-size: 20px;
    margin: 0 0 5px;
}

.bus_stop_title_sub {
    font-size: 17px;
    font-weight: bold;
    margin: 0 0 10px;
    color: gray;
}

.bus_modal_course_link_box {
    display: flex;
    width: 100%;
}

.bus_modal_course_link_box div {
    width: 47%;
    margin-right: 3%;
}

p.bus_modal_course_name {
    font-weight: bold;
    font-size: 16px;
    margin: 0 0 5px;
}

ul.bus_modal_courses_ul {
    margin-bottom: 50px;
}

ul.bus_modal_courses_ul li {
    margin-bottom: 20px;
}

.bus_modal_course_link_box a {
    display: block;
    background: #1fb1e3;
    color: #fff;
    padding: 5px 10px;
    text-align: center;
    border-radius: 5px;
}

p.bus_modal_description {
    font-size: 15px;
    /*font-size: 13px;*/
    margin: 20px 0 40px;
    display: block;
}

.bus_modal_bottom_link_box {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.bus_modal_bottom_link_box div {
    width: 100%;
    margin-bottom: 2%;
}

.bus_modal_bottom_link_box a {
    display: block;
    font-size: 14px;
    padding: 9px 10px;
    text-align: center;
    border: 0.5px solid;
    border-radius: 5px;
    background: #12799d;
    color: #fff;
    font-weight: bold;
}

/* ***********************************************/
/* バスモーダル SP ******************************/
/* ***********************************************/

div#bus_sp_modal {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100vw;
    height: 60%;
    max-height: 60%;
    background-color: #f7f7f7;
    z-index: 1480;
    box-shadow: 3px 0 6px 2px #676767;
}

.bus_close_box {
    width: 50px;
    height: 35px;
    background: #f7f7f7;
    position: absolute;
    top: -35px;
    right: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
}

/****************************************/
/* detail ********************************/
/****************************************/
header.detail_header {
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px -2px 6px 2px #626262;
    position: relative;
}

img#detail_header_logo {
    height: 30px;
    margin: 10px 0;
}

.detail_wrapper {
    max-width: 650px;
    margin: 0 auto;
}

#detail_wrapper_inner {
    width: 100%;
    padding: 15px 0;
}

.breadcrumble_box {
    margin-bottom: 10px;
    font-size: 15px;
    color: gray;
}

.breadcrumble_box i {
    margin-right: 5px;
}

.detail_title_box {
    margin-bottom: 10px;
}

.detail_title_genre {
    margin-bottom: 8px;
}

.detail_title_genre span {
    background-color: #a17a5e;
    padding: 4px 20px;
    font-size: 13px;
    border-radius: 6px;
}

.detail_title_text {
    font-size: 1.5em;
    font-weight: bold;
}

img#detail_eyecatch_img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 5px;
}

.section_border {
    display: flex;
    justify-content: center;
    margin: 80px 0 30px;
}

.section_border div.section_border_title {
    border: solid 0.5px gray;
    padding: 5px 50px;
    border-radius: 4px;
    width: 100px;
    height: 25px;
    text-align: center;
    line-height: 25px;
    position: relative;
}

.section_border_bg {
    position: absolute;
    top: 0;
    /* right: 0; */
    left: -3px;
    background: #ffe994;
    width: 100%;
    height: 35px;
    z-index: -1;
    transform: rotate(358deg);
}

/* 紹介文 ***************************/
ul#about_desc_list li {
    margin-bottom: 50px;
}

.detail_desc_box {
    margin: 20px 0 40px;
}

img.detail_image {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

div.detail_desc_text {
    font-size: 12px;
}

/* テーブル ***************************/
.detail_infotable_box table {
    width: 100%;
    border-collapse:collapse;
    margin-bottom: 50px;
    line-break: anywhere;
}

.detail_infotable_box tr {
    height: 40px;
    border-bottom: solid 0.5px #d7d7d7;
}

.detail_infotable_box td {
    padding: 10px 2px;
}

td.detail_td_front {
    width: 40%;
    vertical-align: initial;
}

td.detail_td_back {
    width: 60%;
    vertical-align: initial;
}

td.detail_td_front i {
    width: 15px;
    height: 15px;
    line-height: 15px;
    font-size: 15px;
    text-align: center;
    color: #787878;
    margin-right: 2px;
}

td.detail_td_front span {
    height: 25px;
    line-height: 25px;
    vertical-align: top;
    font-size: 10px;
    font-weight: bold;
    color: #787878;
}

ul#set_value_ul {
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

ul#set_value_ul li {
    padding: 2px 15px;
    background: gray;
    height: 21px;
    margin-right: 5px;
    margin-bottom: 5px;
    line-height: 23px;
    font-size: 13px;
    color: #fff;
    border-radius: 20px;
}

ul#detail_links_ui {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

ul#detail_links_ui li {
    width: 100px;
    height: 100px;
    border: solid 1px gray;
    margin: 0 5px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

ul#detail_links_ui a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

ul#detail_links_ui a i{
    font-size: 20px;
}

ul#detail_links_ui a span{
    font-size: 15px;
}

.detail_biz_toggle_box {
    display: flex;
    width: 50%;
    min-width: 250px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.detail_biz_toggle_div {
    padding: 3px 10px;
    cursor: pointer;
}

ul#detail_biz_ul {
    margin: 0;
    user-select: none;
    margin: 10px 0;
}

.hidden {
    display: none !important;
}

ul#detail_biz_ul li {
    padding: 3px 0;
}

span.weekday_name {
    display: inline-block;
    font-size: 13px;
    color: gray;
    font-weight: bold;
    text-align: right;
    margin-right: 13px;
}

span.weekday_name_en {
    width: 100px;
}

span.weekday_name_other {
    width: 45px;
}
/* ~~~ のページ */
.campaign_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
}

.campaign_title {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
}

.campaign_img {
    width: 300px;
    height: 300px;
    object-fit: cover;
}

.detail_qr_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 60px auto 120px;
}

.detail_bottom_map_link_box {
    display: flex;
    justify-content: center;
    padding: 0;
    background: #ffffffe3;
    width: 100vw;
    position: fixed;
    bottom: 0px;
    left: 0;
    right: 0;
    align-items: center;
    height: 60px;
    box-shadow: 0px -2px 9px -3px #797979;
}

a#detail_bottom_map_link {
    background: #ffcb00;
    color: #fff;
    padding: 5px;
    border-radius: 30px;
    width: 90vw;
    max-width: 310px;
    text-align: center;
    font-weight: bold;
    font-size: 13px;
}

.base-icon-label span{
    background-color: #fff;
    padding: 3px;
    cursor: default;
}

div#detail_qr_image_box canvas{
    padding: 20px 0px;
}

/* テスト */
.inner_box {
    width: 150px;
    height: 150px;
}

/* ローディングアニメーション */
#loader {
    font-size: 10px;
    margin: 50px auto;
    text-indent: -9999em;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    background: #0082e6;
    background: -moz-linear-gradient(left, #0082e6 10%, rgba(0,130,230, 0) 42%);
    background: -webkit-linear-gradient(left, #0082e6 10%, rgba(0,130,230, 0) 42%);
    background: -o-linear-gradient(left, #0082e6 10%, rgba(0,130,230, 0) 42%);
    background: -ms-linear-gradient(left, #0082e6 10%, rgba(0,130,230, 0) 42%);
    background: linear-gradient(to right, #0082e6 10%, rgba(0,130,230, 0) 42%);
    position: relative;
    -webkit-animation: load3 1.4s infinite linear;
    animation: load3 1.4s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

#loader:before {
    width: 50%;
    height: 50%;
    background: #0082e6;
    border-radius: 100% 0 0 0;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}

#loader:after {
    background: #ffffff;
    width: 75%;
    height: 75%;
    border-radius: 50%;
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

/* マーカー　*/
img.pin_marker {
    z-index: 3 !important;
}

@-webkit-keyframes load3 {
0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}
}

@keyframes load3 {
0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}
}

/* customLayer exit */
div#exitCustomLayer {
    width: 49px;
    height: 49px;
    position: absolute;
    /*bottom: 190px;*/
    bottom: 350px;
    right: 10px;
    z-index: 1100;
    background: #ffffff;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    opacity: none;
}
/* ラベルOnOffボタン */
div#label_btn_box {
    width: 49px;
    height: 49px;
    position: absolute;
    /*bottom: 190px;*/
    /*bottom: 270px;*/
    bottom: 210px;
    right: 10px;
    z-index: 1100;
    background: #5252525e;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}

div#label_btn_box:hover {
    cursor: pointer;
    opacity: 0.7;
}

div#label_btn_box_inner {
    width: 45px;
    height: 45px;
    background: #ffffff;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

div#label_btn_box_inner span {
    font-size: 0.7rem;
    font-weight: bold;
    color: gray;
    line-height: 0.9rem;
}

div#label_btn_box_inner.on span {
    color: #ffb011;
}

/* 管理画面プレビュー */
.leaflet-div-icon {
    border: none;
}
.preview_label {
    padding: 0px 3px;
    font-size: 12px;
    word-break: keep-all;
}

@media screen and (min-width: 641px) {
    p#menu_select_lang_title,
    div#menu_lang_btn_div {
        display: none;
    }
}

@media screen and (max-width: 640px) {
    html,
    div#map_Layer,
    div#map,
    div#menu_modal,
    div#genre_modal,
    div#aboutarea_modal {
        height: -webkit-fill-available;
    }

    /* #bus_modal {
        display: none;
    } */

    div#top_search_wrapper {
        width: 94vw !important;
        padding: 3vw !important;
    }

    #top_search_box {
        width: 88vw !important;
        padding: 5px 3vw !important;
    }

    #search_message_wrapper,
    #search_result_wrapper {
        width: 88vw !important;
        padding: 15px 3vw !important;
    }

    div#header_lang_btn_div {
        display: none;
    }

    #detail_wrapper_inner {
        width: 92vw;
        padding: 15px 4vw;
    }

    div#search_again_btn_box {
        top: 70px;
    }

    div#search_again_btn_box.show {
        top: 70px;
    }

    /* スマホ 検索結果*/
    div#SP_search_container {
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0;
        width: 100vw;
        height: calc(40vh + 55px);
    }

    ul#search_any_result_wrapper {
        height: 40vh;
        padding: 15px 10px 40px;
        margin: 0;
        z-index: 1300;
        position: absolute;
        top: unset;
        bottom: 0;
        left: 0;
        right: 0;
        width: calc(100% - 20px);
        box-shadow: 0px -2px 7px -2px grey;
    }

    #SP_search_close_cross {
        width: 50px;
        height: 35px;
        background: #eee;
        position: absolute;
        top: -35px;
        right: 6px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-top-left-radius: 7px;
        border-top-right-radius: 7px;
        z-index: 1550;
    }

    #MEO_search_close_cross {
        width: 50px;
        height: 35px;
        background: #eee;
        position: absolute;
        top: -35px;
        right: 6px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-top-left-radius: 7px;
        border-top-right-radius: 7px;
        z-index: 1550;
    }
    
    
}
#MEO_search_close_cross {
    width: 50px;
    height: 47px;
    background: #eee;
    left: 300px;
    margin-left: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    top:  unset;
    bottom: 47vh;
    position: absolute;
    z-index: 1200;
    margin-bottom: -8px;
    
}
/*PINのカーソル*/
.pin_icon {
  cursor: default;
}

/*PINのラベル*/
.pin-icon-label span{
    display: inline-block;
    /*width:200px;*/
    color:#666;
    text-shadow: 1px 1px 1px #eee;
    cursor: default;
}

/*独自レイヤーのラベル*/
.see span {
    color: #ff00cc;
    background: #fff;
}

.play span {
    color: #0099ff;
    background: #fff;
}

.experience span {
    color: #006633;
    background: #fff;
}

.enjoy span {
    color: #ff0066;
    background: #fff;
}

.eat span {
    color: #ff9900;
    background: #fff;
}

.event span {
    color: #ff3300;
    background: #fff;
}

.hotel span {
    color: #663300;
    background: #fff;
}

.traffic span {
    color: #333399;
    background: #fff;
}

.stay span {
    color: #660099;
    background: #fff;
}

.life span {
    color: #009900;
    background: #fff;
}

.landmark span {
    color: #333399;
    background: #fff;
}


div#area_scroll_no_data,div#area_layer_scroll_no_data {
    position: absolute;
    top: 0;
    left: 0;
    /* background: #f7f7f7; */
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*　ルート検索用　*/
.map {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.results {
    background-color: white;
    opacity: 0.8;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 320px;
    height: 480px;
    overflow-y: scroll;
}

body {
    width: 100vw;
    height: 100%;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    font-family: sans-serif;
}
/* .map-color {color: #32cd32} */