@charset "UTF-8";
/*
 * cmn_layout.css
 *
 */


/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: "Shippori Mincho", '游明朝','Yu Mincho',YuMincho, serif;
	font-size: 16px;
	font-weight: 500;
	-webkit-text-size-adjust: none;
	line-height: 2;
	color: #22282C;
}

@media screen and (max-width:1039px){
body {
	font-size: 15px;
}
}

@media screen and (max-width:767px){
body {
	font-size: 14px;
}
}

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption
{ margin: 0; padding: 0;}

p 
{ font-family: "Shippori Mincho", '游明朝','Yu Mincho',YuMincho, serif;}

input, textarea
{ margin: 0; font-size: 100%;}

label
{ cursor: pointer;}

table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}

fieldset, img
{ border: 0;}

img
{ max-width: 100%; height: auto; vertical-align: top;}

address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}

ol, ul
{ list-style: none;}

caption, th
{ text-align: left;}

h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}

q:after, q:before
{ content:'';}

a
{ cursor: pointer; }

a, input
{ outline: none; }

input, textarea
{ border-radius: 0; font-family: "Shippori Mincho", '游明朝','Yu Mincho',YuMincho, serif;}

input[type="button"],input[type="submit"],input[type="reset"]
{ -webkit-appearance: none; background: none; border: none; padding: 0; cursor: pointer;}

abbr, acronym
{ border: 0;}
*
{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}

/* !Clearfix
---------------------------------------------------------- */
.clearfix,
#contents,
.section
{
	display: block;
	min-height: 1%;
}
.clearfix:after,
#contents:after,
.section:after
{
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix,
* html #contents,
* html .section
{
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
/* !Layout
---------------------------------------------------------- */
html { overflow-y: scroll;}
body { 
	text-align: left;
	position:relative;
}
@media print {
	html,
	html body { *zoom: 0.65;}
}

/* !header
---------------------------------------------------------- */
#header {
	width:100%;
	height:90px;
	background: rgba(255,255,255,0);
	margin:0 auto;
	z-index:100;
	position:fixed;
	top:0;
	left:0;
	transition: .5s;
}
	#header h1#headerLogo a,
	#header p#headerLogo a {
		display:block;
		position:absolute;
		width:150px;
		height:39px;
		top:25px;
		left:30px;
		transition: .5s;
	}
		#header h1#headerLogo a img,
		#header p#headerLogo a img {
			display: block;
			width:150px;
			height:39px;
		}
#header.transform {
	background: rgba(255,255,255,1);
	height:70px;
}
	#header.transform h1#headerLogo a,
	#header.transform p#headerLogo a {
		top:16px;
	}

#header #sidebar {
	width: 85%;
	height: 90px;
	background: rgba(255,255,255,0);
	text-align: center;
	z-index: 300;
	position:relative;
	float:right;
}

#header #global-nav ul {
	position:absolute;
	width:auto;
	height:90px;
	list-style: none;
	top:0;
	right:30px;
}
	#header #global-nav ul li {
		display:block;
		float:left;
	}
			#header #global-nav ul li.norm a {
				font-family: "Shippori Mincho", serif;
				font-size:15px;
				font-weight:600;
				color:#22282C;
				letter-spacing: 0.05em;
				height:90px;
				line-height:90px;
				position: relative;
				display: block;
				outline: none;
				text-decoration: none;
				text-transform: uppercase;
				margin-right:30px;
				transition:.5s;
			}
				#header #global-nav ul li.norm a span {
					position:relative;
					z-index:2;
				}
				#header #global-nav ul li.norm:last-child a {
					margin-right:0;
				}
			#header #global-nav ul li.norm a:hover,
			#header #global-nav ul li.norm a.current {
				color:#007EC0;
			}
				#header #global-nav ul li.norm a:after {
					content: '';
					position: absolute;
					bottom: 20px;
					left: 0;
					width: 100%;
					height: 1px;
					background:#007EC0;
					transition: all .3s;
					transform: scale(0, 1);
					transform-origin: center top;
				}
				#header #global-nav ul li.norm a:hover:after,
				#header #global-nav ul li.norm a.current:after{
					transform: scale(1, 1);
				}
			#header.transform #global-nav ul li.norm a {
				color: #22282C;
				height:70px;
				line-height:70px;
			}
				#header.transform #global-nav ul li.norm a.current {
					color: #007EC0;
				}
				#header.transform #global-nav ul li.norm a:hover {
					color:#007EC0;
				}
				#header.transform #global-nav ul li.norm a:after {
					background:#007EC0;
					bottom: 10px;
				}
			#header #global-nav ul li.contact a {
				position: relative;
				display: block;
				height: 90px;
				background-color: none;
				font-family: "Shippori Mincho", serif;
				font-size:15px;
				font-weight: 600;
				color:#22282C;
				line-height: 90px;
				letter-spacing: 0.05em;
				transition: .5s;
				top:0;
			}
				#header #global-nav ul li.contact a i {
					margin-right: 0.6em;
				}
				#header #global-nav ul li.contact a.current{
					transform: scale(1, 1);
				}
				#header #global-nav ul li.contact a.current {
					color:#007EC0;
				}
				#header #global-nav ul li.contact a:after {
					content: '';
					position: absolute;
					bottom: 20px;
					left: 0;
					width: 100%;
					height: 1px;
					background:#007EC0;
					transition: all .3s;
					transform: scale(0, 1);
					transform-origin: center top;
				}
				#header #global-nav ul li.contact a:hover:after,
				#header #global-nav ul li.contact a.current:after{
					transform: scale(1, 1);
				}
			#header.transform #global-nav ul li.contact a {
				height: 70px;
				line-height: 70px;
				color: #22282C;
			}
				#header.transform #global-nav ul li.contact a:hover {
					color:#007EC0;
				}
				#header.transform #global-nav ul li.contact a:after {
					background:#007EC0;
					bottom: 10px;
				}
				#header.transform #global-nav ul li.contact a.current {
					color:#007EC0;
				}

