@charset "utf-8";

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}
section,article,aside,nav,header,footer,hgroup,details,figcaption,figure,menu {
	display:block;
}
a{outline: none;}
img {border: 0;}

body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	color: #333333;
	-webkit-text-size-adjust: 100%;
}

/* =====================================================
   ヘッダー
===================================================== */
#header{
	/*border-top:7px solid; 色設定欄参照*/
	margin: 0;
	padding: 0;
}
#header h1 {
	max-width:800px;
	margin:auto;
}
#header p{
	/*色設定欄参照
	background:#e6e6e6 url(../images/bg_header.png) repeat-x;
	border-top:1px solid #d0d0d1;
	border-bottom:1px solid #d0d0d1;
	*/
	text-align: center;
	margin: 0;
	padding: 0;
}
#header img{
	vertical-align:bottom;
}

/* 画像版h1用 */
#header.image{
	/*色設定欄参照
	border-top: 7px solid #00599f;
	background:#e6e6e6 url(../images/bg_header.png) repeat-x;
	*/
}
#header.image h1{
	padding:0;
}


/* =====================================================
   リード
===================================================== */
.lead {
	max-width: 800px;
	margin: 20px auto 20px auto;
	padding: 0 30px;
}
.lead p{
	margin-bottom: 1.5em;
	font-size: 14px;
	line-height: 1.6;
}
.lead p.catch{
	padding-top:3px;
	margin-bottom:8px;
	font-size: 18px;
	font-weight:bold;
	line-height: 1.4;
	color:#000;
}

/* =====================================================
   セクション基本形
===================================================== */
.contents {
	background: #ededed; /*色設定欄参照*/
	/*padding: 30px 0;*/
}

