@charset "utf-8";
/*--京home.css--*/
/*--------PC--------*/
@media print, screen{
#container_inner {
	min-width: 1200px;
}
#topicpath {
	width: 930px;
	overflow: hidden;
	padding: 15px 0 0 0;
	margin: 0 auto 40px;
}
	#topicpath ul {
		letter-spacing:-0.4em;
	}
	#topicpath li {
		letter-spacing:0;
		display: inline-block;
		font-size: 13px;
		margin-right: 8px;
	}
	#topicpath li:after {
		font-family: FontAwesome;
		content: "\f105";
		color: #8c8c8c;
		margin-left: 10px;
	}
	
	#topicpath li:last-child{
		font-weight:bold;
		margin-right:0;
	}
	
	#topicpath li:last-child::after {
		content: none;
		margin: 0;
	}
		#topicpath li a {
			color: #8c8c8c;
		}
		
#pages #main_box_inner {
	width:850px;
	margin:0 auto;
	overflow:hidden;
}

#contents_ttl{
	height:130px;
	background:url(../shared/content_title_bg.jpg) repeat-x;
}

	#contents_ttl h2.txt_title{
		width:830px;
		height:130px;
		line-height:130px;
		padding:0 180px;
		margin:0 auto;
		background:url(../shared/content_title_bldg.png) no-repeat right bottom;
		position:relative;
	}
	
		#contents_ttl h2.txt_title img{
			position:relative;
			z-index:2;
		}
		
		#contents_ttl h2.txt_title:before{
			content:"";
			display:block;
			width:220px;
			height:130px;
			background:url(../shared/content_title_tree1.png) no-repeat;
			position:absolute;
			top:0;
			left:0;
			z-index:1;
		}
		
		#contents_ttl h2.txt_title:after{
			content:"";
			display:block;
			width:170px;
			height:130px;
			background:url(../shared/content_title_tree2.png) no-repeat;
			position:absolute;
			top:0;
			right:0;
			z-index:1;
		}
	
		#contents_ttl h2.txt_title .sp_txt_title{
			display:none;
		}

#page_main_sub_menu_wrapper{
	width: 840px;
	overflow:hidden;
}

#page_main_sub_menu_wrapper{
	width: 840px;
	overflow:hidden;
}

	/* サブメニューなし */
	#page_main_sub_menu_wrapper #page_main {
		width: 840px;
		float: none;
	}
	#page_main_sub_menu_wrapper #sidebar {
		display: none;
	}
	
	body#pages #page_body {
		min-height: 400px;
		padding-bottom: 50px;
	}
	p {
		margin-bottom: 1em;
	}
	p:last-child {
		margin-bottom: 0;
	}
	h2 {
	}
	h3 {
		color: #337ccb;
		font-size: 24px;
		line-height: 1.8em;
		margin: 0 0 10px;
	}
	h4 {
		font-size: 20px;
		line-height: 1.8em;
		margin: 20px 0 5px;
		padding: 0 0 0 15px;
		position: relative;
	}
	h4:before {
		content: " ";
		background: #337ccb;
		width: 5px;
		height: 24px;
		border-radius: 5px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		position: absolute;
		top: 4px;
		left: 0;
	}

	/* サブメニューあり */
	.has_sub_menu #page_main_sub_menu_wrapper #page_main {
		width: 600px;
		float: left;
	}
	/*#########sidebar###########*/
	.has_sub_menu #page_main_sub_menu_wrapper #sidebar {
		width: 200px;
		float: right;
		/*position: relative;*/
		margin: 0 10px 0 0;
		display: inherit;
	}
		.has_sub_menu #page_main_sub_menu_wrapper #sidebar #sidebar_inner {
			width:200px;
			transition-property:top,bottom;
			transition-duration:.5s;
			transition-timing-function:ease-out;
		}
		
	/*#########side_menu###########*/
	#side_menu {
		width: 200px;
		margin: 0 10px 20px 0;
	}
		#sidebar_inner {
			overflow: hidden;
		}
			#sidebar_inner ul {}
			#sidebar_inner li {}
			#sidebar_inner li:last-child {}
			#sidebar_inner li a {
				display: block;
				background: #eaf1f7;
				padding: 10px 10px 10px 30px;
			}
			#sidebar_inner li a:before {
				contact: "\f0da";
				margin-right: 5px;
				margin-left: -10px;
			}
			#sidebar_inner li.current a {}

