@charset "UTF-8";



#menu,
#closeMenu {
	display: block;
	position: absolute;
	top: 12px;
	width: 54px;
	height: 54px;
	background: transparent;
	cursor: pointer;
}
#menu {
	right: 30px;
	opacity: 1;
	transition: opacity .4s
}
#menu.open {
	opacity: 0;
	transition: opacity .2s;
}
#closeMenu:focus,
#menu:focus {
	outline: none;
}
#closeMenu {
	left: 226px;
}


.headerArea {
	position: fixed;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	height: 86px;
	background: -webkit-linear-gradient(0deg, rgba(245, 243, 231, .95) 0%, rgba(197, 225, 230, .95) 100%);
	background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(245, 243, 231, .95)), color-stop(1, rgba(197, 225, 230, .95)));
	background: linear-gradient(90deg, rgba(245, 243, 231, .95) 0%, rgba(197, 225, 230, .95) 100%);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.22);
	border-top: 6px solid #172671;
	z-index: 2
}
.headerArea .inner {
	position: relative;
	width: 100%;
	height: 104px;
	max-width: 980px;
	margin: 0 auto
}

.headerArea .inner .logo {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	width: auto;
	height: 104px
}

.headerArea .inner .mainLogo {
	padding-top: 30px;
	margin-left: 14px;
}




#gNavi {
	position: absolute;
	top: 0;
	right: 0;
	width: 310px;
	height: auto;
	max-height: 100vh;
	background-color: rgba(27, 94, 105, .95);
	z-index: 100;
	overflow: hidden;
	overflow-y: scroll;
}
#gNavi .row {
	padding-top: 80px;
	margin-bottom: 55px;
}

#gNavi ul.links>li {
	display: block;
	width: 100%;
}
#gNavi ul.links>li>a,
#gNavi .links>li>.subTrigger {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 280px;
	margin-left: 30px;
	padding: 27px 0 27px .25em;
	font-size: 16px;
	line-height: 0;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid #769ea5;
}
#gNavi .links>li>.subTrigger {
	cursor: pointer;
}
#gNavi ul.links>li>a:hover,
#gNavi .links>li>.subTrigger:hover,
#gNavi ul.links>li.current>a,
#gNavi .links>li.current>.subTrigger {
	background-color: #769ea5;
}

#gNavi ul.links>li.sub>.subTrigger::after {
	content: '\e876';
	position: absolute;
	display: inline-block;
	top: 50%;
	right: 10%;
	font-family: 'Linearicons-Free';
	transform: rotate(0deg) translateY(-50%);
	transition: transform .2s
}
#gNavi ul.links>li.sub.open>.subTrigger::after {
	transform: rotate(90deg) translateY(-50%);
	transition: transform .2s
}
#gNavi ul.sublinks li {
	display: block;
	width: 280px;
	margin-left: 30px;
	border-bottom: 1px solid #769ea5;
}
#gNavi ul.sublinks li a {
	display: block;
	box-sizing: border-box;
	padding: 27px 0 27px 2em;
	font-size: 16px;
	line-height: 0;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}
#gNavi ul.sublinks li a:hover,
#gNavi ul.sublinks li.current a {
	background-color: #769ea5;
}

#gNavi .small {
	display: block;
	font-size: 11px;
	font-weight: normal;
	margin-top: -5px;
	margin-bottom: 20px;
}
#gNavi .small2 {
	display: block;
	font-size: 11px;
	font-weight: normal;
	margin-top: 20px;
	margin-bottom: -5px;
}
#gNavi .small3 {
	font-size: 75%
}
.sub .flyouts {
	display: block;
	overflow: hidden;
	max-height: 0;
	transition: max-height .2s linear
}
.sub.open .flyouts {
	max-height: 500px;/*サブメニューの項目数が増えたら変更する*/
}

footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 224px;
	margin-top: 157px;
	background-color: #172671;
	color: #fff;
}

footer .inner {
	width: 100%;
	max-width: 980px;
	height: 224px;
	margin: 0 auto;
	position: relative;
}

footer .inner .back2top {
	position: absolute;
	right: 0;
	top: -95px;
	display: block;
	width: 54px;
	height: 54px;
	font-family: Linearicons-Free;
	font-size: 54px;
	text-decoration: none;
	overflow: hidden;
}
footer .inner .back2top::before {
	content: "\e877"
}
footer .inner .back2top i {
	visibility: hidden;
	font-size: 9px;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 0
}

footer .inner .back2top:hover {
	opacity: .7
}


footer .inner .address {
	position: absolute;
	top: 36px;
	left: 10px;
}

footer .inner .address img {
	margin-bottom: 13px;
}

footer .inner .address dl {
	line-height: 1.75;
}

footer .inner .address dt {
	font-size: 14px;
}

footer .inner .address dd {
	font-size: 12px;
}

footer .inner .address .phone {
	margin-top: 26px;
	display: flex;
	font-size: 23px;
	font-weight: bold;
}

footer .inner .address .phone .tel,
footer .inner .address .phone .fax {
	padding-left: 42px;
	position: relative;
}

footer .inner .address .phone .tel::before {
	content: url(../images/ico_tel.svg);
	position: absolute;
	left: 0;
	top: -4px
}

footer .inner .address .phone .fax {
	margin-left: 24px;
}

footer .inner .address .phone .fax::before {
	content: url(../images/ico_fax.svg);
	position: absolute;
	left: 0;
	top: -4px
}

footer .inner .address a {
	color: #fff;
	text-decoration: none;
}

footer .inner .copyright {
	position: absolute;
	right: 0;
	bottom: 11px;
	font-size: 10px;
	line-height: 1;
}