.contents .section {
	background: white;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

.contents .section > h2 {
	font-size: 18px;
	padding:0 30px 0 60px;
	line-height: 50px;
	margin: 0 0 5px 0;
	color: white;
	background:#666;
	/*色設定欄参照*/
}

.contents .section > h3 {
	font-size: 16px;
	padding: 0 0 5px 0;
	margin: 10px 0 10px 0;
	border-bottom: 1px dotted #dbdbdb;
	/*色設定欄参照*/
}

.contents .section > .pad{
	padding:10px 30px;
}

.contents .section p{
	font-size:14px;
	line-height:1.5;
}

/* =====================================================
   開催概要テーブル
===================================================== */
/* table */
.contents table.overview {
	width: 100%;
	height: 100%;
	margin-bottom:15px;
	border-collapse:collapse;
}

/* tr */
.contents table.overview tr{
	border-bottom: 1px dotted #dbdbdb;
}

/* th */
.contents table.overview th{
	width: 130px;
	height: 100%;
	padding: 10px 20px 10px 0;
	font-size: 14px;
}
.contents table.overview th > div{
	display: table;
	width: 100%;
	height: 100%;
	/*色設定欄参照*/
}
.contents table.overview th > div > span{
	display: table-cell;
	vertical-align: middle;
	height: 100%;
	padding: 10px;
}

/* td */
.contents table.overview td{
	vertical-align: middle;
	padding: 10px;
	font-size: 16px;
	line-height: 1.4;
}
.contents table.overview td p{
	margin:3px 0;
	font-size: 16px;
	line-height: 1.4;
}
.overview td span{display: inline-block;vertical-align: middle;}
.overview td span:first-child{margin-right: 20px;}
.overview td span img{vertical-align: bottom;width: 100%;}
.overview td span img:hover{opacity: 0.7;}
.contents table.overview td span.location{
	display:block;
	margin:5px 0 5px 0;
	font-size:90%;
}
.contents table.overview td .note{
	display:block;
	margin:5px 0 5px 0;
	padding-left:1em;
	text-indent:-1em;
	font-size:84%;
}

/* =====================================================
   プログラムテーブル
===================================================== */
/* table */
.contents table.program{
	width:100%;
	height: 100%;
	margin-bottom:20px;
	/*border-collapse:collapse;*/
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed; /*一部環境で不具合あり。autoがよいかも*/
}

/* tr */
/*.contents table.program tr*/
.contents table.program th,
.contents table.program td{
	border-bottom: 1px dotted #dbdbdb;
}

/* th */
.contents table.program th{
	width: 130px;
	height: 100%;
	padding: 10px 20px 10px 0;
	font-size: 14px;
}
.contents table.program th.time{
	width: 130px;
}
.contents table.program th > div{
	display: table;
	width: 100%;
	height: 100%;
	/*色設定欄参照*/
}
.contents table.program th > div > span{
	display: table-cell;
	vertical-align: middle;
	padding: 10px 0;
}

/* td */
.contents table.program td{
	vertical-align: top;
	padding: 10px;
	overflow:hidden;
	font-size: 13px;
}

.contents table.program td section{
	margin-top:10px;
}
.contents table.program td div{
}
.contents table.program td section:after,
.contents table.program td div:after{
	content:"";
	display:block;
	clear:both;
}

/* プログラム - h3 */
.contents table.program td h3{
	margin: 10px 0 10px 0;
	padding: 0 0 5px 0;
	border-bottom: 1px dotted #dbdbdb;
	font-size:17px;
	line-height:1.46;
}
.contents table.program td h3.noline{
	border-bottom:none;
	padding-bottom:0;
}
.contents table.program td h3.nobody{
	border-bottom:none;
	margin-top:12px;
	padding-bottom:0;
}

/* プログラム - property (input / status / label / text) */
.contents table.program td .property{
	margin-bottom:5px;
	line-height:26px;
	font-weight:bold;
	font-size:14px;
}
.contents table.program td input{
	display:inline-block;
	width:30px;
	height:30px;
	margin-right:5px;
	vertical-align:middle;
	text-align:center;
}
.contents table.program td .status{
	display: inline-block;
	color:#f22;
	font-size:14px;
	font-weight:bold;
}
.contents table.program td span.label{
	font-size:14px;
}
.contents table.program td span.text{
	font-size:14px;
}

/* プログラム - h4 */
.contents table.program td h4{
	margin: 10px 0 5px;
	padding-top: 3px;
	color: #333;
	font-size:16px;
	line-height:1.46;
}
.contents table.program td h4.nobody{
	margin-top:10px;
}
.contents table.program td h4 span{
	font-size:90%;
}
.contents table.program td h4 .shoulder{
	display:block;
	margin:0.2em 0px;
	font-weight:normal;
}
.contents table.program td h4 .subtitle{
	display:block;
	margin:0.3em 0px;
}

/* プログラム - h5 */
.contents table.program td h5,
.mfp-content .detail h5{
	margin-bottom:6px;
	font-size:13px;
	line-height:1.3;
}

/* プログラム - p */
.contents table.program td p{
	font-size: 13px;
	line-height: 1.5;
	margin: 6px 0 6px 0;
}
.contents table.program td ul{
	margin: 6px 0 6px 0;
	list-style-type:none;
}
/* プログラム - li */
.contents table.program td li{
	font-size: 13px;
	line-height: 1.4;
	margin: 0 0 4px 0;
}

/* プログラム - float */
.contents table.program td .right{
	padding: 0 10px 0 15px !important;
}
.contents table.program td .left{
	padding: 0 15px 0 0 !important;
}
.contents table.program td .nofloat{
	padding:0 !important;
}

/* プログラム - photo */
.contents table.program td .photo{
	float: right;
	margin-top:3px;
	margin-bottom: 4px;
	padding: 0 10px 0 15px;
}
.contents table.program td .photo img{
	display:inline-block;
	margin-bottom: 6px;
	vertical-align:bottom;
}

/* プログラム - summary */
.contents table.program td .summary{
	margin: 10px 0;
}

/* プログラム - speaker */
.contents table.program td p.speaker{
	margin: 8px 0 10px 0;
	word-break: break-all;
}
.contents table.program td div.speaker{
	margin: 5px 0 10px 0;
}

/* プログラム - profile */
.contents table.program td .profile:before,
.mfp-content .detail .profile:before{
	display:block;
	margin-bottom:5px;
	content:'《プロフィール》';
	font-size:13px;
	font-weight:bold;
	color:#222;
}

/* プログラム - 詳細ボタン */
.contents table.program td .button{
	margin:10px 0 15px 0px;
	padding:1px 0px;
	font-size:13px;
	overflow:hidden;
}
.contents table.program td .button img{
	vertical-align: bottom;
}
.contents table.program td .button .notice{
	display:inline-block;
	float:right;
	font-weight:normal;
}
.contents table.program td .popup{
	display:inline-block;
	padding:0 0;
}
/*.contents table.program td .popup img{
	vertical-align:middle;
}*/

/* プログラム - パネルディスカッション */
.contents table.program{
}
.contents table.program ul.panelist,
.mfp-content .detail ul.panelist{
	margin-top:0;
	margin-bottom:0;
	padding-bottom:0;
	list-style-type: none;
	overflow:hidden;
}
.contents table.program ul.panelist li,
.mfp-content .detail ul.panelist li{
	width: 165px;
	float: left;
	margin:4px 15px 0 0;
	padding-bottom:3px;
}
.contents table.program ul.panelist li p,
.mfp-content .detail ul.panelist li p{
	margin: 3px 0;
	font-size: 13px;
}
.contents table.program ul.panelist li p.photo,
.mfp-content .detail ul.panelist li p.photo{
	float:none;
	margin:0 0 8px 0;
	padding:0;
}
.contents table.program ul.panelist li p.photo img,
.mfp-content .detail ul.panelist li p.photo img,
.contents table.program .moderator p.photo img,
.mfp-content .detail .moderator p.photo img{
	margin-bottom:0;
	vertical-align:bottom;
}

/* プログラム - 2カラム時の左線（.borderLはjsで自動付加する） */
.contents table.program td.borderL {
	border-left: 1px dotted #DBDBDB;
	padding-left:15px;
}
.contents table.program td.noborder {
	border-left: none !important;
	padding-left:0 !important;
}

.contents table.program .borderTop {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dotted #dbdbdb;
}


/* =====================================================
   label用設定
===================================================== */
/* span */
span.label{
	display:inline-block;
	margin:3px 5px 3px 0;
	padding:1px 10px;
	font-size:14px;
	font-weight:bold;
	line-height:1.5;
	/*色設定欄参照*/
}
span.label.A {/*色設定欄参照*/}
span.label.B {/*色設定欄参照*/}
span.label.C {/*色設定欄参照*/}

/* th */
.contents table th.label {
	width: 100%;
	padding: 10px;
}
.contents table th.label div{
	box-sizing:border-box;
	padding-left: 10px;
	padding-right: 10px;
}
.contents table th.label.A div {/*色設定欄参照*/}
.contents table th.label.B div {/*色設定欄参照*/}
.contents table th.label.C div {/*色設定欄参照*/}


/* =====================================================
   keyword用設定
===================================================== */
.keyword{
	margin-bottom: 10px;
}
span.keyword-item{
	display:inline-block;
	margin:3px 5px 3px 0;
	padding:1px 10px;
	font-size:12px;
	line-height:1.5;
	background: #333;
	border-radius: 5px;
	color: #fff;
}


/* =====================================================
   注記用設定
===================================================== */
/* ※注意書き */
.contents .note,
.mfp-content .detail .note {
	margin: 10px 10px;
	padding-bottom: 0px;
	font-size: 12px;
	line-height:1.5;
	color: #666;
	padding-left:1em;
	text-indent:-1em;
}
.contents .note strong,
.mfp-content .detail .note strong{
	font-weight:normal;
	color:#ef0000;
}

/* プログラム下部用の注記（ul.program-notes） */
.contents .program-notes{
	margin: 10px 0;
	padding:10px 10px;
	border-top:dashed 1px #dbdbdb;
	border-bottom:dashed 1px #dbdbdb;
	list-style-type:none;
}
.contents .program-notes li{
	margin:2px 0;
	font-size: 12px;
	line-height:1.5;
	color: #333;
	padding-left:1em;
	text-indent:-1em;
}

/* ご希望の講演を選択してください。 */
.contents .attention {
	margin:20px 10px;
	font-size: 16px;
	color: #ff0000;
}


/* =====================================================
   申し込みボタン欄
===================================================== */
#entry {
	margin: 40px auto;
}
/* お申し込み注意事項 */
#entry .annotation {
	background-color: #f7f7f7;
	border: 3px solid; /*色設定欄参照*/
	margin: 20px 10px;
	padding: 10px 15px;
}
#entry .annotation p{
	font-size: 13px;
	line-height:1.45;
	text-align:left;
}

