@charset "utf-8";


/*---------------------------------------------------------------------------------------
	Overall settings
----------------------------------------------------------------------------------------*/

body{
	color:#111;
	text-align:left;
}
.switch{}
a{ color:#111; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
img.imgalpha, .svg path, .svg polygon{ -webkit-transition: all .2s; transition: all .2s;}
.svg{ vertical-align: middle;}
.underline{ text-decoration: underline;}
/* font */
.gothic{ font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;}
.mincho{ font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;}
.noto{ font-family: 'Noto Sans JP', sans-serif;}
.tsukua{
	font-family: 'tsukua';
	font-weight: 500;
}
/* red */
.white{ color: #fff;}
.red{ color: #c00;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	html{ font-size: 50%;}
	a:hover{ opacity: 1;}
}






/*---------------------------------------------------------------------------------------
	header
----------------------------------------------------------------------------------------*/

header{
	width: 100%;
	height: 70px;
	margin: 0 auto;
	position: fixed;
	top: 0;
	z-index: 999;
	background: #fff;
}
header #headerwrap{
	max-width: 1300px;
	padding: 0 15px;
	margin: 0 auto;
	position: relative;
	z-index: 999;
	height: 70px;
	background: #fff;
}
header #headerwrap #site-logo{
	color: var(--gr);
	font-size: 2.3rem;
	float: left;
	width: 267px;
	padding: 15px 0;
}
header #headerwrap #site-logo a{ color: var(--gr);}
header #headerwrap #site-logo img{
	margin-right: 20px;
}
header #headerwrap .spmenu{
	display: none;
}
/* nav */
header nav{
	font-size: 1.4rem;
	float: right;
}
header nav ul.gnav > li{
	float: left;
	padding: 0 8px;
	height: 70px;
}
header nav ul.gnav > li > a,header nav ul.gnav > li > p > a{
	padding-top: 25px;
	display: block;
}
header nav ul.gnav > li > a{
	-webkit-transition: all 0s;
	transition: all 0s;
}
header nav ul.gnav > li > a:hover,
header nav ul.gnav > li.active > a,
header nav ul.gnav > li.active > p,
header nav ul.gnav > li:hover  > a{
	border-bottom: 5px solid var(--gr);
}
header nav ul.gnav > li.ac:hover > p{
	position: relative;
}
header nav ul.gnav > li.ac:hover > p:before{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	bottom: -10px;
	background: url("../images/nav-fig.svg") center no-repeat;
	width: 10px;
	height: 10px;
	margin: 0 auto;
	display: block;
}
header nav ul.gnav > li.nav-recruit{
	padding: 0;
	margin-left: 5px;
}
header nav ul.gnav > li.nav-recruit a{
	color: #fff;
	background: #b3cd5a;
	padding: 24px 15px;
	border-bottom: none;
}
header nav ul.gnav > li.mega:hover > p,
header nav ul.gnav > li.ac:hover > p{
	position: relative;
}
header nav ul.gnav > li.mega:hover > p:after,
header nav ul.gnav > li.ac:hover > p:after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: -25px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #3e3a39 transparent;
	display: block;
}
header nav ul.gnav > li.ac{
	position: relative;
}
header nav ul.gnav > li.mega > div,
header nav ul.gnav > li.ac > div{
	font-size: 1.8rem;
	overflow: hidden;
	position: absolute;
	top: 70px;
	right: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
	background: #3e3a39;
	height: 0;
}
header nav ul.gnav > li.mega > div{ left: 0;}
header nav ul.gnav > li.ac > div{
	width: 370px;
}
header nav ul.gnav > li.mega:hover > div,
header nav ul.gnav > li.ac:hover > div{
	height: auto;
	padding: 5px;
}
header nav ul.gnav > li.mega > div .mega-inner,
header nav ul.gnav > li.ac > div ul{
	color: #fff;
	text-align: left;
	border: 1px solid var(--bl);
	overflow: hidden;
}
header nav ul.gnav > li.mega > div .mega-inner{
	padding: 20px 25px 0;
}
header nav ul.gnav > li.ac > div ul{
	padding: 30px 25px;
}
header nav ul.gnav > li.ac > div ul li{
	border-bottom: 2px dotted #999;
}
header nav ul.gnav > li.ac > div ul li:first-child{
	border-top: 2px dotted #999;
}
header nav ul.gnav > li.ac > div ul li a:before{
	content: "・";
}
header nav ul.gnav > li.mega .mega-inner a{ color: #fff;}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul{
	display: flex;
	flex-wrap: wrap;
}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li{
	width: 23%;
	margin: 0 2.33% 30px 0;
}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li:nth-child(4n){
	margin-right: 0;
}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li.outside p{ position: relative;}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li.outside p:after{
	content: "";
	background: url("../images/icon-outside.svg") center no-repeat;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 18px;
	right: 0;
}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li a{ display: block;}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li p{
	padding: 7px 0;
	border-bottom: 2px dotted #999;
}
header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li p:before{
	display: inline-block;
	vertical-align: middle;
	margin: -9px 5px 0 0;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner{
	padding: 20px 30px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl{
	width: 32%;
	margin: 0 2% 30px 0;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl:nth-child(3n){
	margin-right: 0;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt,header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dd{
	border-bottom: 2px dotted #999;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt{
	font-size: 3rem;
	padding-bottom: 10px;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt:before{
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	vertical-align: middle;
	margin-right: 25px;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt.live:before{
	background: url("../images/nav-live.svg") left center / 40px auto no-repeat;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt.stay:before{
	background: url("../images/nav-stay.svg") left center / 40px auto no-repeat;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt.go:before{
	background: url("../images/nav-go.svg") left center / 40px auto no-repeat;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt.visit:before{
	background: url("../images/nav-visit.svg") left center / 40px auto no-repeat;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt.combine:before{
	background: url("../images/nav-combine.svg") left center / 40px auto no-repeat;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt.consult:before{
	background: url("../images/nav-consult.svg") left center / 40px auto no-repeat;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dd a,
header nav ul.gnav > li.ac > div ul li a{
	color: #fff;
	padding: 5px 0;
	display: block;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dd a:before,
header nav ul.gnav > li.ac > div ul li a:before{
	line-height: 1;
	display: inline-block;
	vertical-align: middle;
	margin:  0 5px 6px 0;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner p{
	color: #fff;
	background: #b3cd5a;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	width: 300px;
	border-radius: 10px 10px 0 0;
}
header nav ul.gnav > li.mega > div.mega-service .mega-inner p a{
	font-size: 2.4rem;
	text-align: center;
	width: 300px;
	line-height: 50px;
	display: block;
}
@media screen and (max-width: 1300px) {
	header{
		width: 100%;
	}
	/* headerwrap */
	header #headerwrap{
		width: 100%;
		z-index: 999;
		padding: 0;
	}
	header #headerwrap #site-logo{
		text-align: left;
		padding: 10px 0 0 3%;
		width: 520px;
		position: relative;
		z-index: 999;
	}
	header #headerwrap #site-logo img{
		height: 40px;
		width: auto;
	}
	header #headerwrap .spmenu{
		display: block;
		float: right;
		width: 70px;
		height: 70px;
		cursor: pointer;
		z-index: 101;
		background: var(--gr);
		position: relative;
		padding-top: 50px;
	}
	header #headerwrap .spmenu span,
	header #headerwrap .spmenu span:before,
	header #headerwrap .spmenu span:after{
		position: absolute;
		display: block;
		background: #fff;
		width: 40px;
		height: 4px;
		transition: all .5s;
	}
	header #headerwrap .spmenu span{
		top: 20px;
		left: 15px;
	}
	header #headerwrap .spmenu span:before,header #headerwrap .spmenu span:after{
		content: "";
		left: 0;
	}
	header #headerwrap .spmenu span:before{
		top: 12px;
	}
	header #headerwrap .spmenu span:after{
		top: 24px;
	}
	header.open #headerwrap .spmenu span{
		top: 10px;
		-webkit-transform: translateY(20px) rotate(-45deg);
		transform: translateY(20px) rotate(-45deg);
	}
	header.open #headerwrap .spmenu span:before{
		opacity: 0;
	}
	header.open #headerwrap .spmenu span:after{
		-webkit-transform: translateY(-20px) rotate(90deg);
		transform: translateY(-20px) rotate(90deg);
		top: 20px;
	}
	/* nav */
	header #headerwrap nav{
		position: relative;
		z-index: 1;
		top: 0;
		right: 0;
		width: 100%;
		background: var(--gr);
		
		text-align: left;
		float: none;
	}
	header #headerwrap nav ul.gnav{
		overflow: auto;
		display: block;
		position: absolute;
		z-index: 1;
		top: 70px;
		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.open #headerwrap nav ul.gnav{
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
		transition-delay: 0s, 0s, 0s;
	}
	header #headerwrap nav ul.gnav > li{
		float: none;
		margin-left: 0;
		padding: 0;
		height: auto;
	}
	header #headerwrap nav ul.gnav > li:last-child{
		padding-bottom: 50px;
	}
	header nav ul.gnav > li > a:hover,
	header nav ul.gnav > li.active > a,
	header nav ul.gnav > li.active > p,
	header nav ul.gnav > li:hover  > a{
		border-bottom: none;
	}
	header nav ul.gnav > li:nth-child(4){ display: block;}
	header #headerwrap nav ul.gnav > li a{
		color: #fff;
		display: block;
		padding: 12px;
		border-top: 1px dashed #808080;
		position: relative;
		background: var(--gr);
		min-height: inherit;
	}
	header nav ul.gnav > li.ac:hover > p:before{ content: none;}
	header #headerwrap nav ul.gnav > li:last-child a{
		border-bottom: 1px dashed #808080;
	}
	header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li.outside p:after{
		top: 2px;
		right: 5px;
	}
	header nav ul.gnav > li.active > p{ height: inherit;}
	header nav ul.gnav > li.mega > p{
		position: relative;
	}
	header nav ul.gnav > li.mega:hover > p{
		display: block;
	}
	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 nav ul.gnav > li.mega > p span.open,
	header nav ul.gnav > li.ac > p span.open{
		-webkit-transform: translateY(0) rotate(180deg);
		transform: translateY(0) rotate(180deg);
	}
	header nav ul.gnav > li.mega > div,
	header nav ul.gnav > li.ac > div{
		font-size: 1.4rem;
		position: static;
		height: auto;
		background: none;
		display: none;
	}
	header nav ul.gnav > li.ac > div{
		width: 100%;
		max-width: 100%;
	}
	header nav ul.gnav > li.mega > div img{
		display: none;
	}
	header nav ul.gnav > li.mega:hover > div,
	header nav ul.gnav > li.ac:hover > div{
		padding: 0;
	}
	header nav ul.gnav > li.mega:hover > p:after,header nav ul.gnav > li.ac:hover > p:after{ content: none;}
	header nav ul.gnav > li.mega > div .mega-inner,
	header nav ul.gnav > li.ac > div ul{
		padding: 0;
		border: none;
	}
	header nav ul.gnav > li.ac > div ul li,header nav ul.gnav > li.ac > div ul li:first-child{ border: none;}
	header nav ul.gnav > li.mega .mega-inner a{ color: #fff;}
	header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul{
		display: block;
	}
	header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li{
		width: 100%;
		margin: 0;
	}
	header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li p:before{
		content: url("../images/icon-arrow-green.svg");
	}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dd a:after,
	header nav ul.gnav > li.ac > div ul li a:after{
		content: url("../images/icon-arrow-green.svg");
	}
	header nav ul.gnav > li.mega > div.mega-facility .mega-inner ul li p{
		padding: 0;
		border-bottom: none;
	}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner{
		padding: 0;
		display: block;
	}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner dl{
		width: 100%;
		margin: 0;
	}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt,header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dd{ border-bottom: none;}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt{
		font-size: 1.8rem;
		padding: 5px 12px;
		border-top: 1px solid #fff;
		background: #3e3a39;
	}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner dl dt:before{ content: none;}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner p{
		background: var(--gr);
		position: static;
		width: 100%;
		border-radius: 0;
	}
	header nav ul.gnav > li.mega > div.mega-service .mega-inner p a{
		font-size: 1.6rem;
		text-align: left;
		width: 100%;
		line-height: inherit;
	}
	header nav ul.gnav > li.nav-recruit a{
		color: #000;
		border: none;
		background: var(--gr);
	}
	header nav ul.gnav > li > a:hover, header nav ul.gnav > li.active > p, header nav ul.gnav > li > p:hover, header nav ul.gnav > li:hover p{ border: none;}
}
@media screen and (max-width: 768px) {
	header #headerwrap #site-logo{
		width: 225px;
	}
}







