@charset "utf-8";

/*//////////////////////////////////////////////////

style.css

Copyright (C) 2019 Impress Corporation, an Impress Group company. All rights reserved.
----------------------------------------
Content

	1. calendar
	2. header
	3. navigation
	4. contents
		1. information
		2. register
		3. lead
		4. chairman
		5-1. pickup-K-1
		5-2. pickup-lecturer
		5-3. pickup
		6. sponsor
		7. overview
		8. timetable
		9. exhibition
	5. footer
	6. Media Query
	7. "colorbox.js" Setting
	8. "swiper.js" Setting

//////////////////////////////////////////////////*/

html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,table,th,td,div,figure {
	margin: 0;
	padding: 0;
	font-size: 100%;
}
body {
	background-color: #000;
	background-attachment: fixed;
/*	font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;*/
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
h1 { line-height: 0; text-align: center; }
h2 { font-size: 150%; margin: 1.5em 0 .5em; }
h3 { font-size: 120%; margin: 1.5em 0 .5em; }
p { margin: 1em 0; }
a,dd { word-break: break-all; }
ul,ol{ margin-left: 1.5em; }
em { font-style: normal; }
img { max-width: 100%; border:none; }
table,tr,th,td {
	box-sizing: border-box;
}
table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	border: 1px solid #aaa;
}
th {
	padding: 4px;
	background-color: #666666;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	vertical-align: top;
}
td {
	text-align: left;
	vertical-align: middle;
	padding: 1em;
}
img {
	vertical-align: top;
}

#calendar,
#header,
#contents,
#footer {
	width: auto;
}
.wrapper {
	margin: 0 auto;
}

ol.olLst01 {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
ol.olLst01 li {
	padding-left: 2em;
	text-indent: -1.8em;
}

/* 注意書き用スタイル */
ul.note,
#overview ul.note{
	padding: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-left: 0px;
	margin-bottom: 1em;
	list-style-type: none;
	line-height: 1.4;
	color: #333333;
}

ul.note li {
	padding-left: 1em;
	text-indent: -1em;
}
#overview .level2 p.note {
	margin-top:1em;
	font-size:95%;
	line-height:1.5;
}


/*====================================================================================
 clearfix
=====================================================================================*/
.clearfix:after,
.enterprise-1:after,
.enterprise-2:after,
.enterprise-3:after,
.enterprise-4:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix,
.enterprise-1,
.enterprise-2,
.enterprise-3,
.enterprise-4 {
	min-height: 1px;
	position: relative;
}

* html .clearfix,
* html .enterprise-1,
* html .enterprise-2,
* html .enterprise-3,
* html .enterprise-4 {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/* --- #header --- /////////////////////////////////////////////////*/
.h1-mobile,
.h1-pc,
.header-logo { display: none; }

#header {
	background:#000 url(../images/mainvisual_bg.jpg) no-repeat center center;
	background-size:cover;
	padding: 20px;
	position: relative;
}
#header::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .5);
	position: absolute;
	top: 0;
	left: 0;
}
#header header {
	position: relative;
	z-index: 10;
}
#header .header-logo{
	background:#fff;
	box-sizing:border-box;
}
#header .header-logo ul{
	display:table;
	border-collapse: collapse;
	width:100%;
}
#header .header-logo li{
	display:table-cell;
	width:50%;
}
#header .header-logo li:first-child img{
	display:block;
	float:left;
	max-width:255px;
}
#header .header-logo li:last-child img{
	display:block;
	float:right;
	max-width:182px;
}

/* screens smaller than 1080---------------------------------------------------------- */
@media only screen and (max-width:1080px) {
#header {
	padding: 10px;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
#header {
	padding: 0;
}
.h1-pc {
	display:none!important;
}
.h1-mobile {
	display:block;
	width: 100%;
}
}

/* --- #navigation --- /////////////////////////////////////////////*/
.submit {
	display: inline-block;
	text-decoration: none;
	color: #ffffff;
	background-color: #e01b56 !important;
	text-shadow: 0 0 3px rgba(0,0,0,.5);
	padding: 1em 1.5em;
	border-radius: 5px;
	box-sizing: border-box;
	transition:.3s;
}
.submit:hover {
	background-color: #ff3773 !important;
}
.submit i {
	vertical-align: middle;
	margin-right:.2em;
}

#navigation {
	text-align: center;
/*	background-color: #152038;*/
	background-color: #142135;
/*	background-color: #eeeef3;*/
	font-size: 1.2rem;
	letter-spacing: .05em;
}
#navigation ul {
	display: table;
	width: 100%;
	margin: 0;
}
#navigation li {
	display: table-cell;
	position: relative;
	width: 33.3%;
	/*width: 50%;*/
}
#navigation a {
	display: block;
	text-decoration: none;
	color: #fff;
	padding: .8em .4em;
	box-sizing: border-box;
	transition:.3s;
}
#navigation a:hover {
	background: rgb(66 62 98 / 40%);
}

#navigation .active,
#navigation .active:hover {
	/*color: #fff;
	background: #565656;
	border: 0;
	border-radius: 0;
	box-shadow: none;*/
/*
	position:absolute;
	bottom: 0;
	width: 100%;
	color: #666;
	background-color: #fff;
	border-bottom: 5px solid #fff;
	border-radius: 5px 5px 0 0;
	box-shadow: -2px -2px 2px rgba(0,0,0,.2), 2px -2px 2px rgba(0,0,0,.2);
*/
}

#navigation .submit {
	min-width: 5em;
	margin: 0 .5em;
	padding-top: .4em;
	padding-bottom: .4em;
}
#navigation .event-name {
	display: none;
	font-size: 75%;
	line-height: 1;
	color: rgba(255,255,255,0.8);
	margin: 0;
	padding: .5em;
	background-color: #f12569;
}
#navigation .nav-top {
	min-width: 4em;
}
#navigation .nav-overview {
	min-width: 5em;
}
#navigation .nav-timetable {
	/*min-width: 8em;*/
	min-width: 5em;
}
#navigation br {
	display: none;
}
#navigation.fixed {
	position: fixed;
	top: 0;
	z-index: 1000;
	width: 100%;
}
#navigation.fixed a:hover {
	background: rgb(66 62 98 / 50%);
}
/*
#navigation.fixed .active,
#navigation.fixed .active:hover {
	position: relative;
	color: #fff;
	background: #565656;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
*/
#navigation.fixed .event-name {
	display: block;
}

/* --- #contents --- ///////////////////////////////////////////////*/
#contents .wrapper {
	padding-left: .8em;
	padding-right: .8em;
	box-sizing: border-box;
}
#contents {
	position: relative;
	color: #000;
	background-color: #ffffff;
}
#contents h2 {
	position: relative;
	text-align: center;
	color: #2f4858;
	margin: 0 0 .8em;
}
#contents h2:before,
#contents h2:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #9baebc;
}
#contents h2:before { top: 12px; }
#contents h2:after { top: 15px; }
#contents h2 span {
	position: relative;
	display: inline-block;
	padding: 0 .5em;
	background-color: #ffffff;
	z-index: 100;
}
#contents h2 + p {
	font-size: 90%;
	line-height: 1.5;
}
#register,
#lead,
#enterprise,
#pickup-K-1,
#pickup-lecturer,
#pickup,
#sponsor,
#overview,
#timetable,
#exhibition {
	padding: 2.5em 0 2.5em;
}
#enterprise {
	padding-bottom: 0.1em;
}
#information + #timetable,
#information + #exhibition {
	padding-top: 1em;
}
.closed {
	padding:1.5em 0;
	margin-bottom: clamp(1.5em, 5vw, 50px);
	text-align:center;
	background-color:#ce0468;
	background-image:linear-gradient(
		-45deg,
		#ce0468 25%,
		#a70e56 25%, #a70e56 50%,
		#ce0468 50%, #ce0468 75%,
		#a70e56 75%, #a70e56
	);
	background-size:6px 6px;
	border: 1px solid #ffacd5;
	color: #FFFFFF;
	font-size: 1.1em;
}

.lecturer-company,
.lecturer-division,
.lecturer-post {
	line-height: 1.2;
	margin:.3em 0;
}
.lecturer-company {
	font-size: 115%;
	margin-bottom: .5em;
}
.lecturer-name {
	font-size: 150%;
	font-weight: bold;
	margin: 0;
}
.lecturer-name:after {
	content: "氏";
	font-size: 65%;
	font-weight: normal;
	margin-left: .5em;
}
.lecturer-name.en:after {
	content: none;
}
.notice {
	font-size: 90%;
}
.btn-submit {
	text-align: center;
	margin-top: 3em;
}
.btn-submit a {
	letter-spacing: .1em;
}

