@charset "UTF-8";



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
*{margin:0;padding:0;text-decoration:none;box-sizing:border-box}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none}address{font-style:normal}strong{font-weight:bold}img{width:100%;height:auto}
html{font-size: 62.5%;}
body{font-size: 1.5rem;}


/* sp */ 
.sp {
	display: none;
}


/* リンク */
a {
	color: #06358d;
	text-decoration: none;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a:before {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}


/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 400;
	color: #2C2C2C;
	padding: 0;
	margin: 0;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow: hidden;
}


/* フォント */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.en {
	font-family: 'Hind Madurai', sans-serif;
	font-weight: 700;
}

.blue {
	color: #06358d;
}

/* flex */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 120px;
	background: #fff;
	padding: 0 30px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 13;
}
	#header .logo {
		width: 250px;
		line-height: 1;
	}


	#header .nav {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: -webkit-calc(100% - 240px);
		width: calc(100% - 240px);
	}
		#header .nav ul.globalnav {
			margin-right: 20px;
		}
			#header .nav ul.globalnav li {
				margin-right: 25px;
				position: relative;
			}
			#header .nav ul.globalnav li:nth-last-child(1) {
				margin-right: 0;
			}
				#header .nav ul.globalnav li a.head {
					display: flex;
					justify-content: center;
					align-items: center;
					height: 50px;
					font-size: 1.3rem;
					font-weight: 700;
					letter-spacing: 0;
					position: relative;
				}
				#header .nav ul.globalnav li.has-child a.head:before {
					content: "";
					width: 0;
					height: 0;
					border-style: solid;
					border-width: 0 10px 10px 10px;
					border-color: transparent transparent #06358d transparent;
					position: absolute;
					bottom: -10px;
					left: 50%;
					margin-left: -10px;
					transition: 0.3s;
					-webkit-transition: 0.3s;
					opacity: 0;
                }
				#header .nav ul.globalnav li.has-child.active a.head:before {
					bottom: 0;
					opacity: 1;
                }

				#header .nav ul.globalnav li.has-child .sub_list {
					width: 200px;
					position: absolute;
					left: 50%;
					top: 60px;
                    padding: 5px 15px;
					border-radius: 10px;
                    margin-left: -100px;
					background: #06358d;
					visibility: hidden;
					opacity: 0;
					transition: 0.3s;
					-webkit-transition: 0.3s;
				}
				#header .nav ul.globalnav li.has-child:hover > .sub_list {
					visibility: visible;
					opacity: 1;
					top: 50px;
				}
                    #header .nav ul.globalnav li.has-child .sub_list li {
                        width: 100%;
                        border-left: none;
                        border-bottom: solid 1px rgba(255,255,255,0.3);
                    }
                    #header .nav ul.globalnav li.has-child .sub_list li:nth-last-child(1) {
                        border-bottom: none;
                    }
                        #header .nav ul.globalnav li.has-child .sub_list li a {
                            display: block;
							height: auto;
					        padding: 13px 0;
                            font-size: 1.2rem;
							line-height: 1.4em;
                            font-weight: 500;
                            color: #fff;
                        }
                        #header .nav ul.globalnav li.has-child .sub_list li a:hover {
                            opacity: 0.7;
                        }


		#header .nav .menubtn {
			display: inline-block;
			width: 110px;
			height: 50px;
			background: linear-gradient(90deg, #042666, #0c57e4);
			border-radius: 25px;
			line-height: 50px;
			text-align: center;
			overflow: hidden;
			cursor: pointer;
			position: relative;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		#header .nav .menubtn.active {
			background: linear-gradient(90deg, #0c57e4, #042666);
		}
			#header .nav .menubtn .btn_txt {
				display: block;
				height: 100%;
				width: 100%;
				font-size: 1.6rem;
				font-weight: 600;
				color: #fff;
				position: absolute;
				left: 0;
				transition: all 0.3s;
			}
			#header .nav .menubtn.active .btn_txt {
				color: #fff;
			}
			#header .nav .menubtn .btn_txt:nth-child(1) {
				top: 0;
			}
			#header .nav .menubtn .btn_txt:nth-child(2) {
				top: -100%;
			}
			#header .nav .menubtn.active .btn_txt:nth-child(1) {
				top: 100%;
			}
			#header .nav .menubtn.active .btn_txt:nth-child(2) {
				top: 0;
			}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	display: none;
	width: 100%;
	height: 100vh;
	background: #fff;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 11;
}
	#menubox .menunav {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
		#menubox .menunav .localnav {
			width: 1200px;
			padding: 0 5%;
			margin: 0 auto;
		}
			#menubox .menunav .localnav .box {
				width: 30%;
				margin-right: 5%;
				margin-top: 25px;
				margin-bottom: 25px;
			}
			#menubox .menunav .localnav .box:nth-child(3n) {
				margin-right: 0;
			}
				#menubox .menunav .localnav .box .en {
					font-size: 1.3rem;
					font-weight: 700;
					line-height: 1;
					padding-left: 20px;
				}
				#menubox .menunav .localnav .box .head {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					height: 60px;
					background: #E5E7ED;
					font-size: 1.6rem;
					font-weight: 700;
					line-height: 1;
					padding: 0 20px;
				}
				#menubox .menunav .localnav .box .head:hover {
					opacity: 0.7;
				}

				#menubox .menunav .localnav .box ul.list {
					margin-top: 15px;
					padding-left: 20px;
				}
					#menubox .menunav .localnav .box ul.list li {
						margin-top: 5px;
					}
						#menubox .menunav .localnav .box ul.list li a {
							display: block;
							font-size: 1.4rem;
							line-height: 1.4em;
							letter-spacing: 0;
							font-weight: 500;
						}
						#menubox .menunav .localnav .box ul.list li a:hover {
							opacity: 0.7;
						}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ページタイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* title */