a#panel-btn {
	display: none;
}

#overlay {
	display: none;
	position: fixed;
	background: rgba(54,73,84,.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

@media screen and (max-width:1139px){
	#header h1#headerLogo a,
	#header p#headerLogo a {
		left:20px;
	}
}

@media screen and (max-width:1039px){
#header {
	height:90px;
}
#header.transform {
	background: rgba(255,255,255,1);
}
	
#header #sidebar {
	padding-top: 60px;
	position: fixed;
	right: -50%;
	top: 0;
	height: 100%;
	width: 50%;
	background-color: #2E363B;
	-webkit-transition: .8s ease;
	transition: .8s ease;
}
	
#header #global-nav ul {
	position:inherit;
	width:60%;
	height:auto;
	margin:90px auto 0 auto;
}
	#header #global-nav ul li {
		display:block;
		float:none;
	}
			#header #global-nav ul li.norm a {
				font-size:18px;
				height:60px;
				color:#FFF;
				line-height:60px;
				display: block;
				margin-right:0;
			}
			#header #global-nav ul li.norm a:hover {
				color:#FFF;
			}
			#header #global-nav ul li.norm a.current {
				color:#7FBEDF;
			}
				#header #global-nav ul li.norm a:after {
					display:none;
				}
			#header.transform #global-nav ul li.norm a {
				color:#FFF;
			}
				#header.transform #global-nav ul li.norm a:hover {
					color:#FFF;
				}
				#header.transform #global-nav ul li.norm a.current {
				color:#7FBEDF;
			}
			#header.transform #global-nav ul li.norm a {
				height:60px;
				line-height:60px;
			}
			#header #global-nav ul li.contact a {
				width:220px;
				height: 70px;
				background-color: #007EC0;
				font-size:18px;
				color:#FFF;
				line-height: 70px;
				border: 0;
				top:20px;
				margin: 0 auto;
			}
				#header #global-nav ul li.contact a:hover {
					filter: none;
					color:#FFF;
					transform: none;
				}
				#header #global-nav ul li.contact a:after {
					display: none;
				}
				#header #global-nav ul li.contact a.current {
					color:#FFF;
				}
			#header.transform #global-nav ul li.contact a {
				top:20px;
				color:#FFF;
			}
			#header.transform #global-nav ul li.contact a:hover {
				color:#FFF;
			}
			#header.transform #global-nav ul li.contact a.current {
				color:#FFF;
			}

	/* nav open */
	.open {
		overflow: hidden;
	}
	.open #overlay {
		display: block;
		animation: overlay .5s 1 ease ;
	}
	.open #sidebar  {
		-webkit-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
	}
	@keyframes overlay {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
	
a#panel-btn {
width: 50px;
height: 50px;
display: block;
float:right;
position:fixed;
top:20px;
right:30px;
z-index:400;
transition:.4s;
}
#header.transform a#panel-btn {
top:10px;
}

#panel-btn{
  display: inline-block;
  position: relative;
  width: 50px;
  height: 50px;
  background: #007EC0;
  border-radius:50%;
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 1px;
  margin: -1px 0 0 -12px;
  background: none;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 1px;
  background:#FFF;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -5px;
}
#panel-btn-icon:after{
  margin-top: 3px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

	/* z-index */
	#sidebar {
		z-index: 300;
	}
	#panel-btn {
		z-index: 400;
	}
	#overlay {
		z-index: 200;
	}
	#header {
		z-index: 100;
	}
}

@media screen and (max-width:767px){
#header {
	height:70px;
}
	#header h1#headerLogo a,
	#header p#headerLogo a {
		width:150px;
		height:39px;
		top:16px;
		left:20px;
	}
		#header h1#headerLogo a img,
		#header p#headerLogo a img {
			width:150px;
			height:39px;
		}
#header.transform {
	background: rgba(255,255,255,1);
	height:70px;
}
		#header.transform h1#headerLogo a,
		#header.transform p#headerLogo a {
			top:16px;
		}
	
#header #sidebar {
	padding-top: 0;
	right: -100%;
	width: 100%;
}
	