/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
}






/*---------------------------------------------------------------------------------------
	contents
----------------------------------------------------------------------------------------*/

#contents{
	background: #fff;
	padding: 70px 0 1px;
}
#contents.top{
	padding-top: 0;
}
.wrap{
	clear: both;
	box-sizing: content-box;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	#contents.top{ padding-top: 10px;}
}


.top header{ position: static;}
.top .slide .slick-slide{ height: calc(100vh - 120px);}
.top .slide div:nth-child(1){ background: url("../images/slide1.png") center / cover no-repeat;}
.top .slide div:nth-child(2){ background: url("../images/slide2.png") center / cover no-repeat;}
.top .slide div:nth-child(3){ background: url("../images/slide3.png") center / cover no-repeat;}
header#top-header{
	position: absolute;
	top: inherit;
	bottom: 0;
	left: 0;
	border-bottom: 1px solid #999;
}
header#top-header.is-fixed{
	position: fixed;
	top: 0;
	bottom: inherit;
}
header#top-header #headerwrap{
	border-bottom: 1px solid #999;
}
header#top-header.is-fixed,header#top-header.is-fixed #headerwrap{
	border: none;
}
.top #contents{ padding-top: 85px;}

.mv-container {
	text-align: center;
	margin-top: 70px;
	position:relative;
	height: 100vh;
	overflow: hidden;
	z-index: -1;
	background: url("../images/slide-bg.jpg") center / cover no-repeat;
}
.top-slide {
	padding-top: 70px;
	width: 100%;
}
.top-slide img{
	width: 100%;
}

