@charset "utf-8";
@import url("reset.css");
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*--京base.css--*/
html {
	font-size: 16px;
}

body {
	width: 100%;
	height: 100%;
	color: #222;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	line-height: 1.0;
}

img{
	vertical-align:bottom;
}

#container{
	width: 100%;
	min-width: 1100px;
	position: relative;
	background: #f0fefe;
	overflow: hidden;
}

#container::after {
    content: "";
    display: block;
    width: 100%;
    height: 1080px;
    background-image: url(../../shared/page_pc_bg.jpg);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 1920px auto;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 0;
}

/*----------header----------*/
header{
	box-sizing: border-box;
	width: 100%;
	position:fixed;
	z-index: 3;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.9);
	transition: .3s all ease;
}

	header > .box_header{
		box-sizing: border-box;
		width: 1080px;
		height: 54px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto;
		position: relative;
		padding-left: 150px;
		transition: .3s all ease;
	}

		header > .box_header .ku_logo{
			width: 120px;
			height: 120px;
			/*background: #fff;
			box-shadow: 0px 1px 5px -1px rgba(10,10,10,0.3);*/
			position: absolute;
			top: 0;
			left: 15px;
			transition: .3s all ease;
		}

			header > .box_header .ku_logo a{
				box-sizing: border-box;
				display: block;
				width: 120px;
				height: 120px;
				/*padding: 5px;*/
				transition: .3s all ease;
			}

				header > .box_header .ku_logo a img{
					max-width: 100%;
					height: auto;
				}

		header > .box_header .division_name{
			transition: .3s all ease;
			font-size: 0.95rem;
		}

			header > .box_header .division_name a{
				/*color: #3c4664;*/
				color: #555;
				text-decoration: none;
			}

				header > .box_header .division_name a .lbl1{
					margin-right: 1em;
				}

		header > .box_header .lang_btn{}

			header > .box_header .lang_btn a{
				display: block;
				border: 1px solid #414a68;
				/*border: 1px solid #555;*/
				text-decoration: none;
				color: #414a68;
				/*color: #555;*/
				font-size: 0.9rem;
				padding: 0.35em 0.6em 0.25em;
				transition: .3s all ease;
				white-space: nowrap;
			}

			header > .box_header .lang_btn a:hover{
				background: #414a68;
				/*background: #555;*/
				color: #fff;
			}

	header > .box_inner{
		box-sizing: border-box;
		/*border-top: 2px solid #ebebeb;*/
		height: 66px;
		transition: .3s all ease;
	}

		header > .box_inner .site_title_global_nav{
			box-sizing: border-box;
			width: 1040px;
			height: 100%;
			margin: 0 auto;
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding-left: 150px;
		}

		header > .box_inner .site_title{
			width: 170px;
			transition: .3s all ease;
		}

			header > .box_inner .site_title a{
				display: block;
				transition: .3s all ease;
			}

			header > .box_inner .site_title a img{
				max-width: 100%;
				height: auto;
			}

			header > .box_inner .site_title a:hover{
				filter: brightness(120%);
			}

		header > .box_inner .global_nav{
			height: 100%;
		}

			header > .box_inner .global_nav ul{
				display: flex;
				height: 100%;
			}

				header > .box_inner .global_nav ul li{
					height: 100%;
					position: relative;
				}

					header > .box_inner .global_nav ul li:after{
						content: "";
						display: block;
						width: 0;
						height: 20px;
						border-right: 1px solid #ccc;
						position: absolute;
						right: 0;
						top: calc(50% - 10px);
					}

					header > .box_inner .global_nav ul li:last-child:after{
						content: none;
					}

					header > .box_inner .global_nav ul li a{
						display: flex;
						height: 100%;
						align-items: center;
						justify-content: center;
						flex-direction: column;
						padding: 0 1.75rem;
						position: relative;
						text-decoration: none;
						color: #111;
					}

						header > .box_inner .global_nav ul li a .lbl_ja{
							font-weight: 500;
							font-size: 1.1rem;
							margin-bottom: 0.4em;
						}

						header > .box_inner .global_nav ul li a .lbl_en{
							font-size: 0.78rem;
							text-transform: uppercase;
							/*color: rgba(0,84,114,0.9);*/
							color: rgba(22,63,127,0.9);
							font-weight: 500;
						}

						header > .box_inner .global_nav ul li a:before{
							content: "";
							display: block;
							width: 100%;
							height: 0;
							border-bottom: 5px solid #17285b;
							/*border-bottom: 5px solid #555;*/
							position: absolute;
							left: 0;
							bottom: 0;
							z-index: 2;
							opacity: 0;
							transform: scaleX(0);
							transition: .3s all ease;
						}

						header > .box_inner .global_nav ul li.active a:before{
							opacity: 1;
							transform: scaleX(1);
						}

						header > .box_inner .global_nav ul li a:after{
							content: "";
							display: block;
							width: calc(100% - 0.6rem);
							height: calc(100% - 0.9rem);
							position: absolute;
							top: 0.3rem;
							left: 0.3rem;
							z-index: 1;
							background: rgba(23,40,91,0.1);
							transition: .3s all ease;
							opacity: 0;
							transform: scaleY(0);
						}

						header > .box_inner .global_nav ul li a:hover:after{
							opacity: 1;
							transform: scaleY(1);
						}

						header > .box_inner .global_nav ul li a img{
							position: relative;
							z-index: 3;
						}