/* --- #ondemand -------------*/
#ondemand {
		margin: 1em auto 3.5em;
		padding: 1em clamp(10px, 5vw, 24px);
		color: #000;
		background: #fff;
		border: 6px solid #12bf00;
}
#lead:has(#ondemand) {
		padding-bottom: 3.5em;
}
@media screen and (max-width: 768px) {
		#ondemand {
				margin-bottom: 2.5em;
		}
		#lead:has(#ondemand) {
				padding-bottom: 2.5em;
		}
}
#ondemand header {
		position: relative;
		font-size: 115%;
		font-weight: bold;
		text-align: center;
}
/*
#ondemand header::after {
		content: "";
		display: block;
		position: relative;
		height: 1em;
		background-color: #12bf00;
		background-image: linear-gradient(135deg, #ffffff 25%, #12bf00 25%, #12bf00 50%, #ffffff 50%, #ffffff 75%, #12bf00 75%, #12bf00 100%);
		background-size: 5.66px 5.66px;
}
@media screen and (min-width: 769px) {
		#ondemand header::after {
				left: 50%;
				width: 85%;
				transform: translateX(-50%);
		}
}
*/
#ondemand header h2 {
		margin-bottom: 0.25em;
		color: #000;
}
#ondemand header h2 em {
		display: inline-block;
		margin: 0 0.25em;
		background: #12bf00;
		color: #fff;
}
#lead #ondemand header p {
		margin-bottom: 1.5em;
}
#ondemand p > .notes {
		display: inline-block;
		margin-top: 0.75em;
}
#ondemand p.txt {
		margin: 2em auto;
		padding: 1em 0;
		line-height: 1.5;
		border: 1px solid #12bf00;
		border-width: 1px 0;
}
@media screen and (min-width: 769px) {
		#ondemand p.txt {
				width: 85%;
		}
}
#ondemand p.txt b {
		font-family: 'ヒラギノ角ゴ Pro';
		color: #10ae00;
}
/*
#ondemand .period {
		position: relative;
		padding: 10px;
		font-size: 135%;
		font-weight: bold;
		text-align: center;
		background-image: linear-gradient(135deg, #ffffff 25%, #12bf00 25%, #12bf00 50%, #ffffff 50%, #ffffff 75%, #12bf00 75%, #12bf00 100%);
		background-size: 5.66px 5.66px;
}
@media screen and (min-width: 769px) {
		#ondemand .period {
				width: 85%;
				margin: auto;
				font-size: 145%;
		}
}
#ondemand .period::before {
		content: "";
		display: block;
		position: absolute;
		width: calc(100% - 20px);
		height: calc(100% - 20px);
		left: 50%;
		top: 50%;
		background: #fff;
		transform: translate(-50%, -50%);
}
*/
#ondemand .period {
		font-size: 135%;
		font-weight: bold;
		text-align: center;
}
#ondemand .period p {
		position: relative;
}
#ondemand .period p > .notes {
		margin-top: 0.25em;
}
#ondemand .recommend {
		position: relative;
		margin: 2.5em auto 1em;
		padding: 10px;
		background-image: linear-gradient(135deg, #ffffff 25%, #12bf00 25%, #12bf00 50%, #ffffff 50%, #ffffff 75%, #12bf00 75%, #12bf00 100%);
		background-size: 5.66px 5.66px;
}
#ondemand .recommend::before {
		content: "";
		display: block;
		position: absolute;
		width: calc(100% - 20px);
		height: calc(100% - 20px);
		left: 50%;
		top: 50%;
		background: #fff;
		transform: translate(-50%, -50%);
}
@media screen and (max-width: 420px) {
		#ondemand .recommend {
				padding: 0;
				background: transparent;
		}
		#ondemand .recommend::before {
				content: none;
		}
}
#ondemand .recommend * {
		position: relative;
}
#ondemand .recommend h3 {
		margin-top: 0.5em;
		text-align: center;
}
#ondemand .recommend h3 span {
		display: inline-block;
		padding: 0.2em 0.75em;
		font-family: 'ヒラギノ角ゴ Pro';
		font-weight: bold;
		color: #fff;
		background: #12bf00;
}
@media screen and (max-width: 420px) {
		#ondemand .recommend h3 span {
				display: block;
		}
}
#ondemand .recommend-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-left: 0;
		padding-left: 7px;
}
#ondemand .recommend-list li {
		list-style-type: none;
		flex-grow: 1;
		margin-top: 0.5em;
		padding: 7px 7px 7px 0;
		box-sizing: border-box;
}
@media screen and (min-width: 421px) and (max-width: 768px) {
		#ondemand .recommend-list li {
				width: 50%;
		}
}
@media screen and (min-width: 769px) {
		#ondemand .recommend-list li {
				width: 25%;
				margin-top: 0;
		}
}
/* セッション名 */
#ondemand .recommend-list li > b {
		display: block;
		margin-bottom: 0.3em;
		text-align: center;
		font-size: 115%;
		line-height: 1.3;
}
#ondemand .recommend-list li > b::before,
#ondemand .recommend-list li > b::after {
		content: "";
		display: inline;
		position: absolute;
		top: -5px;
		font-size: 250%;
		color: #90AECF;
}
#ondemand .recommend-list li > b::before {
		content: "「";
		left: -0.5em;
}
#ondemand .recommend-list li > b::after {
		content: "」";
		right: -0.5em;
}
#ondemand .recommend-list li > b span {
		display: block;
}
/* 講師写真、氏名など */
#ondemand .recommend-list figure img {
		display: block;
		width: 100%;
}
#ondemand .recommend-list figcaption {
		padding: 0.5em;
		font-size: 90%;
		line-height: 1.2;
		color: #fff;
		background: #537DA5;
}
@media screen and (min-width: 421px) and (max-width: 800px) {
		#ondemand .recommend-list figcaption {
				min-height: 4.5em;
		}
}
#ondemand .recommend-list figcaption b {
		display: inline-block;
		margin-bottom: 0.25em;
		font-size: 135%;
}
#ondemand .recommend-list figcaption b::after {
		content: "氏";
		margin-left: 0.25em;
		font-size: 70%;
}

/* --- #information -------------*/
#information {
	padding:1.5em 0;
	text-align:center;
	background-color:#e6e6e6;
	background-image:linear-gradient(
		-45deg,
		#e6e6e6 25%,
		#dfdfdf 25%, #dfdfdf 50%,
		#e6e6e6 50%, #e6e6e6 75%,
		#dfdfdf 75%, #dfdfdf
	);
	background-size:6px 6px;
}
#information .closed-form {
	font-weight:bold;
}
#information .closed-form span {
	display:inline-block;
}

/* --- #benefit box -------------*/
.benefit {
	margin: 30px auto;
	border: 2px solid #e23f08;
	border-radius: 6px;
}

.benefit span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .5em 0;
	background-color: #e23f08;
	color: #fff;
	font-weight: 600;
	font-size: 1.3rem;
}

.benefit p {
	margin: 0;
	font-size: 1.2rem;
	padding: 15px 20px;
	color: #333;
}

/* --- #lead --------------------*/
#lead,
#lead h2 {
/*	color: #fff;*/
}
#lead {
	font-size: 90%;
/*	background:#151433 url(../images/lead-bg_dcf2025.jpg) no-repeat 50% 50%;*/
	background-size:cover;
	position: relative;
}
#lead::before {
/*	content: "";*/
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .8);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
#lead .wrapper {
	/*padding-left: clamp(10px, 5vw, 24px);
	padding-right: clamp(10px, 5vw, 24px);*/
	position: relative;
	z-index: 10;
}
#lead h2 {
	margin-top:.5em;
	margin-bottom:1.5em;
}
#lead h2:before,
#lead h2:after {
	content: none;
}
#lead h2 span {
	padding: 0;
	background: transparent;
	z-index: auto;
}
#lead h2 + p {
	font-size: inherit;
	margin: 0;
}

/* --- #privilege --------------------*/
#privilege {
	padding: 30px;
	margin-top: -20px;
	margin-bottom: 60px;
	border: 2px solid #8B84EE;
	border-radius: 10px;
	text-align: center;
	background-color: rgb(243 236 255 / 90%);
}
#privilege p {
	color: #6159ca;
	margin-top: 0;
	font-size: 1.2rem;
}
#privilege span {
	color: #3d3d3d;
	font-size: 1rem;
}
@media only screen and (max-width: 768px) {
	#privilege {
		margin-top: 0;
		margin-bottom: 50px;
	}
}
@media only screen and (max-width: 640px) {
	#privilege {
		padding: 20px;
		margin-top: 0;
		margin-bottom: 40px;
	}
}

/* --- #point ------------*/
#point,
#point h2 {
	color: #e9eaec;
}
#point {
	background-color: #212d42;
	padding-top: 2em;
	padding-bottom: 2em;
}
#point h2 {
	font-size: 125%;
	margin-bottom: 1.3em;
	padding: 0 0 .3em;
	border: 0 solid #646c7b;
	border-width: 0 0 1px;
}
#point h2:before,
#point h2:after { content:none; }
#point h2 span {
	padding: 0;
	background: transparent;
}
#point .point-detail-inner {
	font-size: 90%;
	line-height: inherit;
}
#point .point-detail {
	display: table;
	width: 102%;
	margin-left: -1%;
	margin-right: -1%;
	box-sizing: border-box;
}
#point .point-detail .point-detail-inner {
	display: table-cell;
	vertical-align: top;
	width: 33%;
	padding-top: 1.5em;
	padding-right: 2.5%;
	padding-left: 2.5%;
	padding-bottom: 1.5em;
	box-sizing: border-box;
	background-color: #314362;
	border: 10px solid #212d42;
}
#point .point-detail:nth-of-type(2) .point-detail-inner {
	padding-top: 2em;
}

#point .point-detail .point-detail-inner ul {
	margin-top: 1em;
	margin-bottom: 1em;
}

/* --- #enterprise --------------------*/
#enterprise,
#enterprise h2 {
	color: #fff;
}

#enterprise {
	background-color: #38729b;
	background-image: url(../images/top/enterprise-bg.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
}

.enterprise-1,
.enterprise-2,
.enterprise-3,
.enterprise-4 {
	width: 25%;
	margin-bottom: 1.5em;
}
.enterprise-1 {
	float: left;
}
.enterprise-2 {
	float: left;
}
.enterprise-3 {
	float: left;
}
.enterprise-4 {
	float: right;
}

#enterprise .company-logo {
	padding-bottom: 1em;
}
#enterprise .company-logo img {
	float: none;
	width: 50%;
	height: auto;
}
#enterprise h2 {
	border: 0 solid #679abf;
	border-width: 1px 0;
	margin-bottom: 1.5em;
	margin-top: 0.5em;
}
#enterprise h2 span {
	padding: .3em 0;
	background:transparent;
}
#enterprise h3 {
	font-size: 100%;
	margin-top: 1em;
	margin-bottom: 1em;
}
#enterprise h3 span {
	font-size: 90%;
}
#enterprise h2:before,
#enterprise h2:after { background-color: #679abf; }
#enterprise h2:before { top: -4px; }
#enterprise h2:after { top: auto; bottom: -4px; }

#enterprise .session-category {
	display: inline-block;
	font-size: 75%;
	line-height: 1;
	color: #fff;
	margin: .1em 0;
	padding: .5em .8em;
	background-color: #4D9F86;
	border-radius: 3px;
}

