@charset "UTF-8";


/* グループ企業ナビゲーション
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	.GHead-notA{
		position: relative;
		display: block;
		text-align: center;
		font-size: 15px;
		font-size: 1.5rem;
		color: #b0b0b0;
		line-height: 41px;
		text-decoration: none;
	}
.groupnav {
	background: #3760B1;
	position: absolute;
	top: 400px;
	width: 100%;
	z-index: -1;
}
header .groupnav {
	transition: top 0.3s ease-out;
}
header.fixed .groupnav {
	top: 50px !important;
}
	.groupnav ul {
		display: table;
		table-layout: fixed;
	}
	.groupnav ul.spOnly {
		display: none;
	}
	.groupnav ul li {
		display: table-cell;
		position: relative;
		text-align: center;
		vertical-align: middle;
		font-size: 13px;
		font-size: 1.3rem;
		color: #fff;
		border-left: 1px solid #fff;
		box-sizing: border-box;
		height: 60px;
	}
		.groupnav ul li a {
			color: #fff;
			display: block;
			position: relative;
		}
}
@media screen and (max-width: 767px) {
  nav.groupnav {
    display: none;
    background: #3b3b3b;
		position: fixed !important;
		height: 100vh;
		top: 0;
		overflow-y: scroll;
  }
	nav.groupnav ul:first-child {
		margin-top: 55px;
	}
	nav.groupnav ul:last-child {
		margin-bottom: 55px;
	}
		nav.groupnav li {
			width: 100%;
		}
		nav.groupnav ul:first-child li:nth-child(even) {
			display: none;
		}
			nav.groupnav li a {
				display: block;
				color: #fff;
				line-height: 60px;
				font-size: 16px;
				font-size: 1.6rem;
				border-top: 1px solid #fff;
				width: 100%;
				padding: 0 30px;
				box-sizing: border-box;
				position: relative;
			}
			nav.groupnav li.line2 a {
				line-height: 20px;
				padding: 10px 30px;
			}
			nav.groupnav ul:first-child {
				margin-top: 55px;
			}
				nav.groupnav ul:first-child li a:after {
					content: "";
					display: block;
					width: 5px;
					height: 5px;
					border-top: 2px solid #fff;
					border-right: 2px solid #fff;
					transform: rotate(45deg);
					position: absolute;
					right: 30px;
					top: 26px;
				}
			nav.groupnav.gnav ul.gnavList li.gnavItem .mega {
				display: none;
			}
	nav.groupnav ul.spOnly {
		display: flex;
		display: -ms-flexbox;
		flex-wrap: wrap;
		border-bottom: 1px solid #fff;
	}
		nav.groupnav ul.spOnly li {
			width: 50%;
			box-sizing: border-box;
		}
		nav.groupnav ul.spOnly li:nth-child(odd) {
			border-right: 1px solid #fff;
		}
			nav.groupnav ul.spOnly li a {
				text-align: center;
				padding: 0;
				font-size: 14px;
				font-size: 1.4rem;
			}
			nav.groupnav ul.spOnly li a.linkOff {
				color: rgba(255, 255, 255, 0.3);
			}
}

/* header
--------------------------------------------------*/
header {
	background: #fff;
	height: 90px;
	width: 100vw;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 200;
	box-shadow: 0px 3px 1px -1px rgba(0,0,0,0.1);
	transition: height 0.3s ease-out;
}
header > div{
	position: relative;
}
header.fixed{

	height: 50px;
}
header.fixed .block01{

	transition: opacity 0.3s ease-out;
	opacity: 0;
}
header.fixed nav.gnav{
	transition: top 0.3s ease-out;
	top: 9px;
	background:#fff;
}
header nav.gnav{
	position: absolute;
	left: 50%;
	top: 50px;
	margin-left: -500px;
}
header nav.gnav div{
	position: relative;
	transition: padding-left 0.3s ease-out;
}
header.fixed nav.gnav > div{
	padding-left: 50px;
}
header #header_sublogo{
	position: absolute;
	top: 8px;
	left: 5px;
	transition: opacity 0.3s ease-out;
	display:none;
	opacity: 0;
	width: 25px;
	height: 25px;
	background: url(/-/media/image/header-min-logo.png) no-repeat  0 0 scroll;
	background-size: cover;
}

