@charset "utf-8";

/* smart phone */
@media only screen and (max-width: 768px) {
	header div.title2:after {
	    background: url(../../images/common/title2_main_program_before_sp.png) no-repeat center;
	    background-size: 110%;
        background-position: -24px 3px;
	}
	header div.title2 .tokyo_program {
        width: 60%;
        right: 0;
    }
    header div.title2 .osaka_program {
        width: 60%;
        right: 0;
    }
	#recommend {
		padding: 40px 0;
	}
	#recommend h2 {
	  width: 100%;
	  margin: 0 auto 20px;
	}
	#recommend h2 img {
		height: 35px;
		width: auto;
	}
	#recommend h2.title span {
	  font-size: 16px;
	  margin-top: 10px;
	}
	#recommend ul.recommend_list {
		gap: 10px 0px;
		max-width: 100%;
	}
	#recommend ul.recommend_list li{
		width: 100%;
		padding: 10px 10px 20px;
	}
	#recommend ul.recommend_list li .speaker_img {
		max-width: 30%;
	}
	#recommend ul.recommend_list li .session_info {
		width: 100%;
		padding-left: 38%;
	}
	#recommend ul.recommend_list li .session_info .title {
		font-size: 18px;
	    margin: 0 0 15px;
	    padding: 15px 0 15px 15px;
	    height: 60px;
	    display: flex;
	    flex-wrap: wrap;
	    align-items: center;
	}
	#recommend ul.recommend_list li .session_info .title:before {
		 width: 150%;
        height: 60px;
        left: -47%;
        border-radius: 45px;
	}
	#recommend ul.recommend_list li .session_info .title span{
		padding-left: 25px;
		position: relative;
		font-size: 16px;
		display: block;
	}
	#recommend ul.recommend_list li .session_info .title span:before {
		width: 20px;
		height: 20px;
	}
	#recommend ul.recommend_list li .session_info .subtitle {
		font-size: 16px;
		margin: 55px 0 10px;
	}
	#recommend ul.recommend_list li .session_info h5 {
		font-size: 16px;
		margin: 0 0 10px;
	}
	#recommend ul.recommend_list li .session_info p {
		font-size: 13px;
	}
	#recommend ul.recommend_list li .session_info p.name {
		margin-bottom: 10px;
		font-size: 13px;
	}
	#recommend .wrap .recommend_parts01 {
        top: -56px;
        width: 35%;
    }
	#recommend .wrap .recommend_parts02 {
		display: none;
	}
	#recommend .wrap .recommend_parts03 {
	    display: none;
	}
	#recommend .wrap .recommend_parts04 {
	    width: 45%;
	    bottom: -119px;
	    left: -21px;
	}
	#recommend .wrap .recommend_parts05 {
	    width: 40%;
        bottom: -161px;
        right: -14%;
	}
	.search_parts01 {
		display: none;
	}
	.viewarea {
		overflow: hidden;
	}

	.session-registration-notice {
		text-align: center;
		font-size: 13px;
	}
	/* program */
	#program {
		padding: 40px 0 0;
	}
	#program h2 {
		width: 100%;
		margin-bottom: 20px;
	}
	#program h2 img {
		height: 35px;
		width: auto;
	}
	#program h2.title span {
		font-size: 16px;
		margin-top: 10px;
	}
	
	/* search */

	.search p {
		font-size: 13px;
	}
	#search .keyword_list {
		margin: 20px auto;
		gap: 15px;
	}
	#search .keyword_list li {
		margin: 0;
	}
	#search .keyword_list li a {
		font-size: 12px;
		padding: 5px 15px;
	}
	#search .keyword_list li a:hover {
		background: #fff;
	    border: 1px solid #061b78;
	    color: #061b78;
	}
	#search .keyword_list li.active a {
		background: #061b78;
		color: #fff;
	}
	#search .keyword_list li.active a:hover {
		opacity: 1;
	  background: #061b78;
	  color: #fff;
	}
	#search .clear-refine {
		width: 50%;
		margin: 15px auto;
	}
	#search .clear-refine input {
		font-size: 13px;
		padding: 5px 15px;
	}

	/* venue */
	#exhibition-session .venue,
	#program .venue {
		margin: 0 auto 20px;
		width: 95%;
	}
	#exhibition-session .venue dt,
	#exhibition-session .venue dd,
	#program .venue dt,
	#program .venue dd {
		font-size: 16px;
		padding: 10px;
	}
	#exhibition-session .venue dd p span, #program .venue dd p span {
	  margin: 0 0 0 10px;
	}
	#exhibition-session .venue dd p span input{
		-webkit-appearance: auto;
	}
	div.notice {
	  max-width: 95%;
	  margin: 10px auto;
	  gap: 20px;
	  flex-wrap: wrap;
	}
	div.notice p {
	  font-size: 13px;
	}
	div.notice .link {
	  width: 80%;
	}
	div.notice .link a {
	  padding: 10px 5px;
	  font-size: 13px;
	}

	/* program table */
	.program {
		border: none !important;
		margin-bottom: 0 !important;
		width: 95%;
		margin: 0 auto;
	}
	.program,
	.program tbody,
	.program tr,
	.program tr th,
	.program tr td {
		display: block;
		border: none;
		box-sizing: border-box;
	}
	.program tr:nth-child(5) {
		display: flex;
		gap: 0;
	}
	.program tr:nth-child(5) td {
		display: flex;
		padding-bottom: 0;
		margin: 3px !important;
	}
	.program tr:nth-child(5) td.no-session {
		display: none;
	}
	/*.program tr td.selected {*/
		
	/*}*/
	.program tr {
		overflow: hidden;
	}
	.program tr th {
		margin: 0;
		padding: 8px;
		width: 100%;
		text-align: left;
		font-size: 13px;
		font-weight: normal;
		color: #fff;
	}
	.program tr th.time-line {
		width: 100%;
	}
	.program tr td {
		margin: 6px 0 !important;
		border: none !important;
	}
	.program tr td .cell-wrap {
		display: flex;
		color: #777;
		background-color: #fff;
		min-height: 60px;
		flex-wrap: wrap;
	}
	form .program tr td .cell-wrap .select {
		/*display: none;*/
		display: block;
		width: 100%;
	}
	form .program tr td span.select input {
	  margin-right: 0px;
	  gap: 5px;
	}
	form .program tr td .cell-wrap .select {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
		overflow: hidden;
		gap: 10px;
	}
	form .program tr td .cell-wrap div.select {
		flex-direction: column;
		align-items: flex-start;
	}
	form .program tr td .cell-wrap .select .code input {
		display: none;
	}
	form .program tr td .cell-wrap .select input[type="radio"] + label {
		/*display: block;*/
		/*background-image:	url(../../images/responsive/registration/sp_check_button_off.svg),*/
		/*					url(../../images/responsive/registration/sp_check_button_on.svg),*/
		/*					url(../../images/responsive/registration/sp_lunch_check_button_on.svg);*/
		/*background-size: 24px, 0, 0;*/
		/*background-position: center center, center center, center center;*/
		/*background-repeat: no-repeat, no-repeat, no-repeat;*/
		/*margin: -100px -100px;*/
		/*padding: 100px 100px;*/
		/*text-indent: -9999px;*/
		font-size: 13px;
	}
	/*form .program tr td .cell-wrap .select input[type="radio"]:checked + label {*/
	/*	background-image: url(../../images/responsive/registration/sp_check_button_on.svg);*/
	/*}*/
	/*form .program tr td .cell-wrap .select input[disabled] + label {*/
	/*	background-image: url(../../images/responsive/registration/sp_check_button_disabled.svg);*/
	/*	cursor: auto;*/
	/*}*/
	.program tr th input {
		display: none !important;
	}
	.program th span.bar {
		display: inline;
		padding: 0 3px;
	}
	.program th span.bar:after {
		content: "〜";
	}
	.program tr td .cell-wrap .code {
		display: inline-block;
		padding: 2px 14px;
		font-size: 12px;
		margin-top: 2px;
	}
	.program tr td .title {
		font-size: 15px;
		font-weight: normal;
		line-height: 1.3;
		color: #333;
		margin: 4px 0;
		padding-top: 2px;
	}
	.program tr td .title a:hover {
		text-decoration: underline;
	}
	.program tr td .subtitle {
		font-size: 12px;
		padding: 0;
		margin: 4px 0;
	}
	.program tr td .speaker {
		line-height: 1.4;
		margin: 8px 0;
		font-size: 12px;
	}
	.program tr td .cell-wrap .content {
		display: block;
		padding: 0 0 0 8px;
		width: 100%;
	}
	.program tr td .time {
	  font-size: 13px;
	  padding: 3px 5px;
	}
	.program tr td ul.session-tags {
	  margin-top: 15px;
	}
	.program tr td ul.session-tags li {
	  padding: 5px 10px;
	  font-size: 12px;
	}
