* {
	box-sizing: border-box;
}
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
article,
footer,
header,
nav,
section {
	display: block;
}
a {
	color: #444;
	text-decoration: none;
	background: transparent;
	outline: none;
}
a:active,
a:hover {
	outline: 0;
}
h1,
h2,
h3,
h4,
p,
dl,
dd {
	margin: 0;
}
b,
strong {
	font-weight: bold;
}
ol, ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
img {
	border: 0;
	vertical-align: bottom;
}
/*------------------
CSS for MegaSemiar
------------------*/
body {
	min-width: 1200px;
	font-family: -apple-system,'游ゴシック','YuGothic','Yu Gothic';
	font-weight: 500;
	background: #f7fafc;
}
section {
	width: 1000px;
	margin: 0 auto;
}
/* Navigation */
nav {
	position: relative;
	height: 110px;
	text-align: center;
	background: #fff;
	box-shadow: 0 2px 2px rgba(0,0,0,0.1);
}
nav li {
	display: inline-block;
	position: absolute;
}
nav li a {
	display: block;
	height: 110px;
	line-height: 110px;
	padding: 0 10px;
}
nav li img {
	padding-top: 34px;
	vertical-align: top;
}
nav li:nth-child(1) {
	left: calc(50% - 596px);
}
nav li:nth-child(2) {
	left: calc(50% - 358px);
}
nav li:nth-child(3) {
	left: calc(50% - 136px);
}
nav li:nth-child(4) {
	left: calc(50% - 0px);
}
nav li:nth-child(5) {
	left: calc(50% + 158px);
}
nav li:nth-child(6) {
	left: calc(50% + 342px);
}
nav li:nth-child(7) {
	left: calc(50% + 464px);
}
nav li a:hover {
	color: #999;
	background: #fcfcfc;
	border-bottom: 4px solid #00306d;
}
nav li:nth-child(1) a:hover {
	background: none;
	border: none;
	opacity: 0.7;
}
nav li a.close {
	color: #BBB;
	text-decoration: line-through;
}
nav li a.close:hover {
	color: #BBB;
	background: none;
	border-bottom: none;
}
/* Main Visual */
.mv {
	position: relative;
	height: 488px;
	background: url(../img/mv.jpg) no-repeat center/auto 488px;
}
.mv img {
	position: absolute;
	top: 80px;
	left: calc(50% - 580px);
}
/* Main info */
.main-info {
	height: 170px;
	font-size: 0;
	color: #fff;
	background: linear-gradient(#00bf55, #008000);
}
.main-info section {
	position: relative;
	height: 170px;
}
.main-info div {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.main-info dl {
	padding: 2px 0;
}
.main-info dt {
	display: inline-block;
	margin-right: 80px;
	font-size: 16px;
}
.main-info dd {
	display: inline-block;
	font-size: 16px;
}
.main-info a {
	display: block;
	position: absolute;
	top: calc(50% - 31px);
	right: 18px;
	width: 204px;
	line-height: 62px;
	text-align: center;
	font-size: 24px;
	color: #fff;
	font-weight: 400;
}
.main-info a::before {
	display: block;
	position: absolute;
	top: calc(50% - 31px);
	right: -10px;
	width: 220px;
	height: 62px;
	transform: skewX(-15deg);
	content: '';
	border: 1px solid #fff;
	transition: all 0.1s ease;
}
.main-info a:hover::before {
	top: calc(50% - 33px);
	right: -12px;
	background: rgba(255,255,255,0.1);
	border: 4px solid #fff;
	transform: skewX(0);
}
.main-info a.close:hover::before {
	top: calc(50% - 31px);
	right: -10px;
	background: none;
	border: 1px solid #fff;
	transform: skewX(-15deg);
}
/* Contents */
.contents {
	padding-top: 80px;
	font-size: 0;
	color: #444;
}
.left {
	display: inline-block;
	width: 700px;
	padding-bottom: 80px;
	vertical-align: top;
}
.left > div {
	margin-bottom: 80px;
}
.left p {
	line-height: 200%;
	margin-bottom: 26px;
}
h1,
h2 {
	position: relative;
	line-height: 44px;
	margin-bottom: 60px;
	padding: 0 0 6px 34px;
	font-size: 28px;
	font-weight: 500;
	color: #1a1a1a;
	border-bottom: 2px solid #333;
	overflow: hidden;
}
h2 {
	margin-bottom: 40px;
}
h1::before,
h2::before {
	display: block;
	position: absolute;
	left: 7px;
	width: 2px;
	height: 54px;
	transform: skewX(-15deg);
	content: '';
	background: #333;
}
/* Outline */
.outline {
	font-size: 16px;
}
/* Data */
.data {
	font-size: 0;
	color: #1a1a1a;
}
.data dl {
	margin-bottom: 12px;
}

.data dt {
	display: table-cell;
	width: 150px;
	padding: 12px 16px;
	vertical-align: middle;
	font-size: 16px;
	background: #fff;
	border-left: 4px solid #ccc;
}
.data dd {
	display: table-cell;
	width: 550px;
	padding: 12px 16px;
	vertical-align: middle;
	font-size: 16px;
	background: #fff;
	border-left: 12px solid #f7fafc;
}
/* Session */
.program {
	color: #333;
}
.program h2 {
	margin-bottom: 60px;
}
.program > div {
	margin-bottom: 74px;
}
.program input[type=checkbox] {
	display: none;
}
.title {
	position: relative;
	padding: 10px 18px 10px 18px;
	font-size: 0;
	background: #fff;
	border-left: 4px solid #ccc;
}
.title time {
	display: block;
	position: absolute;
	top: -60px;
	left: 0;
	margin: 24px 30px 0 0;
	padding: 7px 0 0 26px;
	font-size: 14px;
	color: #999;
}
.title time::before {
	display: block;
	position: absolute;
	bottom: 1px;
	left: 0;
	width: 17px;
	height: 19px;
	content: '';
	background: url(../img/sprite.png) no-repeat 0 0/91px 19px;
}
.title h3 {
	font-size: 22px;
	font-weight: 500;
}
.title p {
	display: block;
	margin: 0;
	font-size: 14px;
	color: #999;
}
.title ul {
	display: block;
	margin-top: 30px;
}
.title li {
	position: relative;
	padding-left: 74px;
	font-size: 14px;
}
.title li::before {
	display: block;
	position: absolute;
	top: -5px;
	left: 0;
	width: 60px;
	height: 60px;
	content: '';
	background-size: 60px;
	border-radius: 50%;
}
.session:nth-of-type(1) .title li::before {
	background-image: url(../img/lecturer1.jpg);
}
.session:nth-of-type(2) .title li::before {
	background-image: url(../img/lecturer2.jpg);
}
.session:nth-of-type(3) .title li::before {
	background-image: url(../img/lecturer3.jpg);
}
.session:nth-of-type(4) .title li::before {
	background-image: url(../img/lecturer4.jpg);
}
.session:nth-of-type(5) .title li::before {
	background-image: url(../img/lecturer5.jpg);
}
.title li span {
	display: block;
}
.title li b {
	display: inline-block;
	margin: 0 6px 0 0;
	font-size: 20px;
	font-weight: 500;
}
.title li br {
	display: none;
}
.title label {
	display: block;
	position: absolute;
	bottom: 10px;
	right: 18px;
	width: 46px;
	text-align: center;
	font-size: 14px;
	color: #666;
	cursor: pointer;
}
.title label::before {
	display: block;
	position: absolute;
	left: -14px;
	width: 60px;
	height: 20px;
	transform: skewX(-15deg);
	content: '';
	border: 1px solid #888;
}
.title label::after {
	display: block;
	position: absolute;
	top: 0;
	left: -8px;
	content: '\226B';
	transform: rotate(90deg);
	transition: all 0.3s ease;
}
.title label:hover::before {
	top: -1px;
	left: -15px;
	border: 2px solid #888;
}
.detail dl {
	display: flex;
	font-size: 0;
}
.detail dt {
	display: inline-flex;
	width: 150px;
	line-height: 160%;
	margin: 12px 12px 0 0;
	padding: 16px;
	font-size: 14px;
	background: #fff;
	border-left: 4px solid #f0f0f0;
}
.detail dd {
	display: inline-flex;
	width: 538px;
	line-height: 160%;
	margin-top: 12px;
	padding: 16px;
	font-size: 14px;
	background: #fff;
}
.detail dd br {
	line-height: 300%;
}
.detail ol li {
	margin: 0 0 10px 20px;
	padding-left: 4px;
	list-style-type: decimal;
}
.break {
	height: 50px;
	line-height: 50px;
	margin-bottom: 74px;
	text-align: center;
	font-size: 16px;
	color: #999;
	border: 1px solid #ccc;
}
.detail {
	display: none;
}
.program input[type=checkbox]:checked ~ .detail {
	display: block;
}
.program input[type=checkbox]:checked ~ .title label::after {
	transform: rotate(270deg);
}
/* Access */
.access iframe {
	display: block;
	width: 700px;
	height: 400px;
	margin-bottom: 30px;
	border: none;
}
.access li {
	font-size: 16px;
	color: #666;
}
.access li:first-child {
	margin-bottom: 20px;
}
.access li:not(:first-child)::first-letter {
	display: inline-block;
	margin-right: 6px;
}
/* Entry */
.entry .entry-btn {
	width: 300px;
	height: 60px;
	line-height: 60px;
}
.inner {
  padding-top: 30px;
  display: flex;
  justify-content: space-evenly;
}
.entry-btn {
	display: block;
	position: relative;
	margin: 0 auto;
	padding-left: 28px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background: #fbb12f;
	border-radius: 5px;
	box-shadow: 0 6px 0 #e59d1f;
	transition: all 0.2s ease;
}
.entry-btn:hover {
	opacity: 0.7;
}
.entry-btn::before {
	display: block;
	position: absolute;
	top: calc(50% - 10px);
	left: calc(50% - 82px);
	width: 23px;
	height: 19px;
	content: '';
	background: url(../img/sprite.png) -68px 0/91px 19px;
}
.entry-btn.close {
	background: #ccc;
	box-shadow: 0 6px 0 #bbb;
}
.entry-btn.close:hover {
	opacity: 1;
}
/* Right */
.right {
	display: inline-block;
	width: 238px;
	margin-left: 62px;
	vertical-align: top;
}
.fixed {
	position: fixed;
	top: 80px;
}
/* Right entry */
.right-entry {
	padding-bottom: 20px;
	background: #fff;
	border: 4px solid #e5e5e5;
	border-radius: 4px;
}
.right-entry b {
	display: block;
	height: 42px;
	line-height: 42px;
	padding-left: 14px;
	font-size: 16px;
	font-weight: 500;
	color: #111;
	background: #fff2dc;
}
.right-entry ul {
	padding: 12px 14px;
}
.right-entry li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 30px;
	font-size: 14px;
}
.right-entry li:nth-child(2) {
	font-weight: bold;
	color: #bb1309;
}
.right-entry li::before {
	display: block;
	position: absolute;
	top: 0;
	content: '';
	background: url(../img/sprite.png);
	background-size: 91px 19px;
}
.right-entry li:nth-child(1)::before {
	left: 0;
	width: 18px;
	height: 19px;
	margin: 0 12px 0 0;
	background-position: -34px 0;
}
.right-entry li:nth-child(2)::before {
	left: 2px;
	width: 13px;
	height: 19px;
	margin: 0 12px 0 0;
	background-position: -53px 0;
}
.right-entry .entry-btn {
	width: 200px;
	height: 48px;
	line-height: 48px;
}
/* right map */
.right-map b {
	display: block;
	line-height: 30px;
	margin: 68px 0 20px 0;
	padding-left: 10px;
	font-size: 18px;
	font-weight: 500;
	color: #111;
	border-left: 8px solid #ccc;
}
.right-map iframe {
	width: 238px;
	height: 320px;
	border: none;
}
/* Footer */
footer {
	height: 80px;
	line-height: 80px;
	text-align: center;
	font-size: 15px;
	color: #777;
	background: #333;
}