header.fixed #header_sublogo{
	display:inline-block;
	opacity: 1;

}
header.fixed #header_sublogo:hover{
	opacity: 0.7;

}
header .sitesearch img {
	vertical-align: middle;
	margin-bottom: 0px;
}
@media screen and (min-width: 1020px) {
  header div.block01 {
		transform: translateX(-12px);
  }
  header nav.gnav {
		transform: translateX(-12px);
	}
}
@media screen and (min-width: 768px) {
  header div.block01 {
	  height: 47px;
  }
	  header div.block01 h1,
	  header div.block01 div {
			float: left;
			margin-top: 8px;
			width: 345px;
	  }
			header div.block01 h1 a,
			header div.block01 div a {
				opacity: 1;
				-webkit-transition: 0.3s;
								transition: 0.3s;
			}
			header div.block01 h1 a:hover,
			header div.block01 div a:hover {
				opacity: 0.7;
			}
	  header div.block01 ul {
			float: right;
	  }
		  header div.block01 ul li {
				display: inline-block;
				line-height: 47px;
		  }
		  header .lang_en div.block01 ul li {
				display: inline;
		  }
			  header div.block01 ul li:before {
					content: "｜";
					margin: 0 5px;
			  }
			  header div.block01 ul li:first-child:before {
					content: "";
			  }
			  header div.block01 ul li a {
					font-size: 14px;
					font-size: 1.4rem;
					color: #333;
					opacity: 1;
					-webkit-transition: 0.3s;
									transition: 0.3s;
			  }
				header div.block01 ul li a[target="_blank"]:not(.sitesearch):before{
					content: url(/-/media/image/top/t-bl.png);
					margin-right: 5px;
					position: relative;
				}


			  header div.block01 ul li a:hover {
					text-decoration: none;
					opacity: 0.7;
			  }
				header div.block01 ul li a.linkOff {
					color: rgba(100, 100, 100, 0.3);
				}

  header nav.gnav {}
		header nav.gnav ul.gnavList {
			width: 100%;
			display: flex;
			display: -ms-flexbox;
			justify-content: space-between;
		}
			header nav.gnav ul.gnavList li.gnavItem {
				width: 20%;
			}
			header.fixed nav.gnav ul.gnavList li.gnavItem {
				width: auto;
				min-width: 17%;
			}
		  header nav.gnav ul.gnavList li.gnavItem:first-child {
				display: none;
		  }
				header nav.gnav ul.gnavList li.gnavItem a.gnavLink {
					position: relative;
					display: block;
					text-align: center;
					font-size: 15px;
					font-size: 1.5rem;
					color: #333;
					line-height: 41px;
				}
				header nav.gnav ul.gnavList li.gnavItem a.gnavLink:hover {
					text-decoration: none;
				}
				header nav.gnav ul.gnavList li.gnavItem a.gnavLink.current:after,
				header nav.gnav ul.gnavList li.gnavItem a.gnavLink:hover:after {
					content: "";
					display: block;
					width: 100%;
					height: 5px;
					background: #6da4da;
					position: absolute;
					bottom: 0;
				}
				header nav.gnav ul.gnavList li.gnavItem .mega {
					width: 940px;
					position: absolute;
					background: #fff;
					display: none;
					padding: 20px;
					box-sizing: border-box;
					left: 30px;
					top: 70px;
					box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
					z-index: 200;
				}
				header nav.gnav ul.gnavList li.gnavItem .mega.megaService {
					width: 440px;
					left: 80px;
				}
				header.fixed nav.gnav ul.gnavList li.gnavItem .mega.megaService {
					left: 130px;
				}
				header nav.gnav ul.gnavList li.gnavItem .mega.megaCompany {
					width: 580px;
					left: 410px;
				}
				header .lang_en nav.gnav ul.gnavList li.gnavItem .mega.megaCompany {
					width: 620px;
					left: 390px;
				}
				header.fixed nav.gnav ul.gnavList li.gnavItem .mega.megaCompany {
					left: 450px;
				}
				header nav.gnav ul.gnavList li.gnavItem .mega:before {
					content: "";
					display: block;
					border: 13px solid transparent;
					border-bottom: 25px solid #fff;
					position: absolute;
					top: -38px;
					left: calc(50% - 13px);
				}
				header nav.gnav ul.gnavList li.gnavItem .mega:after {
					content: "";
					display: block;
					width: 100%;
					height: 30px;
					position: absolute;
					top: -30px;
					left: 0;
				}
				header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame {
					display: flex;
					display: -ms-flexbox;
				}
				header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame ul.megaLeft {
					border-right: 1px solid #ccc;
					width: 50%;
					box-sizing: border-box;
				}
				header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame ul.megaRight {
                    padding-left: 20px;
				}
					header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame ul li {
						margin: 12px 0;
						line-height: 1;
					}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame ul li a {
							/*
							font-size: 12px;
							font-size: 1.2rem;*/
							color: #646464;
							line-height: 1.2;
						}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame ul li a:before{
							content: '';
							display: inline-block;
							width: 10px;
							height: 16px;
							background:url(/-/media/image/top/arrow.png) no-repeat 0 5px scroll;
							margin-right: 0;
							vertical-align:top;
							position: relative;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaCompany ul.megaRight li a:before {
							background-position: 0 2px;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaCompany ul.megaRight li{
							padding-left: 10px;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaCompany ul.megaRight li:first-child{
							padding-left: 0;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaCompany ul.megaRight li:first-child a:before {
							background-position: 0 5px;
						}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame ul li a[target="_blank"]:before{
							background:none;
							margin-right: 5px;
							position: relative;
							content: url(/-/media/image/top/t-bl.png);
						}

				header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight {
					padding: 0 45px;
					width: 50%;
					box-sizing: border-box;
				}
					header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight a {
						color: #646464;
					}
					header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight a:hover {
						text-decoration: none;
					}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight figure {
							width: 272px;
							position: relative;
							overflow: hidden;
						}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight a figure:after {
							content: "";
							display: block;
							width: 100%;
							height: 100%;
							position: absolute;
							top: 0;
							left: 0;
							background: url(/-/media/image/bg_thum_hover.svg) center no-repeat rgba(0, 0, 0, .4);
							background-size: auto 40%;
							opacity: 0;
							-webkit-transition: 0.5s;
											transition: 0.5s;
						}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight a:hover figure:after {
							opacity: 1;
						}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight h3 {
							margin: 10px 0;
							font-size: 15px;
							font-size: 1.5rem;
							line-height: 1.2;
						}
						header nav.gnav ul.gnavList li.gnavItem .mega div.megaFrame div.megaRight p {
							font-size: 14px;
							font-size: 1.4rem;
							line-height: 1.2;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaFrame ul li a{
							font-size: 16px;
							font-size: 1.6rem;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaCompany ul.megaRight li a {
							font-size: 12px;
							font-size: 1.2rem;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaCompany ul.megaRight li:first-child{
							padding-bottom: 5px;
						}
						header nav.gnav ul.gnavList li.gnavItem div.megaCompany ul.megaRight li:first-child a {
							font-size: 16px;
							font-size: 1.6rem;
						}
}
@media screen and (max-width: 767px) {
header,
header.fixed {
	height: 66px;
}
header.fixed .block01{
	transition: opacity 0s ease-out;
	opacity: 1;
}
header .container {
	width: 100%;
}
header div.block01 {
	line-height: 66px;
}
	header div.block01 h1,
	header div.block01 div {
		line-height: 66px;
		margin:  0 15px;
		width: 200px;
	}
		header div.block01 h1 img,
		header div.block01 div img {
			vertical-align: middle;
		}
	header div.block01 ul {
		display: none;
	}
  header nav {
    display: none;
    background: #3b3b3b;
		position: fixed !important;
		height: 100vh;
		top: 0;
		overflow-y: scroll;
  }
	header nav ul.gnavList {
		margin-top: 55px;
	}
	nav.groupnav ul.gnavList {
		margin-bottom: 55px;
	}
		header nav li {
			width: 100%;
		}
			header nav li a {
				display: block;
				color: #fff;
				line-height: 60px;
				font-size: 16px;
				font-size: 1.6rem;
				border-top: 1px solid #fff;
				width: 100%;
				padding: 0 30px;
				box-sizing: border-box;
				position: relative;
			}
			header nav ul.gnavList {
				margin-top: 55px;
			}
				header nav ul.gnavList li a:after {
					content: "";
					display: block;
					width: 5px;
					height: 5px;
					border-top: 2px solid #fff;
					border-right: 2px solid #fff;
					transform: rotate(45deg);
					position: absolute;
					right: 30px;
					top: 26px;
				}
			header nav.gnav ul.gnavList li.gnavItem .mega {
				display: none;
			}
	header.fixed nav.gnav{
		top:0;
	}
	header nav.gnav{
		left: 0;
		top:0;
		margin-left:0;
	}
	header nav ul.spOnly {
		display: flex;
		display: -ms-flexbox;
		flex-wrap: wrap;
		border-bottom: 1px solid #fff;
	}
		header nav ul.spOnly li {
			width: 50%;
			box-sizing: border-box;
		}
		header nav ul.spOnly li:nth-child(odd) {
			border-right: 1px solid #fff;
		}
			header nav ul.spOnly li a {
				text-align: center;
			}
			header nav ul.spOnly li a.linkOff {
				color: rgba(255, 255, 255, 0.3);
			}

  header .nav_btn.open {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 38px;
    height: 32px;
		z-index: 9999;
  }
  header .nav_btn.open span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #333;
    border-radius: 1px;
  }
  header .nav_btn.open span:nth-of-type(1) {
    top: 0;
  }
  header .nav_btn.open span:nth-of-type(2) {
    top: 15px;
  }
  header .nav_btn.open span:nth-of-type(3) {
    bottom: 0;
  }
  header .nav_btn.open.active span:nth-of-type(1) {
    -webkit-transform: translateY(15px) rotate(-315deg);
    transform: translateY(15px) rotate(-315deg);
		background-color: #fff;
  }
  header .nav_btn.open.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .nav_btn.open.active span:nth-of-type(3) {
    -webkit-transform: translateY(-15px) rotate(315deg);
    transform: translateY(-15px) rotate(315deg);
		background-color: #fff;
  }
}


/* main
--------------------------------------------------*/
main{
	margin-top: 90px;
	position: relative;
}
@media screen and (max-width: 767px) {
main{
	margin-top: 66px;
}
}



/* ぱんくず
--------------------------------------------------*/
.topicpath {
	background: #fff;
}
	.topicpath ul li {
		display: inline-block;
		font-size: 16px;
		font-size: 1.6rem;
	}
	.topicpath ul li:before {
		content: "＞";
	}
	.topicpath ul li:first-child:before {
		content: "";
	}
	.topicpath ul li a {
		color: #333;
	}
@media screen and (max-width: 767px) {
	.topicpath ul li {
		font-size: 13px;
		font-size: 1.3rem;
	}
}


/* お問い合わせ
--------------------------------------------------*/
.footer_contact {
	background: #fff;
	padding: 50px 0;
	text-align: center;
}
	.footer_contact .btn_base {
		font-size: 21px;
		font-size: 2.1rem;
	}
@media screen and (max-width: 767px) {
.footer_contact {
	padding: 30px 0;
}
	.footer_contact .container {
		width: 100%;
	}
	.footer_contact .btn_base {
		font-size: 16px;
		font-size: 1.6rem;
	}
}


/* footer
--------------------------------------------------*/
footer {
	position: relative;
	background: #9ea7b8;
}
	footer span.pagetop {
		position: fixed;
		right: 0;
		bottom: 51px;
		background: #231816;
		color: #fff;
		width: 40px;
		height: 70px;
		text-align: center;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 45px;
		cursor: pointer;
		opacity: 1;
		z-index: 100;
		-webkit-transition: 0.3s;
						transition: 0.3s;
	}
	footer span.pagetop:after {
		content: "";
		display: block;
		width: 13px;
		height: 13px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(-45deg);
		position: relative;
		left: 13px;
	}
	footer span.pagetop:hover {
		text-decoration: none;
		opacity: .8;
	}

	footer .block1 {
		padding: 20px 0 10px;
	}
		footer .block1 h1,
		footer .block1 div {
			font-size: 20px;
			font-size: 2rem;
			font-weight: bold;
		}
		footer .block1 p {
			font-size: 14px;
			font-size: 1.4rem;
		}
		footer .block1 ul {
			display: flex;
			display: -ms-flexbox;
			color: #fff;
			margin-top: 10px;
		}
			footer .block1 ul li {
				margin-bottom: 10px;
			}
				footer .block1 ul li:before {
					content: "｜";
					margin: 0 5px;
				}
				footer .block1 ul li:first-child:before {
					content: "";
					margin: 0;
				}
				footer .block1 ul li a {
					color: #fff;
					opacity: 1;
					-webkit-transition: 0.3s;
									transition: 0.3s;
				}
				footer .block1 ul li a:hover {
					opacity: .7;
					text-decoration: none;
				}
	footer .block2 {
		background: #e8e8e8;
	}
		footer .block2 p {
			display: none;
		}
		footer .block2 ul li {
			display: inline-block;
			line-height: 50px;
			margin-right: 10px;
		}
			footer .block2 ul li a {
				font-size: 13px;
				font-size: 1.3rem;
				color: #333;
				position: relative;
				padding-right: 1.5em;
			}
			footer .block2 ul li a:before {
				content: "";
				display: block;
				width: 1em;
				height: 1em;
				background: #fff;
				border-radius: 0.5em;
				position: absolute;
				right: 0;
				top: 50%;
				transform: translate(0, -50%);
			}
			footer .block2 ul li a:after {
				content: "";
				display: block;
				width: 0;
				height: 0;
				border: 3px solid transparent;
				border-left: 5px solid #717072;
				position: absolute;
				right: 0;
				top: 50%;
				transform: translate(0, -50%);
			}

			footer .block3 {
				padding: 20px 0 10px;
			}
				footer .block3 h1,
 				footer .block3 div {
					font-size: 20px;
					font-size: 2rem;
					font-weight: bold;
				}
				footer .block3 p {
					font-size: 14px;
					font-size: 1.4rem;
				}
				footer .block3 ul {

					/*display: flex;*/
					/*display: -ms-flexbox;*/
					color: #fff;
					margin-top: 10px;
				}
					footer .block3 ul li {
						margin-bottom: 10px;
						width: 100%;
						padding: 0;
						display: inline;
						margin-right: 14px;
						overflow-wrap: break-word!important;
										word-wrap: break-word!important;

					}
						/*footer .block3 ul li:before {
							content: "｜";
							margin: 0 5px;
						}*/
						footer .block3 ul li:first-child:before {
							content: "";
							margin: 0;
						}
						footer .block3 ul li a {

							color: #fff;
							opacity: 1;
							-webkit-transition: 0.3s;
											transition: 0.3s;


						}
						footer .block3 ul li a:hover {
							opacity: .7;
							text-decoration: none;
						}

@media screen and (max-width: 767px) {
footer .container {
	width: 100%;
}
	footer span.pagetop {
		bottom: 0;
		width: 40px;
		height: 40px;
		line-height: 25px;
	}

	footer .block1 {
		padding: 0;
	}
		footer .block1 h1,
		footer .block1 div,
		footer .block1 p {
			display: none;
		}
		footer .block1 ul {
			flex-wrap: wrap;
			margin: 0;
		}
			footer .block1 ul li {
				width: 50%;
				box-sizing: border-box;
				border-right: 1px solid #fff;
				border-bottom: 1px solid #fff;
			}
			footer .block1 ul li:nth-child(n+11) {
				border-bottom: none;
			}
			footer .block1 ul li:nth-child(even) {
				border-right: none;
			}
			footer .block1 ul li {
				margin-bottom: 0;
			}
				footer .block1 ul li:before {
					content: "";
					margin: 0;
				}
				footer .block1 ul li a {
					color: #fff;
					line-height: 50px;
					display: block;
					padding: 0 0 0 15px;
					position: relative;
					font-size: 11px;
					font-size: 1.1rem;
				}
				footer .block1 ul li a:after {
					content: "";
					display: block;
					width: 5px;
					height: 5px;
					border-top: 2px solid #fff;
					border-right: 2px solid #fff;
					transform: rotate(45deg);
					position: absolute;
					right: 12px;
					top: 21px;
				}
	footer .block2 {
		background: #e8e8e8;
	}
		footer .block2 ul li {
			display: block;
			float: left;
			width: 50%;
			line-height: inherit;
			margin-top: 13px;
			margin-right: 0;
		}
			footer .block2 ul li a {
				margin:  0 15px;
			}
		footer .block2 p {
			display: block;
			clear: both;
			font-size: 10px;
			font-size: 1rem;
			padding: 15px;
		}

		footer .block3 {
			padding: 0;
		}
			footer .block3 h1,
			footer .block3 div,
			footer .block3 p {
				display: none;
			}
			footer .block3 ul {
				flex-wrap: wrap;
				margin: 0;
			}
				footer .block3 ul li {
					width: 50%;
					box-sizing: border-box;
					border-right: 1px solid #fff;
					border-bottom: 1px solid #fff;
				}
				footer .block3 ul li:nth-child(n+11) {
					border-bottom: none;
				}
				footer .block3 ul li:nth-child(even) {
					border-right: none;
				}
				footer .block3 ul li {
					margin-bottom: 0;
				}
					footer .block3 ul li:before {
						content: "";
						margin: 0;
					}
					footer .block3 ul li a {
						color: #fff;
						line-height: 50px;
						display: block;
						padding: 0 0 0 15px;
						position: relative;
						font-size: 11px;
						font-size: 1.1rem;
					}
					footer .block3 ul li a:after {
						content: "";
						display: block;
						width: 5px;
						height: 5px;
						border-top: 2px solid #fff;
						border-right: 2px solid #fff;
						transform: rotate(45deg);
						position: absolute;
						right: 12px;
						top: 21px;
					}

}

/* print
--------------------------------------------------*/
@media print {
	header {
		display:none;
	}
	main .mainvisual {
		height: 0;
	}
}
