﻿@charset "utf-8";

/*=================================
1: wrapper
2: header
3: content
4: content
6: footer
7: other(ページトップ、デバイススイッチ)
=================================*/


/* chromeのスクロールを制御
=================================*/
@media screen and (max-width: 899px) {
	main {
		margin-top: 56px;
	}
}

body.bodyFixed {
	position: fixed;
}


/* layoutInner
=================================*/
.layoutWrap {
	max-width: 1220px;
	/*min-width: 1000px;*/
	width: 100%;
	padding: 0 10px;
	margin: 0 auto;
}



/* header
=================================*/
header {
	position: relative;
	z-index: 400;
	/*min-width: 1000px;*/
	width: 100%;
	background: #FFF;
	/* padding: 8px 0 0; */
	border-bottom: 4px solid #8EC300;
	font-weight: bold;
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	/*	-ms-flex-align: center;
  -webkit-align-items: center;
	align-items: center;*/
	height: 116px;
}
@media screen and (max-width: 899px) {
	header {
		height: auto;
		position: fixed;
		top: 0;
		z-index: 88888888;
	}
}

/*header > div > * {
	-webkit-transition:  0.2s ease-in-out;
	-moz-transition:  0.2s ease-in-out;
	-o-transition:  0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}*/

header > div.layoutWrap {
	position: relative;
	max-width: 1220px;
/*	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;*/
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap: wrap;
	/*-ms-flex-align: center;
  -webkit-align-items: center;
	align-items: center;*/
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
@media screen and (max-width: 1219px) {
	header > div.layoutWrap {
		padding-right: 0;
	}
}
@media screen and (max-width: 899px) {
	header > div.layoutWrap {
		padding: 0;
	}
}

header h1 {
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
  -webkit-align-items: center;
	align-items: center;
}
@media screen and (max-width: 899px) {
	header h1 {
		margin: 0 0 0 12px;
	}
}

header h1 img.large {
	display: block;
}
@media screen and (max-width: 899px) {
	header h1 img.large {
		width: auto;
		height: 51px;
	}
}

header h1 img.small {
	display: none;
	width: 120px;
	padding-top: 6px;
}

ul.headerRightArea {
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	font-size: 14rem;
	/* height: 36px; */
	/* padding: 32px 10px 0 0; */
	position: absolute;
	top: 16px;
	right: 20px;
}
@media screen and (max-width: 999px) {
	ul.headerRightArea {
		font-size: 12rem;
	}
}
@media screen and (max-width: 899px) {
	ul.headerRightArea {
		/*display: none;*/
		font-size: 14rem;
		position: static;
		width: 100%;
		background: #F2F5F7;
	  -webkit-flex-direction: column;
	  flex-direction: column;
		-webkit-box-align:left;/*android*/
		-webkit-align-items: left;
		align-items: left;
	}
}

ul.headerRightArea li {
	padding: 0 0 0 24px;
	position: relative;
}
@media screen and (max-width: 899px) {
	ul.headerRightArea li {
		padding: 0;
		width: 100%;
	}

	ul.headerRightArea li:not(.headerSearch) a::after {
		content: "\e909";
		font-family: 'icomoon' !important;
		 display:inline-block;
		line-height: 1;
		position: absolute;
		top: 0;
		bottom: 0;
		left: inherit;
		right: 12px;
		width: auto;
		height: 1em;
		margin:  auto;
	}
	ul.headerRightArea li:not(.headerSearch):nth-child(1) a::after {
		padding: 0;
	}

	ul.headerRightArea li.headerSearch {
		position: absolute;
		top: 10px;
		left: 0;
		width: 90%;
		padding: 0 12px;
	}
}



/*----------ヘッダー内検索エリア---------- */
li.headerSearch input[type="text"] {
	padding: 4px 24px 4px 4px;
}
@media screen and (max-width: 899px) {
	li.headerSearch input[type="text"] {
		width: 100%;
		line-height: 1.6;
		padding: 8px 24px 8px 12px;
		border-radius: 3px;
		-webkit-appearance : none;
	}
}


li.headerSearch input[type="submit"] {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto 0;
	width: 16px;
	height: 16px;
	background: url("/img/ico/header_ico_search.png") no-repeat center center;
	background-size: 16px;
	cursor: pointer;
}



/*----------グローバルサイトへのリンク---------- */
li.headerGlobalLink span {
	font-size: 18rem;
	vertical-align: top;
}
@media screen and (max-width: 899px) {
	li.headerGlobalLink span {
		display: none;
	}
}


/*----------globalnavi---------- */
header nav {
	width: 100%;
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-align: center;
	margin: -11px 0 0;
	font-family: "游ゴシック", YuGothic, Yu Gothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	/* height: 48px; */
}
@media screen and (max-width: 899px) {
	header nav {
		/*display: none;*/
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
		padding: 40px 0 0;
		margin: 0;
	  background: #F2F5F7;
	}
}

header nav *:hover {
	text-decoration: none;
}

header nav > a {
	display: block;
}

header nav > ul {
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-grow: 1;
}

header nav > ul > li {
}

ul.navGlobal {
	position: relative;
	font-size: 16rem;
}
@media screen and (max-width: 999px) {
	ul.navGlobal {
		font-size: 14rem;
	}
}
@media screen and (max-width: 899px) {
	ul.navGlobal {
		font-size: 16rem;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
}
@media screen and (max-width: 899px) {
	ul.navGlobal {
		font-size: 14rem;
	}
}

ul.navGlobal::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1px;
	z-index: 666666;

	margin: auto 0;
	background: #CCC;
	width: 1px;
	height: 16px;
	display: block;
}
@media screen and (max-width: 899px) {
	ul.navGlobal::after {
		content: none;
	}
}


ul.navGlobal > li {
	/* position: relative; */
}

ul.navGlobal > li > a {
	position: relative;
	padding: 0 24px;
	height: 48px;

	display:-ms-flexbox;
	display: -webkit-flex;
	display:-webkit-box;
	display: flex;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-ms-flex-align: center;
  -webkit-align-items: center;
	align-items: center;

  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}
@media screen and (max-width: 1199px) {
	ul.navGlobal > li > a {
		padding: 0 16px;
	}
}
@media screen and (max-width: 1049px) {
	ul.navGlobal > li > a {
		padding: 0 8px;
	}
}


ul.navGlobal > li > a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1px;
	z-index: 666666;

	margin: auto 0;
	background: #CCC;
	width: 1px;
	height: 16px;
	display: block;
}
@media screen and (max-width: 899px) {
	ul.navGlobal > li > a::before {
		content: "\e909";
		/* color: inherit; */
		font-family: 'icomoon' !important;
		/* font-weight: bold; */
		/* vertical-align: -2px; */
		/* display:inline-block; */
		line-height: 1;
		position: absolute;
		top: 0;
		bottom: 0;
		left: inherit;
		right: 12px;
		width: auto;
		height: 1em;
		background: transparent;
		margin:  auto;
		-webkit-transition: .3s;
		transition: .3s;
	}
	ul.navGlobal > li.spMenu > a::before {
		content: "＋";
		color: #FFF;
		font-size: 15rem;
		text-align: center;
		width: 18px;
		height: 18px;
		background: #aab5bb;
		/*border: 2px solid #e8e8e8;*/
		border-radius: 100px;
	}
	ul.navGlobal > li.spMenu > a.active::before {
		/*content: "－";*/
		background: #d2dce2;
		-webkit-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
}

ul.navGlobal > li > a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 666666;
	margin: 0 auto;
	background: #8EC300;
	width: 0;
	height: 4px;
	display: block;
}
@media screen and (max-width: 899px) {
	ul.navGlobal > li > a::after {
		content: none;
	}
}