/* お申し込みボタン */
#entry .button{
	width:600px;
	margin:25px auto;
}
#entry .button ul{
	list-style-type:none;
	overflow:hidden;
	margin:20px 0;
}
#entry .button ul li{
	width:280px;
	float:left;
	margin:0 10px;
}
#entry .button p{
	margin:20px 0;
	text-align:center;
}
#entry .button input,
#entry .button img {
	vertical-align:bottom;
}
#entry .button img:hover,
#entry .button input:hover {
	opacity:0.8;
}

/* お申し込みボタン - entry - */
#entry .button ul li.entry{
}
#entry .button p.entry.disable{
	height:86px;
	background:url(../images/btn_entry_disable.png) center top no-repeat;
}
#entry .button p.entry.disable input{
	display:none;
}
/* お申し込みボタン - nid - */
#entry .button ul li.nid{
}
/* お申し込みボタン - clear - */
#entry .button p.clear{
	margin-top:20px;
	display:none;
}


/* =====================================================
   受付終了欄
===================================================== */
.entry-close {
	text-align: center;
	margin: 50px 0;
	padding-bottom: 10px;
}
.entry-close p {
	color:#f00000;
}
.entry-close p.to-index {
	margin-top:10px;
	font-size:14px;
	line-height:20px;
}


