@charset "UTF-8";


/* header */

#topContent{
    height: 40vw;
	width: 100vw;
	background-color: #64503B;
	margin-bottom: 10vw;
	position: relative;
}
#topContent_map{
    height: 40vw;
	width: 100vw;
	background-color: #64503B;
	margin-bottom: 0vw;
	position: relative;
}

#topContentMsg{
	justify-content: center;
  position: absolute;
  width: 100vw;
  top: 0vw;/*上部マージンで中央調整*/
  margin: auto;
  z-index: 1;
  display: flex;
  flex-flow: column;
  color: #fff;
}
#topContentMsg > h2{
    width: 80%;
  text-align: center;
  font-size: 6vw;
  line-height: 8vw;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  transform: initial;
  margin-top: 0vw;/*上部マージンでロゴとの間隔を調整*/
  font-weight: 500;
}
#topContentMsg > h2 span{
  text-align: center;
  font-size: 70%;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  transform: initial;
  font-weight: 400;
  }
/*---------------------*/
#mainV{
	height: auto;
	width: 100vw;
	max-width: initial;
	min-width: 100%;
	min-height: 100%;
}
#topContent > img{
  max-width: initial;
  object-fit: cover;
  width: 100%;
  height: auto;
}
/*---------------------*/





/* H3_コンテンツ */

.inner_Content{
	width: 100%;
	background-color: #fff;
	font-size: 3.6vw;
	line-height: 7.2vw;
	font-weight: 500;
	color: #202020;
}
.inner_Content.gray{
	background-color: #eeedee;
}
.inner_Content.gray_map{
	background-color: #F5F4EB;
}
.inner_Content .inside{
	margin: 0vw 5vw 10vw;
}
.inner_Content > .inside p.inner{
  padding: 0vw 0vw 0vw 0vw;
  margin: 0vw 5vw 0vw;/*    padding: 6.09vw 0 5.21vw;*/
  }
.inner_Content h3{
	font-size: 160%;
	font-weight: bold;
	margin-bottom: 5vw;
}
.inner_Content h4{
	margin: 0 0 0vw;
	padding: 2.5vw 10vw;
	font-size: 130%;/*160%*/
	font-weight: bold;
	color: #fff;
	background-color: #202020;
		line-height: 150%;
}
.inner_Content h4 span{
	margin-left: 5vw;
	font-size: 70%;
	font-weight: bold;
}
/*.inner_Content .block img{
	margin-bottom: 5vw;
	width: 100%;
}*/
.inner_Content h5{
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 5vw;
}
.inner_Content h5 span{
	font-size: 80%;
	margin-bottom: 5vw;
}
.inner_Content p{
  font-size: 3.2vw;
  line-height: 7.0vw;
  word-break: break-all;
	text-align: justify;	
	margin-bottom: 5vw;
}


/*本文回り込み*/
.boxSet {
	margin: 0vw 0vw 10vw;
}
.boxSet > .text {
	margin: 0vw 12.5vw 10vw 11vw;
}
.boxSet > .text > .table-scroll > p {
	margin-bottom: 5vw;
}
.boxSet > .text > p > span {
	display: block;
	line-height: 6vw;
	font-size:90%;
	margin-top: 2vw;
}
.boxSet > .text > p.dates {
	display: block;
	line-height: 6vw;
	font-size:110%;
	margin-bottom: 5vw;
}
.boxSet img {
	width: 100%;
	margin: 0vw 0vw 5vw 0vw;
}
.subH {
	margin-bottom: 4vw;
	padding: 1vw 3vw 1vw 3vw;
	border-radius: 1vw;
	color: #fff;
	background-color: #B7B29F;
}
.subH_1 {
	margin-bottom: 2vw;
	padding: 1vw 3vw 2vw 0vw;
	color: #202020;
	border-bottom: 0.5vw solid #202020;
}
/*別ウインドウボタン*/
.Btn{
	display: block;
	line-height: 5vw;
	position: relative;
	/*border: 0.5vw solid #202020;*/
	border-radius: 1vw;
	margin-bottom: 5vw;
	padding: 2vw 0;/*上下余白指定*/
	text-align: center;/*テキスト中央寄せ*/
	color: #fff;
	background-color: #000;
}
.Btn-Icon{
  position: absolute;
  top: 50%;
  right: 5vw;/*右からの距離*/
  width: 2.5vw;/*アイコンの横幅指定*/
  transform: translateY(-50%);/*この指定で上下中央に*/
}




