@charset "utf-8";


.asterisk:before { content: "※"; }
.brackets:before { content: "［"; }
.brackets:after { content: "］"; }
.required:after {
	background-color: #f00;
	border-radius: 4px;
	color: #fff;
    content: "必須";
	font-size: .83em;
    margin: 0 4px;
    padding: 2px 8px;
}
.center {
	margin-left: auto;
	margin-right: auto;
}
.top { vertical-align: top !important; }
.middle { vertical-align: middle !important; }
.bottom { vertical-align: bottom !important; }

.width-max { width: 100% !important; }
.width-90 { width: 90% !important; }
.width-50 { width: 50% !important; }

.display-b { display: block !important; }
.display-ib { display: inline-block !important; }
.display-n { display: none !important; } 
.text-l { text-align: left !important; }
.text-c { text-align: center !important; }
.text-r { text-align: right !important; }

.largest  { font-size: 1.73em !important; }
.larger   { font-size: 1.44em !important; }
.large    { font-size: 1.2em !important; }
.small    { font-size: .83em !important; }
.smaller  { font-size: .69em !important; }
.smallest { font-size: .58em !important; }
.bold { font-weight: bold !important; }
.light { font-weight: normal !important; }
.red { color: red !important; }

.padding-1 { padding: 1em !important; }
.padding-2 { padding: 2em !important; }
.padding-3 { padding: 3em !important; }
.padding-b1 { padding-bottom: 1em !important; }
.padding-b2 { padding-bottom: 2em !important; }
.padding-b3 { padding-bottom: 3em !important; }
.padding-l1 { padding-left: 1em !important; }
.padding-l2 { padding-left: 2em !important; }
.padding-l3 { padding-left: 3em !important; }
.padding-r1 { padding-right: 1em !important; }
.padding-r2 { padding-right: 2em !important; }
.padding-r3 { padding-right: 3em !important; }
.padding-t1 { padding-top: 1em !important; }
.padding-t2 { padding-top: 2em !important; }
.padding-t3 { padding-top: 3em !important; }

.margin-1 { margin: 1em !important; }
.margin-2 { margin: 2em !important; }
.margin-3 { margin: 3em !important; }
.margin-b1 { margin-bottom: 1em !important; }
.margin-b2 { margin-bottom: 2em !important; }
.margin-b3 { margin-bottom: 3em !important; }
.margin-l1 { margin-left: 1em !important; }
.margin-l2 { margin-left: 2em !important; }
.margin-l3 { margin-left: 3em !important; }
.margin-r1 { margin-right: 1em !important; }
.margin-r2 { margin-right: 2em !important; }
.margin-r3 { margin-right: 3em !important; }
.margin-t1 { margin-top: 1em !important; }
.margin-t2 { margin-top: 2em !important; }
.margin-t3 { margin-top: 3em !important; }