@media screen and (min-width: 769px) {
	.mv-container {
		height: 100vh;
	}
	
}

@media screen and (max-width: 768px) {
	.mv-container {
		height: 140px;
		margin-top: 90px;
	}
	
}

.mv-container>div.noload{
	display:none;
}


.add_keyframe_out{
	animation-name:mv-fade-out;
	animation-duration:5.5s; 
	animation-iteration-count: 1;
}

.add_keyframe_in{
	animation-name:mv-fade-in;
	animation-duration:5.5s; 
	animation-iteration-count: 1;
}



@keyframes mv-fade-in {
	0%   { opacity: 0; }
	25%   { opacity: 0; }
	75% { opacity: 1; }
	100% { opacity: 1; }
}

@keyframes mv-fade-out {
	0%   { opacity: 1; }
	25%   { opacity: 1; }
	75% { opacity: 0; }
	100% { opacity: 0; }
}

#bg0{ background-image:url("../images/slide1.png");}
#bg1{ background-image:url("../images/slide2.png");}
#bg2{ background-image:url("../images/slide3.png");}

.mv-slide {
	position:fixed;
	z-index:-1;
	transform-origin: center center;
	background-size: 90% auto;
	background-repeat: no-repeat;
	background-position: center top 30px; 
	webkit-transition: background-size 7000ms linear;
	-moz-transition: background-size 7000 linear;
	-o-transition: background-size 7000 linear;
	-ms-transition: background-size 7000ms linear;
	transition: background-size 7000ms linear;
}
.mv-slide.active{
	background-size: 100% auto;
}

@media screen and (max-width: 768px) {
	.mv-slide { background-position: center top 10px;}
	.mv-slide { background-size: auto 80%;}
	.mv-slide.active{ background-size: auto 90%;}
}

.mv-slide p{
	color: #000;
	font-size: 3.2rem;
	text-shadow: #fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px;
	position: absolute;
	top: 20%;
	left: 0;
	z-index: 999;
	width: 100%;
}
.mv-slide:nth-child(2) p{ top: 20%;}
.mv-slide:nth-child(3) p{ top: 40%;}

@media screen and (max-width: 1380px) {
	header#top-header{
		position: fixed;
		top: 0;
		bottom: inherit;
	}
	header#top-header,header#top-header #headerwrap{
		border: none;
	}
}
@media screen and (max-width: 768px) {
	.top #contents{ padding-top: 30px;}
	.top .slide .slick-slide{
		height: 25vh;
		margin-top: 90px;
	}
	.mv-slide p{
		font-size: 3vw;
		padding: 0 3%;
	}
	.mv-slide p{ top: 25px;}
	.mv-slide:nth-child(3) p{
		top: 80px;
	}
	.mv-slide p img{ width: 15px;}
	.mv-slide:nth-child(3) p img{ width: 25px;}
	.mv-slide:nth-child(3) p img{ width: auto; height: 15px;}
}



/* aside */
aside{
	color: #fff;
	text-align: center;
	background: url("../images/aside-bg.jpg") center / cover no-repeat;
	padding: 55px 5% 60px;
}
aside .subtitle{
	color: #fff;
	text-align: center;
	border: none;
}
aside .bnr{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
	width: 1300px;
	margin: 0 auto;
}
aside .bnr div{
	position: relative;
	padding: 0 20px 20px;
}
aside .bnr div:last-child{
	position: absolute;
	top: 0;
	right: calc(100% - 340px);
	width: 340px;
}
aside .bnr div.lead{ padding-bottom: 4.5em;}
aside .bnr div.lead p{
	position: absolute;
	bottom: 1em;
	right: 0;
	left: 0;
	margin: 0 auto;
	text-align: left;
	padding: 0 10px;
}
aside p a{
	display: inline-block;
	margin: 0 10px 10px;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	aside{ padding: 25px 5% 30px;}
	aside p a{ margin: 10px 5px 0;}
	aside img{ width: 220px;}
	aside .bnr{ width: auto;}
	aside .bnr div:last-child{ position: static;}
}



