/* reset */
html, body {
	height: 100%;
}
body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, li, header, footer, a {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}
img {
	border: 0;
	vertical-align: bottom;
}


/* common */
body {
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	color: #272727;
}
section {
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 960px;
	background: #e7e7e7;
	text-align: center;
}
@media screen and (min-width: 641px) {
	.inner {
		margin: 0 auto;
		width: 960px;
	}
}
.content {
	padding-bottom: 90px;
	border-top: 1px solid #00b9f0;
	background: #e7e7e7 url(../images/bg_content.png) center top repeat-x;
	background-size: 100%;
}
a {
	text-decoration: none;
	color: #272727;
}
a.blank {
	display: inline-block;
	padding-right: 1em;
	background: url(../images/icon_blank.png) right center no-repeat;
	background-size: 0.85em;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
h2.blue {
	margin: 0 auto 50px;
	width: 284px;
	padding: 10px;
	border-radius: 0 0 4px 4px;
	background: #00b9f0;
	color: #fff;
	font-size: 130%;
	font-weight: normal;
}


/* header */
header {
	padding: 15px 0;
	width: 100%;
	background: #fff;
	z-index: 100;
	font-size: 90%;
	box-sizing: border-box;
}
header .inner {
	text-align: center;
}
header .sns {
	display: inline-block;
}
@media screen and (min-width: 641px) {
	header {
		height: 80px;
		line-height: 1;
		overflow: hidden;
	}
	header .inner {
		width: 100%;
		min-width: 950px;
		text-align: center;
	}
	header a {
		margin: auto 2px;
	}
}
@media screen and (min-width: 641px) and (max-width: 1110px) {
	header .sns {
		margin-top: 8px;
		display: block;
	}
}
@media screen and (min-width: 1111px) {
	header {
		height: 60px;
	}
}
header a,
header p {
	padding: 4px 0;
	position: relative;
	display: inline-block;
	vertical-align: baseline;
}
header a:nth-child(1) {
	padding-right: 1em;
}
header a:nth-child(2),
header a:nth-child(3){
	padding-left: 1em;
	padding-right: 1em;
}
header a:nth-child(2):after,
header a:nth-child(3):after{
	content: '';
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 1px;
	height: 1em;
	background: #999;
}
header .inner > * {
	vertical-align: middle;
}
.fb_iframe_widget > span {
	vertical-align: baseline !important;
}
header a.btn1 {
	display: inline-block;
	font-size: 85%;
	padding: 8px 20px;
	border-radius: 4px;
	background: #e20000;
	color: #fff;
	box-shadow: 0 2px 0 #800;
}
header a.btn2 {
	display: inline-block;
	font-size: 85%;
	padding: 8px 10px;
	border-radius: 4px;
	background: #3c6f66;
	color: #035;
	box-shadow: 0 2px 0 #2b5e55;
}
header a.btn3 {
	display: inline-block;
	font-size: 85%;
	padding: 8px 10px;
	border-radius: 4px;
	background: #8cc128;
	color: #fff;
	box-shadow: 0 2px 0 #488004;
}
header a.btn4 {
	display: inline-block;
	font-size: 85%;
	padding: 8px 10px;
	border-radius: 4px;
	background: #61c6e6;
	color: #fff;
	box-shadow: 0 2px 0 #209292;
}
header a.btn1,
header a.btn2,
header a.btn3,
header a.btn4 {
	margin-top: -6px;
}
header a:hover {
	opacity: 0.7;
}
header a.disactive:hover {
	opacity: 1;
}
@media screen and (min-width: 641px) {
	header .sns {
		padding-left: 10px;
	}
	header .fb-like {
		padding-left: 4px;
		text-align: right;
	}
}


/* mv */
#mv {
	background: url(../images/bg_mv.png) center top repeat;
	color: #3e3a39;
	overflow: hidden;
	text-align: left;
}
#mv .inner {
	position: relative;
	padding: 50px 0 70px;
}
#mv h1 {
	padding-top: 20px;
}
@media screen and (min-width: 641px) {
	#mv .object {
		position: absolute;
		top: 70px;
		right: 0;
	}
}
#mv .date {
	margin-top: 15px;
}
#mv .place {
	margin: 10px 0 5px;
	font-size: 200%;
	font-weight: bold;
	line-height: 1;
}
#mv .place_sub {
	font-size: 96%;
	font-weight: bold;
}