#header #global-nav ul {
	width:60%;
	margin:90px auto 0 auto;
}
			#header #global-nav ul li.norm a {
				font-size:16px;
				height:50px;
				color:#FFF;
				line-height:50px;
				display: block;
				margin-right:0;
			}
			#header.transform #global-nav ul li.norm a {
				height:50px;
				line-height:50px;
			}
			#header #global-nav ul li.contact a {
				height: 60px;
				font-size:16px;
				line-height: 58px;
			}
			#header.transform #global-nav ul li.contact a {
				height: 60px;
				line-height: 58px;
				top:20px;
			}
	
a#panel-btn {
width: 50px;
height: 50px;
top:10px;
right:15px;
}

#panel-btn{
  width: 50px;
  height: 50px;
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 1px;
  margin: -1px 0 0 -12px;
  background: none;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 1px;
  background:#FFF;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -5px;
}
#panel-btn-icon:after{
  margin-top: 3px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
}

@media screen and (max-width:360px){
#header #global-nav ul {
	width:70%;
	margin:60px auto 0 auto;
}
			#header #global-nav ul li.norm a {
				font-size:16px;
				height:45px;
				color:#FFF;
				line-height:45px;
				display: block;

			}
			#header.transform #global-nav ul li.norm a {
				height:45px;
				line-height:45px;
			}
			#header #global-nav ul li.contact a {
				width:220px;
				font-size:16px;
			}
}

/* !pageTop
---------------------------------------------------------- */
.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99;
}
	.pagetop a {
		display: block;
		width: 50px;
		height: 50px;
		background-color: #21A6D8;
		border-radius:50%;
		text-indent:-9999px;
		transition: all 0.2s ease;
		position:relative;
	}
		.pagetop a:before{
			position:absolute;
			content:"";
			display: inline-block;
			width: 8px;
			height: 8px;
			margin: 0 10px;
			border-top: 2px solid #FFF;
			border-left: 2px solid #FFF;
			transform: rotate(45deg);
			top:24px;
			left:10px;
			transition:.2s;
		}
			.pagetop a:hover:before{
				top:20px;
			}
	
@media screen and (max-width:1039px){
.pagetop {
	bottom: 15px;
	right: 15px;
}
			.pagetop a:hover:before{
				top:24px;
			}
}

@media screen and (max-width:767px){
.pagetop {
	bottom: 10px;
	right: 10px;
}
	.pagetop a {
		width: 44px;
		height: 44px;
	}
		.pagetop a:before{
			top:20px;
			left:7px;
		}
			.pagetop a:hover:before{
				top:20px;
			}
}

/* !footer
---------------------------------------------------------- */
#footer {
	width: 100%;
	position:relative;
	overflow:hidden;
}
	#footer div.footerBnr {
		width: 100%;
		padding:90px 50px;
	}
		#footer div.footerBnr ul {
			width:100%;
			max-width:1240px;
			margin:0 auto 80px auto;
			display:flex;
		}
			#footer div.footerBnr ul li {
				width:50%;
			}
				#footer div.footerBnr ul li a {
					position:relative;
					overflow: hidden;
					display:block;
					width:100%;
					height:420px;
					padding:60px 50px;
				}
				#footer div.footerBnr ul li:first-child a {
					border-radius:5px 0 0 5px;
				}
				#footer div.footerBnr ul li:last-child a {
					border-radius:0 5px 5px 0;
				}
					#footer div.footerBnr ul li a div.bg {
						position:absolute;
						width:100%;
						height:100%;
						background-position:50% 50%;
						background-repeat:no-repeat;
						background-size:cover;
						top:0;
						left:0;
						z-index:50;
						transition:.3s;
						overflow: hidden;
					}
					#footer div.footerBnr ul li:first-child a div.bg {
						background-image:url("../img/bnr_recruit.jpg");
					}
					#footer div.footerBnr ul li:last-child a div.bg {
						background-image:url("../img/bnr_sdgs.jpg");
					}
						#footer div.footerBnr ul li a:hover div.bg {
							transform: scale(1.1);
						}
					#footer div.footerBnr ul li a div.mask {
						position:absolute;
						width:100%;
						height:100%;
						top: 0;
						right: 0;
						left: 0;
						bottom: 0;
						z-index:51;
						
					}
					#footer div.footerBnr ul li:first-child a div.mask {
						background:rgba(46, 54, 59, .6);
					}
					#footer div.footerBnr ul li:last-child a div.mask {
						background:rgba(46, 54, 59, .6);
					}
						#footer div.footerBnr ul li a h2 {
							position: relative;
							font-family: "Shippori Mincho", serif;
							font-size:38px;
							font-weight: 600;
							color: #FFF;
							line-height: 1.6;
							margin-bottom: 20px;
							z-index:51;
						}
							#footer div.footerBnr ul li a h2 span {
								display: block;
								position: relative;
								font-size:18px;
								color: #FDD000;
								letter-spacing: 0.04em;
								padding-left:16px;
							}
								#footer div.footerBnr ul li a h2 span:before {
									position: absolute;
									content:"";
									width:5px;
									height: 5px;
									background: #FDD000;
									border-radius: 50%;
									top:47%;
									left:0;
								}
						#footer div.footerBnr ul li a p.read {
							position: relative;
							width:72%;
							font-size:15px;
							color: #FFF;
							line-height: 1.8;
							z-index:51;
						}
				#footer div.footerBnr ul li a div.arrow {
					display: block;
					position: absolute;
					content:"";
					width:30px;
					height: 30px;
					background: #FFF;
					border-radius: 50%;
					bottom:30px;
					right:30px;
					transition: .25s;
					z-index:51;
				}
					#footer div.footerBnr ul li a div.arrow i {
						position: absolute;
						font-size:11px;
						color: #FFF;
						text-align: center;
						transform: rotate(-45deg);
						top:10px;
						left:10px;
						transition: .25s;
					}
					#footer div.footerBnr ul li:first-child a div.arrow i {
						color: #007EC0;
					}
					#footer div.footerBnr ul li:last-child a div.arrow i {
						color: #007EC0;
					}
					#footer div.footerBnr ul li a:hover div.arrow {
						display: block;
						position: absolute;
						content:"";
						width:40px;
						height: 40px;
						border-radius: 50%;
						bottom:25px;
						right:25px;
					}
						#footer div.footerBnr ul li a:hover div.arrow i {
							position: absolute;
							font-size:11px;
							text-align: center;
							top:15px;
							left:15px;
						}
		#footer div.footerBnr div.instaBnr {
			position: relative;
			width:100%;
			max-width:800px;
			margin: 0 auto;
		}
			#footer div.footerBnr div.instaBnr a {
				position: relative;
				display: block;
				width:100%;
				transition: .5s;
				z-index: 2;
			}
				#footer div.footerBnr div.instaBnr a img {
					display: block;
					width:100%;
					border-radius: 4px;
				}
				#footer div.footerBnr div.instaBnr a:hover {
					filter: brightness(120%);
				}
			#footer div.footerBnr div.instaBnr img.hiyo {
				position: absolute;
				display: block;
				width:80px;
				top:0;
				right: 0;
				z-index: 1;
				opacity:1;
			}

