@charset "UTF-8";
/*----------------------------------------------------------------- 
	初期化
----------------------------------------------------------------- */
*, *:after, *:before {
	margin: 0;
	border: 0;
	outline: 0;
	padding: 0;

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;

	text-rendering: optimizeLegibility;

	-webkit-appearance: none;
}
body {
	font: 15px/1.8 'Montserrat', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Verdana, sans-serif;
	letter-spacing: 0.03em;
	color: #333;
}
h1, h2, h3, h4, h5, h6, p, dt, dl, dd { font-size: inherit; }
ol, ul, li { list-style: none; }
:focus, :active { outline: 0; }
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input{ margin-right: 5px; }
.switch {
	visibility: hidden;
}
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; }
ul { list-style: none; }

@media screen and (min-width: 360px){
	* { -webkit-text-size-adjust: none; }
}

/*----------------------------------------------------
	clearfix
----------------------------------------------------*/
  .clearfix:after
, .header:after
, .contents:after
, .summaryList .listInner:after
, .supporterList01 li:after
, .programList li:after
{
	clear: both;
	display: block;
	content: ".";
	height: 0.1px;
	visibility: hidden;
	font-size: 0.1em;
	line-height: 0;
}
  .clearfix
, .header
, .contents
, .summaryList .listInner
, .supporterList01 li
, .programList li
{
	display: block;
	height: 1%;
	overflow: hidden;
}

a {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	color: #333;
	text-decoration: none;
}
a:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
}
a.btn {
	display: inline-block;
	margin: 0.5em 0;
	padding: 0.5em 1.5em 0.5em 1.2em;
	color: white;
	background-color: navy;
	border-radius: 1.5em;
}
img {
	width: 100%;
}
.clear {
	clear: both;
}
.fa {
	text-indent: 0;
}

/*********************************************************************
	PC-Layout
*********************************************************************/
.pcnone { display: none ; }
.spnone { display: block; }

.inner {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}
.cont  { margin-top: 1em; padding: 1em 0 3em; }

/*------------------------------------------------
 	header
------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	display: block;
	width: 100%;
	height: 90px;
	padding: 10px 1%;
	background: #fff;
}
#header #headerLogo {
	float: left;
	height: 70px;
	width: auto;
	margin: 0;
	padding: 0.75em;
}
#header #headerLogo img {
	vertical-align: top;
	height: 100%;
	width: auto;
}
#header #gNavi li {
	display: inline-block;
	margin: 0 1.25%;
	height: 66px;
	text-align: center;
}
#header #gNavi li a {
	display: block;
	font-size: 24px;
	font-weight: bold;
	color: #003567;
	height: 66px;
	line-height: 66px;
	white-space: nowrap;
}
#header .btnHeaderContact a {
	position: fixed;
	top: 10px;
	right: 1%;
	display: block;
	height: 66px;
	border: 3px solid #861b20;
	padding: 0 0.5em;
	line-height: 58px;
	text-align: center;
	background: #bd2021;
	color: #fff;
	font-size: 20px;
	letter-spacing: 0.1em;
	overflow: hidden;
}

/*----------------------------------------------------
	footer
----------------------------------------------------*/
#footer {
	padding-top: 1em;
	font-size: 2vw;
	font-weight: bold;
	color: #004a86;
	text-align: center;
}

/*--------------------------------------------------
 	contents
----------------------------------------------------*/
/* 見出し */
h3.top {
	position: relative;
	margin-top: 1em;
	margin-bottom: 0.35em;
	padding-bottom: 0.35em;
	font-size: 4.7vw;
	font-weight: bold;
	text-align: center;
	color: #003567;
}
h3.top span {
	position: relative;
	padding: 0 1.5em;
}
  h3.top span:before
, h3.top span:after
{
	position: absolute;
	top: 0;
	display: inline-block;
	content: "";
	background: url( ../img/bg_ttl01.png ) no-repeat 0 50%;
	background-size: contain;
	width: 4.5em;
	height: 1.5em;
}
h3.top span:before {
	left: -4em;
}
h3.top span:after {
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	right: -4em;
}

