@charset "utf-8";

/* ===================
clearfix
===================*/
.clearfix:after {
	visibility:hidden;
	height:0;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
}


/* ===================
link
===================*/
a {
	outline: none;
}
a:link {
	text-decoration: none;
	color: #333;
}
a:visited {
	text-decoration: none;
	color: #333;
}
a:hover{
	text-decoration: underline;
	color: #666;
	opacity: 0.7;
	transition: all 0.3s ease-in-out;
}
a:hover img{
	text-decoration: none;
	opacity: 1.0!important;
	transition: all 0.1s ease-in-out;
}
a:active {
	text-decoration: none;
	color: #333;
}

/* main */
.main a:link {
	text-decoration: underline;
	color: #005bac;
}
.main a:visited {
	color: #005bac;
}
.main a:hover{
	color: #005bac;
}
.main a:active {
	color: #005bac;
}


/*==========================================
 body
===========================================*/
html {
	font-size: 62.5%;
}
body {
	font-size:1.4rem;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
h1 {
	font-size:2.0rem;
}
h2 {
	/*font-size:2.0rem;*/
	font-size:1.8rem;
}
h3 {
	/*font-size:1.8rem;*/
	font-size:1.6rem;
}
h4 {
	/*font-size:1.6rem;*/
	font-size:1.5rem;
}
h5 {
	/*font-size:1.6rem;*/
	font-size:1.5rem;
}
p,ul,ol,dl,address{
	font-size:1.3rem;
}
table{
	font-size:1.3rem;
}
address{
	font-style: normal;
}

@media (min-width: 993px){
	body {
		font-size:1.5rem;
	}
	h1 {
		font-size:3.0rem;
	}
	h2 {
		font-size:2.2rem;
	}
	h3 {
		/*font-size:2.0rem;*/
		font-size:1.8rem;
	}
	h4 {
		/*font-size:1.8rem;*/
		font-size:1.7rem;
	}
	h5 {
		font-size:1.6rem;
	}
	p,ul,ol,dl,address{
		font-size:1.5rem;
	}
	table{
		font-size:1.5rem;
	}
}

@media (max-width: 992px){
	.hiden_sp {
		display: none;
	}
}
@media (min-width: 993px)  {
	.hiden_pc {
		display: none;
	}
}

@media (min-width: 993px)  {
	a[href^="tel:"] {
	    pointer-events: none;
	}
}


/*=====================================================================================
 [wrap_all]
======================================================================================*/
@media (min-width: 993px)  {
	.wrap_all {
		display: flex;
	}
}

/*=====================================================================================
 [wrap_left]
======================================================================================*/
@media (max-width: 992px)  {
	.wrap_left {
	}
}
@media (min-width: 993px)  {
	.wrap_left {
		/*display: flex;*/
		align-items: center;
		justify-content: center;
	/*	position: -webkit-sticky;*/
		position: sticky;
		top: 0px;
		height: 100vh;
		box-shadow: 2px 0px 4px -2px rgba(0,0,0,0.15);
		/*width: 260px;*/
		width: 220px;
		z-index: 9999;
	}
	/* スクロールバー非表示 */
	.header_pc_wrap {
		margin: 0 auto;
	  width: auto;
		/*width: 200px;*/
		width: 210px;
	  height: 100%;
	  overflow: scroll;
	  -ms-overflow-style: none;  /* for IE, Edge */
	  scrollbar-width: none;     /* for Firefox */
	}
	/* for Chrome, Safari */
	.header_pc_wrap::-webkit-scrollbar {
	  display:none;
	}
}

@media (min-width: 993px) and (max-width: 1366px)  {
	.wrap_left {
	}
	.header_pc_wrap {
		/*padding-top: calc(50px / 2) ;
		padding-bottom: calc(50px / 2) ;*/
		padding-top: 15px;
	}
}
@media (min-width: 1367px) and  (max-width: 1440px) {
	.wrap_left {
	}
	.header_pc_wrap {
		/*padding-top: calc(50px / 1) ;
		padding-bottom: calc(50px / 1) ;*/
		padding-top: 40px;
	}
}
@media (min-width: 1441px)  {
	.wrap_left {
	}
	.header_pc_wrap {
		padding-top: calc(50px / 1) ;
		padding-bottom: calc(50px / 1) ;
	}
}




/*-------------------------------------------
header_sp
-------------------------------------------*/
.header_sp a {
	text-decoration: none;
}
@media (min-width: 993px)  {
	.header_sp {
		display: none;
	}
}

/* header
------------------------------------------ */
@media (max-width: 992px)  {
	body {
		padding-top: 56px;
	}
}
.header_sp {
	z-index: 9999;
	width: 100%;
	padding: 0;
	top: 0;
	position: fixed;
	margin-top: 0;
}
/* Fixed reset */
.header_sp.fixed {
	padding-top: 0;
	background: transparent;
}

/* header print */
/*============================================*/
@media print{
	.header_sp {
		position: initial!important;
	}
}
/*============================================*/


.header_sp ul {
	list-style: none!important;
}
.header_sp ul li,
.header_sp ul li a {
	list-style: none!important;
}

/* .header_sp .mobile-head
------------------------------------------ */
.header_sp #mobile-head {
	background: #fff;
	width: 100%;
	height: 56px;
	z-index: 999;
	position: relative;
	display: flex;
	justify-content: space-between;
}

