@charset "utf-8";


:root { --red: #e50012;}



/*---------------------------------------------------------------------------------------
	header
----------------------------------------------------------------------------------------*/
.l-header{
	text-align: left;
}
.l-footer{
	text-align: left;
}
header.f_i_header{
	width: 100%;
	height: 90px;
	margin: 0 auto;
	position: fixed;
	top: 117px;
	z-index: 999;
	background: #fff;
	transition: top .3s;
}
.is-scroll .f_i_header{
	height: 60px;
}
.is-scroll header.f_i_header{ top: 80px;}
header.f_i_header #headerwrap{
	max-width: 1400px;
	padding: 0 15px;
	margin: 0 auto;
	background: #fff;
}
header.f_i_header #headerwrap #site-logo{
	color: var(--red);
	font-size: 23px;
	font-weight: 600;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	float: left;
	padding: 25px 0;
}
header.f_i_header #headerwrap #site-logo a{
	color: var(--red);
}
header.f_i_header #headerwrap #site-logo img{
	margin-right: 20px;
}
header.f_i_header #headerwrap #site-logo span{
	line-height: 1;
	display: inline-block;
	vertical-align: bottom;
	margin-bottom: 4px;
}
header.f_i_header #headerwrap .spmenu{
	display: none;
	text-align: center;
}
/* nav */
header.f_i_header nav{
	font-size: 14px;
	float: right;
}
header.f_i_header nav ul.gnav > li{
	float: left;
	padding: 9px 10px 0;
	transition: all .3s;
}
.is-scroll header.f_i_header nav ul.gnav > li{ padding-top: 0;}
header.f_i_header nav ul.gnav > li > a,header nav ul.gnav > li > a,
header.f_i_header nav ul.gnav > li > a,header nav ul.gnav > li > p{
	padding-top: 28px;
	display: block;
	min-height: 81px;
}
.is-scroll header.f_i_header nav ul.gnav > li > a,.is-scroll header nav ul.gnav > li > a,
.is-scroll header.f_i_header nav ul.gnav > li > a,.is-scroll header nav ul.gnav > li > p{
	padding-top: 18px;
	min-height: 62px;
}
header.f_i_header nav ul.gnav > li > a{
	-webkit-transition: all 0s;
	transition: all 0s;
}
header.f_i_header nav ul.gnav > li > a:hover,header.f_i_header nav ul.gnav > li.active > a,header.f_i_header nav ul.gnav > li.active > p,header.f_i_header nav ul.gnav > li > p:hover,header.f_i_header nav ul.gnav > li > a:hover,header.f_i_header nav ul.gnav > li:hover > a{ border-bottom: 5px solid var(--red);}
header.f_i_header nav ul.gnav > li.nav-recruit{
	padding: 0;
}
header.f_i_header nav ul.gnav > li.nav-recruit a{
	color: #fff;
	background: #b3cd5a;
	padding: 48px 25px 47px;
	border-bottom: none;
}
header.f_i_header nav ul.gnav > li.mega:hover > p,header.f_i_header nav ul.gnav > li.ac:hover > p{ position: relative;}
header.f_i_header nav ul.gnav > li.mega:hover > p:after,header.f_i_header nav ul.gnav > li.active.mega:hover > p:after{ bottom: -5px;}
header.f_i_header nav ul.gnav > li.ac{ position: relative;}
header.f_i_header nav ul.gnav > li.mega > div,header.f_i_header nav ul.gnav > li.ac > div{
	font-size: 18px;
/*	overflow: hidden;*/
	position: absolute;
	top: 90px;
	right: 0;
	margin: 0 auto;
	width: 100%;
	background: #534741;
	background:rgba(83,71,65,0.9);
	height: 0;
	opacity: 0;
	visibility: hidden;
}
.is-scroll .f_i_header nav ul.gnav > li.mega > div,header.f_i_header nav ul.gnav > li.ac > div{
	top: 60px;
}
header.f_i_header nav ul.gnav > li.mega > div{
	color: #fff;
	left: 0;
}
header.f_i_header nav ul.gnav > li.mega > div a{ color: #fff;}
header.f_i_header nav ul.gnav > li.ac > div{
	width: 300px;
}
header.f_i_header nav ul.gnav > li.mega:hover > div,
header.f_i_header nav ul.gnav > li.ac:hover > div{
	height: auto;
	padding: 60px 3% 75px;
	opacity: 1;
	visibility: visible;
}
header.f_i_header nav ul.gnav > li.mega > div p{
	font-size: 36px;
	margin-bottom: 30px;
}
header.f_i_header nav ul.gnav > li.mega > div .mega-inner,
header.f_i_header nav ul.gnav > li.ac > div ul{
	color: #fff;
	text-align: left;
	border: 1px solid var(--red);
	overflow: hidden;
}
header.f_i_header nav ul.gnav > li.mega > div .mega-inner{
	padding: 20px 25px 0;
}
header.f_i_header nav ul.gnav > li.ac > div ul{
	padding: 30px 25px;
}
header.f_i_header nav ul.gnav > li.ac > div ul li{
	border-bottom: 2px dotted #999;
}
header.f_i_header nav ul.gnav > li.ac > div ul li:first-child{
	border-top: 2px dotted #999;
}
header.f_i_header nav ul.gnav > li.mega a{
	color: #fff;
	display: block;
}
header.f_i_header nav ul.gnav > li.mega > div ul{
	display: flex;
	justify-content: center;
}
header.f_i_header nav ul.gnav > li.mega > div ul li{
	font-size: 14px;
	max-width: 185px;
	margin: 0 10px;
}
header.f_i_header nav ul.gnav > li.mega > div ul li figure{ margin-bottom: 10px;}

@media screen and (max-width: 850px) {
	header.f_i_header nav ul.gnav > li{ padding: 9px 5px 0;}
}
@media screen and (max-width: 768px) {
	header.f_i_header{
		width: 100%;
		height: 85px;
	}
	/* headerwrap */
	header.f_i_header #headerwrap{
		width: 100%;
		height: 90px;
		z-index: 999;
		padding: 0;
	}
	header.f_i_header #headerwrap #site-logo{
		text-align: left;
		padding: 10px 0 0 3%;
		width: 520px;
		position: relative;
		z-index: 999;
	}
	header.f_i_header #headerwrap #site-logo img{
		height: 40px;
		width: auto;
	}
	header.f_i_header #headerwrap .spmenu{
		color: #fff;
		font-size: 16px;
		display: block;
		float: right;
		width: 80px;
		height: 80px;
		cursor: pointer;
		z-index: 101;
		background: var(--red);
		position: relative;
		padding-top: 50px;
		margin-right: 3%;
		border-radius: 0 0 10px 10px;
	}
	header.f_i_header #headerwrap .spmenu span,
	header.f_i_header #headerwrap .spmenu span:before,
	header.f_i_header #headerwrap .spmenu span:after{
		position: absolute;
		display: block;
		background: #fff;
		width: 40px;
		height: 4px;
		transition: all .5s;
	}
	header.f_i_header #headerwrap .spmenu span{
		top: 18px;
		left: 20px;
	}
	header.f_i_header #headerwrap .spmenu span:before,header #headerwrap .spmenu span:after{
		content: "";
		left: 0;
	}
	header.f_i_header #headerwrap .spmenu span:before{
		top: 10px;
	}
	header.f_i_header #headerwrap .spmenu span:after{
		top: 20px;
	}
	header.f_i_header.open #headerwrap .spmenu span{
		top: 5px;
		-webkit-transform: translateY(20px) rotate(-45deg);
		transform: translateY(20px) rotate(-45deg);
	}
	header.f_i_header.open #headerwrap .spmenu span:before{
		opacity: 0;
	}
	header.f_i_header.open #headerwrap .spmenu span:after{
		-webkit-transform: translateY(-20px) rotate(90deg);
		transform: translateY(-20px) rotate(90deg);
		top: 20px;
	}
	/* nav */
	header.f_i_header #headerwrap nav{
		font-size: 18px;
		position: relative;
		z-index: 1;
		top: 0;
		right: 0;
		width: 100%;
		background: var(--red);
		
		text-align: left;
		float: none;
	}
	header.f_i_header nav ul.gnav > li > a:hover,header.f_i_header nav ul.gnav > li.active > a,header.f_i_header nav ul.gnav > li > a:hover,header.f_i_header nav ul.gnav > li:hover  > a{ border-bottom: none;}
	header.f_i_header #headerwrap nav ul.gnav{
		overflow: auto;
		display: block;
		position: absolute;
		z-index: 1;
		top: 80px;
		width: 100%;
		left: 0;
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: center top;
		transform-origin: center top;
		opacity: 0;
		transition-property: opacity, transform, -webkit-transform;
		transition-duration: .5s, 0s, 0s;
		transition-delay: 0s, .5s, .5s;
		box-shadow: 0 0 0 100vh #fff;
		background: #fff;
		height: calc(100vh - 80px);
	}
	header.f_i_header.open #headerwrap nav ul.gnav{
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
		transition-delay: 0s, 0s, 0s;
	}
	header.f_i_header #headerwrap nav ul.gnav > li{
		float: none;
		margin-left: 0;
		padding: 0;
	}
	header.f_i_header #headerwrap nav ul.gnav > li:last-child{
		padding-bottom: 50px;
	}
	header.f_i_header nav ul.gnav > li:nth-child(4){ display: block;}
	header.f_i_header #headerwrap nav ul.gnav > li a{
		color: #fff;
		display: block;
		padding: 12px;
		border-top: 1px dashed #808080;
		position: relative;
		background: var(--red);
		min-height: inherit;
	}
	header.f_i_header #headerwrap nav ul.gnav > li p{
		border-top: 1px dashed #808080;
	}
	header.f_i_header #headerwrap nav ul.gnav > li:last-child a{
		border-bottom: 1px dashed #808080;
	}
	header.f_i_header nav ul.gnav > li > p{
		color: #fff;
		padding: 12px;
		background: var(--red);
		min-height: inherit;
	}
	header.f_i_header nav ul.gnav > li.mega > div > p{
		display: none;
	}
	header.f_i_header nav ul.gnav > li.mega > div ul{
		display: block;
	}
	header.f_i_header nav ul.gnav > li.mega > div ul li{
		max-width: inherit;
		margin: 0;
	}
	header.f_i_header nav ul.gnav > li.mega > div ul li figure{
		display: none;
	}
	header.f_i_header nav ul.gnav > li.mega > p{
		position: relative;
	}
	header.f_i_header nav ul.gnav > li.mega:hover > p{
		display: block;
	}
	header.f_i_header nav ul.gnav > li > p span{
		position: absolute;
		z-index: 99;
		top: 0;
		right: 10px;
		width: 46px;
		height: 46px;
		display: block;
		transition-duration: .2s, 0s, 0s;
		transition-delay: 0s, .2s, .2s;
		background: url("../images/ac.svg") center / 20px auto no-repeat;
	}
	header.f_i_header nav ul.gnav > li.mega > p span.open,
	header.f_i_header nav ul.gnav > li.ac > p span.open{
		-webkit-transform: translateY(0) rotate(180deg);
		transform: translateY(0) rotate(180deg);
	}
	header.f_i_header nav ul.gnav > li.mega > div,
	header.f_i_header nav ul.gnav > li.ac > div{
		font-size: 14px;
		position: static;
		height: auto;
		background: none;
		display: none;
	}
	header.f_i_header nav ul.gnav > li.ac > div{
		width: 100%;
		max-width: 100%;
	}
	header.f_i_header nav ul.gnav > li.mega > div img{
		display: none;
	}
	header.f_i_header nav ul.gnav > li.mega:hover > div,
	header.f_i_header nav ul.gnav > li.ac:hover > div{
		padding: 0;
	}
	header.f_i_header nav ul.gnav > li.mega:hover > p:after,header.f_i_header nav ul.gnav > li.ac:hover > p:after{ content: none;}
	header.f_i_header nav ul.gnav > li.mega > div .mega-inner,
	header.f_i_header nav ul.gnav > li.ac > div ul{
		padding: 0;
		border: none;
	}
	header.f_i_header nav ul.gnav > li.ac > div ul li,header.f_i_header nav ul.gnav > li.ac > div ul li:first-child{ border: none;}
	header.f_i_header nav ul.gnav > li.mega .mega-inner a{ color: #fff;}
	header.f_i_header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul{
		display: block;
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li{
		width: 100%;
		margin: 0;
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li p:before{
		content: url("../images/icon-arrow-green.svg");
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dd a:before,
	header.f_i_header nav ul.gnav > li.ac > div ul li a:before{
		content: url("../images/icon-arrow-green.svg");
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li p{
		padding: 0;
		border-bottom: none;
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner{
		padding: 0;
		display: block;
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner dl{
		width: 100%;
		margin: 0;
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt,header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dd{ border-bottom: none;}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt{
		font-size: 18px;
		padding: 5px 12px;
		border-top: 1px solid #fff;
		background: #3e3a39;
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt:before{ content: none;}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner p{
		background: var(--red);
		position: static;
		width: 100%;
		border-radius: 0;
	}
	header.f_i_header nav ul.gnav > li.mega > div.mega-service .mega-inner p a{
		font-size: 16px;
		text-align: left;
		width: 100%;
		line-height: inherit;
	}
	header.f_i_header nav ul.gnav > li.nav-recruit a{
		color: #000;
		border: none;
		background: var(--red);
	}
	header.f_i_header nav ul.gnav > li > a:hover, header.f_i_header nav ul.gnav > li.active > p, header.f_i_header nav ul.gnav > li > p:hover, header.f_i_header nav ul.gnav > li:hover p{ border: none;}

	.c-sitemap .item.-hav-child .child-item.-hav-child{ background: #F4EDE4;}
	.c-sitemap .item.-hav-child .child-item-link{ width: 100%;}
	.c-sitemap .item.-hav-child .arrow{ display: none;}
	.c-sitemap .item.-hav-child .acc-btn2{
		display: block;
		width: 100%;
		padding: 5.0666666667vw 13vw 4.8vw;
		position: relative;
		background: #fcf7f1;
	}
	.c-sitemap .item.-hav-child .acc-btn2 .toggle2{
		width: 5.3333333333vw;
    height: 5.3333333333vw;
    display: block;
    position: absolute;
    right: 7.7333333333vw;
    top: 4.8vw;
    background-color: #E83522;
    border-radius: 50%;
	}
	.c-sitemap .item.-hav-child .acc-btn2 .toggle2:before,
	.c-sitemap .item.-hav-child .acc-btn2 .toggle2:after{
		position: absolute;
		content: "";
    display: block;
    width: 2.1333333333vw;
    height: 0.5333333333vw;
    background-color: #ffffff;
    border-radius: 0.5333333333vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: 0.3s opacity;
    transition: 0.3s opacity;
	}
	.c-sitemap .item.-hav-child .acc-btn2 .toggle2:after{
		width: 0.5333333333vw;
    height: 2.1333333333vw;
	}
	.c-sitemap .item.-hav-child .acc-btn2 .toggle2.ac:after{ opacity: 0;}
	.c-sitemap .item.-hav-child .child2{ display: none;}
	.c-sitemap .child2 .child-item{ background: #fefefe;}
	.c-sitemap .child2 .child-item .child-item-link{
		padding-left: 13vw;
	}

}
@media screen and (max-width: 768px) {
	header.f_i_header #headerwrap #site-logo{
		width: 225px;
	}
}


/* bnrfixed */
.bnrfixed{ position: fixed; right: 20px; top: 220px; z-index: 999; transition: 0.3s top;}
.is-scroll .bnrfixed{ top: 150px;}
.bnrfixed img{ display: block; margin-bottom: 10px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.bnrfixed{
		position: static;
		display: flex;
		justify-content: space-around;
	}
	header.f_i_header #headerwrap nav ul.gnav > li .bnrfixed a{
		border-bottom: none;
		width: 50%;
		text-align: center;
	}
	.bnrfixed img{ display: inline; margin-bottom: 0;}
}



/*---------------------------------------------------------------------------------------
	top
----------------------------------------------------------------------------------------*/

.f_i .top header{ position: static;}
.l-header.top-l-header{
	position: absolute;
	top: inherit;
	bottom: 90px;
}
.is-scroll .l-header.top-l-header{
	bottom: 60px;
}
.l-header.top-l-header.is-fixed{
	position: fixed;
	top: 0;
	bottom: inherit;
}
header.f_i_header#top-header{
	position: absolute;
	z-index: 998;
	top: inherit;
	bottom: 0;
	left: 0;
	border-bottom: 1px solid #999;
	transition: all .3s;
}
header.f_i_header#top-header.is-fixed{
	position: fixed;
	top: 80px;
	bottom: inherit;
}

@media screen and (max-width: 1280px) {
	header.f_i_header{ top: 9.8vw;}
	.is-scroll header.f_i_header,
	header.f_i_header#top-header.is-fixed{ top: 6vw;}
}

@media screen and (max-width: 768px) {
	header.f_i_header{ top: 18vw; display: none;}
}


@media screen and (max-width: 768px) {
	.l-header.top-l-header{
		position: fixed;
		top: 0;
		bottom: inherit;
	}
	header.f_i_header#top-header{
		position: fixed;
		top: 18vw;
		bottom: inherit;
	}
	header.f_i_header#top-header,header.f_i_header#top-header #headerwrap{
		border: none;
	}
}

@media print{
	header.f_i_header{ position: static;}
}