ul.navGlobal > li.current > a,
ul.navGlobal > li.hover > a {
	position: relative;
	color: #8EC300;
}

ul.navGlobal > li.current > a::after,
ul.navGlobal > li.hover > a::after {
	width: 100%;
	box-sizing: content-box;
	border-left: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-webkit-transition:  0.3s ease-in-out;
	-moz-transition:  0.3s ease-in-out;
	-o-transition:  0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 899px) {
	ul.navGlobal > li.current > a::after,
	ul.navGlobal > li.hover > a::after {
		content: none;
	}
}



/*----------secMegaDropMenu---------- */
.secMegaDrop {
	display: none;
	position: absolute;
	top: 48px;
	left: 0;
	right: 0;
	z-index: 444;
	margin: auto;
	max-width: 1200px;
	/*min-width: 1000px;*/
	width: 98.5vw;
	background: #f2f2f2;
	padding: 24px 40px;
	text-align: left;
}
@media screen and (max-width: 1219px) {
	.secMegaDrop {
			left: -10px;
	}
}
@media screen and (max-width: 899px) {
	.secMegaDrop {
		display: none;
		position: inherit;
		width: 100%;
		padding: 12px;
		background: #e8edf1;
	}
}
@media screen and (max-width: 699px) {
	.secMegaDrop {
		padding: 0;
	}
}

.secMegaDrop h2 {
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 899px) {
	.secMegaDrop h2 {
		font-size: 14rem;
	}
}
@media screen and (max-width: 699px) {
	.secMegaDrop h2 {
		width: 100%;
	}
}

.secMegaDrop h2 a::after {
	margin: 0 0 0 4px;
}
@media screen and (max-width: 699px) {
	.secMegaDrop h2 a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 12px;
		margin: auto;
		display: table;
	}
}

.secMegaDrop h2 a span {
	display: none;
}
@media screen and (max-width: 899px) {
	.secMegaDrop h2 a span {
		display: inline;
	}
}

.secMegaDrop ul.search {
	position: absolute;
	top: 24px;
	right: 96px;
}
@media screen and (max-width: 899px) {
	.secMegaDrop ul.search {
		display: none;
	}
}


.secMegaDrop ul.search li {
	display: inline-block;
	background: #1A005D;
	border: 2px solid transparent;
	border-radius: 2px;
}

.secMegaDrop ul.search li a {
	color: #FFF;
	font-size: 13rem;
	padding: 6px 24px 6px 16px;
	border-radius: 2px;
	display: block;
}

.secMegaDrop ul.search li a .icon-search01 {
	font-size: 18rem;
	vertical-align: middle;
}

.secMegaDrop ul.search li:hover {
	background: #FFF;
	border-color: #003680;
}

.secMegaDrop ul.search li:hover a {
	color: #003680;
}

.secMegaDrop .clm3 {
	margin: 0;
}

@media screen and (max-width: 699px) {
	.secMegaDrop .clm3 li {
		margin: 0;
	}
}

.secMegaDrop li h3 a {
	position: relative;
}

.secMegaDrop li h3 a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4444;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
}
@media screen and (max-width: 899px) {
	.secMegaDrop li h3 a::before {
		content: none;
	}
}

.secMegaDrop li h3 a:hover {
	opacity: 0.7;
}

.secMegaDrop li h3 a[target="_blank"]::after {
	content: none;
}

.secMegaDrop li h3 span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 55555;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:-webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-ms-flex-align: center;
  -webkit-align-items: center;
	align-items: center;
	color: #FFF;
	padding: 0 16px;
	text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
@media screen and (max-width: 899px) {
	.secMegaDrop li h3 span {
		font-size: 14rem;
		padding: 0 12px;
	}
}
@media screen and (max-width: 699px) {
	.secMegaDrop li h3 span br {
		display: none;
	}
}

.secMegaDrop li h3 span::after {
	margin: 0 0 0 8px;
	color: #FFF;
}
@media screen and (max-width: 899px) {
	.secMegaDrop li h3 span::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 12px;
		margin: auto;
		display: table;
		color: inherit;
	}
}