.fadeIn_hiyo {
	opacity: 1;
}
.fadeIn_hiyo.is-show {
	opacity: 1;
	animation: hiyo-ani .6s none;
	animation-delay: .5s;
}
@keyframes hiyo-ani {
	0% {
		opacity:1;
		top:0;
		right: 0;
		transform: rotate(0);
	}
	30% {
		opacity:1;
		top:-50px;
		right: -50px;
		transform: rotate(30deg);
	}
	70% {
		opacity:1;
		top:-50px;
		right: -50px;
		transform: rotate(30deg);
	}
	100% {
		opacity:1;
		top:0;
		right: 0;
		transform: rotate(0);
	}
}

			#footer div.footerBnr div.instaBnr div img {
				position: absolute;
				display: block;
				width:80px;
				top:0;
				right: 0;
				z-index: 1;
				opacity:1;
				transition:.15s;
			}
			#footer div.footerBnr div.instaBnr:hover div img {
				position: absolute;
				display: block;
				width:80px;
				top:-50px;
				right: -50px;
				transform: rotate(30deg);
				z-index: 1;
				opacity:1;
			}

	#footer div.bgTop {
		display: block;
		width:100%;
		line-height: 1;
		margin-bottom: -2px;
	}
	#footer div.footerBtm {
		width: 100%;
		padding:80px 50px 20px 50px;
		background-color: #2E363B;
		position:relative;
	}
		#footer div.footerBtm div.inner {
			width:100%;
			max-width:1240px;
			position:relative;
			padding-bottom:50px;
			margin:0 auto;
		}
			#footer div.footerBtm div.inner div.block1 {
				width:100%;
				display: flex;
				/*border-bottom:1px solid #434B4F;*/
			}
				#footer div.footerBtm div.inner div.block1 div.left {
					width:65%;
				}
					#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn {
						width:auto;
						display: flex;
						margin-bottom: 40px;
					}
						#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li:first-child {
							margin-right: 20px;
						}
							#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li a {
								display: block;
								width:260px;
								height: 70px;
								font-family: "Shippori Mincho", serif;
								font-size:17px;
								font-weight: 600;
								color: #FFF;
								text-align: center;
								line-height: 68px;
								padding:0 3em;
								transition:.5s;
								border-radius: 4px;
							}
								#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li a:hover {
									filter: brightness(120%);
								}
								#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li a i {
									margin-right: 0.6em;
								}
								#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li:first-child a {
									background: #004E8A;
								}
								#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li:last-child a {
									background: #007EC0;
								}
					#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi {
						width:70%;
						display: flex;
						flex-wrap: wrap;
						margin-bottom: 0px;
					}
						#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi li {
							width:33.33%;
							
						}
							#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi li a span {
								display: inline-block;
								width:auto;
								height: 50px;
								font-family: "Shippori Mincho", serif;
								font-size:14px;
								font-weight: 600;
								color: #FFF;
								line-height: 50px;
								transition: .5s;
								position:relative;
								z-index:2;
							}
								#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi li a span::after {
									content: '';
									position: absolute;
									bottom: 0;
									left: 0;
									width: 100%;
									height: 1px;
									background:#FFF;
									transition: all .3s;
									transform: scale(0, 1);
									transform-origin: center top;
								}
								#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi li a span:hover::after {
									transform: scale(1, 1);
								}
				#footer div.footerBtm div.inner div.block1 div.right {
					width:35%;
					padding-left:80px;
					/*border-left:1px solid #434B4F;*/
				}
					#footer div.footerBtm div.inner div.block1 div.right a.footerLogo {
						display: block;
						width:150px;
						margin-bottom: 30px;
					}
						#footer div.footerBtm div.inner div.block1 div.right a.footerLogo a {
							display: block;
							width:150px;
						}
					#footer div.footerBtm div.inner div.block1 div.right p.coName {
						font-family: "Shippori Mincho", serif;
						font-size:16px;
						font-weight: 600;
						color: #FFF;
						margin-bottom: 10px;
					}
					#footer div.footerBtm div.inner div.block1 div.right p.add {
						font-size:14px;
						color: #FFF;
					}
						#footer div.footerBtm div.inner div.block1 div.right p.add a {
							color: #FFF;
						}
			#footer div.footerBtm div.inner div.block2 {
				width:100%;
				display: flex;
				padding-top:1em;
				position: relative;
			}
				#footer div.footerBtm div.inner div.block2 div.left {
					width:50%;
				}
					#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 {
						width:100%;
						display: flex;
					}
						#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li {
							display: inline-block;
							margin-right: 40px;
						}
						#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li:last-child {
							margin-right: 0;
						}
							#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li a {
								font-size:12px;
								font-weight: 600;
								color: #FFF;
								opacity:.5;
								transition: .5s;
							}
								#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li a:hover {
									opacity:.3;
								}
				#footer div.footerBtm div.inner div.block2 div.right {
					width:50%;
				}
					#footer div.footerBtm div.inner div.block2 div.right p.copyright {
						font-family: "Shippori Mincho", serif;
						font-size:11px;
						font-weight: 500;
						color: #FFF;
						text-align: right;
						letter-spacing: 0.06em;
						opacity:.5;
					}

