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

/* オープンキャンパス　スタイルシート
================================================== */

/* 共通スタイル
================================================== */
#wrap{
    position: relative;
	width: 910px;
	margin: 0 auto;
	overflow: hidden;
	height: 100%;
}

table{
	border-collapse: collapse;
}
table td{
	vertical-align: middle;
	text-align: left;
	padding: 10px;
}
table th{
	vertical-align: top;
	text-align: left;
	padding: 10px;
}



/* フォームまわり */
input, textarea,select{
	vertical-align: middle;
	display: inline-block;

	height: 20px;
	padding: 4px;
	border: 1px solid #969696;
	font-size: 100%;
}
textarea{
	overflow: auto;
	vertical-align: top;
	resize: none;
	height: 150px;
	height: auto !important;
	min-height: 150px;
}
.radiobtn,.checkbox{
	vertical-align: middle;
	margin-top: -2px;
	margin-right: 5px;
}

.input-mini {
	width: 50px;
}
.input-small {
	width: 80px;
}
.input-medium {
	width: 250px;
}
.input-large {
	width: 350px;
}

.indis{/* 必須項目 */
	color: #FF0019;
	font-weight: bold;
	padding-left: 1em;
	text-indent: -1em;
}

#btn_form_area{
	text-align: center;
	margin-top: 20px;
}

#btn_form_submit{/* 送信するボタン */
	width: 80px;
	height: 30px;
	border: none;
	padding: 0px;
}

#complete_message{/* 送信完了画面テキスト */
	text-align: center;
	padding-top: 350px;
}



#form_notes{
	margin-top: 30px;
}
#form_notes dt{
	width: 1em;
}
#form_notes dd{
	margin: -1.7em 0 0 1.5em;
}



.ssl{
	margin-top: 30px;
}
.ssl_logo{
	float: left;
	width: 100px;
}
.ssl p{
	float: right;
	width: 470px;
}
span.red{
	color: #FF0019;
}

span.orange{
	color: #FF8C00;
}





/* 共通スタイル（左カラム）
================================================== */
#sub{
	float: left;
	width: 215px;
	padding-bottom: 10000px;
	margin-bottom: -10000px;
	background: #FFCA28;
}
#sub_map{
	float: left;
	width: 215px;
	height: 1773px;
	background: #31c7ff;
}

#sub_contents{
	width: 185px;
	margin: 0 auto;
}

.logo{
	width: 215px;
	height: 50px;
	margin-top: 20px;
	background: url(../img/opencampus_2016/logo.jpg) no-repeat;
}
.logo_opencampus a{
	display: block;
	width: 185px;
	height: 140px;
	margin-top: 15px;
	background: url(../img/opencampus_2019/logo_opencampus.jpg) no-repeat;
}
.logo_opencampus a:hover{
	background: url(../img/opencampus_2019/logo_opencampus.jpg) no-repeat;
	background-position: 0px -140px;
}

/* 左メニュー（開催概要、タイムテーブル） */
#menu_sub{
	width: 185px;
	margin-top: 15px;
}
#menu_sub li{
	border-top: 1px dotted #fff;
	padding: 2px 0;
}
#menu_sub li:last-child{
	border-bottom: 1px dotted #fff;
}
#menu_sub li img{
	vertical-align: bottom;
}
#menu_sub li a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 185px;
	height: 36px;
	color: #ffeec2;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.05rem;
}
#menu_sub li a:hover,
#menu_sub .active a{
	background-color: #ffffff;
	color: #454545;
}

/* ナビエリア（アクセス、資料請求・・・）*/
#navi{
	width: 185px;
	margin-top: 30px;
}
#navi li{
	height: 2.5em;
}
#navi li a{
	padding-left: 1em;
	background: url(../img/opencampus_2016/icon_nav_01.jpg) left center no-repeat;
	text-decoration: none;
	color: #fff;
}
#navi li a:hover{
	text-decoration: underline;
}