/*
	form .program tr td .cell-wrap .content {
		display: table-cell;
	}
*/
	.program .no-download {
		margin: 8px auto;
	}

	/* state */
	.program tr td span.state {
		position: absolute;
		top: 12px;
		right: 12px;
		font-size: 10px;
		padding: 2px 0;
		width: 82px;
		height: 20px;
		text-align: center;
		line-height: 1.6;
	}
	.program tr td span.state img {
		width: 13px;
		vertical-align: -2px;
		margin-right: 0;
	}

	/* session type */
	.program tr td ul.session-type {
		position: static;
		display: flex;
		list-style: none;
		margin: 0;
		padding: 6px 0 4px;
	}
	.program tr td ul.session-type li {
		margin: 0 4px;
	}

	/* interpretation */
	.program tr td .interpretation {
		display: block;
		float: right;
		font-size: 10px;
		padding: 2px 4px;
		margin: 2px 6px 0 0;
		border-radius: 4px;
	}
	.program tr td .interpretation img {
		width: 12px;
		margin-left: 6px;
	}

	/* time line control */
	.program tr th.time-line.active {
		z-index: 999;
		position: fixed;
	}
	.program tr th.time-line.cross {
		z-index: 9999;
		position: absolute;
	}
	.program .download {
		margin: 12px auto;
		width: 180px;
	}
	.program .download a {
		padding: 10px 0;
		/*background-color: #f33;*/
		border-radius: 3px;
	}
	.program .download a img {
		margin-right: 6px;
	}

	/* general */
	#general {
		margin: 0;
	}
	#general tr td {
		margin: 0 !important;
		padding: 6px 4px !important;
	}
	#general tr td.check-box {
		display: none;
	}
	#general tr td.check-box .state {
		display: none;
	}
	form #general tr td.check-box {
		display: table-cell;
		width: 41px;
		padding: 4px 0;
		background-color: #fff;
		border-right: 1px solid #ccc !important;
		border-bottom: none !important;
	}
	form #general tr td.keynote {
		display: table-cell;
		padding: 4px 0;
		background-color: #fff;
		border-bottom: none !important;
		padding: 0 !important;
	}
	form #general tr td.keynote-container {
		display: block;
		padding: 4px 0;
		background-color: #e8e8e8;
		border-right: 1px solid #ccc !important;
		border-bottom: none !important;
	}
	#keynote-container td.keynote {
		padding: 0 !important;
	}
	#general tr td.check-box input {
		position: absolute;
		top: 0;
		opacity: 0;
	}

	/* check box */
	form #general tr td.check-box input[type="checkbox"] + label {
		display: block;
		background-image:	url(../../images/responsive/registration/sp_check_button_off.svg),
							url(../../images/responsive/registration/sp_keynote_check_button_on.svg);
		background-size: 24px, 0;
		background-position: center center, center center;
		background-repeat: no-repeat, no-repeat;
		margin: -100px -100px;
		padding: 100px 100px;
		text-indent: -9999px;
		white-space: nowrap;
	}
	form #general tr td.check-box input[type="checkbox"]:checked + label {
		background-image: url(../../images/responsive/registration/sp_keynote_check_button_on.svg);
	}
	form #general tr td.check-box input[disabled] + label {
		background-image: url(../../images/responsive/registration/sp_check_button_disabled.svg);
		cursor: auto;
	}
	form #general tr td.check-box label span {
		display: none;
	}

	/* keynote */
	.keynote-wrapper {
		border-left: 4px solid #8ec31f !important;
		padding: 8px 4px 8px 0;
		background-color: #fff;
		border-bottom: 1px solid #ddd;
		border-right: 1px solid #ddd;
	}

	/* selected */
	.selected .keynote-wrapper,
	.selected .keynote-wrapper .cell-wrap,
	#general tr td.check-box.selected {
		background-color: #efe;
	}
	#keynote {
		margin: 0;
		padding: 4px 0;
		border: none;
	}
	#keynote tbody {
		display: table-row-group;
	}
	#keynote tr {
		display: table-row;
		background-color: #e8e8e8;
	}
	#keynote tr td {
		display: table-cell;
		margin: 0;
		padding: 0 !important;
		border-top: none !important;
		border-bottom: 1px solid #ccc !important;
		background-color: #fff;
	}
	#keynote tr:last-child td {
		border-bottom: none !important;
	}
	#keynote tr td .cell-wrap {
		border: none;
		padding: 8px;
	}
	#keynote tr td .session-type {
		padding: 0 0 0 4px;
		margin: 6px 0 4px;
		font-size: 14px;
		line-height: 1.4;
		text-align: left;
		color: #555;
		border-left: 4px solid #8ec31f;
	}
	#keynote tr td.check-box {
		margin:0;
	}
	#keynote tr td.check-box p {
		margin: 0;
	}
	#keynote tr td.check-box p br {
		display: none;
	}
	#keynote tr td div a:hover {
		border-bottom: 1px solid #000;
	}
	#keynote tr td .session1 {
		clear: both;
	}
	#keynote tr td .title {
		font-size: 15px;
		margin: 6px 0;
	}
	#keynote tr td span.state {
		position: absolute;
	}

	/* lunch-session */
	#lunch-session tr td.selected .cell-wrap {
		background-color: #ffeffa;
	}
	#lunch-session tr td .cell-wrap .select span.code {
		background-color: transparent;
		padding: 0;
	}
	#lunch-session tr td .cell-wrap .select input[type="radio"]:checked + label {
		background-image: url(../../images/responsive/registration/sp_lunch_check_button_on.svg);
	}
	#lunch-session {
		margin: 0;
	}
	#lunch-session tr td {
		width: 100%;
	}
	#lunch-session tr td .cell-wrap {
		border-left: 4px solid #e4007f;
	}
	#lunch-session tr td div.title {
		margin: 4px 0;
		padding-top: 4px;
	}
	#lunch-session tr td div.session-type-a {
		display: none;
	}

	/* breakout-session */
	#breakout-session tr td.selected .cell-wrap {
		background-color: #fff8c3;
	}
	#breakout-session tr:first-child {