/* .header_sp logo */
.header_sp .logo {
	margin-top: 5px;
	margin-left: 10px;
	align-self: center;
}
.header_sp .logo img {
	width: auto;
	height: 35px;
}

	/* .header_sp snsNav */
.header_sp .snsNav {
	list-style: none;
	position: absolute;
	top:18px;
	right: 50px;
}
.header_sp .snsNav li {
	display: inline-block;
	margin-left: 0.7rem;
	margin-right: 0.7rem;
}
.header_sp .snsNav li a i {
	font-size: 2.6rem;
	color: #005bac;
}


/* .header_sp gNav
-------------------------------------------*/
.header_sp #gNav{
  position:fixed;
  z-index: 9999;
  top:56px;
  /*right: -120%;*/
	right: -100%;
  /*width:100%;*/
	width:100%;
  height: calc(100vh - 56px);
  background:#005bac;
  transition: all 0.3s;
}

/*アクティブクラスがついたら位置を0に*/
.header_sp #gNav.panelactive{
  right: 0;
}

.header_sp #gNav.panelactive #gNav_inner{
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height:  calc(100vh - 56px);/*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
	padding-bottom: 100px;
}


/* Toggle Button */
.header_sp .openbtn1{
  position:fixed;
  z-index: 9999;
  top:5px;
  right: 5px;
  cursor: pointer;
  width: 50px;
  height:50px;
}

	/*×に変化*/
.header_sp .openbtn1 span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 2px;
  background-color: #005bac;
  width: 45%;
}

.header_sp .openbtn1 span:nth-of-type(1) {
  top:15px;
}
.header_sp .openbtn1 span:nth-of-type(2) {
  top:23px;
}
.header_sp .openbtn1 span:nth-of-type(3) {
  top:31px;
}

.header_sp .openbtn1.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 45%;
}
.header_sp .openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}
.header_sp .openbtn1.active span:nth-of-type(3){
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 45%;
}


/* header_sp acd nav
------------------------------------------ */
.header_sp .acd_nav {
	width:100%;
	margin:0 auto;
	padding:0px;
	background: #005bac;
	color: #fff;
	list-style: none!important;
}
.header_sp .acd_nav li a {
	text-decoration: none;
	display: block;
	list-style: none!important;
}
/*
.header_sp .acd_nav li ul {
  padding:0px;
}
*/

/* acd nav L1 [main_ttl] */
.header_sp .acd_nav .main_ttl {
  border-bottom: 1px solid #2469A5;
	padding: 15px;
}
.header_sp .acd_nav dt.main_ttl:after {
	content:"\f078";
	font-family: "Font Awesome 5 Free";
	padding-top: 4px;
  margin-left:20px;
	font-weight: 700;
	float: right;
}
.header_sp .acd_nav dt.main_ttl.open:after {
	content:"\f078";
	/*content:"\f077";*/
	font-family: "Font Awesome 5 Free";
	margin-left:20px;
	font-weight: 700;
	float: right;
}

/* acd nav L2 [sub_ttl] */
.header_sp .acd_subctg > li {
	border-bottom: 1px solid #ccc;
  background:#E9ECEF;
	font-size: 1.2rem;
}
.header_sp .acd_subctg > li a {
	padding: 8px 15px;
	color: #005bac;
}

/* icon_dropdown */
.header_sp .acd_nav .acd_subctg > li.acd_nav2 > p {
	color: #005bac;
	padding: 8px 15px;
}
.header_sp .acd_nav .acd_subctg p.icon_dropdown:after {
  content:"\f078";
	font-family: "Font Awesome 5 Free";
	padding-top: 4px;
  margin-left:20px;
	font-weight: 700;
	float: right;
}
.header_sp .acd_nav .acd_subctg p.icon_dropdown.openAcd:after {
	content:"\f078";
	/*content:"\f077";*/
	font-family: "Font Awesome 5 Free";
	margin-left:20px;
	font-weight: 700;
	float: right;
}

/* acd nav L3 */
.header_sp .acd_nav .acd_nav3 {
	background-color: #fff;
}
.header_sp .acd_nav .acd_nav3 li {
	border-bottom: 1px solid #ccc;
	font-size: 1.2rem;
}
.header_sp .acd_nav .acd_nav3 li:last-child {
	border-bottom: none;
}
.header_sp .acd_nav .acd_nav3 li a {
  padding: 8px 15px;
	color: #333;
}


/* header_sp inner nav
------------------------------------------ */
/* .header_sp gNav_sub */
.header_sp .gNav_sub {
	margin-top: 40px;
	list-style: none;
	align-self: center;
	display: flex;
	justify-content: center;
	background-color: #fff;
	margin-left: 10px;
	margin-right: 10px;
	border-radius: 4px 4px 0 0;
	border-bottom: 2px solid  #005bac;
}
.header_sp .gNav_sub li {
	letter-spacing: 0.1rem;
	text-align: center;
	border-right: 2px solid  #005bac;
	width: calc(100% / 3) ;
}
.header_sp .gNav_sub li:last-child {
	border-right: none;
}
.header_sp .gNav_sub li a {
	color: #005bac;
	text-decoration: none;
/*	padding: 0.25rem 0 0.5rem;*/
	font-weight: 500;
	font-size: 1.2rem;
	padding: 12px 0px;
	display: inline-block;
}