/* --- #overview --------------------*/
#overview　{
	color: #2f4858;
	background-color: #FFFFFF;
}
#overview h2 span {
	color: #2f4858;
	background-color: #FFFFFF;
}
#overview figure {
	font-size: 90%;
	line-height: 1.3;
	margin: .8em 0 1em;
}
#overview .level2 p {
	word-break: break-all;
	margin: .5em 0;
}
#overview .level2 ul,
#overview .level2 ol {
	margin-top: .5em;
}
#overview .add-calender {
		font-size:90%;
}
#overview-title .level2 p span {
	display:inline-block;
}
#overview-title .level2 p:first-child {
	font-size: 125%;
}
#overview-date li + li {
		margin-top: 0.5em;
}
#overview-date li .notes {
		display: inline-block;
		margin-top: 0.25em;
}
#overview-place .level2 .venue {
	margin-bottom: 0;
}
#overview-place .level2 .adress {
	margin-top: .2em;
}
#overview-place .level2 .access {
	font-size: 90%;
	line-height: 1.4;
	margin-top: .8em;
}
#overview-place .level2 .access li {
	margin: .5em 0;
}
#overview-place .level2 p.access {
	display: list-item;
	margin-left: 1.5em;
}
#overview-place .level2 .notes {
		font-size: 90%;
}
@media screen and (max-width: 768px) {
		#overview-place .level2 .notes {
				display: block;
				margin: 0.25em 0 0.75em;
		}
}
#overview-promoter li,
#overview-support li {
	margin: .5em 0;
}
#overview-support .level2 {
	padding-top: 1em !important;
	padding-bottom: 1em !important;
}
#overview-promoter .level2 img,
#overview-support .level2 img {
	width: 150px;
	height: auto;
}
/* --- #sponsor ----------------------*/
#sponsor h2 {
	font-size:90%;
	line-height:1;
	padding:.3em;
	background:#d9e2e8;
	border-radius:1em;
}
#sponsor h2:not(:first-child) {
	margin-top:1.8em;
}
#sponsor h2 span {
	background:transparent;
}
#sponsor h2:before,
#sponsor h2:after {
	content:none;
}
#sponsor ul {
	text-align:center;
	letter-spacing:-.4em;
	margin:0 auto;
}
#sponsor li {
	list-style:none;
	display:inline-block;
	vertical-align:middle;
	letter-spacing:normal;
	margin:10px 20px;
}
#sponsor li img {
	max-width:195px;
	max-height:71px;
}
#sponsor .wide-h {
	margin-top:15px;
	margin-bottom:15px;
}
#sponsor-platinum li {
	margin-top:0;
	margin-bottom:0;
}
#sponsor-platinum li img {
	max-width:200px;
	max-height:100%;
}
/*
#sponsor-gold1 li,
#sponsor-gold2 li,
#sponsor-media2 li {
	margin-top:0;
}
#sponsor-silver li,
#sponsor-lecture li {
	margin-bottom:0;
}
*/

/* --- #timetable --------------------*/
#timetable h4 {
	font-size: 110%;
	line-height: 1.2;
	color: #2f4858;
	margin: .5em 0 0;
}
#timetable h4 span {
	display: block;
	font-size: 85%;
	margin: .3em 0 0;
}
/*#timetable h5 {
	position: relative;
	font-size: 95%;
	line-height: 1;
	color: #2f4858;
	padding: .4em .3em;
	border-left: 8px solid #cdd9e0;
}*/
#timetable i {
	vertical-align: middle;
}
#timetable nav i {
	color: #999;
	margin: 0 .5em .1em .2em;
}
#timetable .btn-detail i,
#timetable .btn-profile i {
	margin-right: .2em;
}
#timetable .btn-timetable-navi i {
	margin-right: .3em;
}
#timetable nav {
	margin-top: 1.5em;
	margin-bottom: 1.8em;
}
#timetable nav dt {
	font-size: 65%;
	text-align: center;
	line-height: 1;
	color: #ffffff;
	padding: .5em;
}
#timetable nav dd {
	padding: .3em;
}
#timetable nav p {
	font-size: 70%;
	margin: 0;
}
#timetable nav dd > a:not(:first-child) p {
	margin-top: .3em;
}
#timetable nav b {
	color: #555555;
}
#timetable nav span + b {
	margin-left: .2em;
}
#timetable nav a {
	text-decoration: none;
	color: #444444;
}
#timetable nav a:hover p {
	background: #eeeeee;
}
#timetable nav .timetable-date,
#timetable nav .level2,
#timetable nav .session-id {
	vertical-align: middle;
}
#timetable nav .session-id {
	font-size: 85%;
	margin-right: .3em;
}

#timetable nav .session-class {
	display: inline-block;
	font-size: 85.9%;
	line-height: 1;
	color: #ffffff;
	margin: .2em 0;
	padding: .5em .8em;
	background-color: #5a6871;
	border-radius: 3px;
}

#timetable nav .lecturer {
	font-size: inherit;
}
#timetable .level1,
#timetable .level2,
#timetable .level3 {
	border: 0 solid #9baebc;
	box-sizing: border-box;
}
#timetable .level1 {
	display: table;
	width: 100%;
}
#timetable .level2 {
	border-bottom-width:1px;
}
#timetable nav .level1:first-child .level2,
#timetable > section:nth-of-type(2) .level2 {
	border-top-width: 1px;
}
#timetable .level2 > section {
	margin:1em 0;
	padding-bottom:1em;
	border-bottom:1px solid #DCE2EA;
}
#timetable .level2 > section:first-of-type {
	margin-top:0;
}
#timetable .level2 > section:last-of-type {
	margin-bottom:.5em;
	padding-bottom:0;
	border-bottom:0;
}
#timetable .timetable-date,
#timetable .level2 {
	display: table-cell;
	vertical-align: top;
}
#timetable .level3,
#timetable .single .level2 {
	padding: .8em .5em;
}
#timetable .timetable-date {
	width: 3em;
	background-color: #9baebc;
}
#timetable .level1:nth-child(odd) .timetable-date {
	background-color: #8a9ead;
}
#timetable .timetable-date span {
	display: block;
}
#timetable .timetable-date span:nth-of-type(2) {
	display: inline-block;
	transform: rotate(90deg);
}
#timetable .timetable-date span:nth-of-type(4) {
	font-size: 90%;
	font-weight: normal;
	margin-top: .5em;
}
#timetable .timetable-date h3 {
	font-size: 75%;
	text-align: center;
	line-height: 1;
	color: #fff;
	margin: 1em 0;
}
#timetable .session-id,
#timetable .session-category,
#timetable .session-outline,
#timetable .session-info {
	display: inline-block;
	font-size: 75%;
	line-height: 100%;
	color: #ffffff;
	margin: .1em 0;
	padding: .5em .8em;
	background-color: #5a6871;
	border-radius: 3px;
}
#timetable .session-id {
	text-align: center;
	display: inline-block;
}
#timetable .session-id.track1 { background-color: #942828; }
#timetable .session-id.track2 { background-color: #296322; }
#timetable .session-id.track3 { background-color: #014f92; }
#timetable .session-info {
	line-height: 1.3;
	color: inherit;
	padding-left: .2em;
	background: transparent;
}
#timetable .session-notes {
	font-size:90%;
	font-weight:bold;
	color:#942828;
	margin:.5em 0 1.5em;
}
#timetable .btn-detail {
	position: relative;
	margin-bottom: 0;
	padding-top: .6em;
}
#timetable .session-outline {
	background-color: #4A82A6;
	font-weight: normal;
}
#timetable .btn-detail:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 5em;
	height: 6px;
	background-color: #cdd9e0;
	border-radius: 6px;
}
#timetable .btn-detail a {
	font-size: 95%;
	text-decoration: none;
	color: #444444;
}
#timetable .btn-detail a:hover {
	text-decoration: underline;
}
#timetable .btn-detail a i {
	color: #999999;
}
#timetable a.btn-profile {
	display: inline-block;
	padding-left: 0.5em;
	padding-right: 0.5em;
	height: 24px;
	color: #FFFFFF;
	text-align: center;
	line-height: 24px;
	background-size: 4px 4px;
	-moz-border-radius: 5px; /* Firefox v1.0+ */
	-webkit-border-radius: 5px; /* Safari v3.0+ and by Chrome v0.2+ */
	border-radius: 5px; /* Firefox v4.0+ , Safari v5.0+ , Chrome v4.0+ , Opera v10.5+  and by IE v9.0+ */
	text-decoration: none;
	margin: 0px !important;
	background-color: #aaaaaa;
	background-image: linear-gradient(
		-45deg,
		#aaaaaa 25%,
		#666666 25%, #666666 50%,
		#aaaaaa 50%, #aaaaaa 75%,
		#666666 75%, #666666
	);
}
#timetable a.btn-profile:hover {
	-webkit-transition: all .3s;
	transition: all .3s;
	text-decoration: none;
	color: #FFFFFF;
	opacity: 0.8;
	filter: alpha(opacity=80); /* ie lt 8 */
	-ms-filter: "alpha(opacity=80)"; /* ie 8 */
	-moz-opacity: 0.8; /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.8; /* Safari 1.x */
	zoom: 1;
}
#timetable .btn-timetable-navi {
	display: inline-block;
	position: fixed;
	bottom: 10px;
	right: 5em;
	margin: 0;
	z-index: 1000;
}
#timetable .btn-timetable-navi a {
	display: block;
	text-decoration: none;
	line-height: 1;
	color: #ffffff;
	padding: .8em;
	background-color: #738da0;
	background: rgba(115,141,160,.9);
	border-radius: 3px;
}
#timetable .btn-timetable-navi a:hover {
	opacity: .8;
}
#timetable .lecturer {
	font-size: 85%;
	color: #555555;
	margin: 1em 0 0;
	z-index: 1;
	position: relative;
}
#timetable .lecturer-pic {
	float: left;
	width: 120px;
	height: 120px;
	margin-right: 1em;
}
#timetable .lecturer-list .lecturer-pic {
	width: 120px;
	height: 120px;
}
#timetable .level1:not(.single) .lecturer-company {
	font-size: 105%;
	margin-bottom: .1em;
}
#timetable .level1:not(.single) .lecturer-name {
	font-size: 130%;
}
#timetable dl.lecturer-list dt {
	font-size: 75%;
	font-weight: bold;
	line-height: 1;
	color: #2f4858;
	margin: 1.3em 0 0;
	padding: .3em .8em;
	background-color: #cdd9e0;
	border-radius: 1em;
}
#timetable .session-detail {
	margin-top: 1em;
}
#timetable .session-overview p {
	font-size: 90%;
	line-height: 1.4;
	margin: .8em 0;
}
#timetable .session-overview {
	position: relative;
	margin-top: 1em;
}
#timetable .lecturer-profile {
	font-size: 90%;
	line-height: 1.4;
	margin: 1em 0;
}
#timetable .lecturer-profile dt {
	font-size: 110%;
	font-weight: bold;
}
#timetable .lecturer-profile dd {
	padding-left: .3em;
	border-left: 8px solid transparent;
}
#timetable .lecturer-profile dd p {
	font-size: 90%;
	line-height: 1.4;
}
#timetable .lecturer-profile .lecturer-workspace {
	margin: .3em 0 0;
}
#timetable .lecturer-profile .lecturer-biography {
	margin: 1em 0 0;
}
#timetable .lecturer-profile .part {
	display: inline-block;
	font-size: 75%;
	color: #2f4858;
	margin-bottom: .3em;
	padding-right: 2em;
	border-bottom: 3px solid #cdd9e0;
}
#timetable .lecturer + h4 {
	margin-top: 1.5em;
}