.copyright{
	color: #fff; font-size: 10px;
	position: absolute;
	bottom: 10px;
}

#bnr_area_l div{
	margin-bottom: 5px;
}



/* 共通スタイル（右カラム）
================================================== */
#main{
	float: left;
	width: 670px;
	border-top: 3px solid #FFCA28;
	margin: 40px 0 0 25px;
	padding-bottom: 30px;
	background: #fff;
	min-height: 1000px;
	height: auto !important;
	height: 10000px;
}

#main_map{
	float: left;
	width: 670px;
	border-top: 3px solid #31c7ff;
	margin: 40px 0 0 25px;
	padding-bottom: 30px;
	background: #fff;
	height: 1700px;
}

#header_contents{
	width: 590px;
	margin: 0 auto;
}
#main h3{
	background-color: #FFCA28;
	color: #ffffff;
	font-weight: normal;
	width:150px;
	height:36px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 40px;
}
#main_contents{
	width: 590px;
	margin: 0 auto;
}

#sectionbox001{/* コンテツ内のボックス要素 */
	clear: both;
	margin: 25px 0 20px 0;
}

#navi_page_top a{/* ページ上部へ */
	position: absolute;
	bottom: 10px;
	right: 40px;
	padding-left: 1.3em;
	background: url(../img/opencampus_2019/icon_foot_01.jpg) left center no-repeat;
}
.validation_error{
	font-size: 16px;
	font-weight: bold;
	line-height: 20px;
	color: #FF0000;
	text-align: center;
}




/* トップページ
================================================== */
#mainimg_top{
}

#mainimg_top_bnr{
	position: absolute;
	top: 40px;
	right: 35px;
}

#mainimg_top_title{
	position: absolute;
	top: 40px;
	left: 20px;
}

#mainimg_top_sub{
	position: fixed;
	/*top: 400px;*/
	bottom: 100px;
	left: 20px;
}

#footer_top{
	position: fixed;
	bottom: -10px;
	width: 100%;
	background: #fff;
	padding: 20px 0;
}

#logo_top{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 222px;
	height: 40px;
	background: url(../img/opencampus_2016/logo_top.jpg) no-repeat;
}

#menu_top{
	width: 800px;
	margin-left: 20px;
}

.f_nav img{
	padding-left: 20px;
	padding-right: 5px;
}

#menu_top li{
	float: left;
}
#menu_top #menu01 a,
#menu_top #menu02 a,
#menu_top #menu05 a{
	display: block;
	width: 111px;
	height: 41px;
}
#menu_top #menu04 a{
	display: block;
	width: 112px;
	height: 41px;
}
#menu_top #menu01 a{/* 開催概要 */
	background: url(../img/opencampus_2019/menu_top_gaiyou.jpg) no-repeat;
}
#menu_top #menu02 a{/* タイムテーブル */
	background: url(../img/opencampus_2019/menu_top_timetable.jpg) no-repeat;
}
#menu_top #menu04 a{/* 参加申込 */
	background: url(../img/opencampus_2019/menu_top_request.jpg) no-repeat;
}
#menu_top #menu05 a{/* 無料送迎バス */
	background: url(../img/opencampus_2019/menu_top_bus.jpg) no-repeat;
}

#menu_top #menu01 a:hover, #menu_top #menu01_active,
#menu_top #menu02 a:hover, #menu_top #menu02_active,
#menu_top #menu04 a:hover, #menu_top #menu04_active,
#menu_top #menu05 a:hover, #menu_top #menu05_active{
	background-position: 0px -41px;
}

span.gray{
	color: #CCCCCC;
}




/* 開発概要
================================================== */
table.table_002{
	width: 590px;
	border-top: 1px solid #B4B4B4;
	border-bottom: 1px #B4B4B4;
}
table.table_002 th{
	width: 100px;
	border: 1px solid #B4B4B4;
	border-left: none;
}
table.table_002 td{
	width: 490px;
	border: 1px solid #B4B4B4;
	border-right: none;
}
a.gaiyou{
    text-decoration: underline;
    outline: none;
	color: #0000ee;
}