.header_sp .gNav_sub li.bg_icon span {
	display: inline-block;
	background-repeat: no-repeat;
	background-size: auto 18px;
	/*padding-left: 30px;*/
	padding-left: 24px;
}
.header_sp .gNav_sub li.contact span {
	background-image: url("../images/nav_icon_contact.svg");
}
.header_sp .gNav_sub li.access span {
	background-image: url("../images/nav_icon_access.svg");
	background-position: left 5px center;
}
.header_sp .gNav_sub li.document span {
	background-image: url("../images/nav_icon_document.svg");
	background-position: left 5px center;
}

/* .header_sp languageNav */
.header_sp .languageNav {
	list-style: none;
	align-self: center;
	display: flex;
	justify-content: center;
	background-color: #fff;
	margin-left: 10px;
	margin-right: 10px;
	padding: 10px 0;
	border-radius: 0px 0px 4px 4px;
}
.header_sp .languageNav li {
	letter-spacing: 0.1rem;
	width: calc(100% / 2);
	text-align: center;
	border-right: 2px solid  #005bac;
}
.header_sp .languageNav li:last-child {
	border-right: none;
}
.header_sp .languageNav li a {
	color: #005bac;
	text-decoration: none;
	padding-bottom: 0.2rem;
	font-weight: 500;
	margin-left: 1.0rem;
	margin-right: 1.0rem;
	display: inline-block;
}
.header_sp .languageNav li:first-child {
	border-right: 2px solid  #005bac;
}

/* .header_sp search_box */
.header_sp .search_box {
  margin-top: 40px;
	margin-left: 10px;
	margin-right: 10px;
}
.header_sp .search_box .gsc-search-button-v2 {
  padding: 14px 10px!important;
}
.header_sp .search_box table.gsc-search-box td.gsc-input {
  padding-right: 0px!important;
}
.header_sp .search_box .gsc-input {
  font-size: 16px;
}



/*-------------------------------------------
header_pc
-------------------------------------------*/
@media (max-width: 992px)  {
	.header_pc {
		display: none;
	}
}

/* .header_pc logo
-------------------------------------------*/
.header_pc .logo {
	text-align: center;
/*	margin-bottom: 7.0rem;*/
margin-bottom: 4.5rem;
}
.header_pc .logo img {
	max-width: 100%;
}
@media (max-width: 1366px)  {
	.header_pc .logo {
		/*margin-bottom: 6.0rem;*/
		margin-bottom: 1.5rem;
	}
}
@media (min-width: 1367px) and  (max-width: 1440px) {
	.header_pc .logo {
		/*margin-bottom: 1.5rem;*/
		margin-bottom: 3.5rem;
	}
}
@media (min-width: 1441px)  {
	.header_pc .logo {
		/*	margin-bottom: 7.0rem;*/
			margin-bottom: 4.5rem;
	}
}


/* ------------------------------------------
.header_pc gNav
-------------------------------------------*/
/* #global-nav　[nav]
-------------------------------------------*/
.header_pc #global-nav {
  overflow-y: auto;
  height: 100%;
	/*margin-bottom: 5.4rem;*/
}
@media (max-width: 1024px) {
	.header_pc #global-nav {
		margin-bottom: 2.0rem;
	}
}
@media (min-width: 1025px) and (max-width: 1366px)  {
	.header_pc #global-nav {
		margin-bottom: 1.0rem;
	}
}
@media (min-width: 1367px) and  (max-width: 1440px) {
	.header_pc #global-nav {
		margin-bottom: 3.0rem;
	}
}
@media (min-width: 1441px)  {
	.header_pc #global-nav {
		margin-bottom: 3.0rem;
	}
}


.header_pc #global-nav ul {
	list-style: none;
	margin-left: 0;
}
.header_pc #global-nav > ul > li {
	position: relative;
  text-align: left;
	font-size: 1.475rem!important;
}

.header_pc #global-nav ul li a {
	color: #033560;
	text-decoration: none;
	display: block;
	/*padding: 0.9rem 0;*/
	padding: 12px 0;
	/*-moz-transition: background-color .3s linear;
	-webkit-transition: background-color .3s linear;
	transition: background-color .3s linear;*/
	color: #333;
	font-weight: 700;
/*	padding-left: 25px;
	padding-right: 20px;*/
	padding-left: 20px;
	padding-right: 20px;
}
.header_pc #global-nav ul li a:hover {
	color: #fff;
	background: #005EB0;
  opacity: 1;
}


/* #global-nav [nav Lv1]
	#global-nav > [li.sub-menu]
-------------------------------------------*/
.header_pc #global-nav li.sub-menu.active > a {
	color: #fff;
	background: #005EB0;
  opacity: 1;
}

/* sub-menu  arrow icon */
.header_pc #global-nav li.sub-menu .sub-menu-head {
	position: relative;
	/*text-align: center;*/
}
.header_pc #global-nav li.sub-menu .sub-menu-head:after {
	content: "";
	position: absolute;
	top: 2px;
	bottom: 0;
	right: 15px;
	margin: auto;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