#timetable .btn-outline {
	font-size:110%;
	color:#2971f3;
	transition:.3s;
}
#timetable .btn-outline i {
	margin-right:.2em;
}
#timetable .btn-outline:hover {
	color:#32afb3;
}

#timetable .lecturer + .outlineBox p,
#timetable .outlineBox + .lecturer-list,
#timetable .moderatorBox {
	margin-bottom:.5em;
}
#timetable .outlineBox h5 {
	margin-top:1em;
}

#timetable .panelistBox,
#timetable .moderatorBox {
	margin-top:1.5em;
}
#timetable .panelistBox h5,
#timetable .moderatorBox h5 {
	font-size:95%;
	line-height:1;
	color:#2f4858;
	margin-bottom:.5em;
	padding:.4em .3em;
	border-left:8px solid #cdd9e0;
}

#timetable header + .lecturer,
#timetable header + .lecturer-list {
	margin-top:1.5em !important;
}

#timetable .lecturerProfileBox {
	font-size:85%;
	margin-top:1em;
}

/* --- #footer --- /////////////////////////////////////////////////*/
#footer .page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	margin: 0;
	z-index: 1000;
}
#footer .page-top a {
	display: block;
	padding: .5em 1em;
	background-color: #2f4858;
	background: rgba(47,72,88,.8);
	border-radius: 3px;
	color: #FFFFFF;
	text-decoration: none;
	text-align: center;
}
#footer .page-top a:hover {
	opacity: .8;
}
#footer .page-top i {
	display: block;
}

#footer {
	overflow: hidden;
	width: 100%;
	padding: 1em 0;
	background-color: #000000;
	color: #ffffff;
	font-size: 80%;
	text-align: right;
}
.footer-nav {
	margin-right: .75em;
	float: right;
}

.footer-nav a {
	display: inline-block;
	margin: .5em .25em;
	padding: .5em;
	border: 1px solid #ffffff;
	border-radius: 4px;
	color: #ffffff;
	font-size: 80%;
	text-decoration: none;
	text-align: right;
	transition:.3s;
}
.footer-nav a:hover {
	background-color: #666666;
}

#footer span a {
	border: none;
	border-radius: 0px;
	padding-bottom: .25em;
	border-bottom: 1px solid #fff;
}
.footer-logo {
	float: left;
	margin: 0.5em 1.5em;
	width: 80px;
	height: auto;
}

/* --- Media Query --- //////////////////////////////////////////////*/
@media (max-width: 420px) {
	.h1-mobile { display:block; }
	#pickup h2 {
		margin-bottom: 1em;
	}
	#timetable > .wrapper:not(:first-child) {
		padding-right: 0;
		padding-left: 0;
	}
	#timetable .btn-outline {
		padding-left:0 !important;
	}
	#timetable .btn-outline i {
		margin-left:0 !important;
	}
}
@media (min-width: 421px) {
	.h1-pc {
		display: inline-block;
		width: 100%;
		max-width: 1200px;
	}
	.header-logo {
		display: block;
		width: 100%;
	}
	#timetable nav dd {
		padding-right: .5em;
		padding-left: .5em;
	}
	#timetable nav .level2 {
		border-right-width: 1px;
	}
}
@media (max-width: 460px) {
	#timetable .single .lecturer-pic {
		float: none;
		margin: 0 0 .5em;
	}
	.btn-submit .submit {
		width: 94%;
		box-sizing: border-box;
	}
	.closed {
		text-align: left;
		margin-bottom: 2em;
		padding: 1em;
	}
}
@media (min-width: 461px) {
	#pickup .lecturer-post {
		position: relative;
		display: inline-block;
	}
	#pickup .lecturer-post img {
		position: absolute;
		bottom: 0;
		right: -110px;
		margin-right: .5em;
	}
}

@media (max-width: 600px) {
	#navigation br {
		display: block;
	}
	#navigation li {
		vertical-align: middle;
	}
	#navigation a {
		height: 4.6em;
	}
	.nav-top a,
	.nav-overview a {
		line-height: 3em;
	}
	
	#navigation a.submit {
		height: auto;
	}
	#navigation .active,
	#navigation .active:hover {
		height: 5em;
	}
	#timetable .timetable-date h3 {
		top: 7em !important;
	}
}


@media only screen and (max-width: 768px) {
	.footer-logo {
		width: 40px;
		height: auto;
	}

	.btn-submit a {
		width: 80%;
	}

	.lecturer-name {
		margin-top:.3em;
	}

	#header .header-logo li:first-child img,
	#header .header-logo li:last-child img {
		max-height:45px;
	}
	#contents {
		font-size: 115%;
		line-height: 1.3;
	}
	#information {
		 padding-top:.8em;
		 padding-bottom:.8em;
	}
	#overview {
		/*padding-top: 1.5em;*/
		padding-bottom: 1em;/* for ".page-top" */
	}
	#sponsor {
		padding-top:1.5em;
		padding-bottom:1em;
	}
	#timetable {
		padding-top: 1.5em;
		padding-bottom: 3em;/* for ".page-top" */
	}
	#navigation {
		font-size: 90%;
	}
	#contents h2 {
		font-size: 130%;
	}
	#SMP_STYLE p {
		margin-bottom: 1.5em;
	}
	#SMP_STYLE dt.title {
		display: block;
		width: 100%;
		padding: 0;
	}
	#SMP_STYLE dd.data {
		display: block;
		width: 100%;
		margin-bottom: 12px;
	}
	#lead {
		/*padding-top: 1.5em;
		padding-bottom: 3em;*/
		/*background-image:url(../images/top/lead-bg.jpg);
		background-size: 180%;*/
	}
	#lead p {
		/*padding-right: .2em;
		padding-left: .2em;*/
	}

	#point .point-detail,
	#point .point-detail .point-detail-inner {
		display: block;
		padding: 0;
	}
	#point .point-detail {
		font-size: 90%;
	}
	#point .point-detail .point-detail-inner {
		width: 96%;
		margin-top: 1.5em;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 0.5em;
		padding: 1em;
		border-style: none;
	}
	#point .point-detail:nth-of-type(2) .point-detail-inner {
		padding-top: inherit;
	}
	#point .point-detail .point-detail-inner:first-child {
		margin-top: 2.5em;
	}
	#point .point-detail .point-detail-inner:last-child {
		margin-bottom: 0;
	}

	#enterprise {
		background-image: none;
		padding-top: 1.5em;
	}
	
	.enterprise-1,
	.enterprise-2,
	.enterprise-3,
	.enterprise-4 {
		width: auto;
		margin-bottom: 1em;
	}
	/*.enterprise-1 dt br,
	.enterprise-2 dt br {
		display: none;
	}*/
	.enterprise-1,
	.enterprise-2,
	.enterprise-3,
	.enterprise-4,
	.enterprise-1 img,
	.enterprise-2 img,
	.enterprise-3 img,
	.enterprise-4 img,
	.enterprise-1 dl,
	.enterprise-2 dl,
	.enterprise-3 dl,
	.enterprise-4 dl {
		float: none;
	}
	#enterprise img {
		width: 100%;
	}
	#enterprise dl {
		margin: .8em 0;
	}
	#enterprise dd p {
		margin: .5em 0;
	}
	#enterprise .company-logo {
		padding-bottom: 0em;
		text-align: center;
		background-color: #FFFFFF;
		margin-bottom: 1em;
	}
	/*#pickup .session-subtitle:after {
		width: 80%;
	}*/
	#pickup .lecturer-name {
		font-size: 150%;
	}
	#pickup .lecturer-pic {
		width: 100% !important;
		display: block;
		margin-bottom: 0.5em;
	}

	#overview h3 {
		font-size: 85%;
		line-height: 1;
		color: #fff;
		margin-bottom: .8em;
		margin-right: .3em;
		margin-left: .3em;
		padding: .5em .8em;
		background-color: #9BAEBC;
		border-radius: 1em;
	}
	#overview figure {
		font-size: 85%;
		line-height: 1.4;
		color: #2f4858;
		padding: .5em;
		background-color: #f5f7f9;
	}
	#overview .level2 {
		padding-right: .8em;
		padding-left: .8em;
	}
	#overview-promoter .level2 > ul,
		#overview-support .level2 > ul {
		margin-left: 0;
	}
	#overview-promoter .level2 > ul > li,
	#overview-support .level2 > ul > li {
		list-style: none;
	}
	#overview-promoter figure {
		margin: 0;
	}
	#overview-promoter figure li {
		margin: .8em 0;
	}
	#overview-promoter figure li:last-child {
		margin-bottom: 0;
	}

	#sponsor h2 {
			font-size:95%;
	}

	#timetable h4 span {
		margin-top: .5em;
	}
	#timetable nav dd > a:not(:first-child) p {
		margin-top: .5em;
	}
	#timetable nav p > .lecturer:not(:nth-last-child(2)) {
		display: block;
	}
	#timetable .level3,
	#timetable .single .level2 {
		padding-top: .5em;
	}
	#timetable .level2 > .level3:not(:first-child) {
		border-top-width: 1px;
	}
	#timetable .timetable-date h3 {
		position: -webkit-sticky;
		position: sticky;
		top: 5.5em;
	}
	#timetable .lecturer-company {
		font-size: 110%;
	}
	#timetable .btn-profile {
		font-size: 90%;
	}
	#timetable .btn-timetable-navi {
		font-size: 80%;
	}

	#timetable .single .lecturer-list + h5 {
		margin-top: 1.8em;
	}
	#timetable .single .lecturer-list .lecturer-company br {
		display: none;
	}

	#timetable .single .lecturer-list .lecturer {
		border-bottom: 1px dashed #DCE2EA;
		padding: 0.5em;
		margin:0;