/* タブ */
.navs{
	width: 100%;
	height: 14vw;
	margin-bottom: 10vw;
	display: flex;
	justify-content: center;
	padding: 0vw 10vw;
	text-align: center;
	border-bottom: 0.5vw solid #202020;
	background-color: #fff;
	position: relative;
}
.navs_item,li .navs_item>a {
	width: calc(100%/4);
	height: 100%;
	padding-top: 4.5vw;/*高さ調整*/
	font-size: 85%;
	font-weight: bold;
	line-height: 4.5vw;/*高さ調整*/
	background-color: #fff;
	text-align: center;
    display: block;
	float: left;
	transition: all 0.3s ease;
	cursor: pointer;
}
.navs li+li{
    position: relative;
}
.navs li+li::before{
    content: "";
    display: block;
    height: 5vw;/*線の長さ調整*/
    border-left: 0.5vw solid #202020;
    position: absolute;
    margin: auto;
}
.navs li:first-of-type{
	border-left: none;
}
.navs_item_current{	
	background-color: #202020;
	color:#fff;
}
.navs .navs_item_current + li::before {
	display:none;
}
.navs span{
	display: block;
	width: 100%;
	font-size: 70%;
	margin-top: -2vw;
	margin-bottom: -1vw;
}
.list-wrap-tab ul.hide{
	display: none;
}

	




/* テーブル */

.table-scroll {
	overflow-x: auto;
	margin-bottom: 2.5vw;
	padding-bottom: 5vw;
/*スクロールバー非表示（IE・Edge）*/
	-ms-overflow-style: none;
/*スクロールバー非表示（Firefox）*/
	scrollbar-width: none;
}
/*スクロールバー非表示（Chrome・Safari）*/
.table-scroll::-webkit-scrollbar{
	display:none;
}
.table_spec {
	border-collapse: separate;
	table-layout: fixed;
	width: 100%;
	line-height: 120%;
	border-spacing: 0px;/************/
	font-size: 90%;
	margin-bottom: 5vw;
}
.table_spec thead th {
	white-space: nowrap;
	padding: 2.5vw 10vw 2vw 2vw;
	font-weight: bold;
}
.table_spec span {
	font-size: 70%;
}
/*.table_spec thead th:nth-child(2) {
  position: relative;
}*/
.table_spec tbody {
	border-collapse: separate;
  border-spacing: 2px;
}
.table_spec th {
	white-space: nowrap;
	padding: 2vw;
	border-bottom: 2px solid #aaa;/*******/
}
.table_spec th.sticky {
	position: sticky;
	top: 0;
	left: 0;
	background: none;
	border-left: none;
	border-right: none;
}
.table_spec th.sticky:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: #eeedee;*/
	z-index: -1;
}
.table_spec tr {
	width: auto;
}
/*.table_spec tbody tr:nth-child(odd) {
  background-color: #fff;
}*/
.table_spec td {
	padding: 2vw;
	border-bottom: 2px solid #aaa;/*******/
}
.table_spec th.gray,td.gray {
    background-color: #E1E0E1;
}




.table_boothList {
	border-collapse: separate;
	table-layout: fixed;
	width: 100%;
	line-height: 120%;
	border-spacing: 0px;
	font-size: 80%;
	margin-bottom: 0vw;
}
.table_boothList tbody {
	border-collapse: separate;
  border-spacing: 2px;
}
.table_boothList th {
	white-space: nowrap;
	width: 10%;
	padding: 1.5vw;
	/*border-bottom: 2px solid #ddd;*/
}
.table_boothList tr {
	width: auto;
}
.table_boothList td {
	/*border-bottom: 2px solid #ddd;*/
}





/* スライド */
.slide-scroll{
    overflow-x: scroll;
	overflow-y: hidden;
	margin-left: 10vw;
	margin-bottom: 20vw;
	-ms-overflow-style: none;/*スクロールバー非表示（IE・Edge）*/
	scrollbar-width: none;/*スクロールバー非表示（Firefox）*/
}
.slide-scroll::-webkit-scrollbar{/*スクロールバー非表示（Chrome・Safari）*/
	display:none;
}
.slide-scroll>div{
    width: 40vw;
    height: 28vw;
	display: flex;
}
.slide-scroll>div>div{
	white-space: nowrap;
	flex-shrink: 0;
	width: 50vw;/*単体：横幅*/
    margin-right: 5vw;
	position: relative;
	text-align: center;
	background-color: black;
	/*border-radius: 2vw;*/
}
.slide-scroll>div>div img.imgbg{
	opacity: 0.6;
	/*border-radius: 2vw;*/
}
.slide-scroll>div>div img.imgup{
	width: 25%;
	position: absolute;
	top: 35%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #fff;
}
.slide-scroll>div>div p{
	width: 100%;
	position: absolute;
	top: 72%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: 110%;
	color: #fff;
	font-weight: bold;
	line-height: 4.5vw;
	text-align: center; 	
}