/*.small_header*/
.small_header header{
	box-shadow: 0 5px 5px -5px rgba(0,0,0,0.2);
}

	.small_header header > .box_header{
		height: 40px;
	}

		.small_header header > .box_header .ku_logo{
			width: 90px;
		    height: 90px;
		}

			.small_header header > .box_header .ku_logo a{
				width: 90px;
				height: 90px;
				/*padding: 5px;*/
			}

		.small_header header > .box_header .division_name{
			font-size: 0.9rem;
		}

	.small_header header > .box_inner{
		height: 50px;
	}

		.small_header header > .box_inner .site_title{
			width: 150px;
		}

		.small_header header > .box_inner .global_nav ul li a:before{
			border-bottom-width: 3px;
		}

		.small_header header > .box_inner .global_nav ul li a:after{
			height: calc(100% - 0.5rem);
			top: 0.2rem;
		}

/*----------contents----------*/
.contents{
	/*background-color: #323c3d;*/
	/*background-color: #ebfdff;*/
	/*background-color: #efefef;*/
	/*background-image: url(../../shared/home/img_home_catch.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;*/
	position:relative;
	top:0;
	left:0;
	z-index:1;
	/*margin-top: 120px;*/
	padding-top: 120px;
	padding-bottom: 4em;
}

/*
	.contents::before{
		content: "";
		display: block;
		width: 100%;
		aspect-ratio: 1100 / 378;
		position: absolute;
		top: 50vw;
		left: 0;
		z-index: -1;
		background: rgb(235,253,255);
		background: linear-gradient(180deg, rgba(235,253,255,0) 0%, rgba(235,253,255,1) 50%, rgba(235,253,255,1) 100%);
	}
*/