.secMegaDrop li h3 a[target="_blank"] span::after {
	content: "\e900";
}
@media screen and (max-width: 899px) {
.secMegaDrop li h3 a[target="_blank"] span::after {
	top: 12px;
	}
}

.secMegaDrop li h3 img {
	width: 100%;
	display: block;
}
@media screen and (max-width: 699px) {
	.secMegaDrop li h3 img {
		display: none;
	}
}

.secMegaDrop ul.list1 {
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;

	width: 100%;
	padding: 0 8px;
	font-size: 12rem;
	min-height: 0%;/*IE対応*/
}
@media screen and (max-width: 899px) {
	.secMegaDrop ul.list1 {
		display: none;
	}
}

.secMegaDrop ul.list1 li {
	width: calc(100% / 2 - 8px);
	margin: 6px 0 0;
	position: relative;
}

.secMegaDrop ul.list1 li::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}

.secMegaDrop ul.list1 li a {
	padding: 0 12px 0 0;
}

.secMegaDrop ul.list1 li a:hover {
	/*text-decoration: underline;*/
}

.secMegaDrop ul.list1.flexClm {
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.secMegaDrop ul.list1.flexClm li {
	position: relative;
	width: 100%;
}

.secMegaDrop ul.list2 {
	margin: 0;
}

@media screen and (max-width: 699px) {
	.secMegaDrop ul.list2 li {
		margin: 0;
	}
}

.secMegaDrop ul.list2 li a {
	position: relative;
	padding: 8px 16px;
	font-size: 14rem;
	background: #FFF;
	box-shadow: 0 2px 2px rgba(0,0,0,0.3);
	border: 2px solid transparent;
	border-radius: 2px;
}
@media screen and (max-width: 899px) {
	.secMegaDrop ul.list2 li a {
		font-size: 12rem;
	}
}
@media screen and (max-width: 699px) {
	.secMegaDrop ul.list2 li a {
		font-size: 14rem;
		padding: 8px 24px 8px 2em;
		background: transparent;
		box-shadow: none;
		border-top: 1px solid #E8E8E8;
	}
}

.secMegaDrop ul.list2 li a:hover {
	border: 2px solid #EEE;
	box-shadow: none;
}

.secMegaDrop ul.list2 li a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	height: 1em;
}

/*gnav サポート*/
#navGlobal4 .secMegaDrop h2 {
	margin: 0 0 16px;
}

#navGlobal4 .secMegaDrop .clm2 {
	border: 1px solid #B0B7BD;
	border-radius: 2px;
	padding: 24px 24px 24px 32px;
}

#navGlobal4 .secMegaDrop .clm2:nth-of-type(1) {
	margin: 0;
	border-bottom: none;
}

#navGlobal4 .secMegaDrop .clm2 h3 {
	position: relative;
	width: 20%;
	font-size: 20rem;
	line-height: 1.2;
	padding: 0 0 0 64px;
	margin: 0;
}

#navGlobal4 .secMegaDrop .clm2 h3::before {
	font-size: 42rem;
	font-family: 'icomoon' !important;
	font-weight: normal;
	color: #003680;

	position: absolute;
	top: -4px;
	left: 0;
}

#navGlobal4 .secMegaDrop .clm2:nth-of-type(1) h3::before {
	content: "\e910";
}

#navGlobal4 .secMegaDrop .clm2:nth-of-type(2) h3::before {
	content: "\e911";
}

#navGlobal4 .secMegaDrop .clm2 h3 span {
	display: block;
	font-size: 13rem;
}

#navGlobal4 .secMegaDrop .clm2 ul {
	width: 80%;
}

#navGlobal4 .secMegaDrop .clm2 li {
	margin: 0;
}

.secMegaDrop p.link {
	font-size: 12rem;
	text-align: right;
	border-top: 1px solid #DDD;
	padding: 6px 8px;
	margin: 6px 0 0;
}
@media screen and (max-width: 899px) {
	.secMegaDrop p.link {
		display: none;
	}
}

.secMegaDrop p.link .txtLink2 {
	display: inline-block;
}

.secMegaDrop ul.bnr {
	padding: 24px 0 8px 8px;
}
@media screen and (max-width: 899px) {
	.secMegaDrop ul.bnr {
		display: none;
	}
}

.secMegaDrop ul.bnr li {
	display: inline-block;
	margin: 0 8px 0 0;
}

.secMegaDrop ul.bnr li:nth-last-of-type(1) {
	margin: 0;
}

.secMegaDrop ul.bnr li img {
	max-width: 100%;
	max-height: 40px;
}

@media screen and (max-width: 1199px) {
	.secMegaDrop ul.bnr li img {
		max-height: 36px;
	}
}

@media screen and (max-width: 1100px) {
	.secMegaDrop ul.bnr li img {
		max-height: 32px;
	}
}

.secMegaDrop ul.bnr li img:hover {
	opacity: 0.8;
}


/*閉じるボタン*/
.megaNavClose {
	width: 32px;
	height: 32px;
	position: absolute;
	top: 24px;
	right: 40px;
	font-size: 30rem;
	line-height: 1;
	color: #003680!important;
	border: 1px solid #003680;
	border-radius: 2px;
}
@media screen and (max-width: 899px) {
	.megaNavClose {
		display: none;
	}
}

.megaNavClose:hover {
	color: #FFF!important;
	background: #003680;
}

.megaNavClose::before,
.megaNavClose::after {
	position: absolute;
	top: 48%;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
	display: block;
	width: 16px;
	border-top: 2px solid #003680;
}

.megaNavClose::before {
	transform: skewY(-45deg);
}

.megaNavClose::after {
	transform: skewY(45deg);
}

.megaNavClose:hover::before,
.megaNavClose:hover::after {
	border-color: #FFF;
}