.coverBlue { background: #13447f; width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; z-index: 98; }
.coverRed  { background: #861b20; width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; z-index: 98; }

/* スライダー */
.mainImg            { width: 100%; height: calc( 70vw * 0.7 ); margin-top: 90px; }
.mainImg .mainLeft  { width:  70%; height: 100%; float: left ; position: relative; }
.mainImg .mainRight { width:  30%; height: 100%; float: right; background: #ccc; }

.mainImg .mainSlide {
	background-size: cover;
	background-position: 50% 50%;
}
.mainImg .ttl {
	position: absolute;
	top: 1vw;
	left: 5vw;
	width: 50%;
	z-index: 2;
}
.mainImg .detail {
	display: block;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	font-weight: bold;
	line-height: 1.4;
	padding: 1vw;
	z-index: 2;
	overflow: hidden;
}
.mainImg .detail:before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border-top  : 17vw solid rgba(255, 255, 255, 0.8);
	border-right: 17vw solid transparent;
	height: 0;
	z-index: -1;
}
.mainImg { height: calc( 70vw / 940 * 650 ); }
.mainImg .max { font-size: 170%; }
.mainImg .mainRight li a             { font-size: 3.4vw; }
.mainImg .mainRight li a .mainImgCpe { font-size: 2.7vw; display: block; margin: 0.5em auto 0; width: 5em; line-height: 1.5; border: 6px double; }
.mainImg .mainRight li#mainCpe a     { font-size: 2.7vw; }
.mainImg .date { font-size: 2.4vw; transform:translateX(0); font-weight: 600; font-style: italic; letter-spacing: 0.14em; line-height: 1; }
.mainImg .name { font-size: 2.2vw; transform:translateX(0); }
.mainImg .place{ font-size: 2.0vw; transform:translateX(0); font-weight: normal; }
.mainImg .date span{ font-size: 170%; }
.mainImg .mainRight ul { height: 100%; }
.mainImg .mainRight li {
	display: table;
	position: relative;
	width: 100%;
	height: 33.5%;
	border: solid #fff;
	border-width: 0 0 1px 1px;
	background: url( ../img/bg_mainRight01.png ) no-repeat 50% 50%;
	background-size: cover;
}
.mainImg .mainRight li:last-child {
	border-width: 0 0 0 1px;
}
.mainImg .mainRight li a {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #fff;
	font-weight: bold;
	display: table-cell;
	vertical-align: middle;
	letter-spacing: 0.1em;
	background: url( ../img/icon_right_white.png ) no-repeat 98% 50%;
	background-size: 24px auto;
}

/* 登壇者 */
.speakersWrap li {
	position: relative;
	margin: 1vw 0;
	padding-bottom: 3vw;
}
.speakersWrap .txtBox {
	z-index: 2;
	position: absolute;
	top: 0;
	width: 75%;
	margin-top: 7vw;
	padding: 2vw;
	font-size: 2vw;
	line-height: 1.4;
}
.speakersWrap .txtBoxIn {
	display: inline-block;
	position: relative;
	width: 100%;
	padding-bottom: 1.5em;
}
.speakersWrap .imgBox {
	z-index: 1;
	width: 75%;
	padding: 1vw 2vw;
	background: #13447f;
}
.speakersWrap .imgBoxIn {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 590px;
}
.speakersWrap .imgBox img {
	width: 100%;
}

.icon{
    width: 6vw;
    vertical-align: middle;
}
.speakersWrap .txtBoxAdd {
	clear: both;
	width: 100%;
	margin-top: 3vw;
	padding: 3vw;
	line-height: 1.4;
	font-size: 1.7vw;
}
.speakersWrap .txtBoxAdd .imgBoxAddIn {
	float: left;
	width: 15%;
	margin-right: 1.5%;
	padding: 0;
	font-size: 90%;
	text-align: center;
}
.speakersWrap .txtBoxAdd .imgBoxAddIn img {
	width: 100%;
}
.speakersWrap .txtBoxAdd .fr50p {
	float: right;
	width: 50%;
}
.speakersWrap .txtBoxAdd .fr66p {
	float: right;
	width: 66.5%;
}
.speakersWrap .txtBoxAdd .cat {
	font-size: 145%;
}
.speakersWrap .txtBoxAdd .ttl {
	padding-bottom: 0.25em;
	line-height: 1.1;
}
.speakersWrap .txtBoxAdd .name {
	letter-spacing: 0;
}
.speakersWrap .cat {
	margin-bottom: 0.3em;
	border-bottom: 2px solid;
	padding-bottom: 0;
	text-align: left;
	font-size: 175%;
	font-weight: bold;
	color: #13447f;
}
.speakersWrap .ttl {
	margin-bottom: 0.2em;
	font-size: 140%;
	font-weight: bold;
	letter-spacing: 0em;
}
.speakersWrap .name {
	font-size: 140%;
	font-weight: bold;
	letter-spacing: 0.15em;
}
.speakersWrap .job {
	font-size: 100%;
}
.speakersWrap .note {
	font-size: 90%;
}

.speakersWrap .topic:nth-child(2n+1) .txtBox { background: linear-gradient(-135deg, #c8c8c8, #fff); right: 0; width: 65%; }
.speakersWrap .topic:nth-child(2n  ) .txtBox { background: linear-gradient( 135deg, #c8c8c8, #fff); left : 0; width: 65%; text-align:right; }
.speakersWrap .topic:nth-child(2n+1) .imgBox { float: left ; padding-right: 35%; text-align: right;}
.speakersWrap .topic:nth-child(2n  ) .imgBox { float: right; padding-left : 35%; }

.speakersWrap .name .job  { font-size: 70%; font-weight: normal; }
.speakersWrap .name .head { font-size: 70%; display: inline-block; width: 7em;}

/* 開催概要 */
.summaryWrap h4.ttl { margin-bottom: 1.5em; text-align: center; font-size: 150%; font-size: 3vw; font-weight: bold; }
.summaryList > li { padding: 0.5em 0; font-size: 2.3vw; }
.summaryList > li:nth-child(2n+1){ background: #dce9f4; }
.summaryList .listInner { width: 96%; margin: 0 auto; line-height: 1.4; }
.summaryList .item { font-weight: bold; width: 4.5em; float: left; border-right: 2px solid #999; }
.summaryList .detail { width: 83%; float: right; }
.summaryWrap .leafletBox { padding: 1.5em 0; margin-top: 0; text-align: center; }
.summaryWrap .accessBox { background: #efefef; padding: 1.5em 0; margin-top: 0; text-align: center; }

/*タイムテーブル*/
.timetableWrap { background: #efefef; }
table.timetable { width: 100%; text-align:center; background:#efefef; border-collapse:separate; border-spacing:1px; font: 16px/1.8 "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Verdana, sans-serif;}
table.timetable th,
table.timetable td{padding:15px 20px;}
table.timetable thead th{background:#00477f; color:#fff; font-weight:normal;}
table.timetable tbody th{width: 20%; font-weight:normal;}
table.timetable tbody th,
table.timetable tbody td{background:#fff;}
table.timetable tbody .bgBlue th,
table.timetable tbody .bgBlue td{background:#e5eef9;}
table.timetable tbody td{text-align:left; font-weight:bold;}

/*プログラム*/
.programWrap { background: #e5eef9; text-align: center; }
.programWrap .txt { font-size: 2.5vw; }
.programBox { padding: 60px 0; }
.programBox.bg01 { background: #c7e0f5; }
.programBox.bg02 { background: none; }
.programBox h4 { font-size: 46px; margin-bottom: 30px; font-style: italic; }
.programBox h4 span { color: #af3119; }
.programBox h4 span:after {
	content:"";
	background: url( ../img/icon_right_black.png ) no-repeat 50% 50%;
	background-size: auto 15px;
	display: inline-block;
	width: 20px;
	height: 15px;
	margin: 0 15px;
	vertical-align: 8px;
}
.programList {
	width: 100%;
	max-width: 1560px;
	margin-left: auto;
	margin-right: auto;
}
.programList li {
	width: 31%;
	margin-right: 1%;
	display: inline-block;
	vertical-align:top;
}
.programList li:last-child{
	margin-right: 0;
}
.programList .imgBox { width: 60%; margin: 0 auto 20px; }
.programList .txtBox { font-size: 18px; }
.programList .ttl    { font-size: 180%; color: #003567; font-weight: bold; }
.programList .txt    { font-size: 110%; color: #003567; font-weight: bold; }
.programList .name   { font-size:  90%; color: #003567; font-weight: bold; }
.programList .time   { font-size:  87%; }

/* CPE */
.CPEWrap .txt { margin: 0.5em; font-size: 2vw; line-height: 1.5; text-indent: 1em; }

/*スポンサー紹介*/
.supporterBox { padding: 40px 0; }
.supporterBox.bg01 { background: #f4f9fd; }
.supporterBox .rankWrap { width: 17%; float: left; }

.supporterBox table.supporterList {
	float: right;
	width: 80%;
	margin: 0 0 0 1em;
}
.supporterBox table.supporterList tr td {
	vertical-align: center;
	font-size: 16px;
	font-size: 2.5vw;
}
.supporterBox table.supporterList tr td:first-child { width: 35%; }
.supporterBox table.supporterList tr td:last-child  { width: 65%; padding-left: 2em; }

.supporterBox .supporterList02 {
	float: right;
	width: 80%;
}
.supporterBox .supporterList01 li { margin-bottom: 40px; }
.supporterBox .supporterList01 li:last-child { margin-bottom: 0; }
.supporterBox .supporterList01 .logoBox { width: 35%; float: left; text-align: center; }
.supporterBox .supporterList01 .txtBox { width: 60%; float: right; }
.supporterBox .supporterList02 li {
	float: left;
	width: 30%;
	margin-right: 5%;
	text-align: center;
	font-size: 14px;
	font-size: 1.7vw;
}
.supporterBox .supporterList02 li:nth-child(3n){
	margin-right: 0;
}
.supporterBox .name { font-weight: bold; font-size: 100%; white-space: normal; line-height: 1.25; }
.supporterBox span { display: inline-block; white-space: nowrap; }

@media (min-width: 1200px){
	.supporterBox table.supporterList tr td { font-size: 32px; }
	.supporterBox .supporterList02 li { font-size: 22px; }
}

/*オフィシャルサポーター*/
.officialWrap{text-align:center;}
.officialBox{padding:40px 0;}
.officialWrap .name{font-weight: bold; font-size: 120%; margin-top: 10px;}

/*参加申し込み*/
.contactWrap {
	background-color: #dce9f4;
	color: #fff;
	text-align: center;
	font-size: 2.5vw;
}
.contactWrap .btn {
	border: 3px solid white;
	background-color: #bd2021;
}

/*********************************************************************
	SP-Layout
*********************************************************************/
@media only screen and (max-width: 768px){

.pcnone{ display: block; }
.spnone{ display: none ; }
.cont  { margin-top: -1em; padding: 1em 0; }
.btn01 { font-size: 14px; }

/*------------------------------------------------
 	header
------------------------------------------------*/
#header {
	height: 50px;
	padding: 0 1%;
}
#header #headerLogo {
	margin-top: 5px;
	height: 40px;
}
#header #gNavi li a {
	font-size: 16px;
	height: 54px;
	line-height: 54px;
}
#header .btnHeaderContact{ position: fixed; }
#header .btnHeaderContact a { width: 140px; max-width: 140px; height: auto; line-height: 1.8; padding:3px 0; font-size:14px; top:5px; right:1%;}

/*--------------------------------------------------
 	contents
----------------------------------------------------*/
/* スライダー */
.mainImg           { width: 100%; height: calc(100vw * 0.7); margin-top: 50px; }
.mainImg .mainLeft { width: 100%; height: calc(100% - 10vw); float: none; }
.mainImg .ttl      { width: 40%; }
.mainImg .mainRight { width: 100%; height: 10vw; float: none; }
.mainImg .mainRight li { width: 33.3%; height: 10vw; float: left; border-width: 1px 1px 0 0; }
.mainImg .mainRight li:last-child {border-width: 1px 0 0 0; }
.mainImg .mainRight li a { font-size: 3vw; padding: 0.25em; background-size: 8px auto; letter-spacing: 0.2em; }
.mainImg .mainRight li a .mainImgCpe { margin: 0 auto 0.25em auto; width: 5em; line-height: 1.5; border: 3px double; }
.mainImg .mainRight li#mainCpe a { font-size: 1.75vw; letter-spacing:0.1em; line-height: 1;}
.mainImg .max { font-size: 150%; }

/*登壇者*/
.speakersWrap .cat {
	font-size: 150%;
	margin: 0.25em;
	padding: 0;
}
.speakersWrap .imgBox img {
	width: 100%;
}
.speakersWrap .topic:nth-child(2n+1) .txtBox {
	float: right;
	width: 73%;
	margin-top: 2vw;
	padding: 2vw;
	background: linear-gradient( 315deg, #c8c8c8, #fff);
}
.speakersWrap .topic:nth-child(2n+1) .imgBox {
	float: left;
	padding: 0 70% 0 0;
	width: 100%;
}
.speakersWrap .topic:nth-child(2n+1) .imgBoxIn {
	width: 100%;
}
.speakersWrap .topic:nth-child(2n  ) .txtBox {
	float: left;
	width: 73%;
	margin-top: 2vw;
	padding: 2vw;
	background: linear-gradient( 315deg, #c8c8c8, #fff);
}
.speakersWrap .topic:nth-child(2n  ) .imgBox {
	float: right;
	padding: 0 0 0 70%;
	width: 100%;
}
.speakersWrap .topic:nth-child(2n  ) .imgBoxIn {
	width: 100%;
}
.speakersWrap .cat  { text-align: left; font-size: 150%; font-weight: bold; padding-bottom: 0; margin-bottom: 0.3em; border-bottom: 2px solid; color: #13447f; }
.speakersWrap .ttl  { font-size: 170%; margin-bottom: 0.2em; font-weight: bold; letter-spacing: 0em; }
.speakersWrap .name { font-size: 170%; font-weight: bold; letter-spacing: 0.15em; }
.speakersWrap .job  { font-size: 120%; }
.speakersWrap .panel .name { margin-left: 15px; }
.speakersWrap .panel .job  { margin-left: 15px; }

/* 開催概要 */
.summaryWrap h4.ttl { font-size: 4.0vw; margin-bottom: 0.5em; }
.summaryList .listInner { width: 94%; }
.summaryList .item { font-size: 2.7vw; width: 100%; float: none; border-bottom: 1px solid #999; border-right: none; margin-top: 0; padding-bottom: 0; margin-bottom: 0.5em; }
.summaryList .detail { font-size: 2.7vw; width: 100%; float: none; }

/* CPE */
.CPEWrap .txt { font-size: 2.7vw; line-height: 2; }

/*タイムテーブル*/
table.timetable th,
table.timetable td{padding:10px 1%;}
table.timetable tbody th{width: 28%;}

/*プログラム*/
.programBox { padding: 30px 3%; }
.programBox h4 { font-size: 28px; margin-bottom: 15px; }
.programBox h4 span:after { vertical-align: 3px; }
.programList li { width: 100%; max-width: 100%; margin-right: 0; display: block; margin-bottom: 20px; }
.programList.col2 li { margin-right: 0; }
.programList .imgBox { margin-bottom: 0; width: 30%; float: left; }
.programList .txtBox { padding-left: 33%; text-align: left; font-size: 14px; }
.programList .ttl { font-size: 1.2em; }

/*スポンサー紹介*/
.supporterBox {
	padding: 30px 3%;
}
.supporterBox .rankWrap {
	float: none;
	width: 80%;
	margin: 0 auto;
}
.supporterBox table.supporterList {
	float: none;
	width: 100%;
}

.supporterBox .supporterList01 { width: 100%; float: none; }

.supporterBox.gold   .supporterList01 .logoBox img { max-width: 100%; }
.supporterBox.silver .supporterList01 .logoBox img { max-width: 10%; }

.supporterBox .supporterList02 {
	float: none;
	width: 100%;
}

/*オフィシャルサポーター*/
.officialBox .logo { width: 35%; margin-left: auto; margin-right: auto; }
.officialBox .logo img { max-width: 70%; }

} /* @media only screen and (max-width: 768px) */