/*-----footer-----*/
footer{
	position:relative;
	z-index:1;
	/*background: #fff;*/
	/*background: #17285b;*/
	/*background: #555555;*/
	padding: 2rem 0 2rem;
	color: #222;
	background: rgba(255, 255, 255, 0.75);
}

	footer > .box_header{
		border-bottom: 1px solid #c2c4c3;
		width: 1000px;
		margin: 0 auto 2rem;
		padding-bottom: 1.8rem;
	}

		footer > .box_header ul{
			font-size: 0.84rem;
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
		}

			footer > .box_header ul li{
				margin-right: 1.5em;
			}

			footer > .box_header ul li:last-child{
				margin-right: 0;
			}

				footer > .box_header ul li a{
					color: #111;
					/*color: #fff;*/
					display: flex;
					align-items: center;
					/*height: 16px;*/
					background-image: url("../../shared/link_b.png");
					background-repeat: no-repeat;
					background-size: 13px 13px;
					background-position: left top;
					padding-left: 1.1rem;
					text-decoration: none;
					position: relative;
				}

					footer > .box_header ul li a:before{
						content: "";
						display: block;
						position: absolute;
						left: 0;
						bottom: 0;
						width: 100%;
						height: 0;
						border-bottom: 1px solid #111;
						transition: .3s all ease;
						transform: scaleX(0);
						transform-origin: left bottom;
						opacity: 0;
					}

					footer > .box_header ul li a:hover:before{
						transform: scaleX(1);
						opacity: 1;
					}

	footer > .box_inner{
		
	}

		footer > .box_inner .f_addr{
			margin-bottom: 2rem;
		}

			footer > .box_inner .f_addr dl{
				display: flex;
				flex-direction: column;
				align-items: center;
			}

				footer > .box_inner .f_addr dl dt{
					border-top: 1px solid #3d4663;
					padding-top: 0.2rem;
					margin-bottom: 1.8rem;
				}

				footer > .box_inner .f_addr dl dd{}

					footer > .box_inner .f_addr dl dd p{
						color: #3c4664;
						font-size: 0.9rem;
					}

						footer > .box_inner .f_addr dl dd p .lbl_zip{}

						footer > .box_inner .f_addr dl dd p .lbl_addr{}

            footer > .box_inner .f_addr p{
                text-align: center;
				color: #111;
                font-size: 0.9rem;
				line-height: 1.4;
            }

		footer > .box_inner .f_nav{
			margin: 0 0 3rem 0;
		}

			footer > .box_inner .f_nav ul{
				display: flex;
				justify-content: center;
				font-size: 0.9rem;
			}

			footer > .box_inner .f_nav ul li{
				padding: 0 1.8em;
				border-right: 1px solid #ccc;
			}

			footer > .box_inner .f_nav ul li:last-child{
				border-right: none;
			}

			footer > .box_inner .f_nav ul li a{
				color: #111;
				text-decoration: none;
			}

			footer > .box_inner .f_nav ul li a:hover{
				text-decoration:underline;
			}

footer > .box_footer{
    text-align: center;
}

	footer > .box_footer .copyright{
		color: #222;
		font-size: 0.82rem;
	}

.nav_oc{
    display: none;
	width: 90px;
	height: 90px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
}

	.menu-trigger{
		width: 100%;
		height: 100%;
		padding: 0;
		border: none;
		background: rgba(23,40,91,1);
		cursor: pointer;
		outline: none;
		position: relative;
		transition: .3s all ease;
	}

	.menu-trigger:hover{
		background: rgba(23,40,91,0.9);
	}

	.menu-trigger.active{
		background: none;
	}


		.menu-trigger span {
			display: inline-block;
			transition: all .4s;
			box-sizing: border-box;
			width: 30px;
			height: 2px;
			background-color: #fff;
			position: absolute;
			left: 30px;
		}

		.menu-trigger.active span {
			
		}

		.menu-trigger span:nth-of-type(1) {
			top: 30px;
		}

		.menu-trigger span:nth-of-type(2) {
			top: 44px;
		}
		.menu-trigger span:nth-of-type(3) {
			bottom: 30px;
		}

		.menu-trigger.active span:nth-of-type(1) {
			-webkit-transform: translateY(13px) rotate(-315deg);
			transform: translateY(13px) rotate(-315deg);
		}
		.menu-trigger.active span:nth-of-type(2) {
			opacity: 0;
		}
		.menu-trigger.active span:nth-of-type(3) {
			-webkit-transform: translateY(-14px) rotate(315deg);
			transform: translateY(-14px) rotate(315deg);
		}