/*ヘッダーナビ 右側*/
ul.navGlobalSub {
	-ms-flex-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
@media screen and (max-width: 899px) {
	ul.navGlobalSub {
	  -webkit-justify-content: space-between;
	  justify-content: space-between;
	  margin: 12px;
	}
}

ul.navGlobalSub li {
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	text-align: left;
}
@media screen and (max-width: 899px) {
	ul.navGlobalSub li {
		width: calc(100% / 3 - 8px);
	}
}

ul.navGlobalSub li a {
	color: #FFF;
	font-size: 15rem;
	font-weight: bold;
	padding: 8px 12px;
	border-left: 1px solid #453679;
	background: #1A005D;
	height: 48px;
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-grow: 1;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-shadow: 0 2px 0px rgba(0,0,0,0.8);
}
@media screen and (max-width: 999px) {
	ul.navGlobalSub li a {
			font-size: 12rem;
	}
}
@media screen and (max-width: 899px) {
	ul.navGlobalSub li a {
		-webkit-flex-direction: column;
		flex-direction: column;
		color: inherit;
		text-shadow: none;
		font-size: 10rem;
		height: auto;
		padding: 24px 0;
		border: none;
		border-radius: 3px;
		background: #FFF;
		box-shadow: 0 2px 2px rgba(0,0,0,0.3);
	}
}
@media screen and (max-width: 899px) {
	ul.navGlobalSub li a {
		padding: 16px 0;
	}
}


ul.navGlobalSub li a:hover {
	color: #FFF;
	background: #453679;
	border-left-color: transparent;
	text-shadow: none;
}

ul.navGlobalSub li [class^="icon-"],
ul.navGlobalSub li [class*=" icon-"] {
	font-size: 24rem;
	margin: 0 8px 0 0;
}
@media screen and (max-width: 899px) {
	ul.navGlobalSub li [class^="icon-"],
	ul.navGlobalSub li [class*=" icon-"] {
		font-size: 36rem;
		margin: 0 0 4px;
	}
}

ul.navGlobalSub li a img {
	display: inline-block;
	margin: 0 8px 0 0;
	width: 24px;
}


/*Gナビを改行*/
ul.navGlobalSub li a br {
	display: none;
}
@media screen and (max-width: 1149px) {
	ul.navGlobalSub li a br {
		display: block;
	}
}
@media screen and (max-width: 899px) {
	ul.navGlobalSub li a br {
		display: none;
	}
}



/*ホバー時の黒背景*/
.megaDropLayer {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 333;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.4);
	display: none;
}



/*----------スマホメニュー---------- */
@media screen and (max-width: 899px) {

.hamburger {
  display: block;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 10px;
  right: 8px;
  z-index: 10000;
  border-radius: 100px;
  padding: 8px 0 0 4px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

.hamburger__icon {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  width: 25px;
  height: 2px;
  background-color: #444;
  -moz-transition-property: background-color, -moz-transform;
  -o-transition-property: background-color, -o-transform;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}
.hamburger__icon:before, .hamburger__icon:after {
  position: absolute;
  content: "";
}
.hamburger__icon:before {
  top: -7px;
}
.hamburger__icon:after {
  top: 7px;
}
.hamburger.active .hamburger__icon {
  background-color: transparent;
}
/*.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #fff;
}*/
.hamburger.active {
  background: #BBB;
}
.hamburger.active .hamburger__icon:before {
  background-color: #FFF;
  -moz-transform: translateY(7px) rotate(45deg);
  -ms-transform: translateY(7px) rotate(45deg);
  -webkit-transform: translateY(7px) rotate(45deg);
  transform: translateY(7px) rotate(45deg);
}
.hamburger.active .hamburger__icon:after {
  background-color: #FFF;
  -moz-transform: translateY(-7px) rotate(-45deg);
  -ms-transform: translateY(-7px) rotate(-45deg);
  -webkit-transform: translateY(-7px) rotate(-45deg);
  transform: translateY(-7px) rotate(-45deg);
}

.fat-nav {
  top: 0;
  left: 0;
  z-index: 9999;
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  -moz-transform: scale(1.4);
  -ms-transform: scale(1.4);
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
  -moz-transition-property: -moz-transform;
  -o-transition-property: -o-transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.fat-nav__wrapper {
  width: 100%;
  height: 100%;
  display: table;
  table-layout: fixed;
}
.fat-nav.active {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}
}/*@media*/


@media screen and (max-width: 899px) {
ul.navGlobal > li > a,
ul.headerRightArea li a {
	position: relative;
	display: block;
	height: auto;
	padding: 8px 12px;
	-webkit-box-align:left;/*android*/
	-webkit-align-items: left;
	align-items: left;
	border-top: 1px solid #E8E8E8;
}
}/*@media*/

@media screen and (max-width: 699px) {
.secMegaDrop h2 a,
.secMegaDrop li h3 span {
	position: relative;
	display: block;
	color: inherit;
	width: 100%;
	padding: 8px 24px 8px 2em;
	border-top: 1px solid #E8E8E8;
	text-shadow: none;
	-webkit-justify-content: left;
	justify-content: left;
}
}/*@media*/






/*gnav SP用トップボタン*/
@media screen and (min-width: 900px) {
	#navGlobalTop {
		display: none;
	}
}

/*閉じるボタン*/
a.spMenuCloseBtn {
	display: none;
}
@media screen and (max-width: 899px) {
a.spMenuCloseBtn {
		display: block;
		color: #FFF;
		padding: 12px 0;
		text-align: center;
		background: #061a33;
	}
}


/*----------ヘッダー追従時のスタイル---------- */

header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	height: 52px;
	padding: 0;
}
@media print{
	header.fixed {
		position: inherit;
	}
}
@media screen and (max-width: 899px) {
	header.fixed {
		height: auto;
		/*position: static;*/
	}
}


/*header.fixed > div > * {
	-webkit-transition:  0.2s ease-in-out;
	-moz-transition:  0.2s ease-in-out;
	-o-transition:  0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}*/

