@charset "utf-8";

@media only screen and (max-width: 768px) {
	main {
		padding: 40px 0;
	}
	header div.title2 h1 {
		background: url(../../images/program/session_ttl_bg_sp.png) no-repeat bottom center/contain;
	}
	p.session_txt01 {
		font-size: 13px;
		margin: 0 0 20px;
	}
	.program_pdf_btn {
	  width: 80%;
	  margin: 0 auto 40px;
	}
	.program_pdf_btn a {
		font-size: 16px;
		padding: 10px 20px 10px 10px;
	}
	.program_pdf_btn a::after {
	  width: 20px;
	  height: 20px;
	  right: 15px;
	}
	.program {
		margin-bottom: 0;
		border: none;
	}
	.program tr {
		padding: 0 2vw;
	}
	.program tr th {
		position: sticky;
		top: 50px;
		padding: 8px 0 !important;
		font-size: 14px;
		line-height: 27px;
	}
	.program th .th-time {
	  padding-left: 25px;
	}
	.program th .th-time::before {
	  width: 20px;
	  height: 20px;
	}
	.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 .overview {
	  font-size: 13px;
	}
	.program .flex-box.speaker .position {
		width: 100%;
		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;
	}
	.program .session-tags span {
		padding: 3px 10px;
		width: 46%;
		text-align: center;
		font-size: 11px;
	}
	#breakout-session .program tr:first-child .session-tags {
		width: 90%;
	}
	
	#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: 20px 14px;
		border-bottom: none;
		align-items: flex-start;
	}
	#keynote-session tr td:first-of-type .title {
		margin: 0;
	}
	#keynote-session tr td .time.upper {
		font-size: 14px;
		padding-bottom: 0;
	}
	#keynote-session .program-container {
	  padding-left: 0;
	  padding-top: 115px;
	  min-height: auto;
	}
	#keynote-session .program .flex-box.speaker .photo {
	  position: absolute;
	  left: 0;
	  top: 0;
	  right: 0;
	  margin: auto;
	  width: 40%;
	}
	#lunch-session tr {
		display: flex;
		flex-direction: column;
	}
	#breakout-session tr {
		display: flex;
		flex-direction: column;
	}
	#reception {
		margin-top: 20px;
	}
	#reception tr {
		display: flex;
		flex-direction: column;
	}
	#reception .program tr td {
	    padding: 15px;
	}
	#reception .select {
	  left: 0;
	  top: 0;
	}
	#reception .program-container {
	  padding-left: 0;
	  padding-top: 133px;
	  min-height: auto;
	}
	#reception .program .flex-box.speaker .photo {
	  position: absolute;
	  left: 0;
	  top: 0;
	  right: 0;
	  margin: auto;
	  width: 40%;
	  padding-top: 20px;
	}
	ul.notice {
		padding: 0 2vw;
	}
	form .program tr th .clear-button {
		padding-bottom: 0px;
	}
}
@media only screen and (max-width: 480px) {
	#breakout-session tr td .time.upper:before {
		left: 25%;
	}
}