/* =====================================================
   お問い合わせ
===================================================== */
.contents #inquiry {
	box-sizing: border-box;
	max-width: 1000px;
	margin: 20px auto;
	padding: 10px;
	background: #fff;
}
.contents #inquiry h2 {
	margin: 0 0 10px 0;
	padding: 0px 10px;
	font-size: 12px;
	line-height:24px;
	color: #fff;
	background: #555; /*色設定欄参照*/
}
.contents #inquiry p {
	margin-top: 8px;
	font-size: 12px;
}


/* =====================================================
   プレゼント
===================================================== */
.present{
	margin: 20px 0;
	padding: 10px;
	background: #f7f7f7;
	border: solid 1px #eee;
}
.present img{
	float: right;
	width: 110px;
	margin-left: 20px;
}


/* =====================================================
   フッター
===================================================== */
#footer {
	border-top: 3px solid; /*色設定欄参照*/
	padding: 30px;
}
#footer p{
	font-size: 13px;
	text-align: center;
}
#footer img {
	margin:0 20px;
	vertical-align:middle;
}


/* =====================================================
   その他の要素
===================================================== */
/* 汎用ボックス */
.contents .box{
	border: #ccc dotted 2px;
	padding: 10px 20px;
	margin: 20px 0px;
}


/* =====================================================
   臨時スタイル
===================================================== */
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}

.red {
	color: #ff0000 !important;
	font-weight: bold;
}

.blue {
	color: #0033ff !important;
	font-weight: bold;
}

.center {
	text-align:center !important;
}

.right{
	float: right !important;
}
.left{
	float: left !important;
}
.nofloat{
	float: none !important;
}

.mt0 {margin-top:0 !important;}
.mt10 {margin-top:10px !important;}
.mt20 {margin-top:20px !important;}
.mt30 {margin-top:30px !important;}

.mr0 {margin-right:0 !important;}
.mr10 {margin-right:10px !important;}
.mr20 {margin-right:20px !important;}
.mr30 {margin-right:30px !important;}

.mb0 {margin-bottom:0 !important;}
.mb10 {	margin-bottom:10px !important;}
.mb20 {	margin-bottom:20px !important;}
.mb30 {	margin-bottom:30px !important;}

.ml0 {margin-left:0 !important;}
.ml10 {margin-left:10px !important;}
.ml20 {margin-left:20px !important;}
.ml30 {margin-left:30px !important;}


/* =====================================================
   詳細ポップアップ（magnific-popup使用）
===================================================== */
.mfp-content .detail{
	position:relative;
	background:#fff;
	max-width:640px;
	margin:0 auto;
	overflow:hidden;
	border-radius:3px;
}
.mfp-content .detail .popup,
.mfp-content .detail input{
	display:none !important;
}
.mfp-content .detail.mode0 button.mfp-close{
	color:#bababa !important;
}
.mfp-content .detail div,
.mfp-content .detail section{
	overflow:hidden;
}
.mfp-content .detail p{
	margin:7px 0;
	font-size:14px;
	line-height:1.5;
}
.mfp-content .detail ul{
	margin:7px 0;
}
.mfp-content .detail li{
	font-size: 14px;
	line-height: 1.4;
	margin: 0 0 4px 0;
}
.mfp-content .detail ul.note li{
	list-style-type: none;
	font-size: 12px;
    line-height: 1.5;
}
.mfp-content .detail img{
	vertical-align:bottom;
}

/* セミナータイトル（ヘッドの帯） */
.mfp-content .detail .seminar-title{
	margin:0 !important;
	padding:10px 40px 10px 20px;
	font-size:12px;
	line-height:1.5;
	background:#555; /*色設定欄参照*/
	color:rgba(255,255,255,0.8);
}

.mfp-content .detail > .pad{
	padding:10px 27px 10px 27px;
}

/* property */
.mfp-content .detail .property{
	margin:10px -7px 15px -7px;
	padding:10px 15px;
	font-size:14px;
	font-weight:bold;
	line-height:24px;
	background: #ddd; /*色設定欄参照*/
}
.mfp-content .detail .time{
	margin-right:10px;
}
.mfp-content .detail .status{
	display: inline-block;
	margin-right:10px;
	color:#f22;
	font-size:14px;
}
.mfp-content .detail span.label{
	margin:4px 10px 4px 0;
}

