@charset "utf-8";
@import url("reset.css");
@import url("bootstrap-print.css");
/*--京base.css--*/
html{
	overflow-x:visible;
}
body{
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-family:Arial, Helvetica, sans-serif;
	background: #fff;
	font-size: 14px;
	overflow-x: auto;/* ipad対策 */
	min-width: 1000px;/* ipad対策 */
	color:#000;
}

/*PC版ではborder-boxではcontent-boxへ*/
* {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
*:before,
*:after {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

#container{}
	#container_inner {
		min-width: 1200px;
	}

	/*#####header#####*/
	#header {
	}
		#header_inner {
			width: 960px;
			height:78px;
			margin: 0 auto;
			padding: 20px 0;
			background-image: url(../shared/header_bg.png);
			background-repeat: no-repeat;
			background-position: top 0 left 290px;
		}
			#ttl_logo {
				float: left;
				padding: 10px 0 0 0;
			}
				#ku_logo,
				#site_ttl {
					display: inline-block;
				}
				#ku_logo {
					margin-right: 15px;
				}
				#site_ttl {
				}
			#link_lang {
				width: 447px;
				overflow: hidden;
				margin-bottom: 30px;
				float: right;
				display: flex;
				justify-content: flex-end;
				align-items: center;
			}
				#link_lang a {
					color: #000;
				}

				#header_links {
					margin-right: 40px;
				}
					#header_links ul {
						display: flex;
						align-items: center;
					}
						#header_links ul li {
							font-size: 0.9em;
							padding: 0 0 0 12px;
							margin-right: 15px;
							background: url(../shared/arrow_01.gif) 0 1px no-repeat;
							display: inline-block;
							vertical-align: top;
						}
						#header_links ul li:last-child {
							margin-right: 0;
						}

				.sns_links{
					margin-right: 20px;
				}

					.sns_links ul{
						display: flex;
						gap: 10px;
					}

						.sns_links ul li{}

							.sns_links ul li a{
								display: flex;
								justify-content: center;
								align-items: center;
								width: 24px;
								height: 24px;
								border-radius: 4px;
							}

								.sns_links ul li.sns_x a{
									background: #000;
									transition: .3s all ease;
								}

								.sns_links ul li.sns_x a:hover{
									opacity: 0.7;
								}

				#lang_changer {
					margin-right: 10px;
				}
					#lang_changer ul {
						display: flex;
						align-items: center;
					}
					
						#lang_changer ul li {
							font-size: 0.9em;
							display: inline-block;
							vertical-align: top;
						}
						#lang_changer ul li:nth-child(1):after {
							content: "／";
							margin: 0 0 0 5px;
						}
						#lang_changer ul li a {
							text-decoration: none;
							text-align: center;
							color: #a0a0a0;
							position: relative;
							display: inline-block;
							padding: 0 4px 0 3px;
							margin: 0 2px;
						}
						#lang_changer ul li a:hover {
							color: #c40026;
						}
						#lang_changer ul li.active a {
							color: #c40026;
						}
						#lang_changer ul li.active a:after {
							content: "";
							display: block;
							width: 100%;
							height: 3px;
							background-color: #c40026;
							position: absolute;
							bottom: -3px;
							right: 0;
							left: 0;
							margin: 0 auto;
						}
			/*#####g_nav#####*/
			#g_nav {
				width: 440px;
				float: right;
			}
				#g_nav > ul{
				}

				#g_nav > ul > li{
					float: left;
					padding: 0;
					margin: 0 15px 0 0;
					position: relative;
				}

				#g_nav > ul > li:last-child{
					margin: 0;
				}

				.g_nav_contact{
					float:right;
					width:110px;
					height:100px;
				}

					.g_nav_contact a{
						display:block;
						width:110px;
						height:62px;
						padding-top:38px;
						background:#296450;
						text-align:center;
						transition:background .5s ease;
					}

					.g_nav_contact a:hover{
						background:#307a60;
					}


				#g_nav > ul > li > a{
					display:block;
					height:28px;
					position:relative;
				}

					#g_nav > ul > li > a:after{
						content:"";
						position:absolute;
						bottom:0;
						left:0;
						width:0;
						height:4px;
						background:#a08200;
						transition:width .5s ease;
					}

					#g_nav > ul > li > a:hover:after{
						width:100%;
					}
					#g_nav > ul > li.active > a:after{
						content:"";
						position:absolute;
						bottom:0;
						left:0;
						height:4px;
						background:#a08200;
						width:100%;
					}

						#g_nav > ul > li > a img {
							margin: 0 10px;
						}

						#g_nav > ul > li:first-child > a img {
							margin: 0 15px;
						}

				#g_nav > ul > li > ul{
					display:none;
				}

				#g_nav > ul > li:hover > ul{
					display:block;
					position:absolute;
					top:28px;
					left:0;
					z-index:100;
					width:160px;
					visibility:hidden;
					opacity:0;
					transition:all .5s ease;
					text-align:left;
					background:#fff;
					padding:4px;
				}

				#g_nav > ul > li:hover > ul{
					visibility:visible;
					opacity:1;
				}

				#g_nav > ul > li > ul > li{
					border-bottom:1px dotted #ccc;
				}

				#g_nav > ul > li > ul > li > a{
					display:block;
					text-decoration:none;
					padding:8px;
					color:#111;
					transition:background .5s ease;
				}

				#g_nav > ul > li > ul > li > a:hover{
					background:rgba(237,143,78,0.2);
				}

				#g_nav > ul > li > ul > li > ul{
					margin:0 0 8px 8px;
				}

					#g_nav > ul > li > ul > li > ul > li{
						margin-bottom:0.3em;
					}

					#g_nav > ul > li > ul > li > ul > li:last-child{
						margin-bottom:0;
					}

					#g_nav > ul > li > ul > li > ul > li:before{
						content:"-";
						margin-right:5px;
					}

					#g_nav > ul > li > ul > li > ul > li a{
						color:#111;
					}

	/*#####main#####*/
	#main {
		clear: both;
		padding: 30px 0;
		background-image:
			url(../images/h_content_bg.png),
			url(../shared/container_bg.jpg)
		;
		background-position:
			center 400px,
			left top
		;
		background-repeat:
			no-repeat,
			repeat
		;
	}
	#pages #main {
		clear: both;
		padding: 30px 0 0 0;
		background-image:
			url(../shared/pg_content_bg.png),
			url(../shared/container_bg.jpg)
		;
		background-position:
			center 400px,
			left top
		;
		background-repeat:
			no-repeat,
			repeat
		;
	}

	/*#####footer#####*/
	.footer_bns {
		margin-top:20px;
		height: 100px;
		padding: 20px 0;
		background:#eaf0ee;
	}
		.footer_bns ul {
			width: 1230px;
			margin: 0 auto;
			text-align: center;
			font-size: 0;
		}
			.footer_bns ul li {
				display:inline-block;
				font-size: 1rem;
				margin-right: 20px;
			}
			.footer_bns ul li:last-child {
				margin-right: 0;
			}
				.footer_bns ul li a {
					width:310px;
					height:100px;
					display: inline-block;
					background: #fff;
					text-decoration:none;
				}

				.footer_bns ul li.f_bn1 a {
					background:url(../shared/f_bn1_on.jpg);
				}

				.footer_bns ul li.f_bn2 a {
					background:url(../shared/f_bn2_on.jpg);
				}

				.footer_bns ul li.f_bn3 a {
					background:url(../shared/f_bn3_on.jpg);
				}

					.footer_bns ul li a img {
						opacity: 1;
						transition: all ease .5s;
						-webkit-transition: all ease .5s;
						-moz-transition: all ease .5s;
					}

					.footer_bns ul li a:hover img {
						opacity: 0;
						transition: all ease .5s;
						-webkit-transition: all ease .5s;
						-moz-transition: all ease .5s;
					}


	#footer {
		clear: both;
	}

		#footer_inner {
			width: 960px;
			overflow: hidden;
			margin: 0 auto 30px;
			padding: 0;
			background-image: url(../shared/f_bg.png);
			background-repeat: no-repeat;
			background-position: top 0 left 0;
			font-size: 0.85em;
		}
		#f_ttl_addr {
			width: 230px;
			padding: 80px 0 0 20px;
			float: left;
		}

			#f_site_ttl {
				margin-bottom: 10px;
			}

				#f_addr {
					padding: 0 5px;
				}

		#f_nav {
			width: 680px;
			float: right;
			padding: 30px 0 0 0;
		}

			#f_nav > ul {
				float: left;
				margin-right: 50px;
			}
			#f_nav > ul:last-child {
				margin-right: 0;
			}
			#f_nav a {
				color:#333;
			}
				#f_nav > ul ul {
					margin-left: 15px;
					margin-top: 5px;
				}
					#f_nav > ul ul li {
						margin-bottom: 5px;
					}
					#f_nav > ul ul li:last-chid {
						margin-bottom: 0;
					}

				#f_nav_01 {}
					#f_nav_01 li {
						margin-bottom: 30px;
					}
					#f_nav_01 li:last-chid {
						margin-bottom: 0;
					}
				#f_nav_02 {}
					#f_nav_02 li {}
						#f_nav_02 li ul {
							width: 420px;
						}
							#f_nav_02 li ul li {
								min-width: 200px;
								display: inline-block;
							}
							#f_nav_02 li ul li:nth-child(odd) {
								margin-right: 15px;
							}
				#f_nav_03 {}
					#f_nav_03 li {
						margin-bottom: 30px;
					}
					#f_nav_03 li:last-chid {
						margin-bottom: 0;
					}

		.footer_bottom {
			height: 80px;
			line-height: 80px;
			clear: both;
			background: #333;
			color: #fff;
			font-size: 0.85em;
		}
			.footer_bottom a {
				color: #fff;
			}
			.footer_bottom_inner {
				width: 960px;
				overflow: hidden;
				margin: 0 auto;
			}
				.f_bottom_nav {
					float: left;
					padding-left: 25px;
				}
					.f_bottom_nav ul {
					}
						.f_bottom_nav ul li {
							display: inline-block;
							margin-right: 20px;
						}
						.f_bottom_nav ul li:last-child {
							margin-right: 0;
						}
				.copyright {
					float: right;
				}

#page_top {
	width: 70px;
	height: 70px;
	text-align: center;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
}

	#page_top a{
		display: table-cell;
		vertical-align: middle;
		width: 70px;
		height: 70px;
		line-height: 2em;
		border-radius: 4px;
		background: rgba(59,78,141,0.5);
		color: #fff;
		text-decoration: none;
		transition: all ease .3s;
	}
	#page_top a:hover {
		background: rgba(59,78,141,0.7);
	}
		#page_top a i {
			display: block;
			font-size: 20px;
		}



/*########## 汎用 ##########*/

/*文字色*/
.fc_red {color:red;}
.fc_blue {color:#0000ff;}
.fc_gray {color:gray;}
.fc_orange{color:orange;}

/*フォントスタイル*/
.fw_bold{font-weight:bold;}

/*揃え*/
.ta_center{text-align:center;}
.ta_right{text-align:right;}
.ta_left{text-align:left;}

/*フロート*/
.fl_right{float:right;}
.fl_left{float:left;}
.fl_clear{clear:both;}

/*フォントサイズ（Em）適宜追加*/
.fsem085{font-size:0.85em;}
.fsem09{font-size:0.9em;}