/*スライドスクロール（写真のみ）*/
.slide-scroll2{
	margin-left: 0vw;
	margin-bottom: 10vw;
}
/* simplebar用 */
.simplebar-track{
    border-radius: 1vw;/* バーに丸みをもたせる*/
}
.simplebar-track .simplebar-scrollbar.simplebar-visible::before{
  opacity:1;
}
.simplebar-track .simplebar-scrollbar::before{
  background: #bbb;/* バー色設定 */
}
.scroll-area{
  height:auto;
  padding-bottom:2vw;
}
.flex{
	display:flex;
}
.flex img{
	max-width: 60vw;
	height: auto;
	margin-right: 5vw;
}
.modal_long img{
	max-width: 300vw;
	height: auto;
	margin-right: 5vw;
}



/*アコーディオン*/
.accordion {
	display: block;
	margin: 0 0vw 0 0vw;
	font-size: 100%;
}
.accordion p{
	padding-bottom: 0vw;
	width: 100%;
}
.toggle {
  display: none;
}
.faq {
  position: relative;
}
.question,.answer {
  transform: translateZ(0);
  transition: all 0.3s;
}
.question {
	margin: 0 10vw 5vw 10vw;
	border-radius: 2vw;
	border: solid 0.5vw #202020;
  padding: 3vw 10vw 3vw 3vw;
  display: block;
  color: #202020;
	cursor: pointer;
	line-height: 5vw;
}
.question > p{
  display: block;
	cursor: pointer;
	line-height: 5vw;
	margin: 2vw 0vw 0 0vw;
}
.question > span {
	display: block;
    font-size: 120%;
	margin: 0 0 0vw;
    line-height: 5vw;
  font-weight: 600;	
}
.question:after,.question:before {
  content: "";
  position: absolute;
  right: 5vw;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2px;
  height: 4vw;
  background-color: #202020;
  transition: all 0.3s;
}
.question:after {
  transform: rotate(90deg);
}
.answer {
  max-height: 0;
  overflow: hidden;
}
.answer > .answerContent {
  margin-top: 2.5vw;
  padding: 0vw 10vw 0vw 10vw;
}
.answer > .answerContent p{
  margin-bottom: 10vw;
}
.answer > .answerContent p span{
	display: block;
    font-size: 90%;
	margin: 5vw 0 0vw;
	line-height: 5vw;
	font-weight: 400;	
}
.toggle:checked + .question + .answer {
  max-height: 10000px;/*コンテンツ高さ調整*/
  transition: all 1.5s;
}
.toggle:checked + .question:before {
  transform: rotate(90deg) !important;
}
.answerContent >.boxSet {
	margin: 0;
	padding: 0 0vw 4vw 0vw;
}




/*画面内スクロールボタン*/

/* 吹き出し本体 */
.balloonSet{
	margin: 0 13vw 6vw 10vw;
	position: relative;
    display: flex;/* フレックスボックスにする */
    justify-content:space-between;/*center*/
	flex-wrap: wrap;            /* 折り返し指定 */
}
.balloonSet > a{
	margin: 0 0vw 5vw 0;
	padding: 2vw 2vw;
	width: 35vw;
	position: relative;
	background-color: #fff;
	border: 0.5vw solid #202020;
	border-radius: 1vw;
	text-align: center;
	cursor: pointer;
	line-height: 5vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.balloonSet > a::before{
	content: '';
	position: absolute;
	display: block;
	margin: 0 0vw 0vw 15.5vw;
	width: 0;
	height: 0;
	left: 0;
	bottom: -2.8vw;
	border-right: 1.6vw solid transparent;
	border-top: 2.8vw solid #202020;
	border-left: 1.6vw solid transparent;
}



/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	bottom:10vw;
	right:3vw;
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop img {
	width: 8vw;
	background:#717171;
	border-radius:2vw;
}
.totop img:hover {
	background:#202020;
}

.red {
    color: #982832;
}
.boxSet > .text > p > span.red{
	display: inline;
	line-height: 6vw;
	font-size: 100%;
    color: #982832;
}




/*================================================
 *  MAP表示
 ================================================*/
.tabContent.active{
  display: block;
}
#audienceSpotWrap{/********************************/
  width: 100vw;
  /*overflow: scroll;*/
  margin: 0 -0vw 0vw -11vw;
}
#audienceSpot{
  position: relative;
}