.title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 30px;
}
.title.white {
	color: #fff;
}
	.title h2 {
		font-size: 5.0rem;
		font-weight: 700;
		line-height: 1.3em;
		letter-spacing: 0.05em;
	}

	.title p {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.3em;
	}


	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* main */
#main {
	display: block;
}
.inner {
	width: 1100px;
	margin: auto;
	position: relative;
}
.inner_full {
	width: 100%;
	position: relative;
}

/* wrap */
.wrap-top {
	padding-top: 120px;
}
.wrap-bottom {
	padding-bottom: 120px;
}

/* txt */
.txt-16 {
	font-size: 1.6rem;
	line-height: 2em;
}
.txt-14 {
	font-size: 1.4rem;
	line-height: 1.7em;
}
.txt-12 {
	font-size: 1.2rem;
	line-height: 1.5em;
}

/* img-over */
a .img-over {
	overflow: hidden;
}
	a .img-over img {
		-moz-transition: -moz-transform 0.2s linear;
		-webkit-transition: -webkit-transform 0.2s linear;
		-o-transition: -o-transform 0.2s linear;
		-ms-transition: -ms-transform 0.2s linear;
		transition: transform 0.2s linear;
	}
	a:hover .img-over img {
		-webkit-transform: scale(1.08);
		-moz-transform: scale(1.08);
		-o-transform: scale(1.08);
		-ms-transform: scale(1.08);
		transform: scale(1.08);
	}

/* more */
.more {
	display: inline-block;
}
	.more a {
		display: block;
		height: 20px;
		background: url("../img/common/icon_arrow_blue.png") no-repeat right center;
		font-size: 1.4rem;
		line-height: 20px;
		text-align: right;
		padding-right: 25px;
	}
	.more a:hover {
		padding-right: 22px;
	}