/*    margin-left: 0.5em;*/
/*    margin-right: 0.5em;*/
	}
	#timetable .single .lecturer-list .lecturer:last-of-type {
		border-bottom:0;
	}
	#timetable .single .panelistBox .lecturer-list:first-of-type .lecturer:last-of-type {
		border-bottom: 1px dashed #DCE2EA;
	}

	#timetable .lecturerOutlineBox .btn-outline {
		padding-left:80px;
	}
	#timetable .lecturerOutlineBox .btn-outline i {
		margin-left:.5em;
	}
	#timetable .lecturer-list .lecturer-name {
		margin-bottom:.5em;
	}
	#timetable header + .lecturer-list {
			margin-top:1em;
	}

	#footer .page-top {
		font-size: 80%;
	}
	.swiper-slide img {
		width: 100%;
	}
}


@media only screen and (min-width: 769px) {
	.btn-submit {
		max-width: 1024px;
		margin-right: auto;
		margin-left: auto;
	}
	.btn-submit a {
		width: 50%;
	}
	.wrapper {
		max-width: 1024px;
	}
	#navigation a {
		padding-top:1.2em;
		padding-bottom:1.2em;
	}
	#overview {
		padding-bottom: 1em;/* for ".page-top" */
		padding-top: 3em;
	}
	#timetable {
		padding-bottom: 3em;/* for ".page-top" */
		padding-top: 3em;
	}
	#timetable h2 + p {
		text-align: center;
	}

	#lead {
/*		padding-bottom: 3em;*/
		padding: 0 10px;
	}
	#lead h2 {
		text-align: center;
	}
	#lead .wrapper {
		width: 100%;
		max-width: 1100px;
		background: #000 url(../images/mainvisual_bg.jpg) no-repeat center center / cover;
		padding: 20px;
	}

	#lead .wrapper .lead__main {
		font-size: 1.3em;
		font-weight: 700;
		color: #142038;
		background-color: rgba(255, 255, 255, .85); padding: 20px 25px; margin: auto;
	}

	#enterprise .company-logo {
		width: 30%;
		padding-left: 1.8em;
		float: right;
	}
	#enterprise .company-logo img {
		float: none;
		width: 100%;
		height: auto;
	}

	#enterprise dt {
		margin-bottom: .7em;
		padding-bottom: .2em;
	}

	#pickup .pickup-detail {
		display: table;
	}
	#pickup .lecturer-pic,
	#pickup .pickup-detail div {
		display: table-cell;
		vertical-align: middle;
	}
	#pickup .pickup-detail div {
		padding-left: 2em;
	}
	#pickup .session-subtitle span {
		display: inline-block;
	}
	#sponsor h2 {
		letter-spacing: 1px;
	}
	#overview .level1 {
		display: table;
		width: 100%;
		border: 0 solid #9facb5;
		border-width: 0 1px 1px;
		box-sizing: border-box;
	}
	#overview h2 + .level1 {
		margin-top: 1em;
		border-top-width: 1px;
	}
	#overview h3,
	#overview .level2 {
		display: table-cell;
		vertical-align: middle;
	}
	#overview h3 {
		width: 15%;
		font-size: 85%;
		text-align: center;
		margin: 0;
		padding: .5em;
		background-color: #d7dee3;
	}
	#overview .level2 {
		padding: .5em 1em;
		background-color: #FFFFFF;
	}
	#overview-title p:first-child {
/*		margin-bottom: 0;*/
	}
	#overview-visitors figure p span {
		display: inline-block;
	}
	#timetable nav,
	#timetable .btn-timetable-navi {
		display: none !important;
	}
	#timetable .single h4 {
		font-size: 125%;
	}
	#timetable .timetable-date {
		width: 8%;
		vertical-align: top;
	}
	#timetable .timetable-date h3 {
		font-size: 85%;
	}
	#timetable .level1 {
		width: 99%;
		max-width: 1024px;
		margin: 0 auto;
	}
	#timetable .level2 {
		width: 91%;
		border-right-width:1px;
	}
	#timetable .level3 {
		display: table-cell;
		vertical-align: top;
		width: 33%;
		border-left-width: 1px;
	}
	#timetable .level2 > .level3:first-child {
		border-left-width: 0;
	}
	#timetable .single .lecturer-list {
		display: table;
		width: 100%;
		position: relative;
		margin-top: 1em;
	}
	
	#timetable .single .lecturer-list .lecturer {
	display: table-cell;
	vertical-align:top;
/*	width: 33.33%;*/
	width: 50%;
	box-sizing: border-box;
	padding: 1em;
	border-right: 10px solid #FFFFFF;
/*	border-top: 10px solid #FFFFFF;*/
/*	border-bottom: 10px solid #FFFFFF;*/
	background-color: #EEF1F5;
	}
/*  #timetable .single .lecturer-list .lecturer:nth-of-type(1) {
		border-left: 10px solid #FFFFFF;
	}*/
	#timetable .single .lecturer-list + h5 {
		margin-top: 1.8em;
	}

	#timetable .lecturerOutlineBox .btn-outline {
		position:absolute;
		bottom:.5em;
	}
	#timetable #K-1 .lecturer-list .lecturer {
		padding-bottom:2.5em;
	}

	#footer .page-top {
		font-size: 120%;
	}
}


@media screen and (min-width:769px) and ( max-width:1024px) {
	.enterprise-wrap {
			width:700px;
			margin: 0 auto;
		}
		
	.enterprise-1,
	.enterprise-2,
	.enterprise-3,
	.enterprise-4 {
		width: 150px;
		margin-bottom: 1.5em;
	}
	
	.enterprise-1 {
		float: left;
		margin-right: 20px;
	}
	.enterprise-2 {
		float: left;
		margin-right: 20px;
	}
	.enterprise-3 {
		float: left;
		margin-right: 20px;
	}
	.enterprise-4 {
		float: left;
	}

	#enterprise  dl,
	#enterprise .lecturer-company,
	#enterprise .lecturer-division,
	#enterprise .lecturer-post,
	#enterprise .lecturer-name  {
		float: none;
		width: 100%;
	}

	#timetable .single .lecturer-list .lecturer-pic {
		width: 120px;
		height:120px;
		float: none;
		margin-bottom: 0.8em;
	}
	#timetable .single .lecturer-list .lecturer-company br {
		display: none;
	}
}


@media only screen and (min-width: 1024px) {
	.enterprise-wrap {
			width:900px;
			margin: 0 auto;
		}
	
	.enterprise-1,
	.enterprise-2,
	.enterprise-3,
	.enterprise-4 {
		width: 200px;
		margin-bottom: 1.5em;
	}

	.enterprise-1 {
		float: left;
		margin-right: 20px;
	}
	.enterprise-2 {
		float: left;
		margin-right: 20px;
	}
	.enterprise-3 {
		float: left;
		margin-right: 20px;
	}
	.enterprise-4 {
		float: left;
	}

	.enterprise-1 img,
	.enterprise-2 img,
	.enterprise-3 img,
	.enterprise-4 img {
		width: 200px;
	}

	#timetable nav.wrapper {
		padding: 0;
	}
	#timetable nav .level1 {
		width: 100%;
	}
	#timetable .level3,
	#timetable .single .level2 {
		padding-right: .8em;
		padding-left: .8em;
	}
	#timetable #K-1 .lecturer-list .lecturer-pic {
		margin-bottom:30px;
	}
	#timetable #S-4 .lecturer-list .lecturer-pic {
		margin-bottom:50px;
	}
}
@media print {
	body,
	#lead,
	#enterprise,
	#pickup-K-1,
	#pickup-lecturer,
	#pickup,
	#overview {
		color: #444;
		background: transparent;
	}
	.wrapper {
		padding-right: 1em;
		padding-left: 1em;
	}
	#header .wrapper,
	#enterprise .wrapper {
		padding: 0;
	}
	/*#calendar,*/
	#navigation,
	#information,
	#register,
	#timetable nav,
	#timetable .session-detail header p,
	#timetable .level1:not(.single) .lecturer-list,
	#timetable .level1:not(.single) header + .lecturer,
	#timetable .btn-detail,
	#timetable .btn-profile,
	#timetable .btn-timetable-navi,
	#footer p,
	#footer .page-top a{
		display: none !important;
	}
	#lead,
	#enterprise .profile,
	#timetable .session-overview,
	#timetable .lecturer-list,
	#timetable .lecturer-profile,
	#footer {
		page-break-inside: avoid;
	}
	#information,
	#lead,
	#enterprise,
	#sponsor,
	#overview {
		padding-bottom: 0;
	}
	#contents div:not(#sponsor) h2,
	#contents div:not(#sponsor) h2 span {
		color: #444444;
		background-color: #ffffff;
	}
	.inline-contents {
		display: block;
	}
	#enterprise img {
		width: 35%;
	}
	#enterprise dl {
		width: 62%;
	}
	#enterprise dt {
		margin-bottom: .7em;
		padding-bottom: .2em;
	}

	#sponsor ul {
		text-align: center;
	}
	#timetable h4 {
		font-size: 125%;
	}
	#timetable .level1 {
		width: 99%;
		margin: 0 auto;
	}
	#timetable .level2 {
		border-right-width: 1px;
	}
	#timetable .level2 > .level3:not(:first-child) {
		border-top-width: 1px;
	}
	#timetable .single .lecturer-list {
		margin-top: .8em;
	}
	#timetable .single .lecturer-list .lecturer {
		padding-right: .8em;
		box-sizing: border-box;
	}
	#timetable .session-detail .lecturer-profile {
		display: inline-block;
		vertical-align: top;
		font-size: 90%;
		width: 49%;
	}
	#timetable .session-detail.single .lecturer-profile {
		display: block;
		width: auto;
	}
	#footer .logo{
		width: auto;
		height: auto;
		margin: 0 auto;
	}
	#footer .logo img{
		display: none;
	}
	#footer .logo:after{
		display: block;
		content: "(c) 2017 Impress Corporation";
		color: #fff;
	}
}

/* --- "colorbox.js" Setting --- ///////////////////////////////////*/

/* --- session-detail ----------- */
#colorbox .session-detail {
	color: #333333;
}
#colorbox .session-detail h5,
#colorbox .session-detail header p {
	padding: .4em .3em;
	border-left: 8px solid #cdd9e0;
}
#colorbox .session-detail h5 {
	font-size: 95%;
	line-height: 1;
	color: #2f4858;
}
#colorbox .session-detail header p {
	line-height: 1.2;
}
#colorbox .session-detail p {
	font-size: 90%;
	line-height: 1.4;
}
#colorbox .session-detail header h5 {
	padding-bottom: 0;
}
#colorbox .session-detail header p {
	color: #999999;
	margin-top: 0;
	padding-top: .5em;
}
#colorbox .session-detail .lecturer-profile {
	color: #555555;
}
#colorbox .session-detail > .lecturer-profile:not(:first-of-type) {
		margin-top: 1.75em;
}
#colorbox .session-detail .lecturer-profile .lecturer-pic {
	width: 90px;
	height: 90px;
}