#footer div.footerBtm a.pagetop {
	display: block;
	position: absolute;
	width:140px;
	height:40px;
	line-height:40px;
	color:#FFF;
	transition:.4s;
	overflow:hidden;
	z-index:1;
	bottom:0;
	right:0;
}
	#footer div.footerBtm a.pagetop div {
		position:relative;
		font-family: "Shippori Mincho", serif;
		font-size:14px;
		font-weight:600;
		color:#979B9D;
		padding-left:1.6em;
		z-index:2;
		transition:0.4s;
	}
			#footer div.footerBtm a.pagetop div span {
				display: block;
				position: absolute;
				content:"";
				width:30px;
				height: 30px;
				background: #FFF;
				border-radius: 50%;
				top:5px;
				right:5px;
				transition: .3s;
			}
			#footer div.footerBtm a.pagetop div span i {
				position: absolute;
				font-size:11px;
				color: #007EC0;
				text-align: center;
				top:10px;
				left:11px;
				transition: .3s;
			}
			#footer div.footerBtm a.pagetop:hover div span {
				display: block;
				position: absolute;
				content:"";
				width:40px;
				height: 40px;
				background: #FFF;
				border-radius: 50%;
				top:0;
				right:0;
			}
				#footer div.footerBtm a.pagetop:hover div span i {
					position: absolute;
					font-size:11px;
					color: #007EC0;
					text-align: center;
					top:15px;
					left:16px;
				}

@media screen and (max-width:1139px){
				#footer div.footerBtm div.inner div.block1 div.right {
					width:60%;
				}
				#footer div.footerBtm div.inner div.block1 div.right {
					width:40%;
				}
}

@media screen and (max-width:1039px){
	#footer div.footerBnr {
		padding:80px 30px;
	}
		#footer div.footerBnr ul {
			margin:0 auto 70px auto;

		}
				#footer div.footerBnr ul li a {
					height:340px;
					padding:50px 40px;
				}
						#footer div.footerBnr ul li a:hover div.bg {
							transform: none;
						}
						#footer div.footerBnr ul li a h2 {
							font-size:32px;
						}
							#footer div.footerBnr ul li a h2 span {
								font-size:16px;
							}
					#footer div.footerBnr ul li a:hover div.arrow {
						width:30px;
						height: 30px;
						bottom:30px;
						right:30px;
					}
						#footer div.footerBnr ul li a:hover div.arrow i {
							top:10px;
							left:10px;
						}
		#footer div.footerBnr div.instaBnr {
			max-width:700px;
		}
				#footer div.footerBnr div.instaBnr a:hover {
					filter: none;
				}
			#footer div.footerBnr div.instaBnr img.hiyo {
				width:60px;
			}