/* lead */
#lead h2 {
	margin: 60px auto 30px;
	font-size: 225%;
	letter-spacing: 2px;
	line-height: 1.4;
}
#lead h2 span {
	font-size: 70%;
}
#lead p {
	line-height: 2;
}

/* about */
#about {
	text-align: left;
}
#about h2 {
	text-align: center;
}
#about dl {
	display: inline-block;
	padding-left: 50px;
}
#about dt {
	display: inline-block;
	padding-right: 2em;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
}
#about dd {
	display: inline-block;
	text-align: left;
	vertical-align: top;
}
#about dl.date {
	width: 480px;
}
#about dl.sponsor {
}
#about dl.place {
	desplay: block;
	margin-top: 1.5em;
	width: 750px;
}
#about dl.place .access {
	display: inline-block;
	padding-left: 1em;
	vertical-align: top;
}
#about dl.place .access span {
	display: block;
	margin-top: 0.5em;
	margin-left: 4px;
	padding-left: 12px;
	border-left: 1px solid #272727;
	font-size: 80%;
}
#about #map_canvas {
	margin-top: 40px;
	width: 960px;
	height: 400px;
}


/* time table */
#timetable table {
	width: 100%;
	height: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border-right: 1px solid #ccc;
	table-layout: fixed;
	box-sizing: border-box;
}
#timetable table caption {
	color: #00b9f0;
	font-size: 130%;
	font-weight: bold;
	letter-spacing: 3px;
	text-align: center;
	padding-bottom: 0.5em;
	margin-top: 40px;
}
#timetable table.day1 caption {
	margin-top: 0;
}
#timetable table tr th {
	font-size: 90%;
	font-weight: normal;
	box-sizing: border-box;
}
#timetable table tr th.room {
	padding: 0.8em;
	background: #272727;
	color: #fff;
	border-right: 1px solid #aaa;
}
#timetable table tr th.room:last-child {
	border-right: none;
}
#timetable table tr th.time {
	padding-right: 6px;
	text-align: right;
	vertical-align: top;
	height: 6em;
}
#timetable table tr th.time.half {
	height: 3em;
}
#timetable table tr th.time,
#timetable table tr th.blank {
	width: 3em;
}
#timetable table tr:nth-child(2) th,
#timetable table tr:nth-child(2) td {
	padding-top: 10px;
}
#timetable table tr:last-child td,
#timetable table tr td.last {
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
#timetable table tr td {
	position: relative;
	height: 100%;
	border-left: 1px solid #ccc;
	background-color: #fff;
	box-sizing: border-box;
	vertical-align: top;
}
@media screen and (min-width: 641px) {
	#timetable table tr td {
		position: relative;
	}
}
#timetable table tr td div {
	margin: 0 2px;
	padding: 10px 5px;
	height: 100%;
	font-size: 90%;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
@-moz-document url-prefix() {
	#timetable table tr td div {
		box-sizing: border-box;
	}
}
#timetable .col1 { background-color: #e5f8fd;}
#timetable .col2 { background-color: #d7e1ee;}
#timetable .col3 { background-color: #f5e9da;}
#timetable .col4 { background-color: #f3dae0;}
#timetable .col5 { background-color: #d7e8d2;}
#timetable .col6 { background-color: #dfd7ea;}
#timetable .col7 { background-color: #d6eaed;}
#timetable table tr td div.active { background-color: #00b9f0; color: #fff;}
#timetable table tr td div.active a { color: #fff;}
#timetable table tr td div dt {
	display: inline-block;
	width: 100px;
	text-align: right;
	color: #00b9f0;
	vertical-align: top;
}
#timetable table tr td div dd {
	display: inline-block;
	padding-left: 1em;
	vertical-align: top;
}
#timetable table.day2 tr td div h4,
#timetable table.day3 tr td div h4 {
	font-size: 90%;
	line-height: 1.3;
}
#timetable table tr td div p {
	font-size: 85%;
	line-height: 1.3;
}
#timetable table tr td.keynote dd {
/*	height: 8em;*/
}

