@charset "utf-8";

@media only screen and (max-width: 768px) {
	header div.title {
		min-width: 100% !important;
		padding-top: 50px;
		overflow: hidden;
	}

	header div.title .wrap {
		min-width: 100%;
		min-height: 300px;
		padding: 0;
		display: block;
		text-align: center;
	}

	header div.title .tagline {
		font-size: 19px;
		margin: 30px auto 0;
	}

	header div.title h1 {
		font-size: 28px;
		margin: 20px auto;
		width: 90%;
		max-width: 90%;
	}

	header div.title .subtitle {
		font-size: 18px;
	}

	header div.title .info {
		font-size: 16px;
		margin: 10px auto 30px;
	}

	header div.title .info span {
		display: block;
		margin: 6px auto 0;
	}

	header div.title .countdown {
		right: 0px;
		width: 90%;
		position: relative;
		display: flex;
		margin: 0 auto 20px;
		height: 107px;
		background-size: cover;
		bottom: 0;
		justify-content: space-around;
		align-items: center;
	}

	header div.title .countdown .title {
		font-size: 18px;
		margin: 0px;
	}

	header div.title .countdown .daytime {
		gap: 0 10px;
	}

	header div.title .countdown .daytime li {
		padding: 10px 5px;
		width: 80px;
	}

	header div.title .countdown .daytime li p {
		font-size: 13px;
	}

	header div.title .countdown .daytime li p.number {
		font-size: 35px;
	}

	header div.title .countdown .countdown-going {
		margin-top: 0;
	}

	header div.title .countdown .countdown-end {
		margin-top: 0;
	}

	header div.title .countdown .countdown-ondemand {
		font-size: 15px;
	}


	h3 {
		font-size: 22px;
		margin-bottom: 40px;
	}

	h3:before {
		top: 30px;
		width: 140px;
	}

	h3>span {
		font-size: 14px;
		margin-top: 20px;
	}

	.all-wrap {
		margin-top: 0;
		padding-top: 0;
	}

	/* for fixed nav */
	#greeting::before,
	#outline::before,
	#topics::before,
	#live::before,
	#faq::before {
		height: 0;
		margin-top: 0;
	}

	/* message */
	#message {
		padding: 50px 0;
	}

	#message .wrap {
		width: 95%;
	}

	#message h2 {
		font-size: 20px;
		margin: 0 0 20px;
	}

	#message p {
		font-size: 13px;
		text-align: left;
	}

	#message ul.event_type {
		width: 100%;
		margin: 40px auto 0;
		justify-content: center;
		gap: 0 20px;
	}

	#message ul.event_type li {
		width: 200px;
		min-height: 100px;
		padding: 15px 20px;
	}

	#message ul.event_type li p {
		font-size: 22px;
	}

	#message ul.event_type li p.date {
		font-size: 18px;
		padding-right: 40px;
	}

	#message ul.event_type li p.date:after {
		width: 60px;
		right: 8px;
		top: 8px;
		right: -14px;
		height: 1px;
	}

	/* greeting */
	#greeting {
		width: 90%;
		min-width: 90%;
		margin: 0 auto;
		padding: 40px 0 20px;
	}

	#greeting p {
		font-size: 1em;
		line-height: 1.8;
	}

	/* outline */
	#outline {
		min-width: 100%;
		padding: 40px 0;
	}

	#outline .wrap {
		width: 95%;
		padding: 0px;
	}

	#outline table {
		margin: 0px auto 20px;
		font-size: 13px;
	}

	#outline table tr {
		margin: 10px auto;
	}

	#outline table tr::after {
		bottom: -5px;
	}

	#outline table tr th {
		width: 20%;
		padding: 10px 0px;
	}

	#outline table tr td {
		padding: 10px 0 10px 15px;
		width: 80%;
	}

	/* topics */
	#topics {
		padding: 0 10px;
		margin-top: 0;
	}

	#topics .wrap {
		padding: 40px 0;
	}

	ul.topics {
		gap: 15px 0;
	}

	ul.topics li .description {
		font-size: 16px;
		position: relative;
	}

	ul.topics li .description dl {
		font-size: 13px;
		flex-wrap: wrap;
	}

	ul.topics li .description dl::after {
		bottom: -5px;
	}

	ul.topics li .description dl dt {
		width: 40%;
		padding: 5px 10px;
	}

	ul.topics li .description dl dd {
		padding: 15px 10px;
		margin: 0;
		width: 100%;
	}

	/* live */
	#program {
		padding: 40px 10px;
		min-width: 90%;
	}

	#program .wrap .title-container {
		padding: 0 0 20px;
		min-width: 100%;
	}

	/* live tab-menu */

	#program .tab-menu-container {
		margin: 0;
		justify-content: flex-start;
		overflow: visible;
		width: 100%;
	}

	#program .tab-menu-container li {
		min-width: 40%;
		flex-shrink: 0;
		flex-grow: 2;
	}

	/* faq */
	#faq .wrap {
		width: 94%;
		padding: 40px 0 30px;
	}

	#faq .faq_list {
		padding: 0;
	}

	#faq .faq_list .faq_item {
		padding: 0;
	}

	#faq .faq_list .faq_item p {
		font-size: 16px;
	}

	/* register */
	div.register {
		padding: 20px 0;
	}

	div.register a.box-button {
		width: 80%;
		font-size: 18px;
		padding: 12px 0;
	}

	div.register .box-button::after {
		right: 10px;
	}

	/* vendor */
	#vendor {
		padding: 35px 0;
		min-width: 100%;
		width: 100%;
	}

	#vendor .wrap {
		width: 95%;
		margin: 0 auto;
		padding: 20px;
	}

	#vendor .wrap p {
		font-size: 11px;
	}
}

@media only screen and (max-width: 480px) {
	#message ul.event_type li {
		width: 48%;
	}
}