/* タイムテーブル
================================================== */
table.table_003{
	width: 590px;
	border-top: 1px solid #B4B4B4;
	border-bottom: 1px solid #B4B4B4;
}
table.table_003 th{
	border: 1px solid #B4B4B4;
	border-left: none;
	text-align: center;
}
table.table_003 th.th_01{
	width: 110px;
}

table.table_003 td{
	border: 1px solid #B4B4B4;
	border-right: none;
}
table.table_003 td.td_01{
	width: 350px;
}
table.table_003 td.td_02{
	width: 80px;
}
table.table_003 tr.td_dotted td{
	border-top: 1px dotted #B4B4B4;
	border-bottom: 1px dotted #B4B4B4;
}
table.table_003 tr.td_dotted_02 td{
	border-top: 1px solid #B4B4B4;
	border-bottom: 1px dotted #B4B4B4;
}
table.table_003 tr.td_bordernone td{
	border: none;
}



/* 会場マップ
================================================== */
.floor{
	float: right;
	width: 255px;
}
.floor div{
	width: 255px;
	border: 1px solid #31c7ff;
	/*color: #63e577;*/ font-weight: bold;
	text-align: center;
	margin-bottom: 13px;
}
.floor li{
	border-top: 1px dotted #B4B4B4;
	line-height: 1.7em;
	padding: 5px 0;
}
.floor li.bottom_map{
	border-bottom: 1px dotted #B4B4B4;
}
.floor li p{
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.floor li img{
	position: relative;
	top: 2px;
}
.floor span{
	/*color: #63e577;*/
	font-weight: bold;
	font-size: 15px;
	margin-left: 5px;
}

.floor div.star{
	width: 11px;
	height: 11px;
	background: url(../img/opencampus_2016/img_ico_star.jpg) no-repeat;
}

#glaylayer_map{/* LightBox */
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #000000;
	opacity: 0.60;
	filter: alpha(opacity=60);
}

#overlayer_map{
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -200px;
	margin-left: -325px;
	border: 10px solid #fff;
}

#overlayer_map img.close_map{
	position: absolute;
	top: -15px;
	right: -15px;
	cursor: pointer;
}

.shuttle_bus{
	width: 230px;
	background-color: #63e577;
	color: #ffffff;
	font-weight: normal;
	padding: 7px 30px 9px 30px;
	margin: 25px 0 10px 0;
}



/* 参加申込
================================================== */
.form_section001 li{
	float: left;
	width: 120px;
}
.form_section002 li{
	float: left;
	width: 180px;
}

table.table_001{
	width: 590px;
	border: 1px solid #C3B9AA;
}
table.table_001 th{
	width: 210px;
	background: #F0EBDC;
	border: 1px solid #C3B9AA;
}
table.table_001 td{
	width: 380px;
	border: 1px solid #C3B9AA;
}





/* 無料送迎バス
================================================== */
#bus-root{
	float: left;
	width: 200px;
	white-space: nowrap;
}
#bus-root p{
	word-wrap: break-word;
}
#bus-root div{
	width: 200px;
	text-align: center;
	border: 1px solid #FFCA28;
	font-weight: bold;
	font-size: 14px;
	padding: 3px 0;
	margin-bottom: 13px;
}
#bus-root span.bus_midashi_orange{
	font-size: 14px;
	/*color: #63e577;*/
}
#bus-root span.bus_midashi_black{
	font-size: 15px;
	color: #000;
	font-weight: bold;
}
#bus-root table{
	width: 200px;
	border-top: 1px solid #B4B4B4;
	border-bottom: 1px solid #B4B4B4;
}
#bus-root table th{
	width: 130px;
	border: 1px solid #B4B4B4;
	border-left: none;
}
#bus-root table td{
	width: 70px;
	border: 1px solid #B4B4B4;
	border-right: none;
}

