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

body{
	font-size: 0.96em;
}

.sp{
	display: none;
}

/*###################################
ヘッダー
###################################*/

#header{
	overflow: hidden;
}

#header .logo{
	float: left;
	width: 480px;
}

#header .user{
	float:right;
	margin-top:20px;
	margin-right:20px;
}

#header .user ul{
	float:left;
}

#header li{
	height:30px;
	float:left;
	list-style:none;
	margin-left:5px;
	line-height:30px;
}

#header li.button{
	width:30px;
	border-radius:15px;
	text-align:center;
}

#header li.button a{
	width:30px;
	height:30px;
	border-radius:15px;
	display:block;
}

#header li.font_m a{
	background-color:#008093;
	color:#FFF;
	font-size:90%;
}

#header li.font_l a{
	background-color:#008093;
	color:#FFF;
	font-size:120%;
}

#header li.blue a{
	background-color:#005BAB;
	color:#FFF;
	font-size:120%;
}

#header li.black a{
	background-color:black;
	color:yellow;
	font-size:120%;
}

#header li.white a{
	background-color:#F9F7F4;
	color:#222;
	font-size:120%;
}

/*###################################
メインメニュー
###################################*/

#menu ul{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	list-style-type: none;
	width: 100%;
	padding: 20px 0;
}

#menu li{
	text-align: center;
	border-right: 2px solid #999;
	width: 30%;
}

#menu li:last-child{
	border-right: none;
}

#menu li a{
	display: block;
	font-size: 115%;
}

/*###################################
トップコンテンツ
###################################*/

#wrap{
	overflow: hidden;
}

#wrap .left_col{
	float: left;
	width: 280px;
	margin: 450px 30px 30px;
}

.search{
	width: 240px;
	height: 220px;
	position: absolute;
	margin: 30px 0 20px 30px;
}





#wrap .right_col{
	float: right;
	width: calc(100% - 370px);
	margin: 30px 30px 30px 0;
}

#wrap .right_col .top_center{
	float: left;
	width: calc(100% - 310px);
}

#wrap .right_col .top_center .top_image{
	margin-bottom: 30px;
}

#wrap .right_col .top_center .news{
	background-color: #FFF;
	border: 1px solid #007D87;
	border-radius: 30px;
}

#wrap .right_col .top_center .news h2{
	background-image: url(../contents_images/titte_back.png);
	color: #FFF;
	font-size: 140%;
	padding: 10px 20px;
	border-radius: 28px 28px 0 0;
}

#wrap .right_col .top_center .news_inner{
	max-height: 400px;
	overflow-y: auto;
	margin-bottom: 30px;
}

#wrap .right_col .top_center .news table{
	margin: 20px;
	width: calc(100% - 40px) !important;
	overflow: hidden;
}

#wrap .right_col .top_center .news th,
#wrap .right_col .top_center .news td{
	display: block;
	text-align: left;
}

#wrap .right_col .top_center .news th{
	font-size: 90%;
	color: #555;
}

#wrap .right_col .top_center .news td{
	border-bottom: 1px dashed #CCC;
	padding-bottom: 5px;
	margin-bottom: 5px;
}



#wrap .right_col .top_right{
	float: right;
	width: 280px;
}

#wrap .right_col .top_right .open_time{
	background-color: #FFF;
	border: 1px solid #007D87;
	border-radius: 30px;
}

#wrap .right_col .top_right .open_time h2{
	background-image: url(../contents_images/titte_back.png);
	color: #FFF;
	font-size: 140%;
	padding: 10px 20px;
	border-radius: 28px 28px 0 0;
}

#wrap .right_col .top_right .open_time table{
	margin: 10px 20px;
}

#wrap .right_col .top_right .open_time td{
	display: block;
}

#wrap .right_col .top_right .calendar a{
	background-color: #FFC200;
	border-radius: 60px;
	display: block;
	color: #222;
	font-size: 120%;
	padding: 15px 20px;
	margin-top: 20px;
	background-image: url(../contents_images/calendar.png);
	background-repeat: no-repeat;
	background-position: right top;
}

#wrap .right_col .top_right .accessibility a{
	background-color: #FFC8D5;
	border-radius: 60px;
	display: block;
	color: #222;
	font-size: 120%;
	padding: 15px 20px;
	margin-top: 20px;
	background-image: url(../contents_images/accessibility.png);
	background-repeat: no-repeat;
	background-position: right;
}

#wrap .left_col .small_sub{
	background-color: #FFF;
	border: 1px solid #007D87;
	border-radius: 30px;
	padding: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}

#wrap .left_col .small_sub li{
	list-style: none;
	border-bottom: 1px dashed #CCC;
	padding: 5px 5px 5px 14px;
	position: relative;
}

#wrap .left_col .small_sub li::before{
	content: "";
	position: absolute;
	top: 40%;
	left: 3px;
	height: 0;
	width: 0;
	border-top: 5px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #006E99;
}

#wrap .right_col .top_right .banner{
	background-color: #FFF;
	border: 1px solid #007D87;
	border-radius: 30px;
	padding: 20px;
	margin-top: 20px;
	text-align: center;
}

#wrap .right_col .top_right .banner img{
	margin-bottom: 10px;
}



/*###################################
下層コンテンツ
###################################*/

#detail .text{
	float: right;
	width: calc(100% - 430px);
	margin-right: 20px;
	padding: 0 40px 20px;
}

#detail .one-column{
	width: calc(100% - 120px);
}

#detail .text h1{
	font-size: 180%;
	margin: 0 -40px 20px;
}

#detail .text h2{
	margin: 0 -20px 10px;
	font-size: 140%;
}

#detail .text h3{
	margin: 0 -10px 10px;
	font-size: 130%;
}

#detail .text h4{
	margin: 0 -10px 10px;
	font-size: 120%;
}


#detail .sub_menu{
	float: left;
	width: 280px;
	margin-left: 20px;
}

#detail .sub_menu h2{
	padding: 20px;
	font-size: 140%;
}

#detail .sub_menu ul{
	margin: 10px 20px 20px;
}

#detail .sub_menu li{
}


/*##################################################
フッター
##################################################*/

#footer{
	overflow: hidden;
	padding-bottom: 60px;
}

#footer .site_name{
	float: right;
	width: 40%;
	margin-top: 60px;
	text-align: right;
	padding-right: 20px;
	font-size: 200%;
}

#footer .add{
	float: left;
	width: 40%;
	margin-top: 60px;
	text-align: left;
	font-size: 90%;
	padding-left: 20px;
}

#footer .add span{
	margin-left: 10px;
}


/*　トップへ戻る　*/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 10px;
	font-size: 100%;
	z-index:100;
}

#page-top a {
	text-decoration: none;
	color: #fff;
	width: 100px;
	height:50px;
	display: block;
	border-radius: 5px;
	font-weight:bold;
}

#page-top a img{
	width: 100px;
	height:50px;
	border-radius: 60px;
}

#wcv_sys_container_wide #page-top {
	display:none;
}


/*　ホームへ戻る　*/

#page-back {
	position: fixed;
	bottom: 20px;
	right: 120px;
	font-size: 100%;
	z-index:100;
}
#page-back a {
	text-decoration: none;
	color: #fff;
	width: 100px;
	height:50px;
	display: block;
	border-radius: 5px;
	font-weight: bold;
}

#page-back a img{
	width: 100px;
	height:50px;
	border-radius: 60px;
}

#wcv_sys_container_wide #page-back {
	display:none;
}