#timetable a {
	display: block;
	height: 100%;
/*	cursor: pointer;*/
	cursor: default;
}
#timetable a h4 {
	text-decoration: underline;
	line-height: 1.5;
}
#timetable a p {
	text-decoration: none;
	margin-top: 6px;
}
#timetable a p.capacity {
	display: inline-block;
	padding: 4px 6px;
	background-color: #fff;
	border-radius: 2px;
	line-height: 1;
}
#timetable .summary {
	position: absolute;
	left: 1em;
	top: 3em;
	padding: 1em;
	width: 300px;
	background: #fff;
	border: 4px solid #00b9f0;
	border-radius: 4px;
	z-index: 10;
	opacity: 0;
}
#timetable .summary.right {
	left: auto;
	right: 10px;
}

#timetable .summary .time {
	color: #00b9f0;
}
#timetable .summary h5 {
	margin-top: 4px;
	font-size: 100%;
	color: #272727;
	line-height: 1.5;
}
#timetable .summary p {
	margin-top: 8px;
	font-size: 92%;
	color: #272727;
	line-height: 1.6;
}
#timetable .summary p span {
	display: block;
	margin-top: 10px;
	font-weight: bold;
}
#timetable .summary p.btn {
	display: inline-block;
	width: 100%;
	padding: 10px 0 8px 0;
	border-radius: 4px;
	background: #00b9f0;
	color: #fff;
	font-size: 85%;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 2px 0 #00a7d0;
}
#timetable .summary p.btn:hover {
	opacity: 0.6;
}
#timetable .summary p.capacity {
	position: absolute;
	top: 3px;
	right: 0.8em;
	background-color: #efefef;
}


#timetable .day1 a.btn {
	display: inline-block;
	margin: 8px 0 0;
	padding: 12px 0 10px;
	width: 40%;
	height: 1em;
	line-height: 1;
	border-radius: 4px;
	background: #00b9f0;
	color: #fff;
	font-size: 85%;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 2px 0 #00a7d0;
}
#timetable .day1 a.btn:hover {
	opacity: 0.6;
}

#day1tableOverray {
	position: absolute;
	display: table;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	background-color: rgba(0, 185, 240, 0.8);
	cursor: pointer;
}
#day1tableOverray p {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

/* hash tag */
#hashtag p {
	line-height: 2.6;
	margin-bottom: 40px;
}
#hashtag p span {
	display: inline-block;
	margin: 0 10px;
	padding: 5px 10px;
	background-color: #fff;
	color: #00b9f0;
	font-size: 115%;
	line-height: 1;
	letter-spacing: 1px;
}
@media screen and (min-width: 641px) {
	#hashtag .tw-tl {
		display: inline-block;
		padding: 5px;
	}
}


/* contact */
#contact {
	padding-bottom: 100px;
}
#contact h3 {
	font-size: 100%;
	font-weight: normal;
	line-height: 2.5;
}
#contact .mail {
	font-size: 115%;
	font-weight: bold;
	color: #00b9f0;
	line-height: 2.5;
}
#contact .note {
	font-size: 80%;
	line-height: 2.5;
}


/* footer */
footer {
	position: relative;
	width: 100%;
	min-width: 960px;
	background: #00b9f0;
	color: #fff;
}
footer .inner {
	padding: 20px 0 120px;
}
footer .totop  {
	position: absolute;
	top: -35px;
	left: 0;
	width: 100%;
	text-align: center;
}
footer .totop img {
	height: 35px;
}
@media screen and (min-width: 641px) {
	footer {
		text-align: left;
	}
	footer .sns {
		float: right;
	}
	footer .sns a {
		display: inline-block;
		margin-left: 6px;
	}
	footer .sns img {
		width: 32px;
	}
}
footer .copyright {
	font-size: 70%;
	font-weight: normal;
	opacity: 0.9;
}


@media screen and (min-width: 641px) {
	.forSP {
		display: none !important;
	}
}