/* sub-menu-nav [nav Lv2]
	#global-nav > li.sub-menu > [ul.sub-menu-nav]
-------------------------------------------*/
/* sub-menu-nav */
.header_pc #global-nav li.sub-menu-nav a,
.header_pc #global-nav li.sub-menu:hover ul.sub-menu-nav {
  width: 220px;
}
.header_pc #global-nav li.sub-menu ul.sub-menu-nav {
	position: fixed;
	background: #EAEFF5;
	color: #005EB0;
	top: 0;
	/*left: 200px;*/
	left: 210px;
  width: 200px;
	height: 100%;
  font-size: 1.3rem;
	/*overflow: hidden;*/
	visibility: hidden;
/*	opacity: 0;*/
/*	transition: all .2s;*/
  transition: width .0s ease-out;
}
/*hoverしたら表示*/
#global-nav li.sub-menu:hover ul.sub-menu-nav {
	/*overflow: visible;*/
	visibility: visible;
/*	opacity: 1;*/
}

/* スクロールバー非表示 */
/* for Chrome, Safari */
.header_pc #global-nav li.sub-menu ul.sub-menu-nav::-webkit-scrollbar {
	display:none;
}

@media  (max-width: 1366px) {
	.header_pc #global-nav li.sub-menu ul.sub-menu-nav {
	/*	overflow: scroll;*/
		padding-top: 50px;
	}
}
@media (min-width: 1376px)  {
	.header_pc #global-nav li.sub-menu ul.sub-menu-nav {
		/*padding-top: 120px;*/
		padding-top: 150px;
	}
}

/* sub-menu-nav  arrow icon & bg */
.header_pc #global-nav li.sub-menu.active > a:after,
.header_pc #global-nav .sub-menu-head:hover:after {
	border-color: #fff;
}
.header_pc #global-nav ul.sub-menu-nav li a {
	color: #333;
	padding-top: 8px;
	padding-bottom: 8px;
  padding-left: 10px;
  padding-right: 0px;
	font-weight: 500;
	line-height: 1.2;
}
.header_pc #global-nav ul.sub-menu-nav li a:hover {
	color: #fff;
	background: #005EB0;
}
/*.header_pc #global-nav ul.sub-menu-nav li:first-of-type a{
	font-weight: 700;
}*/

/* sub-menu-nav  border */
.header_pc #global-nav ul.sub-menu-nav li {
	border-bottom: #537fa6 1px solid;
}
.header_pc #global-nav ul.sub-menu-nav li:first-of-type {
	border-top: #537fa6 1px solid;
}
.header_pc #global-nav li.sub-menu.active ul.sub-menu-nav {
	/*border-right: #537fa6 1px solid;*/
}


/* sub-menu-nav2　[nav Lv3]
#global-nav > li.sub-menu > ul.sub-menu-nav > [li.sub-menu2 > ul.sub-menu-nav2]
-------------------------------------------*/
.header_pc #global-nav li.sub-menu2 {
	position: relative;
}
.header_pc #global-nav li.sub-menu2 ul.sub-menu-nav2 {
  font-size: 1.25rem;
	position: absolute;
	left:220px;
	top:-1px;
	background:#EAEFF5;
	width:200px;
	visibility: hidden;
	opacity: 0;
	transition: all .2s;
}
/*hoverしたら表示*/
.header_pc #global-nav li.sub-menu2:hover ul.sub-menu-nav2 {
	visibility: visible;
	opacity: 1;
}

.header_pc #global-nav ul.sub-menu-nav2 a,
.header_pc #global-nav li.sub-menu2:hover ul.sub-menu-nav2 {
  /*width: 220px;*/
	width: 230px;
}
.header_pc #global-nav li.sub-menu2.active2 > a {
	color: #fff;
	background: #005EB0;
  opacity: 1;
}

/* sub-menu2 icon　arrow icon & bg*/
.header_pc #global-nav li.sub-menu2.active2 > a:after,
#global-nav .sub-menu-head2:hover:after {
	border-color: #fff;
}
.header_pc #global-nav ul.sub-menu-nav2 a {
	color: #333;
  padding-left: 10px;
  padding-right: 10px;
}
.header_pc #global-nav ul.sub-menu-nav2 a:hover {
  color: #fff;
	background: #005EB0;
	width: 100%;
}

.header_pc #global-nav li.sub-menu2 .sub-menu-head2 {
	position: relative;
}
.header_pc #global-nav li.sub-menu2 .sub-menu-head2:after {
	content: "";
	position: absolute;
	top: 2px;
	bottom: 0;
	right: 10px;
	margin: auto;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	border-top: 2px solid #005EB0;
	border-right: 2px solid #005EB0;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* sub-menu-nav  border */
.header_pc #global-nav ul.sub-menu-nav2 li {
	border-bottom: #537fa6 1px solid;
	border-left: #537fa6 1px solid;
	border-right: #537fa6 1px solid;
}
.header_pc #global-nav ul.sub-menu-nav2 li:first-of-type {
	border-top: #537fa6 1px solid;
}
.header_pc #global-nav li.sub-menu2.active2 ul.sub-menu-nav2 {
	/*border-right: #537fa6 1px solid;*/
}



/* -------------------------------------------
scrollbar
-------------------------------------------*/
.header_pc #global-nav ::-webkit-scrollbar {
  width: 4px;
}
.header_pc #global-nav ::-webkit-scrollbar-track {
  background: #bbbbbb;
  border-radius: 1px;
}
.header_pc #global-nav ::-webkit-scrollbar-thumb {
  background: #777;
  border-radius: 1px;
}