.side_nav{
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
	width: 100%;
	height: 100%;
	transition: .3s all ease;
	background: rgba(255,255,255,0);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.side_nav.active{
	z-index: 9;
	opacity: 1;
	background: rgba(23,40,91,0.95);
}

	.side_nav .side_lang_nav{
		margin-bottom: 3rem;
	}

		.side_nav .side_lang_nav dl{
			display: flex;
			flex-direction: column;
			align-items: center;
			color: #fff;
		}

			.side_nav .side_lang_nav dl dt{
				font-weight: bold;
				margin-bottom: 0.9rem;
				font-size: 1.05em;
			}

			.side_nav .side_lang_nav dl dd{}

				.side_nav .side_lang_nav dl dd ul{
					display: flex;
				}

					.side_nav .side_lang_nav dl dd ul li{
						margin-right: 1rem;
					}

					.side_nav .side_lang_nav dl dd ul li:last-child{
						margin-right: 0;
					}

						.side_nav .side_lang_nav dl dd ul li a{
							display: block;
							color: #fff;
							text-decoration: none;
							background: rgba(0,0,0,0.2);
							padding: 0.5rem 1rem;
							border-radius: 4px;
						}

						.side_nav .side_lang_nav dl dd ul li.active a{
							color: #111;
							font-weight: bold;
							background: #fff;
							box-shadow: 2px 2px 1px 0 rgba(0,0,0,0.3) inset;
						}

	.side_nav .side_global_nav{
		display: flex;
		justify-content: center;
	}

		.side_nav .side_global_nav a{
			text-decoration: none;
		}

		.side_nav .side_global_nav > ul{
			width: 400px;
		}

		.side_nav .side_global_nav > ul > li{
			margin-bottom: 0.8em;
		}

			.side_nav .side_global_nav > ul > li > a{
				box-sizing: border-box;
				color: #000;
				width: 100%;
				height: 3em;
				font-weight: bold;
				display: flex;
				align-items: center;
				padding: 0 0 0 0.8em;
				position: relative;
				z-index: 1;
				font-size: 1.1em;
				background: rgba(255,255,255,0.98);
				box-shadow: 0 3px 5px -3px rgba(0,0,0,0.8);
				border-radius: 3px;
				overflow: hidden;
			}
				
				.side_nav .side_global_nav > ul > li > a:before{
					content: "";
					display: block;
					width: 100%;
					height: 100%;
					background: rgba(0,84,114,0.2);
					position: absolute;
					bottom: 0;
					left: 0;
					z-index: -1;
					transition: .3s all ease;
					transform-origin: left bottom;
					transform: scaleX(0);
				}

				.side_nav .side_global_nav > ul > li > a:hover:before{
					transform: scaleX(1);
				}

			.side_nav .side_global_nav > ul > li > .nolink{
				box-sizing: border-box;
				color: #000;
				width: 100%;
				height: 2em;
				font-weight: bold;
				display: flex;
				align-items: center;
				padding: 0 0 0 0.8em;
				position: relative;
				z-index: 1;
				font-size: 1em;
				background: rgba(255,255,255,0.7);
			}

			.side_nav .side_global_nav > ul > li > .nolink:before{
				font-family: FontAwesome;
				content:"\f0d7";
				font-weight: normal;
				margin-right: 0.3em;
				color: rgba(1,164,117,1)
			}
				
					
			.side_nav .side_global_nav > ul > li > ul{
				font-size: 0.9em;
				margin: 1em 0 1em 1em;
			}

				.side_nav .side_global_nav > ul > li > ul > li{
					margin-bottom: 0.4em;
				}

					.side_nav .side_global_nav > ul > li > ul > li > a{
						color: #fff;
						display: block;
						padding: 0.5em;
						transition: .5s all ease;
					}

					.side_nav .side_global_nav > ul > li > ul > li > a:hover{
						background: rgba(255,255,255,0.1);
					}
	
/*ページトップ*/
.pagetop{
	width:80px;
	height:80px;
	position:fixed;
	bottom:90px;
	right:60px;
	z-index:10;
	transform:translateY(100px);
	transition:.3s all ease;
	opacity:0;
}

.pagetop.show{
	transform:translateY(0);
	opacity:1;
}

	.pagetop a{
		box-sizing: border-box;
		display:flex;
		justify-content: center;
		align-items: center;
		transition:.5s all ease;
		width:100%;
		height:100%;
		text-decoration:none;
		background: #2159b7;
		border-radius: 50%;
		padding-top: 10px;
	}
	
	.pagetop a:hover{
		transform:translateY(-5px);
	}

		.pagetop a:before{
			content: "";
			display: inline-block;
			width: 18px;
			height: 18px;
			border-left: 2px solid rgba(255,255,255,1);
			border-top: 2px solid rgba(255,255,255,1);
			transform-origin: center center;
			transform: rotate(45deg) skewX(8deg);
		}

		.pagetop a:hover:before{
			border-left: 2px solid rgba(255,255,255,1);
			border-top: 2px solid rgba(255,255,255,1);		}


/*ヘッダ固定によるアンカーずれ対応*/
*[id^="anc_"]{
	padding-top: 100px;
	margin-top:-100px;
    margin-bottom: 70px;
}


/*改行のPC,SPでの表示切替*/
br.pc,
img.pc,
span.pc{
	display:inline;
}

br.sp,
img.sp,
span.sp{
	display:none;
}

.ta_center{
	text-align:center;
}

.sns_btns{
    width: 5rem;
    position: fixed;
    bottom: 50px;
    right: 60px;
    z-index: 11;
	transition: .3s all ease;
	display: none;
}

.sns_btns.show{
    bottom: 200px;
}

	.sns_btns ul{
		display: flex;
		flex-direction: column;
		align-items: center;
	}

		.sns_btns ul li{
			margin-bottom: 0.75rem;
		}

		.sns_btns ul li:last-child{
			margin-bottom: 0;
		}

			.sns_btns ul li a{
				display: flex;
				justify-content: center;
				align-items: center;
				width: 4rem;
				height: 4rem;
				border-radius: 50%;
				background: #fff;
				box-shadow: 0 0 10px 1px rgba(23,40,91,0.1);
				transition: .3s all ease;
			}

			.sns_btns ul li a:hover{
				box-shadow: 0 0 5px 1px rgba(23,40,91,0.3);
			}

				.sns_btns ul li a .fig{
					width: 2rem;
					transition: .3s all ease;
				}

				.sns_btns ul li a:hover .fig{
					transform: scale(1.05);
				}

				.sns_btns ul li a .fig img{
					max-width: 100%;
					height: auto;
				}

/*1200px以下*/
@media screen and (min-width:1px) and (max-width:1200px){}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
	#container{
		min-width: auto;
		min-width: initial;
	}

	header > .box_header,
	.small_header header > .box_header{
		width: auto;
		height: auto;
		padding: 1vw 3vw 1vw 14vw;
	}

		header > .box_header .ku_logo{
			width: 10vw;
			height: 10vw;
			left: 2vw;
		}

			header > .box_header .ku_logo a,
			.small_header header > .box_header .ku_logo a{
				width: 100%;
				height: 100%;
				padding: 1.5vw;
			}

		header > .box_header .division_name{
			display: flex;
			justify-content: center;
			width: 100%;
		}

		.small_header header > .box_header .division_name{
			font-size: 1rem;
		}

		header > .box_header .division_name a{
			display: flex;
			flex-direction: column;
			align-items: center;
			line-height: 1.4;
		}

			header > .box_header .division_name a .lbl1{
				margin-right: 0;
			}

		header > .box_inner .site_title_global_nav{
			width: auto;
			padding: 0;
			justify-content: flex-end;
		}

			header > .box_inner .global_nav ul li a{
				padding: 0 1rem;
			}

	footer{
		padding-right: 3vw;
		padding-left: 3vw;
	}

	footer > .box_header{
		width: auto;
		padding: 0 1rem 1rem 1rem;
	}

		footer > .box_header ul{
			flex-wrap: wrap;
			justify-content: flex-start;
		}

			footer > .box_header ul li{
				margin-bottom: 0.7em;
			}

			footer > .box_inner .f_nav ul li{
				padding: 0 1em;
			}

	.pagetop{
		bottom: 2rem;
		right: 2rem;
	}

	.sns_btns{
		right: 2rem;
		bottom: 2rem;
	}

	.sns_btns.show{
		bottom: 9rem;
	}

}

/* ##########印刷用########## */
@media print{
	header{
		position:relative;
	}
	
	.pagetop{
		display: none;
	}
	
	.grecaptcha-badge{
		display: none !important;
	}
}