#border_590{
	width: 590px;
	border-bottom: 1px dotted #646464;
	clear: both;
	margin: 20px 0 25px 0;
}

#glaylayer_bus{/* LightBox */
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #000000;
	opacity: 0.60;
	filter: alpha(opacity=60);
}

#overlayer_bus{
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -200px;
	margin-left: -200px;
	border: 10px solid #FF6496;

}

#overlayer_bus img.close_bus{
	position: absolute;
	top: -15px;
	right: -15px;
	cursor: pointer;
}

/* リンク一時停止
================================================== */
#menu_top #menu01 a.noLink { cursor:default; background-position: 0px -82px; }
#menu_top #menu01 a.noLink:hover { background-position: 0px 0px; background-position: 0px -82px; }
#menu_top #menu02 a.noLink { cursor:default; background-position: 0px -82px; }
#menu_top #menu02 a.noLink:hover { background-position: 0px 0px; background-position: 0px -82px; }
#menu_top #menu03 a.noLink { cursor:default; background-position: 0px -82px; }
#menu_top #menu03 a.noLink:hover { background-position: 0px 0px; background-position: 0px -82px; }
#menu_top #menu04 a.noLink { cursor:default; background-position: 0px -82px; }
#menu_top #menu04 a.noLink:hover { background-position: 0px 0px; background-position: 0px -82px; }
#menu_top #menu05 a.noLink { cursor:default; background-position: 0px -82px; }
#menu_top #menu05 a.noLink:hover { background-position: 0px 0px; background-position: 0px -82px; }

#menu_sub li a.noLink,
#menu_sub li a.noLink:hover{
	color: #ffeec2;
	background-color: #FFCA28;
}

/*スマホになった場合*/
@media screen and (orientation:portrait){
	body{
		font-size: 14px;
	}
	#wrap{
		width: 100%;
	}
	.alert_danger{
		color: #E74C3C;
	}
	.header{
		width: 100%;
	}
	.h2{
		background-color: #FFCA28;
		color: #ffffff;
		padding: 10px 20px;
		font-size: 25px;
	}
	.container{
		margin: 0 10px 10px 10px;
		background-color: #ffffff;
	}
	.smart_container{
		padding: 10px;
	}
	.form_group{
		margin-bottom: 25px;
	}
	.form_group .categories{
		display: block;
		margin-bottom: 0.5rem;
		font-size: 15px;
		font-weight: bold;
	}
	.form_group .req{
		font-size: 12px;
		font-weight: bold;
		color: #E74C3C;
		padding-left: 5px;
	}
	.form_group input[type="text"]{
		display: block;
		width: 100%;
		text-indent: 0.75rem;
		padding: 0.375rem 0;
		border-radius: 0.25rem;
	}
	.form_group .flex_input{
		display: flex;
		align-items: center;
	}
	.form_group .flex_input .mini{
		width:20%;
	}
	.feedback{
		color: #E74C3C;
		font-weight: bold;
		font-size: 12px;
	}
	.notes{
		list-style-type: disc;
		margin-left: 20px;
	}
	.notes li{
		margin-bottom: 5px;
	}
	.submit{
		background-color: #31c7ff;
		color: #ffffff;
		border-radius: 5px;
		width: 40%;
		height: 40px;
		border: none;
		font-size: 20px;
		display: block;
	}
	.submit{
		margin: 30px auto 0 auto;
	}
	.medium{
		margin-bottom: 0.5rem;
	}
	#page-top{
		position: fixed;
		bottom: 10px;
		right: 20px;
		font-size: 50px;
		display: none;
		width: 50px;
		height: 50px;
		border-radius: 25px;
		background-color: #ffffff;
	}
	#page-top .fa-chevron-circle-up{
		color: #FFCA28;
	}
	.ssl_logo{
		float: none;
	}
	#btn_form_submit{
		width: 150px;
		height: 40px;
		margin: 0 auto 15px auto;
		display: block;

	}
}