header.fixed h1 {
	margin: 4px 0 0;
	display:-ms-inline-flexbox;
	display: -webkit-inline-flex;
	display:-webkit-box;
	display: inline-flex;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	-ms-flex-align: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;

	position: relative;
	z-index: 7777777;
}
@media screen and (max-width: 899px) {
	header.fixed h1 {
		width: 100%;
		padding: 4px 0 4px 12px;
		margin: 0;
		background: #FFF;
	}
}

header.fixed h1 img.large {
	display: none;
}

header.fixed h1 img.small {
	display: block;
}
@media screen and (max-width: 899px) {
	header.fixed h1 img.small {
		width: 90px;
	}
}

header.fixed h1 span {
	font-size: 12rem;
	margin: 0 0 0 24px;
}

header.fixed .headerRightArea {
	display: none;
}

header.fixed ul.navGlobal > li > a {
	padding: 0 8px;
}
@media screen and (max-width: 899px) {
	header.fixed ul.navGlobal > li > a {
		padding: 8px 12px;
	}
}

header.fixed ul.navGlobal > li > a::after {
	top: 48px;
}

@media all and (-ms-high-contrast: none){
	header.fixed ul.navGlobal > li > a::after {
		top: 47px;
		height: 3px;
	}
}


header.fixed nav {
	position: absolute;
	top: 0;
	right: 10px;
	margin: 0;
}
@media screen and (max-width: 1219px) {
	header.fixed nav {
		right: 0px;
	}
}
@media screen and (max-width: 899px) {
	header.fixed nav {
		position: static;
	}
}

header.fixed ul.navGlobal {
	padding-left: 164px;
}
@media screen and (max-width: 1219px) {
	header.fixed nav ul.navGlobal{
		padding-left: 144px;
	}
}
@media screen and (max-width: 899px) {
	header.fixed ul.navGlobal {
		padding-left: 0;
	}
}

header.fixed ul.navGlobalSub li a {
	font-size: 12rem;
	height: 52px;
	padding: 10px 12px;
}
@media screen and (max-width: 1199px) {
	header.fixed ul.navGlobalSub li a {
		font-size: 10rem;
		padding: 2px 8px;
		flex-direction: column;
	}

	header.fixed ul.navGlobalSub li span {
		margin: 0;
	}

	header.fixed ul.navGlobalSub li span::before {
		margin: 0;
	}

	header.fixed ul.navGlobalSub li a br {
		display: none;
	}
}
@media screen and (max-width: 999px) {
	header.fixed ul.navGlobalSub li a {
		padding: 2px 4px;
	}
}
@media screen and (max-width: 899px) {
	header.fixed ul.navGlobalSub li a {
		height: auto;
		padding: 16px 0;
	}
}

header.fixed .secMegaDrop {
	top: 52px;
	left: 20px;
}

@media screen and (max-width: 1219px) {
	header.fixed .secMegaDrop {
		left: 0;
	}
}

@media all and (-ms-high-contrast: none){
	header.fixed .secMegaDrop {
		top: 50px;
	}
}





/* main
=================================*/


.naviHidden {
	/*	display:none;	*/
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

main {
	overflow: hidden;
	/*min-width: 1000px;*/
}

.container {
	width: 100%;
}

.noLocalNav {
	max-width: 1220px;
	/*min-width: 1000px;*/
	margin: 0 auto;
	padding: 0 10px;
}

.rcback {
	max-width: 1220px;
	/*min-width: 1000px;*/
	margin: 0 auto;
	padding: 0 10px;
}

.rcback::after {
	content: "";
	clear: both;
	display: block;
}

.main {
	width: 100%;
	position: relative;
	margin: 32px auto 0;
}
@media screen and (max-width: 699px) {
.main {
	margin-top: 16px;
}
}/*@media*/


.rcback > .main {
	width: calc(100% - 320px);
	float: left;
}
/*.main幅調整*/
@media screen and (max-width: 1049px) {
.rcback > .main {
	width: calc(100% - 230px);
}
}/*@media*/
@media screen and (max-width: 949px) {
.rcback > .main {
	width: 100% ;
	float: inherit;
}
}/*@media*/





/* パンくず
=================================*/
ol#topicpath {
	list-style: none;
	padding: 0 10px;
	margin: 7px auto;
	text-indent: 0;
	max-width: 1220px;
	/*min-width: 1000px;*/
	width: 100%;
}

ol#topicpath li {
	margin-left: 0;
	font-weight: normal;
	color: #303030;
	font-size: 14rem;
}
@media screen and (max-width: 699px) {
ol#topicpath li {
	font-size: 10rem;
}
}/*@media*/





/* aside
=================================*/
aside {
	font-family: "游ゴシック", YuGothic, Yu Gothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	max-width: 280px;
	width: 100%;
	margin: 32px 0 0;
	float: right;
}
/*ローカルナビ幅調整*/
@media screen and (max-width: 1049px) {
aside {
	width: 210px;
}
}/*@media*/
@media screen and (max-width: 949px) {
aside {
	max-width: 100%;
	width: 100%;
}
}/*@media*/

ul.inquirynavi li {
	margin: 0 0 16px 0;
}

ul.inquirynavi li .icon-mail::before,
ul.inquirynavi li .icon-tel::before,
ul.inquirynavi li .icon-search02::before {
	font-size: 24rem;
}

.needs_rchead .icon-comment::before {
	font-size: 28rem;
	font-weight: bold;
}


.rchead [class^="listLevel"] a,
.rchead [class*=" listLevel"] a {
	color: #5a5a5a;
	position: relative;
	display: block;
	padding: 12px 32px 12px 12px;
	border-bottom: 1px solid #E6E7E8;
}

.rchead [class^="listLevel"] a:hover,
.rchead [class*=" listLevel"] a:hover {
	color: #8EC300;
}


/*右カラム 1階層*/
.rchead ul.listLevel1 > li > a {
	font-size: 18rem;
	padding: 16px 12px 14px;
	border: 1px solid #E6E7E8;
	border-top: 3px solid #8EC300;
}
@media screen and (max-width: 899px) {
	.rchead ul.listLevel1 > li > a {
		font-size: 16rem;
		padding: 12px;
	}
}