.fadeIn_hiyo.is-show {
	opacity: 1;
	animation: hiyo-ani .8s none;
	animation-delay: .6s;
}
@keyframes hiyo-ani {
	0% {
		opacity:1;
		top:0;
		right: 0;
		transform: rotate(0);
	}
	30% {
		opacity:1;
		top:-30px;
		right: -30px;
		transform: rotate(30deg);
	}
	70% {
		opacity:1;
		top:-30px;
		right: -30px;
		transform: rotate(30deg);
	}
	100% {
		opacity:1;
		top:0;
		right: 0;
		transform: rotate(0);
	}
}

			#footer div.footerBnr div.instaBnr div img {
				width:60px;
				top:0;
				right: 0;
			}
			#footer div.footerBnr div.instaBnr:hover div img {
				width:60px;
				top:0;
				right: 0;
				transform: none;
			}


	
	#footer div.footerBtm {
		padding:70px 30px 20px 30px;
	}
				#footer div.footerBtm div.inner div.block1 div.left {
					width:54%;
				}
					#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn {
						flex-wrap: wrap;
						margin-bottom: 30px;
					}
						#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li:first-child {
							width:100%;
							margin-right: 0;
							margin-bottom: 15px;
						}
						#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li:last-child {
							width:100%;
						}
							#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li a {
								height: 60px;
								font-size:16px;
								line-height: 58px;
							}
								#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li a:hover {
									filter: none;
								}
					#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi {
						width:100%;
						display: flex;
						flex-wrap: wrap;
						margin-bottom: 0px;
					}
								#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi li a span::after {
									display: none;
								}
				#footer div.footerBtm div.inner div.block1 div.right {
					width:46%;
					padding-left:40px;
				}
								#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li a:hover {
									opacity:.5;
								}
#footer div.footerBtm a.pagetop {
	width:130px;
}
	#footer div.footerBtm a.pagetop div {
		font-size:13px;
	}
			#footer div.footerBtm a.pagetop:hover div span {
				width:30px;
				height: 30px;
				top:5px;
				right:5px
			}
				#footer div.footerBtm a.pagetop:hover div span i {
					top:10px;
					left:11px;
				}
}

@media screen and (max-width:767px){
	#footer div.footerBnr {;
		padding:70px 25px;
	}
		#footer div.footerBnr ul {
			flex-wrap: wrap;
			margin:0 auto 60px auto;
		}
			#footer div.footerBnr ul li {
				width:100%;
			}
				#footer div.footerBnr ul li a {
					width:100%;
					height:240px;
					padding:30px 20px;
				}
				#footer div.footerBnr ul li:first-child a {
					border-radius:5px 5px 0 0;
				}
				#footer div.footerBnr ul li:last-child a {
					border-radius:0 0 5px 5px;
				}
						#footer div.footerBnr ul li a h2 {
							font-size:26px;
							margin-bottom: 20px;
						}
							#footer div.footerBnr ul li a h2 span {
								font-size:12px;
								padding-left:14px;
							}
								#footer div.footerBnr ul li a h2 span:before {
									top:47%;
								}
						#footer div.footerBnr ul li a p.read {
							width:100%;
							font-size:14px;
							line-height: 1.8;
						}
				#footer div.footerBnr ul li a div.arrow {
					width:30px;
					height: 30px;
					bottom:20px;
					right:20px;
				}
					#footer div.footerBnr ul li a div.arrow i {
						position: absolute;
						font-size:11px;
						color: #FFF;
						text-align: center;
						transform: rotate(-45deg);
						top:10px;
						left:10px;
						transition: .25s;
					}
					#footer div.footerBnr ul li a:hover div.arrow {
						display: block;
						position: absolute;
						content:"";
						width:30px;
						height: 30px;
						border-radius: 50%;
						bottom:20px;
						right:20px;
					}
						#footer div.footerBnr ul li a:hover div.arrow i {
							position: absolute;
							font-size:11px;
							text-align: center;
							top:10px;
							left:10px;
						}
			#footer div.footerBnr div.instaBnr img.hiyo {
				width:50px;
			}