.bg-k { background-color: #000; }
.bg-w { background-color: #fff; }
.bg-y { background-color: #ffc; }


.border-b { border:1px solid #06a; }
.border-k { border:1px solid #000; }
.border-r { border:1px solid #c00; }
.border-w { border:1px solid #fff; }

.label {
	padding: .25em 1em;
	border-radius: 4px;
	background: #999;
	color: #fff;
	font-size: 80%;
	text-align: center;
}
.label-sp {
	background: #0666a3;
}
.label-a {
	background: #db7093;
}
.label-b {
	background: #20b2aa;
}
.label--right {
	margin-left:1em;
	padding: .25em 0;
	font-size: 80%;
}

.summary__speaker,
.timetable__speaker {
}
.summary__pic,
.timetable__pic,
.footer__r {
	float:right;
	margin-left:1em;
	margin-right: 2em;
	text-align:center;
}
.summary__pic img,
.timetable__pic img {
	display:block;
}
.summary__name {
	margin-top:.5em;
	margin-bottom:.5em;
}
.summary__name span {
	margin-left:.5em;
	font-weight: bold;
	font-size: 120%;
}

.spArea {
    border: solid 3px #ff0000;
    padding: 1em;
    margin: 1em 3em;
}

.presentArea {
		width:75%;
    position: relative;
    margin: 2em auto;
    padding: 0.5em 1em;
    border: solid 3px #cc3333;
    border-radius: 1px;
}

.presentArea .presentTitle {
    position: absolute;
    display: inline-block;
    top: -10px;
    left: 8px;
    padding: 0 7px;
    line-height: 1;
    font-size: 16px;
    background: #FFF;
    color: #cc3333;
    font-weight: bold;
}

.presentArea p {
    margin: 0; 
    padding: 0;
}

.presentArea p a:link { color:#cc3333 !important;}
.presentArea p a:visited { color:#cc3333 !important;}
.presentArea p a:hover { color:#cc6666 !important;}
.presentArea p a:active { color:#cc3333 !important;}

button.button__prof {
    border: 1px solid #111;
    padding: .25em 1em;
    font-size: 90%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    background: linear-gradient(#ffffff, #dadade);
}

.timetable__type,
.timetable__title,
.timetable__speaker,
.timetable__belong,
.timetable__display-button,
.timetable__summary,
.timetable__prof {
	margin-bottom:1em;
}


.timetable__main-title,
.timetable__sub-title {
	font-weight:bold;
}
.timetable__main-title {
	font-size:140%;
}
.timetable__sub-title {
	margin-top:.3em;
	/* font-size:120%; */
}


.timetable__name {
	display:inline-block;
	font-weight:bold;
	font-size:120%;
}
.timetable__name:after {
	content:"氏";
	margin-left:.5em;
	font-weight:normal;
	font-size:80%;
}
.no-uji:after{
	content:"" !important;
}

/*.timetable__display-button {
	display:inline-block;
}*/

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
}


.submit-button {
	background-color:#fb0;
	border-radius: 4px;
	color: #000;
	display: block;
	font-size: 1.2em;
	margin: 2em auto;
	padding: 1em;
	text-align: center;
	text-decoration: none;
	transition: all 0.1s ease-out;
	width:60%;
}
.submit-button:hover {
	background-color: #ff4f1a;
	transition: all 0.1s ease-out;
}

html { font-size: 100%; } /* =16px */
body {
	background: linear-gradient(0deg, #f1f1f1 0%, #f9f9f9 70%, #afafaf 100%);
	background-attachment: fixed;
	color: #333;
	font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	font-size: 1em;
	margin: 0;
    padding: 0;
}
p {
	margin:0;
	text-align: left;
}
li { text-align: left; }
img {
	border: none;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}

#wrapper {
	background: #fff;
	box-shadow: 0 0 2px 1px rgba(0,0,0,.3);
	margin: 0 auto;
	max-width: 1020px;
}
/*#keyvisual {
	border-radius: 4px 4px 0 0/4px 4px 0 0;
}*/
#footer {
	background-color:#333;
	/*border-radius: 0 0 4px 4px/0 0 4px 4px;*/
	color:#fff;
	font-size:.83em;
	padding: 1em;
	overflow:hidden;
}

#footer a{
	color:#fff;
	padding-right:1em;
}

#global-nav {
	background-color: #333;
	padding: 0;
	margin: 0;
	text-align: center;
}
#global-nav li { text-align: center; }
#global-nav li.global-nav-entry a { background-color:#fb0 !important; color:#000;}
#global-nav li.global-nav-entry a:hover { background-color:#ff4f1a !important; color:#000;}

#global-nav a {
	background-color: #333;
	color: #fff;
	display: block;
	padding: 0.7em;
	text-decoration: none;
}
#global-nav a:hover {
	/*background:#e4e4e4;*/
	color:#ccc;
}

#introduction { margin-top: 2em; }
#introduction p { line-height:180%; }
#pickup {
	background-color:#fee;
	border-radius:4px;
	margin: 0 5% 4em;
	width:90%;
}
#pickup-inner {
	margin:1em;
}

#pickup li {
	font-weight: bold;
	line-height: 2;
	list-style: none;
	position: relative;
}
#pickup li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: -1.5em;
	top: 6px;
	width: 12px;
	height: 6px;
	border-left: 2px solid #e23939;
	border-bottom: 2px solid #e23939;
	transform: rotate(-45deg);
}

h1 { margin:0; }
h2 {
	background: #eee;
	border-bottom: 2px dotted #ddd;
    border-top: 2px dotted #ddd;
	color: #333;
	font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
    letter-spacing: .25em;
	margin: 0 0 2em;
    padding: .5em;
	text-align: center;
}
table {
	background-color: #fff;
	border-spacing: 0;
    border-collapse: collapse;
}
th {
    padding: 4px;
    background: #fcfcfc;
    color: #333;
    font-size: 80%;
    font-weight: bold;
    text-align: center;
}

#webform th {
    text-align: right;
}

td {
    text-align: left;
    vertical-align: top;
    padding: 1em;
}
#privacy-policy { padding: 1em; }

@media only screen and (max-width: 600px) {
#global-nav li {
	display: block;
	list-style: none;
	width: 100%;
}
#introduction p { margin: 1em; }
#overview table th { background:#efefef; }

table { width: 95%; margin:0 auto;list-style:none;}
tbody, tr {
    display: block;
    margin-bottom: 1em;
}
th, td {
  display: list-item;
	text-align: center;
}

td {
	border-left:1px solid #ccc;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
}
th {
    padding: .5em 0;
    width: 100%;
    font-size: 100%;
    background:#ccc;
}
.speaker-pic {
	display: block;
	margin: 0 auto .5em;
}
.sponsor-list li {
	display: block;
}
}
@media only screen and (min-width: 601px) {
#global-nav li {
	display: inline-block;
	list-style: none;
	width: 33%;
	vertical-align:middle;
}
#introduction p,
.speaker-block {
	margin: 1em auto;
	width: 90%;
}
table {
    border: 1px solid #aaa;
	margin: 0 auto;
	width: 90%;
}
th {
    padding: 20px 4px;
    height: 100%;
    font-size: 80%;
    line-height: 1.5;
	border: 1px solid #ccc;
}
td {
	width: 85%;
    border: 1px solid #ccc;
}
.speaker-pic {
	display: inline-block;
	margin-right:.5em;
}