/*---------------------------------------------------------------------------------------
	footer
----------------------------------------------------------------------------------------*/

footer #fix-bnr{
	width: 135px;
	position: fixed;
	z-index: 1000;
	right: 10px;
	bottom: 60px;
	-webkit-animation-name:movebtn;
	-webkit-animation-duration:2s;
	-webkit-animation-iteration-count:infinite;
	-webkit-animation-timing-function:ease;
	-moz-animation-name:movebtn;
	-moz-animation-duration:2s;
	-moz-animation-iteration-count:infinite;
	-moz-animation-timing-function:ease;
	animation-name:movebtn;
	animation-duration:2s;
	animation-iteration-count:infinite;
	animation-timing-function:ease;
}
@-webkit-keyframes movebtn{ 0% { margin-bottom: 0;} 50% { margin-bottom: 10px;} 100% { margin-bottom: 0;}}
@-moz-keyframes movebtn{ 0% { margin-bottom: 0;} 50% { margin-bottom: 10px;} 100% { margin-bottom: 0;}}
@keyframes movebtn{ 0% { margin-bottom: 0;} 50% { margin-bottom: 10px;} 100% { margin-bottom: 0;}}
#pagetop{
	text-align: center;
	position: fixed;
	z-index: 999;
	right: 55px;
	bottom: 10px;
	line-height: 1;
	display: none;
}
#pagetop a{
	display: block;
	width: 40px;
	padding: 10px 0;
	background: #f0f0f0;
}
footer .footer-cont{
	font-size: 1.5rem;
	text-align: left;
	background: #4d4d4d;
	padding: 60px 0;
}
footer .footer-cont .wrap{
	display: flex;
	justify-content: space-between;
}
footer .footer-cont dl{
	width: 17%;
	border-top: 1px solid #fff;
	padding-top: 25px;
}
footer .footer-cont dl:nth-child(3){
	width: 20%;
}
footer .footer-cont dl a{
	color: #fff;
	display: block;
}
footer .footer-cont dl a.outside:after{
	content: "";
	background: url("../images/icon-outside.svg") center no-repeat;
	width: 14px;
	height: 14px;
	display: inline-block;
	margin-left: .5em;
}
footer .footer-cont dl dt{
	margin-bottom: 5px;
	position: relative;
}
footer .footer-cont dl dt a{
	color: var(--gr);
	padding: 3px 0;
}
footer .footer-cont dl dt a:before{
	content: "◆";
	display: inline-block;
	margin-right: .5em;
}
footer .footer-cont dl dd{
	margin-bottom: 15px;
}
footer .footer-cont dl dd ul li a{
}
footer .footer-cont dl dd ul li a:before{
	content: "-";
	margin-right: .5em;
	display: inline-block;
}
footer #copyright{
	font-size: 1.6rem;
	text-align: center;
	padding: 40px 3% 30px;
	background: #fff;
}
footer #copyright ul{
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}
footer #copyright ul li{
	width: 40px;
	margin: 0 10px 10px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	#pagetop{
		right: 20px;
	}
	#pagetop a{
		width: 26px;
		padding: 5px 3px;
	}
	footer #fix-bnr{
		right: 5px;
		bottom: 50px;
		width: 60px;
	}
	footer .footer-cont{ padding: 0;}
	footer .footer-cont .wrap{
		display: block;
		padding: 0;
	}
	footer .footer-cont dl{
		width: 100%;
		padding: 0;
		border-top: none;
	}
	footer .footer-cont dl:nth-child(3){
		width: 100%;
	}
	footer .footer-cont dl dt{
		padding: 0;
		margin-bottom: 0;
		position: relative;
		border-top: 1px solid #fff;
	}
	footer .footer-cont dl dt a{
		padding: 10px 3%;
	}
	footer .footer-cont dl dt:before{
		content: none;
	}
	footer .footer-cont dl dt span{
		position: absolute;
		z-index: 99;
		top: 0;
		right: 0;
		width: 39px;
		height: 39px;
		display: block;
		transition-duration: .2s, 0s, 0s;
		transition-delay: 0s, .2s, .2s;
		background: url(../images/ac.svg) center / 20px auto no-repeat var(--gr);
	}
	footer .footer-cont dl dt span.open{
		background: url("../images/ac-close.svg") center / 20px auto no-repeat var(--gr);
	}
	footer .footer-cont dl dd{
		padding: 0 3%;
		display: none;
	}
	footer .footer-cont dl dd ul li a{
		padding: 7px;
	}
	footer .footer-cont dl dd ul li a:before{
		top: 13px;
	}
	footer #copyright{
		padding: 30px 65px 20px;
	}
}


/* top */
#top-news{
	padding-top: 105px;
	background: url("../images/fig1.svg") center top 35px no-repeat;
	margin-bottom: 100px;
}
#top-news article{
	display: flex;
	flex-wrap: wrap;
	background: url("../images/marker.png") left bottom repeat-x;
	margin-bottom: 20px;
}
#top-news article .date{
	width: 8em;
}
#top-sns{
	background: var(--lg);
	margin-bottom: 75px;
}
#top-sns .wrap{ 
	padding: 75px 5% 70px;
	position: relative;
}
#top-sns .wrap:before{
	content: "";
	position: absolute;
	top: -70px;
	right: -100px;
	background: url("../images/fig3.svg") center no-repeat;
	width: 236px;
	height: 150px;
}
#top-sns ul{ display: flex;}
#top-sns ul li{
	width: 20%;
}
#top-sns ul li:nth-child(n+6){ display: none;}
#top-sns ul li{
	padding: 0 10px;
}
#top-sns ul li p{ 
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 100%;
	margin-bottom: 20px;
}
#top-sns ul li p video{ pointer-events: none;}
#top-sns ul li p img{
	max-width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
	object-fit: contain;
	object-position: top;
}
#top-sns ul li div a{ font-weight: bold;}
#top-sns .flex{
	display: flex;
	justify-content: space-between;
	padding-top: 10px;
}
.top-cont.wrap{ max-width: 1100px;}
.top .cont2{
	display: flex;
	justify-content: space-between;
}
.top .cont2 div{
	width: 49%;
	position: relative;
	z-index: 99;
}
.top .cont3{
	display: flex;
	justify-content: space-between;
}
.top .cont3 div{
	width: 31%;
}
#top-interview .ret{ position: relative;}
#top-interview .ret:after{
	content: "";
	position: absolute;
	z-index: 1;
	top: -45px;
	right: 0;
	left: 0;
	margin: 0 auto;
	background: url("../images/fig2.svg") center no-repeat;
	width: 200px;
	height: 150px;
}
#top-interview figure{
	position: relative;
	z-index: 10;
}
#top-tutor .wrap{ position: relative;}
#top-tutor .wrap:after{
	content: "";
	position: absolute;
	top: -45px;
	right: 245px;
	background: url("../images/fig2.svg") center no-repeat;
	width: 200px;
	height: 150px;
}
#top-tutor figure.wrap:after{ content: none;}
.top .fig3{
	position: relative;
	padding-bottom: 160px;
}
.top .fig3:after{
	content: "";
	position: absolute;
	z-index: 0;
	left: -40px;
	bottom: 20px;
	background: url("../images/fig4.svg") center no-repeat;
	width: 200px;
	height: 175px;
}

