@charset "UTF-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');


/*-----------------------------------
	全体共通設定
-----------------------------------*/
body{
	margin:0;
	font-family:
		"Noto Sans Japanese",
		"ヒラギノ角ゴ ProN W3",
		Hiragino Kaku Gothic ProN,
		Arial,
		Meiryo,
		sans-serif;
	font-size:1em;
	font-weight:400;
	color:rgb(80,80,80);
	line-height:1.85;
}

.wrapper{
	min-width:1000px;
	background:url(../img/bg.jpg) center top repeat-x;
}

/*----- header -----*/
header{
	min-width:1000px;
	border-top:solid 5px rgb(129,181,202);
	background:
		linear-gradient(
			to bottom,
			rgba(255,255,255,0) 40%,
			rgba(255,255,255,1) 100%
	);
}

header h1{
	margin:0 auto;
	width:1000px;
}

header h1 a{
	display:block;
	transition:opacity .2s ease-out;
}

	header h1 a:hover{
		opacity:.5;
	}

header h1 a img{
	vertical-align:bottom;
}


/*----- middle_area -----*/
.middle_area{
	padding-top:22px;
	display:flex;
	justify-content:space-between;
	margin:0 auto;
	width:1000px;
}


/*----- nav -----*/
nav{
	padding-bottom:50px;
	width:210px;
}

nav ul{
	margin:0;
	padding:0;
	width:100%;
}

nav ul li{
	margin-bottom:6px;
	background:rgb(129,181,202) url(../img/menu_deco.svg) 165px center no-repeat;
	border-radius:5px;
	list-style:none;
}

nav ul li:last-child{
	margin-bottom:0;
}

nav ul li a{
	box-sizing:border-box;
	display:block;
	padding:0.6em 1em;
	background:rgba(255,255,255,1);
	border:solid 1px rgb(129,181,202);
	border-radius:5px;
	font-size:1.05rem;
	color:inherit;
	line-height:1.5;
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,border,box-shadow,color;
}

	nav ul li a:hover,
	nav ul li a.current{
		background:rgba(129,181,202,0);
		border:solid 1px rgb(255,255,255);
		box-shadow:0 0 5px rgba(255,255,255,1);
		color:rgb(255,255,255);
	}

nav .banner{
	padding-top:6px;
}

nav .banner a{
	display:block;
	margin-top:6px;
	transition:opacity .2s ease-out;
}

	nav .banner a:hover{
		opacity:.5;
	}

nav .banner a img{
	width:100%;
	vertical-align:bottom;
}


/*----- footer -----*/
footer{
	min-width:1000px;
	position:relative;
	background:rgb(100,176,226);
	box-shadow:0 0 5px rgba(0,0,0,.3);
	color:rgb(255,255,255);
	line-height:1.5;
	text-align:center;
	z-index:2;
}

footer address{
	padding:40px 0 35px;
	width:100%;
	font-style:normal;
}

footer address .name{
	margin:0 0 0.3em;
	font-size:1.25rem;
	font-weight:700;
}

footer address .info{
	margin:0;
	font-size:0.875rem;
	line-height:1.7;
}

footer .copyright{
	margin:0;
	padding:0.8em 0;
	width:100%;
	min-width:1000px;
	border-top:solid 1px rgb(255,255,255);
	font-size:0.812rem;
}


/*-----------------------------------
	ページごとの設定
-----------------------------------*/

/*----- page_top -----*/
#page_top{
	margin-bottom:45px;
	width:770px;
}

#page_top img{
	vertical-align:bottom;
}

#change_log{
	position:relative;
	box-sizing:border-box;
	margin:0 auto 45px;
	padding:20px 30px;
	width:1000px;
	background:rgb(255,255,255);
	border:solid 1px rgb(129,181,202);
	border-radius:5px;
	box-shadow:0 0 6px rgba(0,0,0,.3);
	z-index:1;
}

#change_log h2{
	margin:0;
	padding-bottom:0.3em;
	border-bottom:solid 1px rgb(0,84,166);
	font-size:1.375rem;
	color:rgb(0,84,166);
	line-height:1.5;
}

#change_log .log_outer{
	height:155px;
	overflow-y:scroll;
}

#change_log dl{
	display:flex;
	flex-wrap:wrap;
	margin:0;
}

#change_log dl dt,
#change_log dl dd{
	padding-top:.8em;
	padding-bottom:.8em;
	border-bottom:solid 1px rgb(180,180,180);
	line-height:1.5;
}

#change_log dl dt{
	width:125px;
}

#change_log dl dd{
	margin:0;
	width:calc(100% - 125px);
}


/*-----------------------------------
	トップページ以外の共通設定
-----------------------------------*/
.main_area{
	box-sizing:border-box;
	margin-bottom:45px;
	padding:35px 30px 50px;
	width:770px;
	min-height:600px;
	background:rgb(255,255,255);
	border:solid 1px rgb(129,181,202);
	border-radius:5px;
	box-shadow:0 0 5px rgba(255,255,255,1);
}

.main_area p{
	margin:.8em 0;
}

.main_area .note{
	margin:.7em 0;
	padding-left:1em;
	font-size:.973em;
	text-indent:-1em;
}

