@charset "utf-8";

@media only screen and (max-width: 768px) {
	main {
		padding: 0;
	}
	.program {
		margin-bottom: 40px;
		border: none;
	}
	.program:before {
        width: 100%;
        height: 80px;
        border-radius: 25px 25px 0px 0px;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
	}
	.program:after {
		content: "";
		width: 100%;
		left: 0;
		right: 0;
		margin: auto;
		height: 25px;
	}
	.program tr th {
		position: sticky;
		top: 50px;
		padding: 8px 0 !important;
		font-size: 14px;
		line-height: 27px;
		font-weight: bold;
	}
	.program tr td {
		border-left: none;
		padding: 20px 14px;
	}
	.program .title {
		font-size: 14px;
		margin: 10px 0 6px;
	}
	.program .subtitle {
		font-size: 13px;
	}
	.program .speaker {
		font-size: 13px;
	}
	.program .flex-box.speaker {
		width: 100%;
	}
	.program .flex-box.speaker .speaker-txt {
		width: 70%;
		padding-right: 4px;
	}
	.program .flex-box.speaker .photo {
		width: 30%;
		max-width: 115px;
	}
	.program .flex-box.speaker .photo img {
		width: 100%;
	}
	.program tr td .download {
		margin: 20px 0;
	}
	.program tr td .download a {
		margin: 0 auto;
	}
	#special-session tr td:first-of-type {
	  padding: 10px 14px;
	}
	#opening-session tr td:first-of-type {
	  padding: 10px 14px;
	}
	#online-session tr {
		display: flex;
		flex-direction: column;
	}
	#online-session tr td,
	#exhibition-session tr td {
		padding: 10px 14px;
		margin: 0 !important;
	}

	#keynote-session tr {
		display: flex;
		flex-direction: column;
	}
	#keynote-session tr td:first-of-type {
		padding: 10px 14px;
		border-left: none;
		border-right: none;
		border-bottom: none;
	}
	#keynote-session tr td:first-of-type .title {
		margin: 0;
	}
	#keynote-session tr td .time.upper {
		font-size: 14px;
		padding-bottom: 0;
	}
	#lunch-session tr {
		display: flex;
		flex-direction: column;
	}
	#breakout-session tr {
		display: flex;
		flex-direction: column;
	}
	#breakout-session .program tr td:after {
		position: absolute;
		content: "";
		width: 90%;
		height: 1px;
		top: auto;
		bottom: 0;
		margin: auto;
		right: 0;
		left: 0;
		border-right: none;
		border-bottom: 1px dashed #FF9400;
	}
	#breakout-session .program tr td:nth-child(4):after{
		display: inline;
	}
	#breakout-session tbody {
		display: flex;
		flex-wrap: wrap;
	}
	#breakout-session tr {
		width: 100%;
		display: block;
	}
	#breakout-session th,
	#breakout-session td {
		width: 100%;
        display: block;
        box-sizing: border-box;
	}
	#breakout-session tbody tr:nth-child(1) {
		order: 1;
	}
	#breakout-session tbody tr:nth-child(2) {
		order: 2;
	}
	#breakout-session tbody tr:nth-child(3) {
		order: 4;
	}
	#breakout-session tbody tr:nth-child(3) td:nth-child(2) {
		margin-bottom: 236px;
	}
	#breakout-session tbody tr:nth-child(4) {
		order: 3;
		position: relative;
	}
	#breakout-session tbody tr:nth-child(4) td {
		position: absolute;
		bottom: -550px;
		background: none;
	}
	#breakout-session tbody tr:nth-child(4) td.selected {
		background: #d1c0f5;
	} 
	#breakout-session tbody tr:nth-child(5) {
		order: 5;
	}
	#breakout-session tr:nth-last-child(2) {
		margin-top: 0;
	}
	#breakout-session tr:nth-last-child(2) td {
		border-top: none;
	}
	#breakout-session tr:nth-last-child(3) {
		display: block;
		height: auto;
	}
	#breakout-session tr:nth-last-child(3) th {
		width: 100%;
		display: block;
		height: auto;
	}
	#breakout-session tr:nth-last-child(3) td:nth-child(2) {
		width: 100%;
		display: block;
		margin-top: 0;
		height: auto;
	}
	#breakout-session tr:nth-last-child(3) td:nth-child(3) {
		width: 100%;
		display: block;
		margin-top: 0;
		height: auto;
	}
	#breakout-session .program tr:nth-last-child(3) td:nth-child(3):before {
		position: absolute;
		content: "";
		width: 90%;
		height: 1px;
		top: auto;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
		border-bottom: 1px dashed #FF9400;
	}
	#breakout-session .program tr:nth-last-child(3) td:nth-child(3):after {
		display: none;
	}
	#breakout-session tr:nth-last-child(3) td:nth-child(4) {
		width: 100%;
		display: block;
		margin-top: 0;
		height: auto;
	}
	#reception tr {
		display: flex;
		flex-direction: column;
	}
	form .program .code input[type="radio"] + label {
		background-position: 0 6px, 0 2px;
	}
	.program tr td .code .session-code {
		padding: 5px 10px;
		font-size: 13px;
	}
	.program .session-tags span {
		padding: 6px 14px;
		font-size: 13px;
	}
	ul.notice {
		padding: 0 2vw;
	}
	ul.notice li {
		font-size: 13px;
	}
	#opening-session .program tr td .title,
	#breakout-session .program tr:last-child td .title,
	#keynote-session tr td .title,
	#special-session tr td .title,
	#reception tr td .title {
		font-size: 18px;
	}
	#opening-session .program tr td .speaker,
	#breakout-session .program tr:last-child td .speaker,
	#keynote-session tr td .speaker,
	#special-session tr td .speaker,
	#reception tr td .speaker {
		font-size: 17px;
	}
}