@charset "utf-8";
/* CSS Document */

/* 共通スタイル------------------------- */
body {
	font-family: 'ヒラギノ角ゴシック','ヒラギノ角ゴ Pro W3','YuGothic','Yu Gothic',Hiragino Sans,'Hiragino Kaku Gothic Pro','Meiryo', 'メイリオ', Verdana,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	color: #121212;
	background: #eeeeee;
	height: 100%;
	margin: 0;
}
a {
  text-decoration: none;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; 
}
a:hover {
	opacity: 0.6;
}
ul {
	list-style: none;
	text-align: center;
	padding: 0;
}
hr {
	margin: 0 30px;
	border-color: #dcdcdc;
}
#wrap {
	overflow: hidden;
}
.contents-wrap{
	width: 1100px;
	max-width: 100%;
 	margin: 0 auto;
	padding: 0;
	line-height: 1.6;
}

/* ヘッダー------------------------- */
.title-wrap {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	background: url("../img/header-img.jpg") no-repeat center center;
	background-size: cover;
	height: 533px;
	text-align: center;
	color:#fff;
	margin-bottom: 2.5em;
}
.title-back {
	margin: 0 auto;
	background-color: #fff;
}
.title-logo {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
.title-logo div {
	text-align: right;
	margin: 0 auto;
	padding: 15px 20px 15px 0;
}
.title-logo a {
	display: block;
	width: 133px;
	max-width: 12vw;
	margin-left: auto;
}
.title-logo img {
	width: 100%;
	height: auto;
}
.title-box {
	font-family: 'ヒラギノ角ゴシック';
	    background-color: #00aeef;
    max-width: 542px;
	width: 100%;
    border-radius: 0 0 10px 10px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -moz-transform: translate(-50%, 0%);
	z-index: 2;
}
.title-text {
	margin-bottom: 20px;
}
.title-text  span {
	font-size: 2.8rem;
}
.title-box p {
	margin: 0;
	font-weight: bold;
	text-shadow: 0px 3px 6px #00000016;
}
.title-box img {
	width: 303px;
}
h1 {
	font-size: 5.7rem;
	margin: 0;
	line-height: 1.1;
	text-shadow: 0px 3px 6px #00000016;
}
.date {
	color: #FEF84B;
	font-size: 2.3rem;
}
.date span {
	font-size: 3.3rem;
}
.time {
	font-size: 1.7rem;
}
.time span {
	font-size: 1rem;
}

/* 本文------------------------- */
#contents-main {
	width: 100%;
	margin: 0 auto;
}
.btn-wrap {
	text-align: center;
}
/*
.btn-wrap a {
	display: inline-block;
	margin-left: -32px;
}
.btn-wrap img {
	width: 100%;
}*/
.btn-wrap p {
	margin-top: 0;
    font-size: 1.8rem;
    color: red;
    font-weight: bold;
	margin-bottom: 0;
}
.about-text {
	margin: 0 auto;
}
.about-text p {
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.4;
	margin: 20px 30px 30px;
}
.intro-list {
	display: flex;
	justify-content: center;
}
.intro-list div {
	position: relative;
	background: url(../img/dot.png) no-repeat center center;
	background-size: cover;
	width: 45%;
	margin-top: 150px;
	border-radius: 10px;
	padding-top: 250px;
	font-weight: bold;
	box-shadow: 5px 5px 0 #dcdcdc;
}
.intro-list div:first-child {
	margin-right: 50px;
}
.intro-list img {
	position: absolute;
	top: -140px;
	left: 50%;
	-webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 360px;
	box-shadow: 0 3px 6px #00000016;
}