/* --- lecturer-profile ----------- */
#colorbox .lecturer-profile {
	color: #333333;
	margin-top: 1em;
}
#colorbox .lecturer-profile dt {
	font-size: 110%;
	font-weight: bold;
}
#colorbox .lecturer-profile dd p {
	font-size: 90%;
	line-height: 1.4;
}
#colorbox .lecturer-profile .lecturer-pic {
	float: left;
	width: 120px;
	height: 120px;
	margin: 0 10px 0 0;
}
#colorbox .lecturer-profile .lecturer-workspace {
	margin: .3em 0 0;
}
#colorbox .lecturer-profile .lecturer-biography {
	margin: 1em 0 0;
}
#colorbox .lecturer-profile .part {
	display: inline-block;
	font-size: 75%;
	color: #2f4858;
	margin-bottom: .3em;
	padding-right: 2em;
	border-bottom: 3px solid #cdd9e0;
}

@media only screen and (max-width:768px) {
	#colorbox .lecturer-profile .lecturer-pic {
		width: 90px;
		height: 90px;
	}
}
@media only screen and (min-width:769px) {
	.session-detail {
		overflow: hidden;
	}
	#colorbox .session-detail,
	#colorbox .booth-detail {
		max-width: 1200px;
		padding: 1em 15% 0;
	}
	#colorbox .session-detail .lecturer-profile {
		/*display: inline-block;*/
		vertical-align: top;
		font-size: 90%;
		/*width: 49%;*/
	}
	#colorbox .session-detail.single .lecturer-profile {
		display: block;
		width: auto;
	}
	#colorbox .session-detail .lecturer-profile p {
		line-height: 1.3;
	}
}
@media only screen and (min-width:1024px) {
	#colorbox .session-detail .lecturer-profile .lecturer-pic {
		width: 120px;
		height: 120px;
	}
}

/* --- "swiper.js" Setting --- ///////////////////////////////////*/

.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	background-color: #ffffff;
}
.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: 2px;
}
.swiper-slide figure {
	position: relative;
}
.swiper-slide figure img {
	display: block;
	margin: auto;
}
.swiper-slide figcaption {
	position: absolute;
	bottom: 0;
	width: 100%;
	font-size: 75%;
	line-height:1.3;
	color: #ffffff;
	padding: .5em .5em 22px;
	background: rgba(0,0,0,.8);
	box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
	.swiper-container {
		width: 600px;
	}
	.swiper-slide img,
	.swiper-slide figure {
		width: 400px;
		margin: auto;
	}
}


/* Add 2021 */
/* スムーズスクロール時の見出し見切れ緩和
		> ナビゲーションがfixedしてるときに限る
			> fixedさせるときにJSで座標の引き算をするのでずれる */
#overview, #timetable {
	padding-top: 80px;
}
/* screens smaller than 1080---------------------------------------------------------- */
@media only screen and (max-width:1080px) {
#overview, #timetable {
	padding-top: 60px;
}
}
/* TrackABを幅いっぱいに表示するための処理 */
#timetable .level3, #timetable .single .level2{
	padding: 0;
}
#timetable header{
	padding: .5em .5em 0;
}
#timetable .lecturer,#timetable .outlineBox{
	padding: 0 .5em;
}
/* 不要な仕切り線を非表示 */
#timetable .level2 > section{
	margin: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.border-top-none{
	border-top: 0 !important;
}
.border-bottom-none{
	border-bottom: 0 !important;
}
/* Track A */
.trackA{
	background: #FBC000;
	color: #fff;
	text-align: center;
	padding: 3px 0 1px;
}
/* Track A */
.trackB{
	background: #7030A0;
	color: #fff;
	text-align: center;
	padding: 3px 0 1px;
}
/* セッションID */
.track1 { background-color: #942828 !important; }
.track2 { background-color: #296322 !important; }
.track3 { background-color: #014f92 !important; }
.track4 { background-color: #FBC000 !important; }
.track5 { background-color: #7030A0 !important; }
/* Tablet,PC時TrackABの間に仕切り線を入れないための処理 */
article #timetable header + .lecturer, #timetable header + .lecturer-list{
	margin-top: 0 !important;
	padding-top: 1.5em;
}
#timetable .outlineBox h5{
	margin-top: 0;
	padding-top: 1em;
}
#timetable .lecturer + .outlineBox p, #timetable .outlineBox + .lecturer-list, #timetable .moderatorBox{
	margin-bottom: 0;
	padding-bottom: .5em;
}
/* Tablet and PC */
@media only screen and (min-width: 769px) {
	/* Tablet,PC時TrackABの間に仕切り線を入れないための処理 */
	#timetable .level3{
		border-left: 1px solid #9baebc;
	}
	#timetable .level2 > .level3:last-child header,#timetable .level2 > .level3:last-child .lecturer,#timetable .level2 > .level3:last-child .outlineBox{
		border-left: -1px solid #9baebc;
	}
}

/* 2020 */
.book .wrapper {
	max-width: 800px;
	padding-top: 85px;
}
.book .flex {
	display: flex;
	align-items: center;
	margin-top: 1em;
	padding: 20px;
	background: #e7ebee;
	border-radius: 10px;
}
.book .text {
		width: calc(80% - 20px);
}
.book .text h3 {
		margin-top: 0;
		font-size: 130%;
		color: #3F6379;
}
.book .text .notes {
		display: inline-block;
		font-size: 85%;
		margin-top: 1em;
}
.book .img {
		width: 20%;
		margin-left: 20px;
}
.book .img img {
		vertical-align: top;
}
.book b {
		font-family: sans-serif;
}
@media only screen and (max-width: 640px) {
		.book .flex {
				flex-flow: column-reverse;
		}
		.book .text {
				width: 100%;
				margin-bottom: 20px;
		}
		.book .text h3 {
				font-size: 120%;
				text-align: center;
				margin-bottom: 0.75em;
		}
		.book .img {
				width: 200px;
				margin-left: 0;
				margin-bottom: 1em;
		}

}
/* 見出し下のテキスト */
#contents .book h2 + p {
		font-size: inherit;
		margin-bottom: 1.75em;
}
@media screen and (min-width: 769px) {
		.book h2 + p {
				text-align: center;
		}
}
/* 特典下の注釈 */
.book .flex + .notes {
		margin-top: 1.75em;
		margin-bottom: 0;
		font-size: 85%;
}

/* ========== 2021/5/28 hara-ak ========== */
#timetable .level3 section .lecturer:only-of-type {
		padding-bottom: .5em;
}
#timetable .lecturerProfileBox,
#timetable .panelistBox,
#timetable .moderatorBox {
		padding-right: .5em;
		padding-left: .5em;
}

/*PC SP表示切り替え*/
@media screen and (min-width: 667px) {
	#policy dd:last-child > p br.pc-only {
		display: inline !important;
	}
}
@media all and (min-width: 1100px) and (max-width: 10000px) {
	.sp-only { display: none !important; }
}
@media screen and (max-width: 1099px) {
	.pc-only { display: none !important; }
}





/* ======================================== */
/* ========== 20250625 add ========== */
/* ======================================== */
.section__featured__sessions,
.section__featured__sessions * {
	box-sizing: border-box;
}
.section__featured__sessions {
	background-color: #186c97;
	background-image: linear-gradient(180deg, rgba(50, 56, 134, 1), rgba(48, 113, 157, 1) 50%, rgba(255, 255, 255, 1));
	padding: 40px 0;
}
#contents .section__featured__sessions h2.section__title {
	width: calc(100% - 40px);
	max-width: 1200px;
	font-size: 1.5em;
	font-weight: normal;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin: 0 auto 40px auto;
	padding: 4px 0;
}
#contents .section__featured__sessions h2.section__title::before,
#contents .section__featured__sessions h2.section__title::after {
	display: none;
}
#contents .section__featured__sessions h2.section__title span {
	display: flex;
	justify-content: center;
	font-weight: 700;
	color: #fff;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: inherit;
	padding: .3em 0;
}

.section__featured__sessions .speaker__list {
	transition-timing-function: linear!important;
}
.section__featured__sessions .speaker__box {
	height: auto;
	background-color: #fff;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.section__featured__sessions .speaker__box .box__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.section__featured__sessions .speaker__box .box__inner .speaker__detail {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.section__featured__sessions .speaker__detail .logo {
	width: 100%;
	height: 0;
	background-color: #fff;
	padding-top: 46%;
	position: relative;
}
.section__featured__sessions .speaker__detail .logo img {
	width: auto;
	height: auto;
	max-width: 74%;
	max-height: 80%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}
.section__featured__sessions .speaker__detail .profile {
	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #07053a;
	font-size: 1em;
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
	padding: 1.3em .5em .8em;
	position: relative;
}
.section__featured__sessions .speaker__detail .profile .category__icon {
	display: flex;
	gap: 3px;
	height: 1.7em;
	position: absolute;
	top: 0;
	right: 3px;
	-webkit-transform: translateY(-45%);
	transform: translateY(-45%);
}
.section__featured__sessions .speaker__detail .profile .category__icon img {
	width: auto;
	height: 100%;
}
.section__featured__sessions .speaker__detail .profile .profile__list {
	font-size: 1.1em;
	text-align: center;
	list-style-type: none;
	margin: 0;
}
.section__featured__sessions .speaker__detail .profile .profile__list .company {
	color: #cceeff;
}
.section__featured__sessions .speaker__detail .profile .profile__list .name {
	display: flex;
	justify-content: center;
	align-items: baseline;
	font-size: .95em;
	margin-top: .3em;
}
.section__featured__sessions .speaker__detail .profile .profile__list .name span {
	font-size: .85em;
	margin-left: .5em;
}
/* screens smaller than 1600---------------------------------------------------------- */
@media only screen and (max-width:1600px) {
}
/* screens smaller than 1400---------------------------------------------------------- */
@media only screen and (max-width:1400px) {
.section__featured__sessions {
}
}
/* screens smaller than 900---------------------------------------------------------- */
@media only screen and (max-width:900px) {
.section__featured__sessions {
	padding: 30px 0;
}
#contents .section__featured__sessions h2.section__title {
	font-size: 1.2em;
	margin: 0 auto 30px auto;
	padding: 2px 0;
}
.section__featured__sessions .speaker__detail .profile {
	font-size: .9em;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
#contents .section__featured__sessions h2.section__title {
	font-size: 1.1em;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.section__featured__sessions .speaker__detail .profile {
	font-size: .75em;
}
}