.figure {
}
.figure.fl_center {
	text-align: center;
}
.figure_inner {
	display: inline-block;
	overflow: hidden;
	padding-bottom: 25px;
}
	.fig_ttl {
		text-align: left;
		font-size: 1.2em;
	}
	.fig_img {
		margin: 10px 0;
	}
		.fig_img img {
			border: 1px solid #666;
			margin: 0 auto;
			padding: 3px;
		}
	.fig_caption {}
	.fig_caption.fl_right {
		float: right;
	}

	#sub_nav {
		margin: 0 0 50px;
	}
		#sub_nav ul {
			text-align: center;
		}
			#sub_nav ul li {
				font-size: 0.9em;
				display: inline-block;
				margin-right: 10px;
			}
			#sub_nav ul li:last-child {
				margin-right: 0;
			}
			#sub_nav ul li.active {}
			#sub_nav ul li a {
				color: #57b1af;
				display: inline-block;
				padding: 5px 40px 5px 25px;
				text-decoration: none;
				text-align: center;
				background: #fff;
				position: relative;
				border: 1px solid #57b1af;
				border-radius: 7px;
				/*-webkit-transition: transform all ease 0.4s;
				-moz-transition: transform all ease 0.4s;
				transition: transform all ease 0.4s;*/
			}
			#sub_nav ul li a:before {
				content: "";
				width: 7px;
				height: 7px;
				display: inline-block;
				border-top: 2px solid #57b1af;
				border-right: 2px solid #57b1af;
				position: absolute;
				top: 37%;
				right: 15px;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
				-webkit-transition: 0.4s ease-in-out;
				-moz-transition: 0.4s ease-in-out;
				transition: 0.4s ease-in-out;
			}
				#sub_nav ul li.active a ,
				#sub_nav ul li a:hover {
					background: #57b1af;
					color: #fff !important;
					-webkit-transition:transform  0.4s ease-in-out;
					transition:transform  0.4s ease-in-out;
				}
				#sub_nav ul li a:hover:before {
					border-color: #fff;
					-webkit-transform: rotate(135deg);
					transform: rotate(135deg);
					-webkit-transition:transform  0.4s ease-in-out;
					transition:transform  0.4s ease-in-out;
				}
				#sub_nav ul li.active a:before {
					border-color: #fff;
					-webkit-transform: rotate(135deg);
					transform: rotate(135deg);
					color: #fff !important;
					top: 37%;
				}
/* サイト内検索 */
.gsc-control-cse div {
	height: auto;
}

input.gsc-search-button {
	vertical-align: middle;
}

}

/*ipad用*/
@media only screen
 and (min-device-width: 768px)
 and (max-device-width: 1024px) {
	.home_catch_wrap {
		height: 350px;
	}

	#home_catch > ul{
		width:auto;
		height:auto;
	}
}


@media screen and (max-width: 479px) {
/* 479px以下用（スマートフォン用）の記述 */
/*#########main_box###########*/
#container_inner {
	min-width: inherit;
}
#pages #main_box_inner {
	width: inherit;
	margin:0 auto;
	overflow:hidden;
}

#contents_ttl {
    height: inherit;
    overflow: hidden;
    margin-bottom: 1em;
}
		#contents_ttl h2 {
			padding: 1em 0.5em;
		}
		#contents_ttl h2.txt_title {
			width: inherit;
			height: 80px;
			line-height: 80px;
			padding: 0 10px;
			margin: 0 auto;
			background-image:
				url(../shared/content_title_tree1.png),
				url(../shared/content_title_tree2.png),
				url(../shared/content_title_bldg.png);
			background-repeat:
				no-repeat, /* 最前面の背景レイヤーに対応 */
				no-repeat,
				no-repeat;
			background-position:
				left bottom , /* 最前面の背景レイヤーに対応 */
				right bottom ,
				right bottom;
			background-size: 80px, 80px, 200px;
			position: inherit;
		}
		#contents_ttl h2.txt_title:before ,
		#contents_ttl h2.txt_title:after {
			content: none;
		}
			#contents_ttl h2.txt_title img {
				display: none;
			}
			#contents_ttl h2 span {
				color: #222;
				font-size: 1.4em;
				font-weight: bold;
				text-shadow:
					2px 2px 5px #fff,
					-2px 2px 5px #fff,
					 2px -2px 5px #fff,
					-2px -2px 5px #fff
				;
			}
	h2 {
	}
	h3 {
		font-size: 1.3em;
		line-height: 1.5em;
	}
	h4 {
		font-size: 1.2em;
		line-height: 1.5em;
		margin: 1.5em 0 0.8em;
	}
	h4:before {
		top: -1px;
	}