@keyframes hiyo-ani {
	0% {
		opacity:1;
		top:0;
		right: 0;
		transform: rotate(0);
	}
	30% {
		opacity:1;
		top:-25px;
		right: -25px;
		transform: rotate(30deg);
	}
	70% {
		opacity:1;
		top:-25px;
		right: -25px;
		transform: rotate(30deg);
	}
	100% {
		opacity:1;
		top:0;
		right: 0;
		transform: rotate(0);
	}
}

			#footer div.footerBnr div.instaBnr div img {
				width:50px;
				top:0;
				right: 0;
			}
			#footer div.footerBnr div.instaBnr:hover div img {
				width:50px;
				top:0;
				right: 0;
				transform: rotate(0);
			}
	
			
	
	#footer div.footerBtm {
		padding:60px 25px 20px 25px;
	}
			#footer div.footerBtm div.inner div.block1 {
				flex-wrap: wrap;
				border-bottom:1px solid #434B4F;
			}
				#footer div.footerBtm div.inner div.block1 div.left {
					width:100%;
					margin-bottom: 0;
				}
					#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn {
						width:260px;
						flex-wrap: wrap;
						margin:0 auto 30px auto;
					}
						#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li:first-child {
							width:100%;
							margin-bottom: 15px;
						}
						#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li:last-child {
							width:100%;
						}
							#footer div.footerBtm div.inner div.block1 div.left ul.contactBtn li a {
								font-size:15px;
							}
					#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi {
						width:100%;
						flex-wrap: wrap;
						margin-bottom: 20px;
					}
						#footer div.footerBtm div.inner div.block1 div.left ul.footerNavi li {
							width:50%;
							text-align: center;
						}
				#footer div.footerBtm div.inner div.block1 div.right {
					width:100%;
					padding:30px 0 30px 0;
					border-left:0;
					border-top:1px solid #434B4F;
				}
					#footer div.footerBtm div.inner div.block1 div.right a.footerLogo {
						display: block;
						width:140px;
						margin:0 auto 15px auto;
					}
						#footer div.footerBtm div.inner div.block1 div.right a.footerLogo a {
							display: block;
							width:150px;
						}
					#footer div.footerBtm div.inner div.block1 div.right p.coName {
						margin-bottom: 10px;
					}
					#footer div.footerBtm div.inner div.block1 div.right p.add {
						font-size:14px;
						color: #FFF;
					}
			#footer div.footerBtm div.inner div.block2 {
				flex-wrap: wrap;
				padding-top:1em;
			}
				#footer div.footerBtm div.inner div.block2 div.left {
					width:100%;
					margin-bottom: 20px;
				}
					#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 {
						width:100%;
						flex-wrap: wrap;
					}
						#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li {
							width:100%;
							display: block;
							margin-right: 0;
						}
						#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li:last-child {
							margin-right: 0;
						}
							#footer div.footerBtm div.inner div.block2 div.left ul.footerNavi2 li a {
								display: block;
								width:100%;
								text-align: center;
								line-height: 44px;
							}
				#footer div.footerBtm div.inner div.block2 div.right {
					width:100%;
				}
					#footer div.footerBtm div.inner div.block2 div.right p.copyright {
						text-align: center;
					}
}

@media screen and (max-width:359px){
				#footer div.footerBtm div.inner div.left p.add br {
					display: inherit;
				}
}

/* !見出し
---------------------------------------------------------- */
.tit_basic01 {
	font-size:22px;
	font-weight: 700;
	padding-left:1em;
	position: relative;
	margin-bottom: 20px;
}
	.tit_basic01:before {
		position: absolute;
		content:"";
		width:8px;
		height: 8px;
		background-color: #21A6D8;
		border-radius: 50%;
		top:20px;
		left:0;
	}

.tit_basic02 {
	font-size:22px;
	font-weight: 700;
	position: relative;
	margin-bottom: 20px;
}
	.tit_basic02 i {
		color:#21A6D8;
		margin-right: 0.6em;
	}

@media screen and (max-width:1039px){
.tit_basic01 {
	font-size:20px;
}
	.tit_basic01:before {
		top:18px;
	}
	
.tit_basic02 {
	font-size:20px;
}
}

@media screen and (max-width:767px){
.tit_basic01 {
	font-size:17px;
}
	.tit_basic01:before {
		width:6px;
		height: 6px;
		top:15px;
	}
	
.tit_basic02 {
	font-size:17px;
}
}

/* !Listing
---------------------------------------------------------- */
ul.iconList {
	width:100%;
}
	ul.iconList li {
		position: relative;
		margin-bottom:15px;
		padding-left:1em;
	}
		ul.iconList li:last-child {
			margin-bottom:0;
		}
		ul.iconList li:before {
			position: absolute;
			content:"";
			width:6px;
			height: 6px;
			background-color: #21A6D8;
			border-radius: 50%;
			top:16px;
			left: 0;
		}
ul.circle li {
	list-style:circle;
	margin:0 0 10px 20px;
}
	ul.circle li:last-child {
		margin-bottom:0;
	}

ol.numList li {
	list-style:decimal;
	margin:0 0 15px 20px;
}
	ol.numList li:last-child {
		margin-bottom:0;
	}
	
ol.numListCircle {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
}
	ol.numListCircle li {
		line-height:1.8;
		margin-bottom: 10px;
		padding-left: 35px;
		position: relative;
	}
		ol.numListCircle li:before {
			position:absolute;
			content: counter(my-counter);
			counter-increment: my-counter;
			background-color: #3A4856;
			color: #FFF;
			display: block;
			float: left;
			font-size:14px;
			line-height: 22px;
			margin-left: -35px;
			text-align: center;
			height: 22px;
			width: 22px;
			border-radius: 50%;
			top:3px;
		}
	
@media screen and (max-width:1039px){
		ul.iconList li:before {
			top:13px;
		}
}

@media screen and (max-width:767px){
		ul.iconList li:before {
			top:12px;
		}
	ol.numListCircle li {
		padding-left: 30px;
	}
		ol.numListCircle li:before {
			font-size:12px;
			margin-left: -30px;
			top:2px;
		}
}

/* !Table
---------------------------------------------------------- */
.table_basic01 {
	width: 100%;
	border-collapse:collapse;
}
	.table_basic01 th,
	.table_basic01 td {
		padding: 1.2em 1.6em;
		border: 1px solid #99B8D0;
	}
	.table_basic01 th {
		width:25%;
		vertical-align:middle;
		color:#004E8A;
		text-align: center;
		background: #EBF1F6;
	}
	.table_basic01 td {
		width:75%;
		vertical-align:top;
		background: #FFF;
	}