.session__category__container {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	padding-top: 80px;
}
.session__category__container * {
	box-sizing: border-box;
}
.session__category__container .session__category__main {
	display: flex;
	gap: 10px;
	width: 100%;
	max-width: 1200px;
	padding: 0 20px;
}
.session__category__container .session__category__blcok {
	display: flex;
	flex-direction: column;
	width: calc(100% / 3);
	border: 2px solid #ccc;
	border-radius: 10px;
	overflow: hidden;
}
.session__category__container .session__category__blcok .category__blcok__title {
	display: flex;
	align-items: center;
	font-size: 1.1em;
	height: 2.2em;
}

.session__category__container .session__category__blcok .category__blcok__title .icon {
	display: flex;
	justify-content: center;
	width: 7em;
	height: 100%;
	margin-right: 10px;
	padding: .2em 0;
}
.session__category__container .session__category__blcok .category__blcok__title .icon img {
	width: auto;
	height: 100%;
}
.session__category__container .session__category__blcok .category__blcok__title .text {
	font-weight: 700;
/*	color: #fff;*/
}

.session__category__container .category__blcok__detail {
	flex-grow: 1;
	font-size: .9em;
	font-weight: 600;
	background-color: #fffdf5;
	padding: 1em;
}
.session__category__container .category__blcok__detail p {
	margin: 0;
}


.session__category__container .session__category__blcok.ir {
	border-color: #c84049;
}
.session__category__container .session__category__blcok.toB {
	border-color: #00a7b9;
}
.session__category__container .session__category__blcok.shop {
	border-color: #f5a235;
}

.session__category__container .session__category__blcok.ir .category__blcok__title {
	background-color: #eed5d6;
}
.session__category__container .session__category__blcok.toB .category__blcok__title {
	background-color: #cee8ea;
}
.session__category__container .session__category__blcok.shop .category__blcok__title {
	background-color: #f8e1c2;
}