.main_area .red{
	color:rgb(255,100,100);
}

.main_area a.link{
	color:rgb(129,181,202);
	transition:opacity .2s ease-out;
}

	.main_area a.link:hover{
		opacity:.5;
	}

.main_area h2{
	margin:1.5em 0 .5em;
	padding:.1em 0 .1em .4em;
	border-left:solid 4px rgb(0,84,166);
	font-size:1.5rem;
	line-height:1.4;
}

.main_area h3{
	margin:1.5em 0 .5em;
	font-size:1.25rem;
	line-height:1.4;
}

.main_area h3::before{
	content:"";
	display:inline-block;
	margin-right:10px;
	width:4px;
	height:25px;
	background:rgb(129,181,202);
	vertical-align:-20%;
}

.main_area h4{
	margin:1.5em 0 .5em;
	border-bottom:solid 1px rgb(200,200,200);
	font-size:1.125rem;
	color:rgb(0,84,166);
	line-height:1.4;
}

.main_area > section:first-child > h2:first-child,
.main_area h2 + section > h3:first-child,
.main_area h3 + section > h4:first-child{
	margin-top:0;
}

.main_area .under_construction{
	box-sizing:border-box;
	margin:200px auto 0;
	padding:0.8em;
	width:250px;
	border:solid 2px rgb(129,181,202);
	border-radius:5px;
	box-shadow:0 0 5px rgba(0,0,0,.3);
	font-size:1.25rem;
	font-weight:700;
	text-align:center;
}


/*----- page_greeting -----*/
#page_greeting .photo,
#page_greeting .title,
#page_greeting .name,
#page_greeting .affi{
	padding-right:1rem;
	text-align:right;
	line-height:1.5;
}

#page_greeting .photo{
	margin-top:20px;
	vertical-align:bottom;
}

#page_greeting .photo img{
	width:180px;
}

#page_greeting .title{
	margin:1em 0 0;
}

#page_greeting .name{
	margin:.2em 0 .3em;
	font-size:1.25rem;
	font-weight:700;
}

#page_greeting .affi{
	margin:0 0 2em;
	padding-right:.4rem;
	font-size:0.937rem;
}


/*----- page_overview -----*/
#page_overview dl{
	display:flex;
	flex-wrap:wrap;
	margin:0;
	border-top:solid 1px rgb(200,200,200);
}

#page_overview dl dt,
#page_overview dl dd{
	box-sizing:border-box;
	padding:1.2em 0.5em;
	border-bottom:solid 1px rgb(200,200,200);
}

#page_overview dl dt{
	margin:0;
	width:160px;
	font-weight:700;
}

#page_overview dl dt::before{
	content:"";
	display:inline-block;
	margin-right:10px;
	width:3px;
	height:18px;
	background:rgb(129,181,202);
	vertical-align:-11%;
}

#page_overview dl dd{
	margin:0;
	width:calc(100% - 160px);
}


/*------------------------------
	page_program
------------------------------*/
#page_program .box {
	margin:0 0 25px;
}

#page_program .btn-area {
	text-align:center;
	padding:30px 0;
	background:#efefef;
}

#page_program .btn {
	display:inline-block;
	padding:10px 100px;
	background:#ddd;
	color:#999;
	text-decoration:none;
	transition: .3s ease-in;
    border-radius: 4px;
}

#page_program .btn.btn-schedule {
	color:#000;
	border:1px solid #ffb400;
	background:rgba(255, 200, 50, 1);
}

#page_program .btn.btn-schedule:hover {
	color:#fff;
	border:1px solid #0096c8;
	background:#81b5ca;
}

#page_program .speakers{
	margin:1em 0 0 1em;
	line-height:1.6;
}

#page_program h3{
	position:relative;
	margin-top:2.5em;
	margin-bottom:0;
	padding:.3em .6em;
	background:rgb(110,160,202);
	box-shadow:0 0 5px rgba(0,0,0,.3);
	border-left:solid 3px rgb(0,84,166);
	border-radius:3px 3px 0 0;
	color:rgb(255,255,255);
	z-index:1;
}

#page_program h3::before{
	content:none;
}

#page_program .date{
	display:block;
	margin-top:0;
	padding:.1em .5em;
	background:rgb(255,255,255);
	border-style:solid;
	border-width:0 1px 1px 1px;
	border-color:rgb(129,181,202);
	border-left:solid 3px rgba(0,84,166,.65);
	border-radius:0 0 3px 3px;
	font-size:1.062rem;
	font-weight:500;
	text-align:left;
}

#page_program h4{
	margin-bottom:1em;
	padding:.2em .3em;
	background:rgb(255,245,245);
}

#page_program .session{
	padding-left:.7em;
	padding-bottom:.3em;
	border-bottom:solid 1px rgb(180,180,180);
	color:rgb(0,84,166);
	font-size:1.3em;
	font-weight:700;
	line-height:1.3;
	text-indent:-.5em;
}

#page_program .date + .session{
	margin-top:-.3em;
}