/* -------------------------------------------
.header_pc gNav_sub
-------------------------------------------*/
.header_pc .gNav_sub {
	list-style: none;
	/*margin-left: 30px;*/
	display: block;
	width: 100px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

@media (max-width: 1024px) {
	.header_pc .gNav_sub {
		margin-bottom: 3.4rem;
	}
}
@media (min-width: 1025px) and (max-width: 1366px)  {
	.header_pc .gNav_sub {
		margin-bottom: 0.0rem;
	}
}
@media (min-width: 1367px) and  (max-width: 1440px) {
	.header_pc .gNav_sub {
		margin-bottom: 3.4rem;
	}
}
@media (min-width: 1441px)  {
	.header_pc .gNav_sub {
		margin-bottom: 3.4rem;
	}
}


.header_pc .gNav_sub li {
	/*letter-spacing: 0.1rem;*/
	text-align: center;
}
.header_pc .gNav_sub li a {
	color: #105591;
	text-decoration: none;
/*	padding: 0.25rem 0 0.5rem;*/
	font-weight: 500;
	margin-bottom: 1.0rem;
	display: block;
	font-size: 1.3rem;
}

.header_pc .gNav_sub li.bg_icon a {
	background-repeat: no-repeat;
	background-size: auto 18px;
	/*padding-left: 30px;*/
	padding-left: 15px;
}
.header_pc .gNav_sub li.contact a {
	background-image: url("../images/nav_icon_contact.svg");
	/*background-position: left 5px center;*/
	background-position: left 6px center;
}
.header_pc .gNav_sub li.access a {
	background-image: url("../images/nav_icon_access.svg");
	/*background-position: left 5px center;*/
	background-position: left 10px center;
}
.header_pc .gNav_sub li.document a {
	background-image: url("../images/nav_icon_document.svg");
	/*background-position: left 5px center;*/
	background-position: left 10px center;
}


/* -------------------------------------------
.header_pc languageNav
-------------------------------------------*/
.header_pc .languageNav {
	list-style: none;
	/*margin-left: 30px;*/
	width: 100%;
	text-align: center;
}
.header_pc .languageNav li {
	display: inline-block;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
	letter-spacing: 0.1rem;
}
.header_pc .languageNav li a {
	color: #005bac;
	border-bottom: 2px solid #005DAB;
	text-decoration: none;
	padding-bottom: 0.2rem;
	font-weight: 500;
}

@media (max-width: 1024px) {
	.header_pc .languageNav {
		margin-bottom: 3.4rem;
	}
}
@media (min-width: 1025px) and (max-width: 1366px)  {
	.header_pc .languageNav {
		margin-bottom: 1.4rem;
	}
}
@media (min-width: 1367px) and  (max-width: 1440px) {
	.header_pc .languageNav {
		margin-bottom: 3.4rem;
	}
}
@media (min-width: 1441px)  {
	.header_pc .languageNav {
		margin-bottom: 3.4rem;
	}
}


/* -------------------------------------------
.header_pc snsNav
-------------------------------------------*/
.header_pc .snsNav {
	list-style: none;
	/*margin-left: 30px;*/
	width: 100%;
	text-align: center;
}
.header_pc .snsNav li {
	display: inline-block;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
}
.header_pc .snsNav li a i {
	font-size: 2.6rem;
	color: #005DAB;
}


/* -------------------------------------------
.header_pc search_box
-------------------------------------------*/
/* .header_pc search_box */
.header_pc .search_box {
  margin-top: 20px;
	margin-left: 10px;
	margin-right: 10px;
}
.header_pc .search_box .gsc-search-button-v2 {
  padding: 12px 10px!important;
}
.header_pc .search_box table.gsc-search-box td.gsc-input {
  padding-right: 0px!important;
}
.header_pc .search_box .gsc-input {
  font-size: 16px;
}




/*=====================================================================================
 [wrap_right]
======================================================================================*/
@media (max-width: 992px)  {
	.wrap_right {
		padding: 10px;
		width: 100%;
	}
	.wrap_right_full {
		margin-left: -10px;
		margin-right: -10px;
	}
	.wrap_right_full h2 {
		margin-left: 10px;
	}
}
@media (min-width: 993px)  {
	.wrap_right {
		padding: 1.5%;
		width: calc(100%);
	}
}



/*==========================================
 [main]
===========================================*/
/*
@media (min-width: 993px)  {
	.main {
		flex: 1 0 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		padding-top: 50px;
	}
}
*/

/* breadcrumbs
-------------------------------------------*/
.breadcrumbs{
	 border: 1px solid #ccc;
	 border-radius: 10px;
	 margin-bottom: 20px;
}
.breadcrumbs a{
	 color: #005bac;
	 text-decoration: none;
}
.breadcrumbs a:hover{
	color: #005bac;
}

.breadcrumbs ul{
 display: flex;
 width: 100%;
}
.breadcrumbs li{
 list-style: none;
 margin-right: 1.0rem;
 position: relative;
 padding: .7em 1em .7em 1.5em;
 font-size: 1.4rem;
 color: #797979;
}

@media (max-width: 992px)  {
	.breadcrumbs{
	 border: none;
	 border-radius: 0px;
	}
	.breadcrumbs ul{
		flex-wrap: wrap;
	}
	.breadcrumbs li{
		list-style: none;
		margin-right: 1.0rem;
		position: relative;
		padding: .7em 1.0em .5em .0em;
		font-size: 1.2rem;
		color: #797979;
		position: relative;
	}
	.breadcrumbs li::before,
	.breadcrumbs li::after{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0px;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.breadcrumbs li::before{
		right: 0px;
		width: 8px;
		height: 8px;
		border-top: 1px solid #666;
		border-right: 1px solid #666;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.breadcrumbs li:last-child:before{
		display: none;
	}
}
@media (min-width: 993px)  {
	.breadcrumbs li:before,
	.breadcrumbs li:after{
		content: "";
	  position: absolute;
	  top: 50%;
		margin-top: -1.5em;
	  border-top: 1.5em solid transparent;
	  border-bottom: 1.5em solid transparent;
	  border-left: 0em solid;
	  right: -1em;
	}
	.breadcrumbs li:last-child:before,
	.breadcrumbs li:last-child:after{
		display: none;
	}
	.breadcrumbs li:before{
	 right: -1.1em;
	 border-left: 10px solid #ccc;
	}
	.breadcrumbs li:after{
	 right: -1.05em;
	 border-left: 10px solid #fff;
	}
}

/*==========================================
[footer]
===========================================*/
.footer {
	clear:both;
	padding-bottom: 2.0rem;
	border-top: solid 3px #005DAB;
	padding-top: 3.0rem;
}
@media (max-width: 992px) {
	.footer {
		/*padding: 15px;*/
	}
}
@media (min-width: 993px)  {
	.footer {
		margin-top: 8.0rem;
	}
}


/*-------------------------------------------
footer_inr
-------------------------------------------*/
@media (min-width: 993px)  {
	.footer_inr {
		display: flex;
	  position: relative;
	  z-index: 2;
	}
}

/* footer_left
-------------------------------------------*/
@media (min-width: 993px)  {
	.footer_left {
		width: 32.7%;
	}
}

/* logo_footer */
@media (max-width: 992px) {
	.logo_footer {
		text-align: center;
		border-bottom:solid 1px #005DAB;
		padding-top: 1.0rem;
		padding-bottom: 2.0rem;
		margin-bottom: 2.0rem;
	}
}

/* footer_group_nav */
.footer_group_nav ul {
	list-style: none;
}
@media (max-width: 992px) {
	.footer_group_nav ul {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 2.0rem;
	/*	margin-left: -10px;
		margin-right: -10px;*/
	}
	.footer_group_nav ul li {
		width: 50%;
		border-bottom:solid 1px #005DAB;
	}
	.footer_group_nav ul li:first-child,
	.footer_group_nav ul li:nth-child(2){
		border-top:solid 1px #005DAB;
	}
	.footer_group_nav ul li:nth-child(odd){
		border-right:solid 1px #005DAB;
	}
	.footer_group_nav ul li a {
		display: inline-block;
		width: 100%;
		padding: 10px;
		text-decoration: none;
	}
}
@media (min-width: 993px)  {
	.footer_left_nav {
		margin-right: 3.0rem;
		margin-top: 2.4rem;
	}
	.footer_left_nav li{
		margin-bottom: 1.6rem;
		font-size: 1.4rem;
		font-weight: 500;
	}
}


/* campus_add
-------------------------------------------*/
.campus_add h3 {
	font-weight: 500;
	font-size: 1.6rem;
	margin-bottom: 1.4rem;
}
.campus_add p {
	line-height: 1.75;
	font-size: 1.4rem;
}

/* department_nav */
.department_nav {
	margin-top: 2.0rem;
	margin-bottom: 1.0rem;
	list-style: none;
}
.department_nav li{
	min-width: 108px;
	margin-bottom: 1.4rem;
	display: inline-block;
	padding: 4px 7px;
	text-align: center;
	line-height: 1;
	margin-right: 0.4rem;
	font-weight: 500;
	font-size: 1.4rem;
}
.department_nav li.clr_Social {
	border: 2px solid #6aa1d7;
}
.department_nav li.clr_Medical {
	border: 2px solid #8476b5;
}
.department_nav li.clr_Nursing {
	border: 2px solid #f0939f;
}
.department_nav li.clr_Advanced {
	border: 2px solid #f08846;
}
.department_nav li.clr_GraduateSchool {
	border: 2px solid #4874b4;
}
.department_nav li.clr_Ss {
	border: 2px solid #00b2af;
}
@media (max-width: 992px) {
	.campus_add.matto {
		margin-top: 30px;
	}
}
@media (min-width: 993px)  {
	.campus_add_wrap {
		display: flex;
	}
	.campus_add {
		/*width: 50%;*/
		margin-right: 4.0rem;
	}
	.campus_add:last-child {
		margin-right: 0rem;
	}
}

/* footer_nav
-------------------------------------------*/
.footer_nav_wrap {
	padding-top: 1.0rem;
	padding-bottom: 2.0rem;
}
.footer_nav {
	margin-top: 2.4rem;
	list-style: none;
}
.footer_nav li{
	margin-bottom: 1.6rem;
	font-weight: 500;
}
.footer_nav li i{
	color: #005DAB;
	margin-right: 0.5rem;
}
@media (max-width: 992px) {
	.footer_nav_wrap {
		display: flex;
		flex-wrap: wrap;
		border-top:solid 1px #005DAB;
		border-bottom:solid 1px #005DAB;
	}
	.footer_nav {
		width: 50%;
	}
	.footer_nav li{
		font-size: 1.3rem;
	}
}
@media (min-width: 993px)  {
	.footer_nav_wrap {
		display: flex;
	}
	.footer_nav {
		margin-right: 3.0rem;
	}
	.footer_nav li{
		font-size: 1.4rem;
	}
}

/* footer_nav_inner */
.footer_nav li > ul {
	list-style: none;
	margin-left: 1rem;
	margin-top: 1rem;
}
.footer_nav li > ul li{
	margin-bottom: 1rem;
}



/* copyright
-------------------------------------------*/
.copyright {
	text-align: center;
	clear: both;
	color: #005bac;
	margin-top: 3.0rem;
}
.copyright small {
	font-size: 1.2rem;
}
@media (min-width: 993px)  {
	.copyright {
		margin-top: 1.4rem;
	}
}

/* page-top
-------------------------------------------*/
@media (max-width: 992px) {
	#page-top {
		display: none;
	}
}
@media (min-width: 993px)  {
	#page-top a{
	  display: flex;
	  justify-content:center;
	  align-items:center;
	  background:#4874b4;
	  border-radius: 5px;
	  width: 60px;
	  height: 60px;
	  color: #fff;
	  text-align: center;
	  text-transform: uppercase;
	  text-decoration: none;
	  font-size:0.8rem;
	  transition:all 0.3s;
	}

	#page-top a:hover{
	  background: #4874b4;
	}

	#page-top {
	  position: fixed;
	  right: 10px;
	  z-index: 2;
	  opacity: 0;
	  transform: translateY(100px);
	}

	#page-top.UpMove{
	  animation: UpAnime 0.5s forwards;
	}
	@keyframes UpAnime{
	  from {
	    opacity: 0;
	  transform: translateY(100px);
	  }
	  to {
	    opacity: 1;
	  transform: translateY(0);
	  }
	}

	#page-top.DownMove{
	  animation: DownAnime 0.5s forwards;
	}
	@keyframes DownAnime{
	  from {
	    opacity: 1;
	  transform: translateY(0);
	  }
	  to {
	    opacity: 1;
	  transform: translateY(100px);
	  }
	}
}


