@charset "utf-8";
/* CSS Document */

h2{
text-align: center;
margin-top: 25px;
}

h2 img{
max-width: 1000px;
width: 100%;
margin: auto;
}
.map_t_s{
max-width: 600px;
}

.page_container {
margin-top: 10px;
width: 95%;
border: 0px solid #000000;
background:#ffffff;
}





.map_wrap{
max-width: 1000px;
width: 95%;
margin: auto;
padding: 5px 0 50px;
}

.map_btn_box{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	justify-content:space-around;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
	margin: auto;
}
.map_btn_box div{
width: 48%;
}
@media only screen and (max-width: 640px) {
.map_btn_box div{
width: 100%;
}
}
.map_btn_box div ul.area_btn{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	justify-content:center;
	align-items: center;
	flex-wrap: wrap;
}
.map_btn_box div ul.area_btn li{
margin: 15px 0;
text-align: center;
}
.map_btn_box div ul.area_btn li img{
border-radius: 10px;
max-width: 350px;
width: 100%;
box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
@media only screen and (max-width: 640px) {
.map_btn_box div ul.area_btn li{
width:100%;
margin: 15px auto 0;
}
}

/* === 追加・上書き部分 === */
.layout {
  display: flex;
  height: 100vh;
align-items: stretch;
  overflow: hidden;
  margin-top: 10px;
	
}


/* 左（マップ画像） */
.map_img_wrap {
  flex: 0 0 50%;
  position: sticky;
  top: 0;
height: auto;
  justify-content: center;
  align-items: center;
}

/*.map_print_pdf_btn{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	justify-content:center;
	align-items: flex-end;
	flex-wrap: wrap;
	padding: 10px 0;
	width: 210px;
}
@media only screen and (max-width:870px) {
.map_print_pdf_btn{
width:100%;
align-items: center;
}
}*/

.map_print_pdf_btn {
  display: flex;             /* flexコンテナ */
  flex-direction: row;       /* 横並び */
  justify-content: center;   /* 中央寄せ */
  align-items: center;       /* 縦中央揃え */
  flex-wrap: nowrap;         /* 折り返しなし */
  gap: 10px;  
  width: 100%;              /* 必要に応じて調整 */
}

/* スマホ・小画面用 */
@media only screen and (max-width:870px) {
  .map_print_pdf_btn {
    width: 95%;	  
    justify-content: center; /* 中央寄せのまま */
  }
}

.map_wrap h3{
background:#86BB66;
color: #FFFFFF;
font-size: 20px;
font-weight: bold;
padding:8px 5px;
text-align: center;
}
.map_wrap h3 span{
font-size: 0.8em;
}

.map_wrap h4{
font-size: 20px;
font-weight: bold;
margin: 30px auto;
}

.map_wrap p{
margin: 30px auto;
padding:0 10px;
}

img.area_map{
width: 100%;
max-width: 700px;
}

@media only screen and (max-width: 640px) {
.map_wrap h3{
font-size: 20px;
font-weight: bold;
}
}


/*広場名見出し*/
.hiroba_midashi {
  font-size: 2em;
  font-weight: bold;
  padding: 15px 0;
  text-align: center;
  width: 100%;
}
/*.hiroba_midashi{
font-size: 2em;
font-weight: bold;
padding: 15px 0;
text-align: center;
width: 100%;
}*/
.kita1_hiroba_tit{
background: #0095c7;
color: #ffffff;
}
.kita2_hiroba_tit{
background:#ce4e5b;
color: #ffffff;
}
.motonari_hiroba_tit{
background:#132a88;
color: #ffffff;
}
.honmaru1_tit{
background:#60342a;
color: #ffffff;
}
.honmaru2_tit{
background:#b63017;
color: #ffffff;
}
.stadium_tit{
background:#5d509b;
color: #ffffff;
}

.sannomaru_tit{
background:#0060a9;
color: #ffffff;
}


.umiyama_hiroba_tit{
background:#cf6d07;
color: #FFFFFF;
}

.map_top_tit{
font-size: 1.2em;
padding: 10px 0;
}

/*店舗リスト*/
/* 右（リスト） */
.area_list_wrap {
  flex: 1;
  overflow-y: auto;
  background: #fff;
  padding: 0 1rem;
 height: 100vh;	
 max-width: none;
}

table{
border: 1px solid #888888;
margin: 0 auto 20px;
width: 100%;
}
th{
border: 1px solid #B1B1B1;
/*color:#FFFFFF;*/
font-size: 14px;/*13*/
padding: 5px;
}
td{
border: 1px solid #888888;
font-size: 15px;
/*font-size: 13px;*/
padding: 3px;/*5*/
}
table tr:nth-child(odd) td {
	background:#F3F3F3;
}
/* 1列目のスタイル */
table tr td:nth-of-type(1){
  text-align:center;
}

.area_txt_nowrap{
white-space: nowrap;
}
.umi_yama{
background:#ffdcc2;
color:#000000;
}
.kita1{
background:#f2ffa9;
color:#000000;
}
.kita2{
background:#f2ffa9;
color:#000000;
}
.lovegreen_hiroba{
background:#00a0e9;
}
.ikeda_hiroba{
background:#ddf4ff;/*background:#0A9D00;*/
color: #000000;
}
.shiro{
background:#ffeae6;
color:#000000;
}


/*マップ画像*/
.map_img{
text-align: center;
}

.map_img img {
  width: 100%;
  height: 100%;
  object-fit: contain; 
}





.pdf_btn{
max-width: 200px;
width: 100%;
margin:5px 15px;
}
.print_btn{
max-width: 200px;
width: 100%;
margin:5px 15px;
}
@media only screen and (max-width: 640px) {
.print_btn{
display: none;
}
	
}



/*インクルード　マップエリアボタン*/
ul.map_area_btn{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	justify-content:center;
	align-items: center;
	flex-wrap: wrap;
	margin: 30px auto 20px;
	max-width: 1000px;
	width: 100%;
}

ul.map_area_btn li{
width: 15%;
margin: 5px;
}
@media only screen and (max-width: 640px) {
ul.map_area_btn li{
width: 45%;
margin: 5px;
}
}
ul.map_area_btn li img{
width: 100%;
border-radius: 8px;
box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

strong{
font-size: 1.1em;
font-weight: bold;
}


.d-payment{
font-size: 12px;
max-width: 800px;
width: 100%;
margin: auto;
}

.dbarai img{width: 100%;max-width: 60px;}


/*ステージプログラム*/
img.stage_program{
max-width: 1000px;
width: 100%;
}

.map_container{
background: #FFFFFF;
width: 100%;
margin: auto;
}

.kanran-box {
  background: #FFFFFF;
  border: 5px solid #e73e20;
  width: 95%;
  max-width: 1000px;
  margin: 2rem auto 4rem;
  padding: 2em;
  box-sizing: border-box;
	border-radius: 20px;
	word-break: break-all;
	position: relative;
}

.kanran-box p{
    margin-top: 1rem;
}

ol.caution-kanran li{
    list-style: decimal;
    margin-left: 1rem;
    margin-top: .5rem;
}

.kanran-headline{
    background: #e73e20;color: #FFF;font-weight: bold;display: inline-block;padding: 5px 10px;box-sizing: border-box;
}


.kanran-b{
    font-weight: bold;
}

.kanran-line{
    border-bottom: 2px solid #e73e20;
    font-weight: bold;
}


/* スマホの時だけ改行させるクラス*/
.br-sp {
    display: none;
}
 
@media (max-width: 600px) {
    .br-sp {
        display: block;
    }
}
a{
color: #F33C3F;
}

/* === スマホ時 === */
@media (max-width: 768px) {
  .layout {
    flex-direction: column;
  }


  .map_img_wrap {
    flex: none;
    height: auto; 
    position: sticky;
    top: 0;
    z-index: 10;
	margin-bottom: 10px;
  }
	
	.map_img{
	width: 100%;
	margin: 0 auto;
	}	

  .area_list_wrap {
    padding: 0;
  }
	
.umi_yama_list	{
    height: 10vh; /* 残りの高さ分を自動スクロール領域に */
    overflow-y: auto;
    /*margin-top: 35vh;  */
  }
	
	.stadium_list{
    height: 10vh;
    overflow-y: auto;	
	}	

.honmaru_list{	
    height: 10vh;
    overflow-y: auto;		
}


	
	}