/* shoulder = プログラム欄のh3相当 */
.mfp-content .detail .shoulder{
	margin:10px 0;
	padding-left:0px;
	padding-bottom:5px;
	border-bottom:dotted 1px #ddd;
	font-weight:bold;
	font-size:16px;
	line-height:1.5;
	/*色設定欄参照*/
}
.mfp-content .detail .shoulder.noline{
	margin:15px 0 0 0;
	border-bottom:none;
	padding-left:0;
	padding-bottom:0;
}

/* title = プログラム欄のh4相当 */
.mfp-content .detail .title{
	margin:10px 0;
	font-weight:bold;
	font-size:16px;
	line-height:1.5;
}
.mfp-content .detail .title span{
	font-size:90%;
}
.mfp-content .detail .title .shoulder{
	display:block;
	margin-bottom:0.2em;
	padding:0;
	border:none;
	font-weight:normal;
}
.mfp-content .detail .title .subtitle{
	display:block;
	margin-top:0.2em;
}

/* photo */
.mfp-content .detail .photo{
	float: right;
	padding: 4px 10px 0 15px;
	margin: 0 0 10px 0;
}
.mfp-content .detail .photo.right{
	float: right !important;
	padding: 4px 10px 0 15px !important;
}
.mfp-content .detail .photo.left{
	float: left !important;
	padding: 0 15px 0 5px !important;
	margin: 0 0 5px 0;
}
.mfp-content .detail .photo img{
	width:auto;
	height:auto;
}

/* speaker */
.mfp-content .detail .speaker{
	margin:10px 10px 15px 0;
	padding:2px 0 0 12px;
	font-size: 14px;
	line-height:1.45;
	border-left: 2px solid; /*色設定欄参照*/
}
.mfp-content .detail .speaker ul{
	margin-bottom:0;
	padding-bottom:0;
	list-style-type:none;
}
.mfp-content .detail .speaker li:last-child,
.mfp-content .detail .speaker p:last-child{
	margin-bottom:0;
}

/* note */
.mfp-content .detail .note {
	margin:20px 5px 10px;
}
.mfp-content .detail .note strong{
}
.mfp-content .detail .speaker + .note{
	display: none;
}

/* summary */
.mfp-content .detail .summary{
	clear:both;
}

/* profile */
.mfp-content .detail .profile{
	margin:15px 0 10px 0;
	font-size:12px;
	line-height:1.5;
}
.mfp-content .detail .profile span{
	display: block;
	margin-bottom: 10px;
}

/* keyword */
.mfp-content .detail .keyword {
	margin-bottom: 15px;
}



/* =====================================================
   色設定欄
　（色替えの調整をしやすいように色関係の設定をまとめていますが、
　　ここに書いていると作業しづらい要素については、この欄から削除してください）
===================================================== */
a:link {color: #187fc3;}
a:visited {color: #187fc3;}
a:hover {color: #187fc3;}

.wrapper{
	background: #e3faff url(../images/bg_intro.jpg) no-repeat top center;
	background-size: contain;
}

#header{border-top:7px solid #004589;}
#header p{
	background:#e3faff;
	border-top:1px solid #d0d0d1;
	border-bottom:1px solid #d0d0d1;
}
#header.image{ /* 画像版h1用 */
	border-top: 7px solid #00384d;
}

.contents {background: transparent;}
.contents .section#overview > h2{background: #00384d url(../images/fa_list-ul.png) 30px 14px no-repeat; background-size:20px;}
.contents .section#program > h2{background: #00384d url(../images/fa_clock-o.png) 30px 14px no-repeat; background-size:20px;}
.contents .section > h3{color:#004589;}

.contents table.overview th > div,
.contents table.program th > div{background: #ebf2f5;}
.contents table.program td h3{color:#000;}

span.label {background: #666; color: #fff;}
span.label.A {background: #00c6f7; color: #fff;}
span.label.B {background: #006eff; color: #fff;}
span.label.C {background: #008fb2; color: #fff;}

.contents table th.label.A div {background: #00c6f7; color: #fff;}
.contents table th.label.B div {background: #006eff; color: #fff;}
.contents table th.label.C div {background: #008fb2; color: #fff;}

.contents #entry .annotation{border: 3px solid #00384d;}
.contents #inquiry h2{background: #00384d;}

#footer{border-top: 3px solid #00384d; background: #fff;}

/* ポップアップ */
.mfp-content .detail .seminar-title{background: #00384d;}
.mfp-content .detail .property{background: #ebf2f5;}
.mfp-content .detail .shoulder{color:#000;}
.mfp-content .detail .speaker{border-left: 2px solid #00384d;}