.rchead ul.listLevel1 > li.current.on > a::after {
	color: #8EC300;
}

.rchead ul.listLevel1 > li > a > span {
	vertical-align: middle;
}

.rchead ul.listLevel1 > li > a > span::before {
	font-size: 36rem;
	/*font-weight: bold;*/
	margin: 0 4px 0 0;
}

/*右カラム 2階層*/
.rchead ul.listLevel2 > li > a {
}

.rchead ul.listLevel2 > li.current {
	background: #fbfcfd;
}

.rchead ul.listLevel2 > li.current > a {
	background: #f1f0f9;
}

.rchead ul.listLevel2 > li.current.on > a::after {
	color: #8EC300;
}

/*右カラム 3階層*/
.rchead ul.listLevel3 > li > a {
	padding-left: 28px;
}

/*右カラム 4階層*/
.rchead ul.listLevel4 > li > a {
	padding-left: 44px;
}

.rchead ul.listLevel3,
.rchead ul.listLevel4 {
	display: none;
}

.rchead li.current > ul.listLevel3 {
	display: block;
}

.rchead ul.listLevel2 ul li a {
	padding-top: 8px;
	padding-bottom: 8px;
}

.rchead ul.listLevel2 ul li.current > a {
	color: #8EC300;
	background: #f9fcff;
}

.rchead ul.listLevel2 ul li.current li a:hover {
	color: #8EC300;
	background: #fcfeff;
}


.rchead li a::after{
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 1em;
}





.rchead .hnavi {
	padding: 12px;
	font-weight: bold;
	border-bottom: 1px solid #8EC300;
	background-color: #f1f1f1;
}
.rchead .searchBoxDesign2,
.rchead > dl > dd.searchBoxDesign2 {
	background: #E4EBF3;
    border-radius: 0;
    box-shadow: none;
    padding: 24px 12px;
    margin: 0;
    display: block;
    align-items: center;
}

/*.aboutTop .localnavi {
	width: 201px;
}*/


/*
ul.localnavi li {
	border-top: 1px solid #DDD;
}
ul.localnavi li:first-of-type {
	border-top: none;
}
ul.localnavi li:last-of-type {
	border-bottom: 1px solid #DDD;
}
ul.localnavi li a {
	display: block;
	position: relative;
	padding: 12px 32px 12px 12px;
	font-size: 14rem;
	color: #5a5a5a;
}
@media screen and (max-width: 899px) {
	ul.localnavi li a {
		font-size: 13rem;
	}
}

ul.localnavi li a:hover{
  color: #8EC300;
}


.aboutTop ul.localnavi li a {
	width: 167px;
}
ul.localnavi .current a.ln_third {
	background: #e5eff9;
	color: #8EC300;
	text-decoration: none;
	cursor: default;
	padding: 12px 24px 12px 12px;
}
ul.localnavi .current a.ln_third:hover {
	color: #303030;
}
*html ul.localnavi li a.ln_third {
	background-position: 12px 0.7em ! important;
}
ul.localnavi li a.ln_third {
	background-position: 12px 0.6em ! important;
}



ul.localnavi .current {
	background: #ffffff;
	height: 100%;
}
ul.localnavi .current dt {
	padding: 0;
	background: #e5eff9;
	border-top: none;
	border-left: none;
	border-right: none;
}

ul.localnavi .current li:last-of-type{
	border-bottom: none;
}
ul.localnavi .current li a {
	padding-left: 28px;
	background: #f9fcff;
}
ul.localnavi .current .current a {
	color: #8EC300;
	background: #f9fcff;
	text-decoration: none;
	cursor: default;
}

ul.localnavi .current .current a::after {
	content: none;
}
*/


.needs_rchead {
	margin: 20px 0 0 0;
}
.needs_rchead ul.listLevel1 > li > span {
    font-family: "游ゴシック", YuGothic, Yu Gothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    display: block;
    position: relative;
    padding: 10px 5px;
    font-weight: bold;
    font-size: 18rem;
}
@media screen and (max-width: 899px) {
	.needs_rchead ul.listLevel1 > li > span {
	    font-size: 14rem;
	}
}



.needs_rchead ul.listLevel1 > li > span:before {
	content: "";
    position: absolute;
    width: 60px;
    border-bottom: 1px solid #8EC300;
	z-index: 2;
	left: 0;
	bottom: 0;
}
.needs_rchead ul.listLevel1 > li > span:after {
	content: "";
    position: absolute;
    width: 100%;
    border-bottom: 1px solid #DDD;
	z-index: 1;
	left: 0;
	bottom: 0;
}

aside .rightcol03 {
	margin-top: 24px;
	border-bottom: 1px solid #e9f0f1;
}

aside .rightcol03 dd img {
	display: block;
	margin: 16px auto;
}

aside .rightcol03 .listLinkDesign1 li {
	margin-bottom: 14px;
	text-align: right;
	font-weight: bold;
}

aside .rightcol03 .listLinkDesign1 li a {
	font-weight: bold;
}


#sideMenuDetails > a {
	display: none;

	position: fixed;
	right: 10px;
	bottom: 80px;
	z-index: 333;

	font-size: 48rem;
	color: #FFF;
	width: 64px;
	height: 64px;
	background: #2e2e2e;
	opacity: 0.5;

  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}
@media screen and (max-width: 699px) {
#sideMenuDetails > a {
	font-size: 32rem;
	width: 40px;
	height: 40px;
	bottom: 56px;
}
}/*@media*/

#sideMenuDetails > a:hover {
	opacity: 1;
}

#sideMenuDetails > a span {
	margin: 0 0 0 8px;
	vertical-align: 4px;
}
@media screen and (max-width: 699px) {
#sideMenuDetails > a span {
	margin: 0 0 0 4px;
}
#sideMenuDetails > a span::before {
	width: 32px;
	height: 32px;
}
}/*@media*/