#page_main_sub_menu_wrapper{
	width: inherit;
	overflow:hidden;
}

	/* サブメニューなし */
	#page_main_sub_menu_wrapper #page_main {
		width: inherit;
		float: none;
	}
	#page_main_sub_menu_wrapper #sidebar {
		display: none;
	}
	
	body#pages #page_body {
		min-height: 400px;
		padding-bottom: 50px;
	}
	body#pages #page_body p {
		font-size: 14px;
		line-height: 1.8em;
		margin-bottom: 1em;
	}
	body#pages #page_body p:last-child {
		margin-bottom: 0;
	}
	
	#pages.anzen h2 {
	}
	#pages.kagaku h2 {
	}
	#pages.kankyo h2 {
	}
	#pages.haiki h2 {
	}

	/* サブメニューあり */
	.has_sub_menu #page_main_sub_menu_wrapper #page_main {
		width: inherit;
		float: none;
	}
	/*#########sidebar###########*/
	.has_sub_menu #page_main_sub_menu_wrapper #sidebar {
		width: inherit;
		float: none;
		/*position: relative;*/
		margin: 0 10px 0 0;
		display: inherit;
	}
		.has_sub_menu #page_main_sub_menu_wrapper #sidebar #sidebar_inner {
			width:200px;
			transition-property:top,bottom;
			transition-duration:.5s;
			transition-timing-function:ease-out;
		}
		
	/*#########side_menu###########*/
	#side_menu {
		width: 200px;
		margin: 0 10px 20px 0;
	}
		#side_menu_inner {
			overflow: hidden;
		}
			#side_menu_inner ul {}
			#side_menu_inner li {}
			#side_menu_inner li:last-child {}
			#side_menu_inner li a {
				padding: 10px 10px 10px 30px;
			}
			#side_menu_inner li a:before {
				margin-right: 5px;
				margin-left: -10px;
			}
			#side_menu_inner li.current a {}

.figure {
}
.figure.fl_center {
	text-align: center;
}
.figure_inner {
	display: inline-block;
	overflow: hidden;
	padding-bottom: 25px;
}
	.fig_ttl {
		text-align: left;
		font-size: 1.2em;
	}
	.fig_img {
		margin: 10px 0;
	}
		.fig_img img {
			border: 1px solid #666;
		}
	.fig_caption {}
	.fig_caption.fl_right {
		float: right;
	}
	#sub_nav {
		margin: 0 0 50px;
	}
		#sub_nav ul {
			text-align: center;
		}
			#sub_nav ul li {
				font-size: 0.9em;
				display: block;
				margin-right: 0;
				margin-bottom: 10px;
			}
			#sub_nav ul li:last-child {
				margin-right: 0;
			}
			#sub_nav ul li.active {}
			#sub_nav ul li a {
				color: #57b1af;
				display: block;
				padding: 5px 40px 5px 25px;
				text-decoration: none;
				text-align: center;
				background: #fff;
				position: relative;
				border: 1px solid #57b1af;
				border-radius: 7px;
				-webkit-transition: 0.4s ease-in-out;
				transition: 0.4s ease-in-out;
			}
			#sub_nav ul li a:before {
				content: "";
				width: 7px;
				height: 7px;
				display: inline-block;
				border-top: 2px solid #57b1af;
				border-right: 2px solid #57b1af;
				position: absolute;
				top: 37%;
				right: 15px;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
				-webkit-transition: 0.4s ease-in-out;
				transition: 0.4s ease-in-out;
			}
				#sub_nav ul li.active a ,
				#sub_nav ul li a:hover {
					background: #57b1af;
					color: #fff !important;
					-webkit-transition: 0.4s ease-in-out;
					transition: 0.4s ease-in-out;
				}
				#sub_nav ul li a:hover:before {
					border-color: #fff;
					-webkit-transform: rotate(135deg);
					transform: rotate(135deg);
					-webkit-transition: 0.4s ease-in-out;
					transition: 0.4s ease-in-out;
				}
				#sub_nav ul li.active a:before {
					border-color: #fff;
					-webkit-transform: rotate(135deg);
					transform: rotate(135deg);
					color: #fff !important;
					top: 37%;
				}
}