.kounyu-yoyaku,
#privacy-policy {
	border:10px solid #333;
	margin: 0 auto;
	padding: 1em;
	width: 85%;
}
}

.block { padding: 0 0 2em; }

.main-title {
	font-size: 1.2em;
	font-weight: bold;
}
.speaker {
	margin-bottom: 1em;
}
.speaker-belong,
.speaker-pic {
	vertical-align: top;
}
.speaker-belong {
	margin-left:1em;
}
.speaker-name {
	display: block;
	font-size:1.5em;
	font-weight:bold;
}
.speaker-pic {
	border:1px solid #ccc;
	display: inline-block;
	margin-bottom: .5em;
}
.speaker {
	display: inline-block;
	text-align: left;
}
.speaker-name:after {
	content: "氏";
	margin-left: .5em;
}
.title .label,
.speaker-profile .label {
	margin-bottom: 1em;
}
#email_confirm { display: none; }
input[type=checkbox]:focus,
input[type=text]:focus,
textarea:focus,
select:focus {
	background-color: #ffa;
}
input[type=checkbox],
input[type=text],
textarea,
select {
	background-color: #f9f9f9;
	border:1px solid #ccc;
	padding:.5em;
}
input[type="submit"] {
	display: block;
	font-size: 120%;
	margin: 3em auto;
	padding: 1em;
}
input[type="submit"]:hover { box-shadow: 0 0 0 8px #000; }

#page-top{
	opacity:0.6; filter: alpha(opacity=60);
	bottom: 20px;
	right: 0;
	padding: 0;
	position:fixed;
	cursor:pointer;
	text-align:left;
	line-height:1em;
}

#page-top:hover{ cursor:pointer; opacity:1.0; filter: alpha(opacity=100);}

p.privacyP {
	margin:1em;
}

.imgRight {
  float: right;
  margin-left: 1.5em;
  height: auto;
  border:1px solid #ccc;
}