.underMenu {
	/*display: none;*/
	opacity: 0;
	position: fixed;
	bottom: -100%;
	left: 0;
	right: 0;
	z-index: 999999999;
	margin: auto;
	padding: 16px 32px 32px;
	width: 100%;
	background: #F2F5F7;
	box-shadow: 0 -3px 10px rgba(0,0,0,0.1);
	-webkit-transition: .3s;
	transition: .3s;
}
@media screen and (max-width: 699px) {
.underMenu {
	width: 72%;
	left: auto;
	padding: 0;
	max-height: 72%;
	overflow-y: scroll;
}
.underMenu ul.layoutWrap {
	padding: 0;
}
}/*@media*/

.underMenu.active {
	bottom: 0;
	opacity: 1;
}
@media screen and (max-width: 699px) {
.underMenu.active {
	bottom: 2%;
}
}/*@media*/

.underMenu h2 {
	font-size: 14rem;
	margin-bottom: 4px;
}
@media screen and (max-width: 699px) {
.underMenu h2 {
	display: none;
}
}/*@media*/

.underMenu h2 span {
	vertical-align: middle;
}

.underMenu h2 span::before {
	font-size: 32rem;
	margin: 0 8px 0 0;
}

.underMenu ul.layoutWrap > li.current > a {
	display: inline-block;
	font-size: 24rem;
	margin-bottom: 8px;
}
@media screen and (max-width: 699px) {
.underMenu ul.layoutWrap > li.current > a {
	font-size: 16rem;
	margin: 12px;
}
}/*@media*/

.underMenu ul.listLevel3 > li > a {
	padding: 6px 8px;
	box-shadow: none;
	border: 1px solid #e6e7e8;
}

@media screen and (min-width: 700px) {
.underMenu ul.listLevel3 > li > a:not(.btnMenuClose2) {
	display: inline-block;
}
}/*@media*/

.underMenu ul.listLevel3 .current > a {
	color: #8EC300;
}

.underMenu ul.listDesign7 li{
	margin-bottom: 6px;
}
@media screen and (max-width: 699px) {
.underMenu ul.listDesign7 li{
	width: 100%;
	margin: 0;
}
.underMenu ul.listDesign7 li a {
	display: block;
	box-shadow: none;
	border: none;
	border-top: 1px solid #e6e7e8;
	font-size: 13rem;
	padding: 8px 12px;
}
}/*@media*/

.underMenu li.listGroup {
	background: #ffffff;
	padding: 0 8px 0 0;
	border-radius: 3px;
	border: 1px solid #e6e7e8;
	/* box-shadow: 1px 1px 2px rgba(0,0,0,0.1) inset; */
}
@media screen and (max-width: 699px) {
.underMenu li.listGroup {
	padding: 0;
	border: none;
}
}/*@media*/

.underMenu li.listGroup li {
	margin: 0;
}

.underMenu li.listGroup > a {
	border: none!important;
}

.underMenu ul.listLevel4 {
	display: inline-block;
	margin-left: 6px;
}
@media screen and (max-width: 699px) {
.underMenu ul.listLevel4 {
	width: 100%;
	margin-left: 0;
}
}/*@media*/

.underMenu ul.listLevel4 li {
	background: #e4ebf3;
	margin-bottom: 6px;
}
@media screen and (max-width: 699px) {
.underMenu ul.listLevel4 li {
	margin-bottom: 0;
}
}/*@media*/

.underMenu ul.listLevel4 li a {
	font-size: 12rem;
	box-shadow: none;
	background: transparent;
}
@media screen and (max-width: 699px) {
.underMenu ul.listLevel4 li a {
	background: #f7f7f7;
	padding-left: 20px;
	border: none;
	border-top: 1px solid #e7e9ea;
}
}/*@media*/

.underMenu ul.listLevel4 a:hover {
	color: #8EC300;
}

.underMenu ul.listLevel5 {
	display: none;
	width: 0;
	overflow: hidden;
	height: 0;
	margin: 0;
	padding:0;
}


.underMenu a.btnMenuClose {
	position: absolute;
	top: 8px;
	right: 12px;
	z-index: 666666;

	width: 32px;
	height: 32px;
	font-size: 32rem;
	font-weight: normal;
	line-height: 1;
	color: #003680;
	border: 1px solid #003680;
	border-radius: 2px;
}

.underMenu a.btnMenuClose:hover {
	color: #FFF;
	background: #003680;
}

.underMenu a.btnMenuClose::before,
.underMenu a.btnMenuClose::after {
	position: absolute;
	top: 48%;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
	display: block;
	width: 16px;
	border-top: 2px solid #003680;
}

.underMenu a.btnMenuClose::before {
	transform: skewY(-45deg);
}

.underMenu a.btnMenuClose::after {
	transform: skewY(45deg);
}

.underMenu a.btnMenuClose:hover::before,
.underMenu a.btnMenuClose:hover::after {
	border-color: #FFF;
}

.underMenu a.btnMenuClose2 {
	display: none;
	color: #FFF;
	text-align: center;
	background: #061a33;
}
@media screen and (max-width: 699px) {
.underMenu a.btnMenuClose2 {
	display: block;
}
}/*@media*/

.underMenu a.btnMenuClose2::after {
	content: none;
}


#sideMenuDetails .layer {
  content: "";
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999999998;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
}

#sideMenuDetails .layer.active {
  display: block;
}








/* footer
=================================*/
footer {
	/*min-width: 1000px;*/
	width: 100%;
	overflow: hidden;/*IE11*/
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	/*-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;*/
	/*display: none;*/
}
@media print{
	footer {
		display: none;
	}
}

/* フッターバナーエリア*/
.footerBnr {
	font-family: "游ゴシック", YuGothic, Yu Gothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	margin: 40px auto 0;
	overflow: hidden;/*IE11*/
}
@media screen and (max-width: 899px) {
.footerBnr {
	margin-top: 24px;
}

.footerBnr li {
	width: calc(50% - 6px)!important;
}
}/*@media*/