#page_program .speakers dt{
	margin:0;
	width:70px;
	border:solid 1px rgb(0,84,166);
	border-radius:3px;
	box-shadow:0 0 5px rgba(0,0,0,.3);
	font-size:.9rem;
	font-weight:700;
	color:rgb(0,84,166);
	text-align:center;
	float:left;
}

#page_program .speakers dd{
	margin:0 0 0 80px;
	padding-bottom:.3em;
	font-weight:700;
	width:calc(100% - 80px);
}

#page_program .speakers dd .title{
	display:block;
	margin-bottom:.1em;
	padding-bottom:.1em;
	border-bottom:dotted 1px rgb(180,180,180);
	font-size:1.1em;
	color:rgb(80,80,140);
	line-height:1.4;
	text-indent:-.5em;
}

#page_program .speakers dd .affi{
	display:block;
	font-size:.9em;
	font-weight:400;
}

#page_program .speakers.long dt{
	width:100px;
}

#page_program .speakers.long dd{
	margin-left:100px;
	width:calc(100% - 100px);
}

#page_program .speakers dd + dt{
	margin-top:1em;
}

#page_program .speakers dd + dt + dd{
	margin-top:.9em;
}


/*----- page_participant -----*/
#page_participant dl.type01{
	display:flex;
	flex-wrap:wrap;
	margin:0;
	border-top:solid 1px rgb(200,200,200);
}

#page_participant dl.type01 dt,
#page_participant dl.type01 dd{
	box-sizing:border-box;
	padding:.8em 0.5em;
	border-bottom:solid 1px rgb(200,200,200);
}

#page_participant dl.type01 dt{
	margin:0;
	padding-right:0;
	width:115px;
	font-weight:700;
}

#page_participant dl.type01 dt::before{
	content:"";
	display:inline-block;
	margin-right:10px;
	width:8px;
	height:8px;
	background:rgb(129,181,202);
	border-radius:4px;
	vertical-align:5%;
}

#page_participant dl.type01 dd{
	margin:0;
	padding-left:0;
	width:calc(100% - 115px);
}

#page_participant .box {
	margin:0 0 25px;
}

#page_participant .btn-area {
	text-align:center;
	padding:30px 0;
	background:#efefef;
}

#page_participant .btn {
	display:inline-block;
	padding:10px 100px;
	background:#ddd;
	color:#999;
	text-decoration:none;
	transition: .3s ease-in;
    border-radius: 4px;
}

#page_participant .btn.btn-coi {
	color:#000;
	border:1px solid #ffb400;
	background:rgba(255, 200, 50, 1);
}

#page_participant .btn.btn-coi:hover {
	color:#fff;
	border:1px solid #0096c8;
	background:#81b5ca;
}


/*----- page_links -----*/
#page_links ul{
	margin-top:30px;
	padding:0;
}

#page_links ul li{
	display:flex;
	box-sizing:border-box;
	margin:0 0 25px 0;
	font-weight:500;
	text-decoration:none;
}

#page_links ul li::before{
	content:"";
	display:inline-block;
	margin-right:10px;
	width:3px;
	height:30px;
	background:rgb(129,181,202);
}

#page_links ul li a{
	display:block;
	box-sizing:border-box;
	width:calc(100% - 13px);
	color:rgb(50,50,50);
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,color,border-radius,padding-left;
}

	#page_links ul li a:hover{
		padding-left:10px;
		background:rgb(129,181,202);
		color:rgba(255,255,255,1);
		border-radius:4px;
	}
	
/*----- page_registration -----*/
#page_registration h3{
	margin:0 0 15px;
	padding:3px 10px;
	color:#fff;
	background:#81b5ca;
	font-weight: normal;
	font-size: 1.05rem;
    border-radius: 4px;
}

#page_registration .to_align{
	display:inline-block;
	vertical-align:top;
}

#page_registration p {
	margin:0 0 25px;
}

#page_registration table.table {
	width:100%;
	margin:0 0 25px;
	border:1px solid #ccc;
	border-collapse:collapse;
}

#page_registration table th,
#page_registration table td {
	border:1px solid #ccc;
	padding:10px;
}

#page_registration table th {
	text-align:left;
	vertical-align:top;
	font-weight:normal;
}

#page_registration .indent {
	text-indent:-1em;
	margin:0 0 5px 1em;
}

#page_registration .box {
	margin:0 0 25px;
}

#page_registration .btn-area {
	text-align:center;
	padding:30px 0;
	background:#efefef;
}

#page_registration .btn {
	display:inline-block;
	padding:10px 100px;
	background:#ddd;
	text-decoration:none;
	transition: .3s ease-in;
    border-radius: 4px;
}

#page_registration .btn.btn-regist {
	color:#000;
	border:1px solid #ffff00;
	background:rgba(255, 255, 100, 1);
}

#page_registration .btn.btn-edit {
	color:#000;
	border:1px solid #ffb400;
	background:rgba(255, 200, 50, 1);
}

#page_registration .btn.btn-regist:hover {
	color:#fff;
	border:1px solid #0096c8;
	background:#81b5ca;
}

#page_registration .btn.btn-edit:hover {
	color:#fff;
	border:1px solid #0096c8;
	background:#81b5ca;
}