/*====================================
   [floating-banner]
===================================*/
.floating-banner {
	position: fixed;
	z-index: 99999;
	text-align: center;
	font-weight: 400;
}
@media (max-width: 992px) {
	.floating-banner {
		/*bottom: 20px;*/
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		font-size: 1.4rem;
		/*letter-spacing: 0.1rem;*/
	}
}  
@media (min-width: 993px) {
	.floating-banner {
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		/*letter-spacing: 0.1rem;*/
	}
}

@media (max-width: 992px) {
	.floating-banner.pc_text {
		display: none;
	}
}
@media (min-width: 993px) {
	.floating-banner.sp_text {
		display: none;
	}
}

/* btn_ee */
.floating-banner a.btn_ee {
	/*color: #ffb400;*/
	color: #fff;
	text-decoration: none;
	background-color: #005bac;
	display: inline-block;
	background-image: url("../images/nav_icon_ee_w.svg");
	/*background-position: left 5px center;*/
	background-repeat: no-repeat;
}
@media (max-width: 992px) {
	.floating-banner a.btn_ee{
		margin-left: auto;
		margin-right: auto;
		/*min-width: 250px;*/
		border-radius: 8px 8px 0 0px;
		padding:14px 15px 12.5px 30px;
		border: 3px #fff solid;
		background-position: left 10px center;
		background-size: auto 13px;
		/*margin-left: 2px;
		margin-right: 2px;*/
		font-size: 1.2rem;
	}
}
@media (min-width: 993px) {
	.floating-banner a.btn_ee{
		border-radius: 8px 0 0 8px;
		padding:43px 17px 20px;
		border-top: 3px #fff solid;
		border-bottom: 3px #fff solid;
		border-left: 3px #fff solid;
		font-size: 1.6rem;
		margin-bottom: 0.5%;
		background-position: top 15px center;
		background-size: auto 18px;
	}
}