.controllScrollOver{
  position: relative;
  width: 100vw;
  margin: auto;
  z-index: 1;
}
.controllScrollOver .controllScrollOver{
  z-index: 2;
}
.controllScrollOver.spOnlyScroll::before,
.controllScrollOver.spOnlyScroll::after {
  background-image: none;
}
.controllScrollOver{
  width: 100%;
}
#starter .controllScrollOver{
  width: 100vw;
  margin-left: -9.49vw;
}
.controllScrollWrap {
  width: 100%;
  overflow-x: scroll;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.controllScrollWrap::-webkit-scrollbar {
  display: none;
}
.controllScrollWrap::-webkit-scrollbar {
  display: none;
}
#starter .controllScrollWrap{
  padding-left: 9.49vw;
  margin-right: -9.49vw;
  padding-right: 9.49vw;
}
#mapWrap{
  position: relative;
}
.scroll_set{
  margin: 0 0 0 -11vw;
  padding: 0;
  width: 97vw;
  overflow-x: scroll;  /* 横スクロールの指定 */
  white-space: nowrap;  /* 横スクロールの指定 */
  overflow-scrolling: touch;  /* スクロールを滑らかにする */
  -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
    scrollbar-color: #bbb #fff;
}
#audienceSpotWrap .scroll_set{
  margin: 0 10VW 0 0vw;
  padding: 0;
  width: 100vw;
  overflow-x: scroll;  /* 横スクロールの指定 */
  white-space: nowrap;  /* 横スクロールの指定 */
  overflow-scrolling: touch;  /* スクロールを滑らかにする */
  -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
    scrollbar-color: #bbb #fff;
}

.boxSet > .map{
  width: 80%;
  height: auto;
  margin: 0 0vw 0vw 0vw;
  vertical-align: bottom;
}
#mapWrap img.map{/*******************************/
  width: 250vw;
  height: auto;
  position: relative;
  padding: 0;
}
/* タブ */
.tab_map{
  width: 100%;
  display: flex;
  text-align: center;
  border-bottom: 0px solid #000;
  position: relative;
  justify-content: space-between;
}
.tab_map li{
  font-size: 7vw;
  font-weight: bold;
  line-height: 2rem;
  background-color: #fff;
  border-left: 0px solid;
  border-image: linear-gradient(to bottom, transparent 40%, #000 40% 60%, transparent 60%);
  border-image-slice: 2;
  cursor: pointer;
}
.tab_map li:first-of-type{
  border: none;
}
.tab_map li.active{
  background: #000;
  color:#fff;
}




#mapWrap .tab_map{
  border-bottom: none;
}
#audienceSpotWrap .tab_map{
  position: initial;
}
#point1{/*************************************各ボタンの位置*/
  position: absolute;
  top: 121.5vw;
  left: 58.4vw;
}
#audienceSpotWrap .tab_map li.award{/**********************ボタン形状*/
  display: block;
  width: 15.6vw;
  height: 4.4vw;
  border-radius: 0.5vw;
  justify-content: center;
  align-items: center;
    background-color: red;
}
#audienceSpotWrap .tab_map li p.award{/**********************文字要素*/
    font-size: 2.3vw;
   position: absolute;
   top: 100%;
   transform: translateY(-50%) translateX(-50%);
}


.scroll_list{
  margin: 0 auto;
  padding: 0;
  width: 100%;  /* コンテンツが見切れて見えるようにする */
  overflow-x: scroll;  /* 横スクロールの指定 */
  white-space: nowrap;  /* 横スクロールの指定 */
  overflow-scrolling: touch;  /* スクロールを滑らかにする */
  -webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
    scrollbar-color: #bbb #eeedee;
}




.box_modal {
	/*display:block;*/
	width: 80vw;
	margin: auto;
	/*margin: 0vw,10vw,0vw,0vw;*/
	/*padding: 0,10vw,0;*/
	background-color: #fff;	
}


