@charset "utf-8";
/* CSS Document */

/*
 * テンプレートのタブレット用 CSS
 */


/* ヘッダー */
:root {
	--logoHeight: 80px; /* ロゴの高さ */
	--gnaviHeight: 77px;
	--naviBgColorHover: rgb(58 14 14 / 59%);
	--naviTxtColorHover: #fff;
}

/* グローバルナビゲーション（幅や背景画像を個別に設定する場合） */
#GNAVI {
	width: 100%;
	background-image: url(../images/navi_bg.jpg);
	overflow: hidden;
	font-size: .9em;
}
#GNAVICONTENTS01 {
	text-align: center;
}
#GNAVICONTENTS01 .gNavi>a {
	color: #fff;
	padding: 0 0.5em;
}
#GNAVI .gnaviContents>.gNavi:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	border-left: 1px solid #C3A393;
}
#GNAVI .gnaviContents>.gNavi:last-child:after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	border-right: 1px solid #C3A393;
}
#GNAVICONTENTS01 .gNavi > a {
	width: 20vw;
	font-weight: bold;
}


/* サブページティザータイトル */
.pageClassSubpage #sub_TH_ImgTitle {
	height: 25vh;
}



/* フッター */
#FOOTER .infoBox {
	display: grid;
	grid-template-columns: 1fr 1fr;
	justify-items: center;
}
#FOOTER .infoItem {
	display: grid;
	grid-template-columns: 3em auto;
	gap: 1em;
}
#FOOTER .infoItem .txtBox p {
	text-align: left;
}





/* 柔軟なレイアウト */
:root {
	--contentsPaddingSide: 30px;
	--sectionContentChildGapV: 25px;
}



/* 記事デザイン01 */
.articleItem01 > .layoutBox {
	grid-template-columns: 3fr 1fr;
}
.articleItem01 .contentBox {
	display: grid;
	gap: 2em;
	order: -1;
	align-items: start;
	align-content: space-evenly;
}



/* タイトルデザイン 02 */
.titleBox.titleStd02 {
	font-size: 1.3em;
}



/* タイトルデザイン 03 */
.titleBox.titleStd03 {
	font-size: 1.3em;
}



/* ニュースリスト */
.newsListBox .newsItem {
	padding: 1.5em;
}



/* イベントリスト */
.eventListBox .eventItem {
	padding: 1.5em;
}
.eventListBox .artistBox {
	grid-template-columns: 2fr 1fr;
}
.eventListBox .artistBox .txtBox {
	order: -1;
}


/* 出店ブース */
.boothListBox > .layoutBox {
	grid-template-columns: repeat(2, 1fr);
}



/* エリアマップ */
.areaMapBox > .layoutBox {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	grid-template-areas: 'img txtTR'
		'txtBT txtBT';
}
.areaMapBox .mapBoothList {
	justify-content: initial;
}
.areaMapBox .imgBox {
	grid-area: img;
}
.areaMapBox .mapBoothList,
.areaMapBox .mapBoothList > .layoutBox {
	display: contents;
}
.areaMapBox .mapBoothList .groupBox01 {
	grid-area: txtTR;
}
.areaMapBox .mapBoothList .groupBox02 {
	grid-area: txtBT;
	column-count: 2;
}



/* お問合わせ */
.formBox {
	padding: 40px;
}


.flyer-grid {
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.video-grid {
	margin: 0 60px;
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.video {
	width: 400px;
}

.cooperation-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px 50px;
}
.cooperation-grid img {
	height: 200px;
	max-width: 100%;
}