/* btn_oc */
.floating-banner a.btn_oc {
  /*color: #ffb400;*/
  	color: #fff;
	text-decoration: none;
	background-color: #005bac;
	display: inline-block;
	background-image: url("../images/nav_icon_oc.svg");
	/*background-position: left 5px center;*/
	background-repeat: no-repeat;
}
@media (max-width: 992px) {
	.floating-banner a.btn_oc{
		margin-left: auto;
		margin-right: auto;
		/*min-width: 250px;*/
		border-radius: 8px 8px 0 0px;
		padding:11px 15px 11px 34px;
		border: 3px #fff solid;
		background-position: left 10px center;
		background-size: 20px auto;
		margin-left: 0px;
		margin-right: 0px;
		/*font-size: 1.6rem;
		padding:11px 15px 11px 44px;
		background-size: 27px auto;
				margin-left: 2px;
		margin-right: 2px;*/
		font-size: 1.4rem;
	}
}
@media (min-width: 993px) {
	.floating-banner a.btn_oc{
		border-radius: 8px 0 0 8px;
		padding:40px 13px 20px;
		border-top: 3px #fff solid;
		border-bottom: 3px #fff solid;
		border-left: 3px #fff solid;
		font-size: 2.2rem;
		margin-bottom: 0.5%;
		background-position: top 15px center;
		background-size: 24px auto;
	}
}