@media screen and (max-width: 1780px) {
	#top-sns .wrap:before{ right: -40px;}
}
@media screen and (max-width: 1450px) {
	#top-sns{ position: relative;}
	#top-sns .wrap{  position: static;}
	#top-sns .wrap:before{ right: 10px;}
}
@media screen and (max-width: 768px) {
	#top-sns{ padding: 0 3% 50px;}
	#top-sns ul li{
		width: 33.33%;
		padding: 0 15px;
	}
	#top-sns ul li:nth-child(n+4){ display: none;}
	#top-sns .flex{
		display: block;
	}
	#top-sns div p{
		text-align: center;
		margin-bottom: 5px;
	}
	#top-sns div p.t-right{ text-align: right;}
	.top .cont2{
		display: block;
	}
	.top .cont2 div{
		width: 100%;
		margin-bottom: 40px;
	}
	.top .cont3{
		display: block;
	}
	.top .cont3 div{
		width: 100%;
		margin-bottom: 40px;
	}
	#top-tutor .wrap:after{
		right: 0;
		left: 0;
		margin: 0 auto;
	}
	.top .fig3{
		padding-bottom: 80px;
	}
	.sp-wrap{
		padding-right: 0;
		padding-left: 0;
	}
}



/* work */
.work-detail{
	display: flex;
	justify-content: space-between;
	padding-bottom: 200px;
	background: url("../images/fig4.svg") left 80px bottom no-repeat;
}
.work-detail table.time1{
	width: 100%;
	max-width: 270px;
	margin-right: 3%;
}
.work-detail table.time1 th{
	position: relative;
	width: 4em;
}
.work-detail table.time1 th.h50{ height: 50px;}
.work-detail table.time1 th.h83{ height: 83px;}
.work-detail table.time1 th.h50:after,.work-detail table.time1 th.h83:after{
	content: "";
	position: absolute;
	top: -1px;
	right: -10px;
	width: 10px;
	height: 1px;
	display: block;
}
.work-detail.day table.time1 th.h50:after,.work-detail.day table.time1 th.h83:after{ background: var(--gr);}
.work-detail.night table.time1 th.h50:after,.work-detail.night table.time1 th.h83:after{ background: var(--bl);}
.work-detail table.time1 th p{
	position: absolute;
	top: -14px;
}
.work-detail table.time1 th p.last{
	top: inherit;
	bottom: -10px;
}
.work-detail.day table.time1 th{ color: var(--gr);}
.work-detail.night table.time1 th{ color: var(--bl);}
.work-detail table.time1 td{
	padding: 15px 0 15px 25px;
}
.work-detail.day table.time1 td{
	border-bottom: 1px solid var(--gr);
	border-left: 1px solid var(--gr);
}
.work-detail.day table.time1 tr:first-child td{ border-top: 1px solid var(--gr);}
.work-detail.night table.time1 td{
	border-bottom: 1px solid var(--bl);
	border-left: 1px solid var(--bl);
}
.work-detail.night table.time1 tr:first-child td{ border-top: 1px solid var(--bl);}
.work-detail table.time1 td ul li{
	font-size: 1.4rem;
	padding-left: 1em;
	text-indent: -1em;
}
.work-detail table.time1 td ul li:before{ content: "・";}
.work-detail table.time2{
	width: 100%;
	max-width: 500px;
	margin-right: 5%;
}
.work-detail table.time2 th{
	color: #fff;
	font-size: 2.1rem;
	font-weight: bold;
	padding: 15px 20px;
	border-bottom: 10px solid #fff;
	width: 150px;
	vertical-align: top;
}
.work-detail.day table.time2 th{ background: var(--gr);}
.work-detail.night table.time2 th{ background: var(--bl);}
.work-detail table.time2 tr:last-child th,.work-detail table.time2 tr:last-child td{ border-bottom: none;}
.work-detail table.time2 td{
	font-size: 1.8rem;
	padding: 40px 0 40px 40px;
}
.work-detail.day table.time2 td{ border-bottom: 10px solid var(--lg);}
.work-detail.night table.time2 td{ border-bottom: 10px solid var(--aq);}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.work-detail{
		display: block;
	}
	.work-detail{
		padding-bottom: 80px;
		background: url("../images/fig4.svg") left 30px bottom / 80px auto no-repeat;
	}
	.work-detail table.time1{
		max-width: 100%;
		margin: 0 0 30px;
	}
	.work-detail table.time1 th.h50{ height: 20px;}
	.work-detail table.time1 th.h83{ height: 20px;}
	.work-detail table.time1 td{
		padding: 10px 0 10px 15px;
	}
	.work-detail table.time2{
		max-width: 100%;
		margin-right: 0;
	}
	.work-detail table.time2 th{
		padding: 5px 10px;
		border-bottom: 5px solid #fff;
		width: 110px;
	}
	.work-detail table.time2 td{
		padding: 15px 0 15px 15px;
		border-bottom: 5px solid var(--lg);
	}
	.work-detail.day table.time2 td{ border-bottom: 5px solid var(--lg);}
	.work-detail.night table.time2 td{ border-bottom: 5px solid var(--aq);}
}