.footerBnr img {
	box-shadow: 0 2px 2px rgba(0,0,0,0.3);
	border-radius: 2px;

	-webkit-transition:  0.2s ease-in-out;
	-moz-transition:  0.2s ease-in-out;
	-o-transition:  0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

@media screen and (max-width: 899px) {
.footerBnr span {
	display: inline-block;
	margin: 8px 0 0;
	font-size: 11rem;
}
}/*@media*/


/* フッターナビ*/
.footerBtm {
	width: 100%;
	padding: 48px 0;
	margin: 40px 0 0;
	background: #e7e5ef;
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	/*-ms-flex-align: center;
    -webkit-align-items: center;
	align-items: center;*/
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
@media screen and (max-width: 899px) {
	.footerBtm {
		padding: 16px 0;
		margin: 16px 0 0;
	}
}

.footerBtm nav {
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

@media screen and (max-width: 899px) {
	.footerBtm nav {
		flex-direction: column;
		padding: 0;
	}
}

.footerBtm dt {
	font-size: 16rem;
	font-family: "游ゴシック", YuGothic, Yu Gothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: bold;
	margin: 0 0 16px;
}
@media screen and (max-width: 899px) {
	.footerBtm dt {
		margin: 0;
		font-size: 13rem;
	}

	.footerBtm nav dt a {
		position: relative;
		display: block;
		font-size: 13rem;
		padding: 8px 12px;
		border-bottom: 1px solid rgba(0,0,0,0.05);
	}

	.footerBtm nav dl:nth-of-type(1) dt a {
		border-top: 1px solid rgba(0,0,0,0.05);
	}

	.footerBtm nav dt a::after {
		content: "\e909";
		font-family: 'icomoon' !important;
		display:inline-block;
		line-height: 1;
		position: absolute;
		top: 0;
		bottom: 0;
		left: inherit;
		right: 12px;
		width: auto;
		height: 1em;
		background: transparent;
		margin: auto;
	}
}
@media screen and (max-width: 899px) {
	.footerBtm dl:not(.footerLink) dd {
		display: none;
	}
}

.footerBtm nav dd a {
	display: inline-block;
	font-size: 14rem;
	font-weight: normal;
	margin: 0 0 8px;
}

/* フッターバナーリンク*/
.footerBtm div.layoutWrap{
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
}
@media screen and (max-width: 899px) {
	.footerBtm div.layoutWrap{
		-ms-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-order: -1;
		order: -1;
	}
	.footerBtm div.layoutWrap .LinkSpTop{
		-webkit-order: -1;
		order: -1;
	}
}
dl.footerLink {
	margin: 32px auto 48px;
}
@media screen and (max-width: 899px) {
	dl.footerLink {
		margin: 0 auto 24px;
	}
}

dl.footerLink dt {
	font-weight: bold;
	margin: 0 0 12px;
	text-align: center;
}
dl.footerLink.LinkSpTop dt {
	margin: 0 0 8px;
}

dl.footerLink dd a {
	margin: 0 12px 0 0;
}
@media screen and (max-width: 699px) {
	dl.footerLink dd a {
		margin: 0 6px 0 0;
		display: inline-block;
		width: 30%;
	}
	dl.footerLink.LinkSpTop dd a {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	dl.footerLink dd a img {
		display: inline-block;
		width: 100%;
		height: auto;
		vertical-align: middle;
	}
	dl.footerLink.LinkSpTop dd a img {
		width: auto;
		height: 44px;
	}
}

dl.footerLink dd a:hover {
	opacity: 0.8;
	text-decoration : none;
}

/* フッターバナーリンク*/
ul.footerListAbout {
	display:-ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 13rem;
	margin: 0 0 12px 0;
}
@media screen and (max-width: 899px) {
	ul.footerListAbout {
		font-family: "游ゴシック", YuGothic, Yu Gothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
		flex-direction: column;
	}
}

ul.footerListAbout li {
	position: relative;
	padding: 0 12px;
}
@media screen and (max-width: 899px) {
	ul.footerListAbout li {
		padding: 0;
	}
}

ul.footerListAbout li::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 1px;
	background: #CCC;
	height: 50%;
}
@media screen and (max-width: 899px) {
	ul.footerListAbout li::after {
		content: "\e909";
		font-family: 'icomoon' !important;
		font-weight: bold;
		line-height: 1;
		right: 12px;
		width: auto;
		height: 1em;
		background: transparent;
		margin: auto;
	}
}

@media screen and (min-width: 900px) {
	ul.footerListAbout li:last-child::after {
		content: none;
	}
}

@media screen and (min-width: 900px) {
	ul.footerListAbout li a {
		font-weight: normal;
	}
}

@media screen and (max-width: 899px) {
	ul.footerListAbout li a {
		display: block;
		padding: 8px 12px;
		border-bottom: 1px solid rgba(0,0,0,0.05);
	}
}

/*コピーライト*/
p.copyright {
	text-align: center;
}

p.copyright small {
	font-size: 14rem;
	font-weight: bold;
	color: #8793a2;
}
@media screen and (max-width: 899px) {
	p.copyright small {
		font-size: 10rem;
	}
}



/*----------pageTop---------- */
a.pageTop {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 333;
	width: 64px;
	height: 64px;
	background: #2e2e2e;
	opacity: 0.5;

  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
  display: none;
}
@media screen and (max-width: 699px) {
	a.pageTop {
		width: 40px;
		height: 40px;
	}
}

a.pageTop::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	left: 0;
	right: 0;
	top: 16px;
	bottom: 0;
	margin: auto;
}
@media screen and (max-width: 699px) {
	a.pageTop::before {
		width: 12px;
		height: 12px;
		top: 8px;
	}
}

a.pageTop:hover {
	opacity: 1;
}