/* btn_docs */
.floating-banner a.btn_docs {
	/*color: #ffb400;*/
	color: #fff;
	text-decoration: none;
	background-color: #005bac;
	display: inline-block;
	background-image: url("../images/nav_icon_document_w.svg");
	/*background-position: left 5px center;*/
	background-repeat: no-repeat;
}
@media (max-width: 992px) {
	.floating-banner a.btn_docs{
		margin-left: auto;
		margin-right: auto;
		/*min-width: 250px;*/
		border-radius: 8px 8px 0 0px;
		padding:14px 15px 12.5px 30px;
		border: 3px #fff solid;
		background-position: left 10px center;
		background-size: 13px auto;
		/*margin-left: 2px;
		margin-right: 2px;*/
		font-size: 1.2rem;
	}
}
@media (min-width: 993px) {
	.floating-banner a.btn_docs{
		border-radius: 8px 0 0 8px;
		padding:43px 17px 20px;
		border-top: 3px #fff solid;
		border-bottom: 3px #fff solid;
		border-left: 3px #fff solid;
		font-size: 1.6rem;
		margin-bottom: 5%;
		background-position: top 15px center;
		background-size: 15px auto;
	}
}




/*====================================
   [animation]
===================================*/
/* fade
-------------------------------------------*/
/* fadeIn */
.fadeIn{
  animation-name:fadeInAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* fadeUp */
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:0.9s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* fadeDown */
.fadeDown{
  animation-name:fadeDownAnime;
  animation-duration:0.9s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeDownAnime{
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* fadeLeft */
.fadeLeft{
  animation-name:fadeLeftAnime;
  animation-duration:0.9s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* fadeRight */
.fadeRight{
  animation-name:fadeRightAnime;
  animation-duration:0.9s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeRightAnime{
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
  opacity: 0;
}



/* zoom
-------------------------------------------*/
/* zoomIn */
.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}
@keyframes zoomInAnime{
  from {
    transform: scale(0.5);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* zoomOut */
.zoomOut{
  animation-name:zoomOutAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}
@keyframes zoomOutAnime{
  from {
    transform: scale(1.2);
    opacity: 0;
  }
  to {
    transform:scale(1);
    opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.zoomInTrigger,
.zoomOutTrigger{
  opacity: 0;
}


/*=================================
アニメーション設定
===================================*/
/*
.count2{
  animation-iteration-count: 2;
}
.countinfinite{
  animation-iteration-count: infinite;
}
*/

/* アニメーションの開始を遅らせるCSS*/
.delay-time025{
  animation-delay: 0.25s;
}
.delay-time05{
  animation-delay: 0.5s;
}
.delay-time07{
  animation-delay: 0.7s;
}
.delay-time1{
  animation-delay: 0.25s;
}
.delay-time15{
  animation-delay: 1.5s;
}
.delay-time17{
  animation-delay: 1.7s;
}
.delay-time2{
  animation-delay: 2s;
}
.delay-time25{
  animation-delay: 2.5s;
}

/* アニメーション１回分の時間の長さを指定するCSS*/
.change-time025{
  animation-duration: 0.25s;
}
.change-time05{
  animation-duration: 0.5s;
}
.change-time1{
  animation-duration: 1s;
}
.change-time15{
  animation-duration: 1.5s;
}
.change-time2{
  animation-duration: 2s;
}
.change-time25{
  animation-duration: 2.5s;
}

/* アニメーションの進行具合を操作するCSS*/
.timing-ease{
animation-timing-function:ease;
}
.timing-ease-in{
animation-timing-function:ease-in;
}
.timing-ease-out{
animation-timing-function:ease-out;
}
.timing-ease-in-out{
animation-timing-function:ease-in-out;
}
.timing-linear{
animation-timing-function:linear;
}
.timing-steps{
animation-timing-function:steps(4, end);
}
.timing-cubic-bezier{
animation-timing-function:cubic-bezier(.17,.67,.67,.51);
}


/*==================================================
アニメーションをまとめて設定する
===================================*/
.fadeIn {
	animation: fadeInAnime 1s ease 1.0s forwards;
	opacity:0;
}
.fadeUp {
	animation: fadeUpAnime 0.5s ease 1.0s forwards;
	opacity:0;
}
.fadeDown {
	animation: fadeDownAnime 1s ease 1.0s forwards;
	opacity:0;
}
.fadeLeft {
	animation: fadeLeftAnime 0.5s ease 1.0s forwards;
	opacity:0;
}
.fadeRight {
	animation: RightAnime 0.5s ease 1.0s forwards;
	opacity:0;
}

/*アニメーションの開始から終了までを指定する*/
@keyframes fadeDownAnime{
  from {
    opacity: 0;
	  transform: translateY(-25px);
  }
  to {
    opacity: 1;
	  transform: translateY(0);
  }
}