.intro-time {
	background-color: #00aeef;
	color: #fff;
	font-size: 1.7rem;
}
.intro-time span {
	font-size: 1.3rem;
}
.intro-title {
	margin-top: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
}
.intro-company {
	font-size: 1.3rem;
}
.intro-company span {
	font-size: 1.1rem;
	font-weight: normal;
}
.intro-name {
	font-size: 2.3rem;
}
.intro-name span:first-child {
	color: #00aeef;
}
.intro-name span:nth-child(2) {
	font-size: 2rem;
}
.intro-text {
	display: inline-block;
	text-align: left;
	font-weight: normal;
	padding: 0 35px;
	line-height: 1.4;
}
.intro-text p {
	margin-bottom: 0;
}
.close-time {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	display: block;
	text-align: center;
	background-color: #00AEEF;
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
}
.close-time p {
	padding: 10px;
	margin-bottom: 0;
	font-size: 1.7rem;
}

/* 開催概要------------------------- */
.program {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	background-color: #fff;
	padding-bottom: 30px;
}
.program-wrap {
	background: url("../img/program-back.jpg") no-repeat center center;
	background-size: cover;
	background-color: rgba(62,168,227,0.67);
	margin-top: 40px;
}
.program-table {
	max-width: 1100px;
	margin: 0 auto;
	padding: 50px 30px 20px;
	position: relative;
}
h2 {
	background-color: #00aeef;
	font-size: 1.9rem;
	color: #fff;
	display: inline-block;
	padding: 5px 213px 5px 35px;
	position: absolute;
	top: -50px;
}
.program-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 5px;
}
.program-table tr {
	border: solid 1px #00aeef;
}
.program-table table th, .program-table table td {
	font-weight: bold;
}
.program-table table th {
	width: 10%;
	background-color: #00aeef;
	color: #fff;
	text-align: center;
	padding: 10px 0;
}
.program-table table td {
	font-size: 1.2rem;
	text-align: left;
	width: 90%;
	background-color: #fff;
	padding: 10px 20px;
	border: solid 1px #00aeef;
}
.program-table table td span {
	font-size: 0.9rem;
	font-weight: normal;
}
.program-table p {
	text-align: right;
	color: #fff;
}

/* フッター------------------------- */
.footer-wrap {
	margin: 0 calc(50% - 50vw);
	background-color: #10578D;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	padding: 10px 0 30px;
}
.footer-wrap a {
	color: #fff;
}
/* 768px以下------------------------- */
@media screen and (max-width:768px) {
	.title-wrap {
		margin-bottom: 1em;
		height: 418px;
	}
	.title-logo {
		height: 55px;
	}
	.title-logo div {
		text-align: center;
		padding: 15px 0 15px 0;
	}
	.title-logo a {
		margin: 0 auto;
	}
	.title-logo img {
		width: 75px;
		max-width: none;
	}
	.title-box {
		width: 280px;
		top: 56px;
		padding: 0 10px 10px;
	}
	.title-box img {
		width: 275px;
	}
	.title-box p {
		font-size: 1.3rem;
	}
	h1, .date span {
		font-size: 2.5rem;
	}
	.title-text  h1 span {
		font-size: 1.3rem;
	}
	.time {
		line-height: 1;
	}
	.time span {
		font-size: 0.8rem;
	}
	.btn-wrap a {
		margin: 0 auto;
	}
	.btn-wrap img {
		width: 93%;
	}
	.btn-wrap p {
		font-size: 1rem;
	}
	.about-text p {
		font-size: 1rem;
	}
	.intro-list {
		flex-direction: column;
		margin: 0 10px;
	}
	.intro-list div:first-child {
	margin-right: 0;
	}
	.intro-list div {
		width: 100%;
		padding-top: 185px;
	}
	.intro-list img {
		width: 300px;
	}
	.intro-time {
		font-size: 1.3rem;
	}
	.intro-title {
		font-size: 1.3rem;
	}
	.intro-company {
		font-size: 1.2rem;
	}
	.close-time p {
		font-size: 1.2rem;
	}
	.intro-name {
		font-size: 2rem;
	}
	.intro-name span:nth-child(2) {
		font-size: 1.8rem;
	}
	h2 {
		font-size: 1.4rem;
		padding-right: 175px;
	}
	.program-table {
		margin: 0 10px;
		padding: 50px 0 20px;
	}
	.program-table p {
		text-align: center;
		padding: 0 10px;
	}
	.footer-wrap {
		font-size: 1rem;
		padding: 10px 10px 30px;
	}
}