/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	width: 100%;
	background: #E5E7ED;
}
	#footer .bnr {
		padding: 50px 0;
		border-bottom: solid 1px #CED3DD;
	}
		#footer .bnr ul li {
			width: 23.5%;
		}
			#footer .bnr ul li a {
				display: block;
			}
			#footer .bnr ul li a:hover {
				opacity: 0.7;
			}


	#footer .info {
		padding: 50px 0 20px 0;
		border-bottom: solid 1px #CED3DD;
	}
		#footer .info .profile {
			width: 200px;
		}
			#footer .info .profile .access {
				font-size: 1.2rem;
				line-height: 1.3em;
				margin-top: 15px;
			}


		#footer .info ul.globalnav {
			width: -webkit-calc(100% - 400px);
			width: calc(100% - 400px);
		}
			#footer .info ul.globalnav li {
				margin-right: 60px;
				margin-bottom: 30px;
			}
			#footer .info ul.globalnav li:nth-last-child(1) {
				margin-right: 0;
			}
				#footer .info ul.globalnav li .head {
					display: inline-block;
					font-size: 1.6rem;
					font-weight: 700;
					line-height: 1.3em;
					border-bottom: solid 1px #06358d;
					padding-bottom: 5px;
					margin-bottom: 8px;
				}

				#footer .info ul.globalnav li ul.sub_list li {
					margin-top: 5px;
					margin-right: 0;
					margin-bottom: 0;
				}
					#footer .info ul.globalnav li ul.sub_list li a {
						display: block;
						font-size: 1.2rem;
						line-height: 1.3em;
					}
					#footer .info ul.globalnav li ul.sub_list li a:hover {
						opacity: 0.7;
					}


	#footer .other {
		padding: 30px 0;
	}
		#footer .other .link {
			font-size: 1.3rem;
		}
			#footer .other .link a:hover {
				opacity: 0.7;
			}


		#footer .other .copyright {
			font-size: 1.2rem;
		}
	






/* max 1200px */
@media screen and (max-width: 1200px) {




	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* main */
.inner {
	width: 100%;
	padding: 0 7%;
}
.inner_full {
	width: 100%;
}
	

}





/* 1024px */
@media screen and (max-width: 1024px) {




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	height: 80px;
	padding: 0 20px;
}
	#header .logo {
		width: 250px;
	}


	#header .nav {
		width: -webkit-calc(100% - 230px);
		width: calc(100% - 230px);
	}
		#header .nav ul.globalnav {
			display: none;
		}
	
			#header .nav .menubtn {
				width: 90px;
				height: 40px;
				line-height: 40px;
			}
				#header .nav .menubtn .btn_txt {
					font-size: 1.5rem;
				}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* wrap */
.wrap-top {
	padding-top: 100px;
}
.wrap-bottom {
	padding-bottom: 100px;
}

/* txt */
.txt-16 {
	font-size: 1.5rem;
	line-height: 1.8em;
}
.txt-14 {
	font-size: 1.3rem;
	line-height: 1.6em;
}
.txt-12 {
	font-size: 1.1rem;
	line-height: 1.4em;
}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ページタイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* title */
.title {
	margin-bottom: 25px;
}
	.title h2 {
		font-size: 4.0rem;
	}

	.title p {
		font-size: 1.3rem;
	}





/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer .bnr {
	padding: 40px 0;
}


#footer .info {
	padding: 40px 0 20px 0;
}
	#footer .info .profile {
		width: 200px;
	}
		#footer .info .profile .access {
			font-size: 1.0rem;
		}


	#footer .info ul.globalnav {
		width: -webkit-calc(100% - 260px);
		width: calc(100% - 260px);
	}
		#footer .info ul.globalnav li {
			margin-right: 50px;
			margin-bottom: 20px;
		}
			#footer .info ul.globalnav li .head {
				font-size: 1.4rem;
			}

			#footer .info ul.globalnav li ul.sub_list li a {
				font-size: 1.1rem;
			}


#footer .other {
	padding: 20px 0;
}
	#footer .other .link {
		font-size: 1.2rem;
	}

	#footer .other .copyright {
		font-size: 1.0rem;
	}



}

	