.table_basic02 {
	width: 100%;
	border-collapse:collapse;
	border-top:1px solid #E0E9F1;
}
	.table_basic02 th,
	.table_basic02 td {
		padding: 1.6em 0;
	}
	.table_basic02 th {
		width:30%;
		vertical-align:middle;
		color:#004E8A;
		border-bottom:1px solid #E0E9F1;
	}
	.table_basic02 td {
		width:70%;
		vertical-align:top;
		border-bottom:1px solid #E0E9F1;
	}
	
@media screen and (max-width:1039px){
	.table_basic01 th {
		width:30%;
	}
	.table_basic01 td {
		width:70%;
	}
	.table_basic02 th {
		width:37%;
	}
	.table_basic02 td {
		width:63%;
	}
}

@media screen and (max-width:767px){
.table_basic01 {
	width: 100%;
}
	.table_basic01,
	.table_basic01 thead,
	.table_basic01 tbody,
	.table_basic01 tr,
	.table_basic01 th,
	.table_basic01 td {
		width: 100%;
		display: block;
		
	}
	.table_basic01 th {
		padding:0.8em;
		text-align: left;
		border-bottom:0;
	}
	.table_basic01 td {
		padding:0.8em;
		border-bottom: 0;
	}
	.table_basic01 tr:last-child td {
		border-bottom: 1px solid #99B8D0;
	}
	
.table_basic02 {
	width: 100%;
}
	.table_basic02,
	.table_basic02 thead,
	.table_basic02 tbody,
	.table_basic02 tr,
	.table_basic02 th,
	.table_basic02 td {
		width: 100%;
		display: block;
	}
	.table_basic02 th {
		padding:1.4em 0 0 0;
		border-bottom:0;
	}
	.table_basic02 td {
		padding:1em 0 1.4em 0;
	}
	.table_basic02 tr:last-child td {
		
	}
}

/*フォーム--------------------------------------*/
span.label {
	display:inline-block;
	padding:1px 5px;
	background-color:#FDD000;
	color:#004E8A;
	font-size:10px;
	margin-left:7px;
	border-radius: 4px;
	opacity: 1;
}

input.norm {
	width:100%;
	background:#EEE;
	padding:0.8em 0.8em;
	border:0;
	border-radius: 4px;
}

input.short {
	width:50%;
	background:#EEE;
	padding:0.8em 0.8em;
	border:0;
	border-radius: 4px;
}

input.exshort {
	width:20%;
	background:#EEE;
	padding:0.8em 0.8em;
	border:0;
	border-radius: 4px;
}

select {
	padding:0.8em 0.8em;
	border:0;
}
	select option{
		margin-bottom:5px;
	}

textarea.norm {
	width:100%;
	height:200px;
	background:#EEE;
	padding:0.8em 0.8em;
	border:0;
	border-radius: 4px;
}

label.check {
	display:inline-block;
	padding:0.8em 0.8em;
	background:#EEE;
	border:0;
	border-radius: 4px;
	margin-bottom: 5px;
}

label.check2 {
	display:inline-block;
	width:32.5%;
	padding:0.8em 0.8em;
	background:#EEE;
	border:0;
	border-radius: 4px;
	margin-bottom: 5px;
}

input.btn_submit {
	padding:1.4em 2em;
	font-size:18px;
	font-weight: 700;
	background:#007EC0;
	color:#FFF;
	transition: all 0.6s ease;
	border-radius: 4px;
}
	input.btn_submit:hover {
		opacity:0.7;
	}

input.btn_back {
	font-size:18px;
	font-weight: 700;
	background:#999;
	padding:1.4em 2em;
	color:#FFF;
	transition: all 0.6s ease;
	border-radius: 4px;
}
	input.btn_back:hover {
		opacity:0.7;
	}

@media screen and (max-width:1039px){
label.check {
	display:block;
	margin-bottom:10px;
}
label.check:last-child {
	margin-bottom:0;
}
	
label.check2 {
	width:100%;
}
label.check2:last-child {
	margin-bottom:0;
}
	
input.btn_submit {
	transition: none;
}
	input.btn_submit:hover {
		opacity:1;
	}

input.btn_back {
	transition: none;
}
	input.btn_back:hover {
		opacity:1;
	}
}

@media screen and (max-width:767px){
input.norm {
	width:100%;
}

input.short {
	width:70%;
}

input.exshort {
	width:25%;
}

label.check {
	width:100%;
}

textarea.norm {
	width:100%;
}

input.btn_submit {
	font-size:14px;
}

input.btn_back {
	font-size:14px;
}

input.btn_submit {
	padding:1.4em 1.4em;
	font-size:15px;
}

input.btn_back {
	padding:1.4em 1.4em;
	font-size:15px;
}
}

@media screen and (max-width:360px){
input.exshort {
	width:24%;
}
	
input.btn_submit {
	padding:1.4em 1.2em;
	font-size:14px;
}

input.btn_back {
	padding:1.4em 1.2em;
	font-size:14px;
}
}