/* SP */
@media screen and (max-width: 640px) {

	.forPC {
		display: none;
	}
	
	body {
		font-size: 90%;
		width: 100%;
		overflow-x: hidden;
	}
	img {
		max-width: 100%;
	}
	.inner {
		margin: 0 auto;
		width: 92%;
	}
	#mv {
		background: url(../images/bg_mv.png) center top repeat;
		color: #3e3a39;
		overflow: hidden;
		text-align: center;
	}
	#mv .inner {
		padding: 10px 0 25px;
		width: 90%;
	}
	#mv .object {
		margin: 20px auto 0;
		width: 70%;
	}
	#mv .date {
		margin-top: 15px;
	}
	header {
		padding: 0;
	}
	header,
	header a {
		box-sizing: border-box;
	}
	header a.anchor {
		font-size: 108%;
		padding-left: 20px;
		padding-right: 20px;
	}
	header a:nth-child(2):after,
	header a:nth-child(3):after{
		top: 0.6em;
	}
	header p {
		padding: 2px 6px;
	}
	header .inner {
		padding: 10px 0;
	}
	header a.btn1 {
		margin: 2% auto 3%;
		padding: 10px 0;
		width: 99%;
	}
	header a.btn2 {
		margin: 0 auto 3%;
		padding: 10px 0;
		width: 99%;
	}
	header a.btn3 {
		margin: 0 auto 2%;
		padding: 10px 0;
		width: 60%;
	}
	header a.btn4 {
		margin: 0 auto 2% 6px;
		padding: 10px 0;
		width: 37%;
	}
	header .sns {
		margin-top: 6px;
	}
	section {
		width: 100%;
		min-width: 100%;
	}
	h2.blue {
		margin: 0 auto 40px;
		width: 200px;
		padding: 5px;
	}
	#lead h2 {
		font-size: 135%;
		letter-spacing: 1px;
		line-height: 1.4;
	}
	#about dl {
		display: block;
		width: 100% !important;
		padding-left: 0;
	}
	#about dt,
	#about dd {
		display: block;
	}
	#about dl.sponsor {
		margin-top: 1.5em;
	}
	#about dl.place .access {
		display: block;
		padding-left: 0;
	}
	#about #map_canvas {
		margin: 20px auto;
		width: 100%;
		height: 300px;
	}
	#timetable table caption {
		margin-top: 1em;
	}
	#timetable table tr td div dt,
	#timetable table tr td div dd {
		display: block;
	}
	#timetable table {
		position: relative;
	}
	#timetable table tr th.time,
	#timetable table tr th.blank {
		width: 3.5em;
		font-size: 70%;
		text-align: left;
	}
	#timetable .summary {
		left: 5%;
		top: auto;
		bottom: 3%;
		box-sizing: border-box;
		padding: 1em 1em 0 1em;
		width: 90%;
		overflow: hidden;
	}
	#timetable .summary.right {
		left: 1em;
		right: auto;
	}
	#timetable .summary p.close {
		margin: 1em -1.5em 0;
		padding: 0.8em 0;
		width: 111%;
		background: #ccc;
		color: #fff;
		text-align: center;
	}
	#timetable table tr td.keynote dd {
		height: 10em;
	}
	#timetable .day1 a.btn {
		position: absolute;
		display: inline-block;
		bottom: 1em;
		left: 50%;
		margin-left: -49%;
		padding: 12px 0 10px;
		width: 98%;
		height: 1em;
		line-height: 1;
		border-radius: 4px;
		background: #00b9f0;
		color: #fff;
		font-size: 85%;
		font-weight: bold;
		text-align: center;
		box-shadow: 0 2px 0 #00a7d0;
	}
	#hashtag .tw-tl {
		margin: 0 auto 30px;
		width: 92%;
	}
	#hashtag .tw-tl:last-child {
		margin-bottom: 0;
	}
	footer {
		min-width: 100%;
		height: ;
		text-align: center;
	}
	footer .inner {
		padding: 20px 0 40px;
	}
	footer .sns img {
		margin: 20px 10px;
		width: 15%;
	}

}