/* max 767px */
@media screen and (max-width: 767px) {


.sp {
	display: block;
}
.pc {
	display: none!important;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	height: 60px;
	padding: 0 0 0 15px;
}
	#header .logo {
		width: 200px;
	}


	#header .nav {
		width: -webkit-calc(100% - 220px);
		width: calc(100% - 220px);
	}
		#header .nav ul.globalnav {
			width: 100%;
			margin-right: 0;
			position: fixed;
			bottom: 0;
			left: 0;
		}
			#header .nav ul.globalnav li.entry {
				width: 50%;
				margin-right: 0;
			}
			#header .nav ul.globalnav li.entry:nth-last-child(1) {
				border-left: solid 1px #FC939C;
			}
				#header .nav ul.globalnav li.entry a {
					height: 56px;
					border-radius: 0;
					font-size: 1.4rem;
				}
	
		#header .nav .menubtn {
			width: 60px;
			height: 60px;
			border-radius: 0;
			line-height: 60px;
		}
			#header .nav .menubtn .btn_txt {
				font-size: 1.2rem;
			}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	height: 100dvh;
}
	#menubox .menunav {
		display: block;
		height: 100vh;
		height: 100dvh;
		overflow-y: scroll;
	}
		#menubox .menunav .localnav {
			display: block;
			width: 100%;
			padding: 100px 5%;
		}
			#menubox .menunav .localnav .box {
				width: 100%;
				margin-right: 0;
				margin-top: 0;
				margin-bottom: 30px;
			}
				#menubox .menunav .localnav .box .head {
					height: 50px;
				}
					#menubox .menunav .localnav .box ul.list li a:hover {
						color: #0B3384;
						background: url("../img/btn_arrow_red.svg") no-repeat left 0 top 4px / 14px;
					}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* wrap */
.wrap-top {
	padding-top: 60px;
}
.wrap-bottom {
	padding-bottom: 60px;
}

/* txt */
.txt-16 {
	font-size: 1. 4rem;
	line-height: 1.7em;
}
.txt-14 {
	font-size: 1.2rem;
	line-height: 1.5em;
}
.txt-12 {
	font-size: 1.0rem;
	line-height: 1.3em;
}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ページタイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* title */
.title {
	display: block;
	text-align: center;
}
	.title h2 {
		font-size: 3.2rem;
	}

	.title p {
		font-size: 1.4rem;
	}





/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer .bnr {
	padding: 30px 0;
}
	#footer .bnr ul {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
		#footer .bnr ul li {
			width: 48%;
			margin-right: 4%;
			margin-bottom: 4%;
		}
		#footer .bnr ul li:nth-child(2n) {
			margin-right: 0;
		}
		#footer .bnr ul li:nth-last-child(1),
		#footer .bnr ul li:nth-last-child(2) {
			margin-bottom: 0;
		}


#footer .info {
	padding: 30px 0 20px 0;
}
#footer .info .inner {
	display: block;
}
	#footer .info .profile {
		width: 100%;
		margin-bottom: 30px;
	}
		#footer .info .profile .logo {
			width: 200px;
			margin: 0 auto;
		}
	
		#footer .info .profile .access {
			font-size: 1.2rem;
			text-align: center;
		}


	#footer .info ul.globalnav {
		width: 100%;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
		#footer .info ul.globalnav li {
			width: 48%;
			margin-right: 4%;
			margin-bottom: 25px;
		}
		#footer .info ul.globalnav li:nth-child(2n) {
			margin-right: 0;
		}
			#footer .info ul.globalnav li .head {
				display: block;
				font-size: 1.5rem;
				margin-bottom: 15px;
			}

			#footer .info ul.globalnav li ul.sub_list li {
				width: 100%;
			}
				#footer .info ul.globalnav li ul.sub_list li a {
					font-size: 1.2rem;
				}


#footer .other .inner {
	display: block;
	text-align: center;
}
	#footer .other .link {
		margin-bottom: 15px;
	}



}