/*		display: none;*/
	}

	#breakout-session tr td {
		width: 100%;
		padding-bottom: 20px;
	}
	/*#breakout-session tr td .cell-wrap .select span.code {*/
	/*	background-color: transparent;*/
	/*	padding: 0;*/
	/*}*/
	/*#breakout-session tr td.category-a .cell-wrap {*/
	/*	border-left: 3px solid #a9d05f;*/
	/*}*/
	/*#breakout-session tr td.category-b .cell-wrap {*/
	/*	border-left: 3px solid #5fc4d0;*/
	/*}*/
	/*#breakout-session tr td.category-c .cell-wrap {*/
	/*	border-left: 3px solid #5381f6;*/
	/*}*/
	/*#breakout-session tr td.category-d .cell-wrap {*/
	/*	border-left: 3px solid #8f82bc;*/
	/*}*/
	/*#breakout-session tr td.category-e .cell-wrap {*/
	/*	border-left: 3px solid #ed86a3;*/
	/*}*/
	/*#breakout-session tr td.category-f .cell-wrap {*/
	/*	border-left: 3px solid #f36868;*/
	/*}*/
	#breakout-session tr td .session1 {
		clear: both;
	}
	#breakout-session tr td.break {
		padding: 10px 0 !important;
		text-align: center;
	}
	#breakout-session tr td .session-type-a,
	#breakout-session tr td .session-type-b,
	#breakout-session tr td .session-type-c {
		float: left;
		padding: 0;
		margin: 0;
		background-color: transparent;
		font-size: 1.2rem;
		line-height: 2.1;
		text-align: left;
	}
	#breakout-session tr td .session-type-a {
		color: #b80808;
	}
	#breakout-session tr td .session-type-b {
		color: #4f688C;
	}
	#breakout-session tr td .session-type-c {
		color: #5b9128;
	}
	#breakout-session tr td div.option {
		width: 30%;
		margin-top: 4px;
	}

	/* reception party */
	#reception-party {
		margin-bottom: 20px !important;
	}
	#reception-party tr td .cell-wrap {
		border-left: 4px solid #f39700;
	}
	#reception-party tr td.selected .cell-wrap {
		background-color: #f3eedd;
	}
	#reception-party tr td.check-box,
	#reception-party tr td.reception-content {
		display: none;
	}
	#reception-party tr td.normal-cell {
		display: block;
	}
	#reception-party tr td .cell-wrap .select span.code {
		background-color: transparent;
		padding: 0;
	}
	#reception-party tr td.check-box {
		padding: 2% 0;
		overflow: hidden;
	}
	#reception-party tr td.check-box span {
		float: left;
		display: block;
		padding: 2% 5%;
		font-size: 1.4rem;
	}
	#reception-party tr td.check-box span input {
		display: none;
	}
	form #reception-party tr td .cell-wrap .select input[type="radio"] + label {
		display: block;
		background-image:	url(../../images/responsive/registration/sp_check_button_off.svg);
		background-size: 24px;
		background-position: center center;
		background-repeat: no-repeat;
		margin: -100px -100px;
		padding: 100px 100px;
		text-indent: -9999px;
	}
	form #reception-party tr td .cell-wrap .select input[type="radio"]:checked + label {
		background-image: url(../../images/responsive/registration/sp_reception_check_button_on.svg);
	}
	form #reception-party tr td .cell-wrap .select input[disabled] + label {
		background-image: url(../../images/responsive/registration/sp_check_button_disabled.svg);
	}
	.session-box .download {
		margin: 3% 0 0;
		padding: 1% 2%;
	}
	.session-box .download a {
		font-size: 1.2rem;
		display: block;
	}
	.session-box .download a img {
		width: 17px;
	}
	ul.notice {
		padding: 0 8px;
		font-size: 12px;
	}
	ul.notice li {
		text-indent: -12px;
		padding-left: 12px;
	}
	tr th.time-line.cross {
		width: 100%;
	}
	.notice_txt {
	  font-size: 13px;
	}
}
@media only screen and (max-width: 480px) {
	header div.title2 .osaka_program {
        width: 100%;
        right: 0;
    }
    header div.title2 .osaka_program {
        width: 100%;
        right: 0;
    }
	#recommend ul.recommend_list li .session_info .title {
        font-size: 18px;
        margin: 0 0 15px;
        padding: 15px 0 15px 50%;
        height: 100px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    #recommend ul.recommend_list li .session_info .title:before {
        width: 335px;
        height: 100px;
        left: 0;
        border-radius: 45px;
    }
    #recommend ul.recommend_list li .session_info {
		width: 100%;
		padding-left: 0;
	}
	#recommend ul.recommend_list li .speaker_img {
        max-width: 40%;
    }
	#recommend .wrap .recommend_parts01 {
        top: -56px;
        width: 40%;
    }
    #recommend .wrap .recommend_parts05 {
        width: 55%;
        bottom: -161px;
        right: -14%;
    }
}
