html{
	background-color: transparent;
	color: #6b6765;
	font-size: 16px;
	line-height: 1.8;
	font-family: メイリオ, Meiryo, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	scroll-behavior: smooth; /* スムーススクロール */
}


/**************** ヘッダー、ボディ、フッター ****************/

header {
	width: 100%;
	text-align: center;
	background: url(../img/header_bg.png) repeat-x center center; 
	background-size: auto 100%;
	background-color:rgba(0,0,0,0);
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
}

header .contents {
	padding: 0px
}


body {
	display: flex; /* footerを最下部に固定1/4：フレックスボックスに有効に */
	flex-flow: column; /* footerを最下部に固定2/4：要素を縦に並べる */
	min-height: 100vh; /* footerを最下部に固定3/4：最小でも画面の高さ分のbodyの高さを担保する */
}


#container {
	background-image: url(../img/bg.gif);
	background-repeat: repeat;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	flex: 1; /* footerを最下部に固定4/4：画面の高さから他の同レイヤーの要素の高さを引いた値に */
}

.contents {
	margin-left:auto;
	margin-right:auto;
	width: 100%;
	max-width: 1000px;
	text-align: left;
	background-image: url(../img/bg.png);
	background-repeat: repeat;
	padding: 0 20px 0 20px;
}

footer {
	clear: both;
	width: 100%;
	background-color: #3f3a39;
	color: #a8a996;
	background-image: url(../img/footer_bg.gif);
	background-repeat: repeat;
}

footer .contents {
	margin-left:auto;
	margin-right:auto;
	width: 100%;
	max-width: 1000px;
	text-align: center;
	line-height: 1.5;
	background-image: url(../img/footer_bg.png);
	background-repeat: repeat;
}

/**************** トップページ ****************/


/*トップ画像*/

.top_img div {
	width:25%;
	margin:0;
}


/*マウスオーバー画像*/
.img-box {
  position: relative;
}

.img-box .active {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	transition: 1.0s; // ゆっくり
}

.img-box:hover .active {
	opacity: 1;
}

.yubi {
	cursor: pointer;
}



/*開催場所と開催期間*/
/*テキストPCスマホ区別*/
@media print, screen and (min-width: 640px) {
	.kaisai_txt {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
		width: 100%;
	}
}

@media screen and (min-width: 0px) and (max-width: 640px) {
	.kaisai_txt {
		margin-bottom: 20px;
	}
}

/*PC2分割、SMP1分割*/

@media print, screen and (min-width: 760px) {
	.place li {
		width:49%;
		margin: 0 2% 15px 0;
	}
	.place li:nth-child(2n) {
		margin:0 0 15px 0;
	}
}

@media screen and (min-width: 0px) and (max-width: 760px) {
	.place li {
		width:100%;
		margin: 0 0 15px 0;
	}
}

.place li div {
	width:100%;
	text-align: center;
	color: #ffffff;
	font-size: 1.5em;
	line-height: 1.5;
	padding: 8px;
}

.place a {
	display: block;
	background: #e8340c;
	border-radius:10px;
}

.place a:hover {
	background: #005bac;
	transition: 0.5s ;
}

.place span {
	display: block;
	padding-top: 0px;
	font-size: 0.7em;
	line-height: 1.5;
}

/*終わったイベントの色替え*/

.place .owari a {
	display: block;
	background: #857a70;
	border-radius:10px;
}

.place .owari a:hover {
	background: #5c554e;
	transition: 0.5s ;
}



/*演者紹介*/
/*PC、SMP2分割*/

@media print, screen and (min-width: 460px) {
	.player li {
		width:49.5%;
		margin: 0 1% 15px 0;
	}
	.player li:nth-child(2n) {
		margin:0 0 15px 0;
	}
	.taiken img {
		width:25%;
	}
}

@media screen and (min-width: 0px) and (max-width: 460px) {
	.player li {
		width:100%;
		margin: 0 0 15px 0;
	}
	.taiken img {
		width:40%;
	}
}


.player li {
	text-align: center;
	background: #ffffff;
	font-size: 1.2em;
	line-height: 1.5;
	padding: 8px;
	box-shadow: 0 1px 8px -4px rgba(0, 0, 0, 0.7);
}

.player img {
	padding: 0 0 5px 0;
}

.player span {
	width:100%;
	text-align: right;
	display: block;
	padding-top: 0px;
	font-size: 0.8em;
	line-height: 1.5;
}

.taiken {
	text-align: left;
	background: #fcc2c2;
	font-size: 1em;
	line-height: 1.4;
	padding: 10px;
	border-radius:10px;
	border: 5px solid #f99999;
}

.taiken ul {
	line-height: 2;
}


/**************** 各ページ ****************/

/*ページトップのヘッダー部分スペース確保 */
@media print, screen and (min-width: 780px) {
	.page_margin {
		padding-top:115px;
	}
}

@media screen and (min-width: 600px) and (max-width: 780px) {
	.page_margin {
		padding-top:90px;
	}
}

@media screen and (min-width: 0px) and (max-width: 600px) {
	.page_margin {
		padding-top:60px;
	}
}


/**************** 演者のご紹介 ****************/


@media print, screen and (min-width: 640px) {
	.enmoku {
		float: right;
		margin-left: 15px;
		width: 50%;
	}
}

@media screen and (min-width: 0px) and (max-width: 640px) {
	.enmoku {
		margin-bottom: 10px;
		width: 100%;
	}
}

.player_txt {
	text-align: left;
	background: #e4e2e1;
	font-size: 0.9em;
	line-height: 1.6;
	padding: 12px;
	border-radius:10px;
	border: 4px solid #d3cec7;
}