.session__category__container .session__category__blcok.ir .category__blcok__title .icon {
	background-color: #c84049;
}
.session__category__container .session__category__blcok.toB .category__blcok__title .icon {
	background-color: #00a7b9;
}
.session__category__container .session__category__blcok.shop .category__blcok__title .icon {
	background-color: #f5a235;
}
/* screens smaller than 1080---------------------------------------------------------- */
@media only screen and (max-width:1080px) {
.session__category__container {
	padding-top: 60px;
}
.session__category__container .session__category__main {
	flex-direction: column;
	gap: 20px;
	width: 80%;
	padding: 0;
}
.session__category__container .session__category__blcok {
	width: 100%;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.session__category__container {
	padding-top: 40px;
}
.session__category__container .session__category__main {
	width: 90%;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.session__category__container {
	font-size: .8em;
}
}





.container__title {
	display: flex;
	flex-direction: column;
	font-size: 2.2em;
	line-height: 1.2;
	margin-bottom: 30px!important;
}
.container__title span {
	padding: 0!important;
	background-color: transparent!important;
}
.container__title span.en {
	font-size: .55em;
	color: #427c9f;
	margin-bottom: .5em;
}
.container__title:before,
.container__title:after {
	display: none!important;
}
/* screens smaller than 960---------------------------------------------------------- */
@media only screen and (max-width:960px) {
.container__title {
	font-size: 2em;
	margin-bottom: 30px!important;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.container__title {
	font-size: 1.8em!important;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.container__title {
	font-size: 1.4em!important;
}
}





.sponsor__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1200px;
	margin: 80px auto 0;
	padding: 0 20px;
}
.sponsor__container * {
	box-sizing: border-box;
}
.sponsor__container .sponsor__section+.sponsor__section {
	margin-top: 5%;
}
.sponsor__container .section__title {
	display: flex;
	justify-content: center;
	font-size: 1.2em!important;
	color: #fff!important;
	line-height: 1;
	margin-bottom: 2%!important;
}
.sponsor__container .section__title::before,
.sponsor__container .section__title::after {
	display: none!important;
}
.sponsor__container .section__title span {
	display: block;
	background-color: #333!important;
	border-radius: 100vh;
	padding: .3em .7em!important;
}
.sponsor__container .list__logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 80%;
	list-style-type: none;
	margin:  0 auto;
}
.sponsor__container .list__logo .logo__box {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(100% / 3);
	padding: 4% 5%;
}
.sponsor__container .list__logo .logo__box.mid {
	padding: 4% 6%;
}
.sponsor__container .list__logo .logo__box.more__mid {
	padding: 4% 7%;
}
.sponsor__container .list__logo .logo__box.small {
	padding: 4% 8%;
}
.sponsor__container .list__logo .logo__box.more__small {
	padding: 4% 9%;
}

/* screens smaller than 1080---------------------------------------------------------- */
@media only screen and (max-width:1080px) {
.sponsor__container .list__logo {
	width: 90%;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.sponsor__container {
	margin: 40px auto 0;
	padding: 0 10px;
}
.sponsor__container .section__title {
	font-size: 1em!important;
	margin-bottom: 5%!important;
}
.sponsor__container .list__logo {
	width: 100%;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.sponsor__container {
	margin: 30px auto 0;
	padding: 0 5px;
}
.sponsor__container .sponsor__section+.sponsor__section {
	margin-top: 7%;
}
.sponsor__container .section__title {
	font-size: .8em!important;
}
.sponsor__container .list__logo {
	width: 90%;
}
.sponsor__container .list__logo .logo__box {
	width: calc(100% / 2);
}
}





.timetable__container,
.timetable__container * {
	box-sizing: border-box;
}
.timetable__container {
	width: 100%;
	max-width: 1200px;
	background-color: #fff;
	margin: 80px auto 0;
	padding: 0 20px 100px;
}


#contents h2 + p.container__note {
	font-size: inherit;
	line-height: inherit;
}
.timetable__container p.container__note {
	font-size: 1.2em!important;
	font-weight: 700;
	text-align: center;
	margin: 0 0 40px 0;
}
.timetable__container p.container__note br {
	display: none;
}

.timetable__container .date__wrapper+.date__wrapper {
	margin-top: 80px;
}
.timetable__container .date__wrapper .date__title {
	display: flex;
	justify-content: center;
	margin: 0 0 30px 0;
}
.timetable__container .date__wrapper .date__title span {
	font-size: 1.3em;
	color: #fff;
	line-height: 1.2;
	background-color: #15384d;
	border-radius: 100vh;
	padding: .3em 1.2em;
}

.timetable__container .date__wrapper .date__contents__title {
	display: flex;
	flex-direction: column;
	font-size: 2em;
	color: #132038;
	background-color: #f0f5ff;
	border-left: 10px solid #132038;
	padding: .4em .6em;
}
.timetable__container .date__wrapper .date__contents__title .main {
}
.timetable__container .date__wrapper .date__contents__title .sub {
	font-size: .5em;
	color: #19366b;
	background-color: #fff;
	margin-top: .5em;
	padding: .5em;
}

/* screens smaller than 960---------------------------------------------------------- */
@media only screen and (max-width:960px) {
.timetable__container {
	margin: 60px auto 0;
	padding: 0 20px 80px;
}
.timetable__container p.container__note {
	font-size: 1.1em!important;
	margin: 0 0 30px 0;
}
.timetable__container .date__wrapper+.date__wrapper {
	margin-top: 60px;
}
.timetable__container .date__wrapper .date__title span {
	font-size: 1.2em;
}

.timetable__container .date__wrapper .date__contents__title {
	font-size: 1.8em;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.timetable__container {
	margin: 60px auto 0;
	padding: 0 10px 60px;
}
.timetable__container .container__title {
	font-size: 1.8em!important;
}
.timetable__container p.container__note {
	font-size: 1em!important;
}
.timetable__container p.container__note br {
	display: block;
}
.timetable__container .date__wrapper+.date__wrapper {
	margin-top: 50px;
}
.timetable__container .date__wrapper .date__title span {
	font-size: 1em;
}

.timetable__container .date__wrapper .date__contents__title {
	font-size: 1.4em;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.timetable__container p.container__note {
	font-size: .7em!important;
}
.timetable__container .date__wrapper .date__title span {
	font-size: .8em;
}

.timetable__container .date__wrapper .date__contents__title {
	font-size: 1.2em;
	border-left: 5px solid #132038;
	padding: .4em;
}
}


.timetable__container .date__wrapper .time__section {
	display: grid;
	grid-template-columns: 3.6em 1fr;
	font-size: .9em;
	border-left: 1px solid #666;
}
.timetable__container .date__wrapper .time__block {
	background-color: #f2f2f2;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	padding: 1em 0;
}
.timetable__container .date__wrapper .time__block .time__block__main {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: .85em;
	font-weight: 700;
	line-height: 1.2;
	position: sticky;
	top: 130px;
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.timetable__container .date__wrapper .time__section {
	grid-template-columns: 1fr;
}
.timetable__container .date__wrapper .time__block {
	background-color: #3e3e3f;
}
.timetable__container .date__wrapper .time__block .time__block__main {
	flex-direction: row;
	justify-content: center;
	font-size: 1em;
	color: #fff;
	position: static;
}
}

.timetable__container .date__wrapper .lecture__block {
	display: flex;
}
.timetable__container .date__wrapper .lecture__box {
	width: 100%;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
}
.timetable__container .date__wrapper .lecture__block.column02 .lecture__box {
	width: calc(100% / 2);
}
.timetable__container .date__wrapper .lecture__block.column03 .lecture__box {
	width: calc(100% / 3);
}
/* screens smaller than 960---------------------------------------------------------- */
@media only screen and (max-width:960px) {
.timetable__container .date__wrapper .lecture__block {
	flex-wrap: wrap;
}
.timetable__container .date__wrapper .lecture__box.blank {
	display: none;
}
.timetable__container .date__wrapper .lecture__block.column02 .lecture__box,
.timetable__container .date__wrapper .lecture__block.column03 .lecture__box {
	width: 100%;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.timetable__container .date__wrapper .lecture__block {
	font-size: .9em;
}
}

.timetable__container .date__wrapper .time__section:last-of-type  .time__block,
.timetable__container .date__wrapper .time__section:last-of-type  .lecture__box {
	border-bottom: 1px solid #666;
}

.timetable__container .date__wrapper .lecture__box .lecture__box__info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 700;
	line-height: 1.2;
	height: 2.2em;
	background-color: #333;
	padding: 0 5px;
}
.timetable__container .date__wrapper .lecture__box.ir .lecture__box__info {
	background-color: #efd5d7;
}
.timetable__container .date__wrapper .lecture__box.toB .lecture__box__info {
	background-color: #cfe8eb;
}
.timetable__container .date__wrapper .lecture__box.shop .lecture__box__info {
	background-color: #f8e2c2;
}

.timetable__container .date__wrapper .lecture__box .lecture__box__info .lecture__id__type {
	display: flex;
	align-items: center;
}
.timetable__container .date__wrapper .lecture__box .lecture__id__type .lecture__id {
	font-size: .8em;
	background-color: #fff;
	border-radius: .3em;
	margin-right: 5px;
	padding: .2em .25em;
}

.timetable__container .date__wrapper .lecture__box .lecture__box__info .lecture__category {
	display: flex;
	height: 100%;
	padding: 5px 0;
}
.timetable__container .date__wrapper .lecture__box .lecture__box__info .lecture__category img {
	width: auto;
	height: 100%;
}
.timetable__container .date__wrapper .lecture__box .lecture__box__info .lecture__category img+img {
	margin-left: 5px;
}

.timetable__container .date__wrapper .lecture__box .lecture__box__contents {
	padding: 10px;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__title__block {
	margin-bottom: 10px;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__title__block .lecture__title {
	display: flex;
	flex-direction: column;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.3;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__title__block .lecture__title .sub {
	font-size: .9em;
	margin-top: .2em;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block {
	display: grid;
	grid-template-columns: 40% 1fr;
	grid-gap: 10px;
}


/* 20260217 add */
.timetable__container .date__wrapper .column01 {
	font-size: 1.2em;
}
.timetable__container .date__wrapper .column01 .lecture__box__contents .lecture__title__block .lecture__title {
	font-size: 1.2em;
}
.timetable__container .date__wrapper .column01 .lecture__box__contents .lecture__profile__block {
	grid-template-columns: minmax(120px, 200px) 1fr;
}


/* screens smaller than 960---------------------------------------------------------- */
@media only screen and (max-width:960px) {
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block {
	grid-template-columns: 150px 1fr;
}

.timetable__container .date__wrapper .column01 {
	font-size: 1.1em;
}
.timetable__container .date__wrapper .column01 .lecture__box__contents .lecture__profile__block {
	grid-template-columns: 180px 1fr;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.timetable__container .date__wrapper .column01 {
	font-size: .9em;
}
.timetable__container .date__wrapper .column01 .lecture__box__contents .lecture__profile__block {
	grid-template-columns: 160px 1fr;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block {
	grid-template-columns: 120px 1fr;
}

.timetable__container .date__wrapper .column01 {
	font-size: .8em;
}
.timetable__container .date__wrapper .column01 .lecture__box__contents .lecture__profile__block {
	grid-template-columns: 120px 1fr;
}
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block + .lecture__profile__block {
	margin-top: 5px;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block .profile__img img {
	width: 100%;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block .profile__main {
/*	font-size: .95em;*/
	background-color: #f4f4f4;
	border: 1px solid #999;
	padding: 5px 10px;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block .profile__main .profile__title {
	font-weight: 700;
	border-bottom: 1px solid #999;
	margin-bottom: 5px;
	padding-bottom: 2px;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block .profile__main .profile__list {
	font-size: .9em;
	list-style-type: none;
	margin-left: 0;
	padding: 0;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block .profile__main .profile__list .name {
	font-size: 1.15em;
	font-weight: 700;
	margin-top: .3em;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__profile__block .profile__main .profile__list .name span {
	font-size: .9em;
	margin-left: .5em;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block {
	height: 80px;
	font-size: .9em;
	margin-top: 10px;
	position: relative;
	overflow: hidden;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, .5));
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block .btn__readmore {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60%;
	font-size: 1.1em;
	font-weight: 600;
	color: #fff;
	background-color: #a01265;
	border-radius: .3em;
	padding: .3em 0;
	cursor: pointer;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	z-index: 15;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block .btn__readmore:hover {
	opacity: .8;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block.open {
	/*height: auto;*/
/*	overflow: auto;*/
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block.open .btn__readmore,
.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block.open::before {
	display: none;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block p {
	margin: 0;
	padding: 0;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block p+p {
	margin-top: .5em;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block .summary__box {
/*	font-size: .9em;*/
	background-color: #f4f4f4;
	border: 1px solid #999;
	padding: 5px 10px;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block .summary__box+.summary__box {
	margin-top: 5px;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__summary__block .summary__box .box__title {
	font-weight: 700;
	border-bottom: 1px solid #999;
	margin-bottom: 5px;
	padding-bottom: 2px;
}

.timetable__container .date__wrapper .lecture__box__contents .lecture__detail__block {
	display: flex;
	justify-content: center;
	margin-top: 10px;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__detail__block .btn-outline {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	text-decoration: none;
	background-color: #006090;
	border-radius: .2em;
	padding: .5em 1em;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__detail__block .btn-outline:hover {
	opacity: .8;
}
.timetable__container .date__wrapper .lecture__box__contents .lecture__detail__block .btn-outline .icon {
	margin-left: .5em;
}





.section__close__info {
	display: flex;
	justify-content: center;
	background-color: #f6f6f6;
	font-size: 1.3em;
	padding: 1em 0;
}
.section__close__info .close__info__main {
	background-color: #ffe2e5;
	border: 2px solid #c81754;
	padding: 1em 1.5em;
}
.section__close__info p {
	font-weight: 700;
	text-align: center;
	margin: 0;
	padding: 0;
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.section__close__info {
	font-size: 2.6vw;
}
}





.lead__section {
	display: flex;
	justify-content: center;
	padding: 0 10px;
}
.lead__section .lead__section__wrapper {
	width: 100%;
	max-width: 1200px;
	background: #000 url(../images/mainvisual_bg.jpg) no-repeat center center / cover;
	padding: 20px;
}
.lead__section .lead__section__main {
	font-size: 1.3em;
	font-weight: 700;
	color: #142038;
	background-color: rgba(255, 255, 255, .85);
	padding: 1em;
}
.lead__section .lead__section__main p {
	margin: 0;
}
.lead__section .lead__section__main p+p {
	margin-top: .5em;
}
/* screens smaller than 1080---------------------------------------------------------- */
@media only screen and (max-width:1080px) {
.lead__section .lead__section__wrapper {
	padding: 15px;
}
.lead__section .lead__section__main {
	font-size: 1.2em;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.lead__section .lead__section__wrapper {
	padding: 10px;
}
.lead__section .lead__section__main {
	font-size: .9em;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.lead__section .lead__section__main {
	font-size: .8em;
}
}





.viewing__benefits__section {
	display: flex;
	justify-content: center;
	padding: 20px 20px 60px;
}
.viewing__benefits__section .section__main {
	font-size: 1.2em;
	font-weight: 500;
	background-color: #f6f6f6;
	border: 3px solid #ccc;
	border-radius: 1em;
	padding: 1.5em;
}
.viewing__benefits__section .section__title {
	font-size: 1.3em;
	font-weight: 700;
	color: #fff;
	text-align: center;
	background-color: #003db6;
	background-image: linear-gradient(90deg, rgba(0, 111, 210, 1), rgba(0, 165, 244, 1));
	margin-bottom: 1em;
	padding: .2em 0;
}
.viewing__benefits__section .section__contents {
	background-color: #fff;
	padding: 2em 2em 1em 2em;
}
.viewing__benefits__section .section__contents .catch {
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	margin: 0 0 1.5em 0;
}
.viewing__benefits__section .section__contents .catch br {
	display: none;
}
.viewing__benefits__section .section__contents .catch > span {
	background:linear-gradient(transparent 60%, #ffb1cb 60%);
	padding: 0 .2em .2em;
}

.viewing__benefits__section .section__contents .benefits__list {
}
.viewing__benefits__section .section__contents .benefits__box+.benefits__box {
	margin-top: 2em;
}
.viewing__benefits__section .section__contents .benefits__box .box__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-weight: 700;
}
.viewing__benefits__section .section__contents .benefits__box .box__title .num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1em;
	height: 1em;
	font-size: .9em;
	color: #fff;
	background-color: #003db6;
	border-radius: 100vh;
	margin-right: .5em;
	padding: .2em;
}
.viewing__benefits__section .section__contents .benefits__box .box__title .note {
	width: 100%;
	font-size: .9em;
	padding-left: 1.5em;
}

.viewing__benefits__section .section__contents .org__name {
	font-size: .8em;
	text-align: center;
	margin-top: 1.5em;
}

.viewing__benefits__section .section__contents .benefits01 .book__block {
	margin-top: .7em;
}
.viewing__benefits__section .section__contents .benefits01 .book__block .book__list {
	display: flex;
	gap: 1.5em;
	list-style-type: none;
	margin-left: 0;
	padding-left: 2em;
}
.viewing__benefits__section .section__contents .benefits01 .book__block .book__list .book__item {
	width: 7em;
}

/* screens smaller than 1080---------------------------------------------------------- */
@media only screen and (max-width:1080px) {
.viewing__benefits__section .section__contents .catch br.br01 {
	display: block;
}
}
/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
.viewing__benefits__section {
	display: flex;
	justify-content: center;
	padding: 20px 20px 60px;
}
.viewing__benefits__section .section__main {
	font-size: 1.1em;
	border: 2px solid #ccc;
	padding: 1em;
}
.viewing__benefits__section .section__title {
	margin-bottom: .8em;
}

.viewing__benefits__section .section__contents {
	padding: 1.5em 1em 1em 1em;
}
.viewing__benefits__section .section__contents .catch br.br02 {
	display: block;
}
}
/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {
.viewing__benefits__section .section__main {
	font-size: .9em;
	border-radius: .5em;
	padding: 1em .5em;
}
.viewing__benefits__section .section__contents {
	font-size: .9em;
	padding: 1em .5em;
}
.viewing__benefits__section .section__contents .benefits01 .book__block .book__list {
	gap: 4%;
	padding-left: 0;
}
.viewing__benefits__section .section__contents .benefits01 .book__block .book__list .book__item {
	width: 48%;
}
}