/* message */
.message-cont{
	padding-top: 100px;
	background: radial-gradient(#f4f4f4, #c6c1be);
	margin-bottom: 130px;
}
.message-cont .wrap{
	padding-left: 30%;
	position: relative;
}
.message-cont .wrap figure{
	position: absolute;
	left: 7%;
	bottom: 0;
	width: 19%;
	max-width: 260px;
}
.message-cont .wrap div{ padding-bottom: 70px;}
.message-cont .wrap div p{ margin-bottom: 1.5em;}
.message-cont .wrap div p.t-right{ padding-top: 1em;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.message-cont{
		padding-top: 50px;
		margin-bottom: 65px;
	}
	.message-cont .wrap{
		padding-left: 5%;
	}
	.message-cont .wrap figure{
		position: static;
		width: 80%;
		max-width: 200px;
		margin: 0 auto;
	}
	.message-cont .wrap div{ padding-bottom: 35px;}
	.message-cont .wrap div p{ margin-bottom: 1em;}
}



/* welfare */
.welfare-imgright{
	display: flex;
	justify-content: space-between;
}
.welfare-imgright div{ width: 60%;}
.welfare-imgright figure{ width: 33%;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.welfare-imgright{ display: block;}
	.welfare-imgright div{ width: 100%;}
	.welfare-imgright figure{
		width: 100%;
		max-width: 300px;
		margin: 0 auto 30px;
	}
}



/* recruit */
.recruit-cont ul{
	color: var(--gr);
	font-size: 2.4rem;
	text-align: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.recruit-cont ul li{
	text-align: center;
	width: 23.3%;
	border: 1px solid var(--gr);
	margin-bottom: 20px;
}
.recruit-cont ul li a{
	color: var(--gr);
	display: block;
	padding: 16% 14% 10.5%;
}
.recruit-cont ul li a.outside{ position: relative;}
.recruit-cont ul li a.outside:after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 30px;
	background: url("../images/icon-outside.svg") center / 20px auto no-repeat var(--gr);
	display: block;
}
.recruit-cont ul li a figure{
	margin-bottom: 6%;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.recruit-cont ul{
		flex-wrap: wrap;
		margin-bottom: 25px;
	}
	.recruit-cont ul li{
		width: 49%;
		margin: 0 2% 10px 0;
	}
	.recruit-cont ul li:nth-child(2n){ margin-right: 0;}
	.recruit-cont ul li a.outside:after{
		width: 20px;
		height: 20px;
		background: url("../images/icon-outside.svg") center / 13px auto no-repeat var(--gr);
	}
}



/* training */
.training-flow-green{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	position: relative;
}
.training-flow-green:before,.training-flow-green:after{
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	display: block;
}
.training-flow-green:before{
	z-index: 1;
	width: 10px;
	height: 100%;
	background: var(--gr);
}
.training-flow-green:after{
	z-index: 11;
	bottom: -90px;
	height: 90px;
	background: url("../images/arrow-green-btm.svg") center bottom no-repeat;
}
.training-flow-green dl.rightcol{
	color: #fff;
	background: var(--gr);
	border-radius: 20px;
	width: 25%;
	padding: 25px;
	position: relative;
	z-index: 10;
}
.training-flow-green dl.rightcol dt{ font-size: 2.4rem;}
.training-flow-green .leftcol{
	width: 71%;
}
.training-flow-green .leftcol dl{
	border: 1px solid var(--gr);
	padding: 20px;
	background: #fff;
	margin-bottom: 20px;
	position: relative;
	z-index: 10;
}
.training-flow-green .leftcol dl:last-of-type{ margin-bottom: 10px;}
.training-flow-green .leftcol dl dt{
	color: var(--gr);
	font-size: 2.4rem;
	margin-bottom: 10px;
}
.training-flow-green .leftcol p{
	position: relative;
	z-index: 10;
}
.training-flow-blue{
	overflow: hidden;
	margin-bottom: 25px;
}
.training-flow-blue dl{
	position: relative;
	border: 1px solid var(--bl);
	padding: 20px;
	margin-bottom: 40px;
}
.training-flow-blue dl:after{
	content: "";
	position: absolute;
	right: 0;
	bottom: -41px;
	left: 0;
	margin: 0 auto;
	width: 10px;
	height: 40px;
	background: var(--bl);
	display: block;
}
.training-flow-blue dl:nth-child(4):after{
	background: url("../images/arrow-blue-btm.svg") center bottom no-repeat;
	width: 34px;
}
.training-flow-blue dl:last-of-type:after{
	content: none;
}
.training-flow-blue dl dt{
	color: var(--bl);
	font-size: 2.4rem;
	margin-bottom: 10px;
}
.training-flow-blue dl dt small{
	font-size: 1.8rem;
}
.training-clm3{
	display: flex;
	justify-content: space-between;
	margin-bottom: 75px;
}
.training-clm3 figure{ width: 31.66%;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.training-flow-green{
		display: block;
	}
	.training-flow-green dl.rightcol{
		border-radius: 15px;
		width: 100%;
		padding: 15px;
		margin-bottom: 20px;
	}
	.training-flow-green .leftcol{ width: 100%;}
	.training-flow-green .leftcol dl{
		padding: 15px;
	}
	.training-flow-green .leftcol dl:after{
		content: "";
		position: absolute;
		right: 0;
		bottom: -21px;
		left: 0;
		margin: 0 auto;
		width: 10px;
		height: 20px;
		background: var(--gr);
		display: block;
	}
	.training-flow-green .leftcol dl:last-of-type:after{
		bottom: -10px;
		height: 10px;
	}
	.training-flow-green .leftcol dl dt{ margin-bottom: 5px;}
	.training-flow-blue{ margin-bottom: 0;}
	.training-flow-blue{ padding: 15px;}
	.training-flow-blue dl dt{
		margin-bottom: 5px;
	}
	.training-clm3{
		display: block;
		margin-bottom: 0;
	}
	.training-clm3 figure{
		width: 100%;
		margin-bottom: 20px;
	}
}



/* newgraduate */
.newgraduate-rtb{
	position: relative;
}
.newgraduate-rtb a{
	position: absolute;
	display: block;
	cursor: pointer;
}
.newgraduate-rtb a:hover{
	background: #fff;
	opacity: .2;
}
.newgraduate-rtb a.abs1{
	bottom: 32%;
	left: 5.4%;
	width: 10.7%;
	height: 10%;
}
.newgraduate-rtb a.abs2{
	bottom: 21%;
	left: 5.4%;
	width: 10%;
	height: 10%;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.newgraduate-rtb a.abs1{
		bottom: 66%;
		left: 9.8%;
		width: 21.5%;
		height: 5%;
	}
	.newgraduate-rtb a.abs2{
		bottom: 60%;
		left: 9.8%;
		width: 20.5%;
		height: 5%;
	}
}


/* career */
ul.career-clm3{
	display: flex;
	justify-content: space-between;
}
ul.career-clm3 li{
	text-align: center;
	width: 28.33%;
}
ul.career-clm3 li .marker{
	margin-bottom: 20px;
}
ul.career-clm3 li figure{ margin-bottom: 20px;}
ul.career-clm3 li p{
	text-align: left;
}
ul.career-flow-green li{
	border: 1px solid var(--gr);
	background: #fff;
	padding: 9px;
	position: relative; 
	display: flex;
	margin-bottom: 30px;
}
ul.career-flow-green li:after{
	content: "";
	position: absolute;
	right: 0;
	bottom: -31px;
	left: 0;
	margin: 0 auto;
	width: 10px;
	height: 30px;
	display: block;
	background: var(--gr);
}
ul.career-flow-green li:last-child:after{
	background: url("../images/arrow-green-btm.svg") center bottom no-repeat;
	width: 34px;
	height: 100px;
	bottom: -100px;
}
ul.career-flow-green li div{
	color: #fff;
	font-size: 2.1rem;
	line-height: 1.1;
	text-align: center;
	background: var(--gr);
	width: 130px;
	height: 130px;
	padding-top: 30px;
}
ul.career-flow-green li div strong{
	font-size: 4.8rem;
	font-weight: normal;
}
ul.career-flow-green li dl{
	width: calc(100% - 190px);
	padding: 10px 30px;
}
ul.career-flow-green li dl dt{
	color: var(--gr);
	font-size: 2.4rem;
	margin-bottom: 10px;
}
.career-flow-blue{
	position: relative;
	background: url("../images/arrow-blue5.svg") top 83px center / 125% 155px no-repeat;
}
.career-flow-blue div{
	color: #fff;
	font-size: 2.6rem;
	line-height: 1.2;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 30%;
	height: 185px;
	padding: 20px 30px;
	border-radius: 20px;
	background: var(--bl);
}
.career-flow-blue ul{
	display: flex;
	justify-content: space-between;
}
.career-flow-blue ul li{
	width: 30%;
	min-height: 185px;
	border: 1px solid var(--bl);
	padding: 20px 80px 20px 25px;
	position: relative;
	background: #fff;
	margin-bottom: 50px;
}
.career-flow-blue ul li dl dt{
	color: var(--bl);
	font-size: 2.4rem;
}
.career-flow-blue ul li figure{
	position: absolute;
	top: 15px;
	right: 12px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	ul.career-clm3{
		display: block;
	}
	ul.career-clm3 li{
		width: 100%;
		margin-bottom: 20px;
	}
	ul.career-clm3 li .marker{ margin-bottom: 10px;}
	ul.career-clm3 li figure{
		width: 150px;
		margin: 0 auto 10px;
	}
	ul.career-flow-green li:last-child:after{
		height: 60px;
		bottom: -60px;
	}
	ul.career-flow-green li div{
		width: 80px;
		height: 80px;
		padding-top: 12px;
	}
	ul.career-flow-green li dl{
		width: calc(100% - 80px);
		padding: 5px 15px;
	}
	ul.career-flow-green li dl dt{ margin-bottom: 5px;}
	.career-flow-blue{ background: none;}
	.career-flow-blue div{
		position: static;
		width: 100%;
		height: inherit;
		padding: 15px;
		border-radius: 15px;
		margin-bottom: 20px;
	}
	.career-flow-blue ul{ display: block;}
	.career-flow-blue ul li{
		width: 100%;
		min-height: inherit;
		padding: 15px 80px 15px 20px;
		margin-bottom: 15px;
	}
	.career-flow-blue ul li figure{
		top: 10px;
		right: 8px;
		width: 50px;
	}
}



/* tutor */
.tutor-cont{
	display: flex;
	justify-content: space-between;
	overflow: hidden;
}
.tutor-cont div{ width: 62.5%;}
.tutor-cont div p{
	margin-bottom: 1em;
	line-height: 1.8;
}
.tutor-cont figure{ width: 33.33%;}
.tutor-cont figure.contents-btm{
	padding-bottom: 200px;
	background: url("../images/fig7.svg") left bottom no-repeat;
}
.tutor-cont.imgleft{ flex-direction: row-reverse;}
.tutor-cont.txt-center{
	padding-top: 1em;
	justify-content: center;
	text-align: center;
	background: url("../images/tutor-img6.jpg") left bottom no-repeat,
				url("../images/tutor-img7.jpg") right bottom no-repeat;
	min-height: 410px;
}
.tutor-cont.txt-center div p{ text-align: left;}
.tutor-cont.txt-center div p:nth-child(1){ margin-bottom: 3em;}
.tutor-cont.txt-center div p:nth-child(2){
	max-width: 550px;
	margin: 0 auto;
}
.tutor-cont.txt-center figure{ display: none;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.tutor-cont{ display: block;}
	.tutor-cont div{ width: 100%;}
	.tutor-cont figure{
		text-align: center;
		width: 100%;
	}
	.tutor-cont figure.contents-btm{ padding-bottom: 80px;}
	.tutor-cont.txt-center{ background: none;}
	.tutor-cont.txt-center div p:nth-child(1){ margin-bottom: 1em;}
	.tutor-cont.txt-center figure{
		display: flex;
		justify-content: space-between;
	}
	.tutor-cont.txt-center figure img{ width: 35%;}
}



/* voice */
.voice{
	display: flex;
	justify-content: space-between;
}
.voice div{ width: 46%;}
.voice figure{ width: 50%;}
.voice.imgright figure img{ box-shadow: 300px -70px 0px 20px var(--lg);}
.voice.imgright figure{ padding-top: 100px;}
.voice.imgleft{
	flex-direction: row-reverse;
	margin-bottom: 250px;
}
.voice.imgleft figure{ position: relative;}
.voice.imgleft figure:after{
	content: "";
	position: absolute;
	bottom: -220px;
	left: 60px;
	background: url("../images/fig4.svg") center no-repeat;
	width: 200px;
	height: 175px;
	display: block;
}
.voice.imgleft figure img{ box-shadow: -300px 70px 0px 20px var(--lg);}
ul.voice-link{
	display: flex;
	justify-content: space-between;
}
ul.voice-link li{ width: 16.66%;}
ul.voice-link li a{ display: block;}
ul.voice-link li figure{ margin-bottom: 15px;}
ul.voice-link li p strong{ font-size: 2.4rem;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.voice{ display: block;}
	.voice div{ width: 100%;}
	.voice figure{ width: 100%;}
	.voice.imgright{ margin-bottom: 40px;}
	.voice.imgright figure img{ box-shadow: 30px -20px 0px 0 var(--lg);}
	.voice.imgright figure{ padding-top: 20px;}
	.voice.imgleft{ margin-bottom: 100px;}
	.voice.imgleft figure:after{
		bottom: -80px;
		left: 20px;
		background: url("../images/fig4.svg") center / 80px auto no-repeat;
		width: 80px;
		height: 75px;
	}
	.voice.imgleft figure img{ box-shadow: -30px 20px 0px 0 var(--lg);}
	ul.voice-link{
		flex-wrap: wrap;
	}
	ul.voice-link li{
		width: 49%;
		margin: 0 2% 20px 0;
	}
	ul.voice-link li:nth-child(2n){
		margin-right: 0;
	}
	ul.voice-link li figure{ margin-bottom: 10px;}
}



/* news */
.tag{
	font-size: 14px;
	text-align: center;
	width: 6em;
	margin-right: 1em;
}
.news{
	font-size: 1.8rem;
	line-height: 1.8;
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.news .leftcol{
	width: 79%;
	margin-bottom: 30px;
}
.news-top .leftcol table.tb4 th{ width: 150px;}
.news-top .leftcol table.tb4 td .new{
	color: #f00;
	font-weight: 400;
	margin-left: 10px;
	display: inline-block;
}
.news-top .leftcol span.tag{
	padding: 0;
	float: left;
	margin-top: 4px;
}
.news-top .leftcol table.tb4 td a{
	display: block;
	overflow: hidden;
}
.news .rightcol{
	width: 16.66%;
	margin-bottom: 30px;
}
.news .rightcol .bg-lightgreen{
	color: #fff;
	font-size: 2rem;
	text-align: center;
	background: #b3cd5a;
	border-radius: 15px 15px 0 0;
	padding: 10px;
}
.news .rightcol .bg-gray{
	padding: 20px 25px;
	margin-bottom: 10px;
}
.news .rightcol .bg-gray li a{
	display: block;
	padding: 2px 0;
}
.news .rightcol p.link{ font-size: 1.5rem;}
.news-detail .leftcol p,.news-detail .leftcol h1,.news-detail .leftcol h2,.news-detail .leftcol h3,.news-detail .leftcol h4,.news-detail .leftcol h5,.news-detail .leftcol h6,.news-detail .leftcol ul,.news-detail .leftcol ol{
	margin-bottom: 1em;
}
.news-detail .leftcol figure{
	text-align: center;
	padding-top: 1.5em;
	margin-bottom: 3em;
}
.news-detail .date{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.news-detail .date .tag{
	margin-right: 0;
}
.news-detail .leftcol ul,.news-detail .leftcol ul li{ list-style: disc;}
.news-detail .leftcol ol,.news-detail .leftcol ol li{ list-style: decimal;}
.news-detail .leftcol h2.bd-green{ margin-bottom: 40px;}
.news-detail .leftcol p.bd-lightgreen{ margin-bottom: 30px;}
.news-detail .leftcol h1{ font-size: 2.8rem;}
.news-detail .leftcol h2{ font-size: 2.6rem;}
.news-detail .leftcol h3{ font-size: 2.4rem;}
.news-detail .leftcol h4{ font-size: 2.2rem;}
.news-detail .leftcol h5{ font-size: 2rem;}
.news-detail .leftcol h6{ font-size: 1.8rem;}

@media screen and (max-width: 768px) {
	.news{
		display: block;
		margin-bottom: 25px;
	}
	.news .leftcol{ width: 100%;}
	.news-top .leftcol table.tb2 th{ width: 110px;}
	.news-top .leftcol span.tag{ float: none;}
	.news .rightcol{ width: 100%;}
	.news .rightcol .bg-lightgreen{ border-radius: 10px 10px 0 0;}
	.news .rightcol .bg-gray{ padding: 10px 15px;}
}



.contact { margin-bottom: 80px;}
.contact table.tb4 td{ padding: 9px 0;}
.contact input[type="text"].maxw100{ max-width: 100px;}
.contact input[type="text"].maxw160{ max-width: 160px;}
.contact input[type="text"].maxw300{ max-width: 300px;}
.contact input[type="text"].maxw500{ max-width: 500px;}
.contact .inquiry-btn{
	text-align: center;
}
.contact .inquiry-btn input,.contact .inquiry-btn button{
	margin: 0 10px 10px;
}


@media print{
	header{ position: static;}
	#contents{padding-top: 0;}
	.sponly{display: none;}
}





