@charset "UTF-8";
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
/*	line-height: 1.5;*/
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	color: #333;
	font-family: Helvetica, "Yu Gothic" , YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", "meiryo", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}


a{
	color: #333;
	text-decoration: none;
}

li{
	list-style-type: none;
}

img{
	vertical-align: bottom;
}

.cf:after{
	content: "";
	display: block;
	clear: both;
	visibility: hidden;
}
.no-scroll{
	overflow: hidden;
}




.gnav li a,
.nav-lang li a,
.btn-link a,
.topics-list .ex,
#gfooter .copy,
.btn-header a{
	font-family: 'Roboto', sans-serif;
}
.col-box h3,
.topics-list p,
.detail-header h3,
.detail-txt p,
#service-archives-list-box h3,
.detail-txt li{
	font-family: 'Noto Sans JP', sans-serif;
}
body{
	font-family: 'Noto Sans JP', sans-serif;	
}



main{
	position: relative;
	display: block;
	z-index: 100;
}
.container{
	position: relative;
	display: block;
	z-index: 100;	
}



.motion.m-bg{
	width: 0;
	-webkit-transition: width 600ms ease;
	-o-transition: width 600ms ease;
	transition: width 600ms ease;
}
.motion.m-bg.on{
	width: 100%;
}

.motion.m-left{
	-webkit-transform: translateX(-50px);
	-ms-transform: translateX(-50px);
	-o-transform: translateX(-50px);
	transform: translateX(-50px);
	-webkit-transition: transform 300ms ease;
	-o-transition: transform 300ms ease;
	transition: transform 300ms ease;
}
.motion.m-left.on{
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}


.motion.m-right{
	-webkit-transform: translateX(50px);
	-ms-transform: translateX(50px);
	-o-transform: translateX(50px);
	transform: translateX(50px);
	-webkit-transition: transform 300ms ease;
	-o-transition: transform 300ms ease;
	transition: transform 300ms ease;
}
.motion.m-right.on{
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}



.motion.m-up{
	opacity: 0;
	-webkit-transform: translateY(50px);
	-ms-transform: translateY(50px);
	-o-transform: translateY(50px);
	transform: translateY(50px);
	-webkit-transition: transform 300ms ease,opacity 300ms ease;
	-o-transition: transform 300ms ease,opacity 300ms ease;
	transition: transform 300ms ease,opacity 300ms ease;
}
.motion.m-up.on{
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}


.motion.m-fin{
	opacity: 0;
	-webkit-transition: opacity 300ms ease;
	-o-transition: opacity 300ms ease;
	transition: opacity 300ms ease;
}
.motion.m-fin.on{
	opacity: 1;
}







@keyframes vibe{
	0%{
		transform: translateY(0);
	}
	50%{
		transform: translateY(10px);
	}
	100%{
		transform: translateY(0);
	}
}


.bg-bl{
	position: absolute;
	display: block;
}
.bg-bl span{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: #26b3e6;
}
.bg-bl1 span{
	left: 0;
}
.bg-bl2 span{
	right: 0;
}


.bg-wh{
	position: absolute;
	bottom: 0;
	z-index: 30;
	border-radius: 10px 0 0 10px;
	overflow: hidden;
}
.bg-wh1{
	left: 0;
	width: 200vw;
	height: 100%;
}
.bg-wh1 span{
	position: absolute;
	right: 0;
	display: block;
	height: 100%;
	width: 100%;
	display: block;
	background: #fff;
}


.bg-wh2{
	right: 0;
	width: 200vw;
	height: 100%;
}
.bg-wh2 span{
	position: absolute;
	left: 0;
	display: block;
	height: 100%;
	width: 100%;
	display: block;
	background: #fff;
}


@media screen and (min-width: 768px) {


/* bg-f4
------------------------------------*/

.bg-f4{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/f4_bg.gif) 0 0 repeat;
	z-index: 70;
}


body{
	font-size: 16px;
	line-height: 1.8;
}

#wrap{
	position: relative;
	overflow: hidden;
}



/* common
------------------------------------*/

	section{
		position: relative;
	}




	.sec-inner{
		position: relative;
		z-index: 10;
	}

	.sec-header{
		position: absolute;
		margin: auto;
		padding: 0 20px;
		left: 50%;
		top: 0;
		width: 100%;
		max-width: 1380px;
		z-index: 50;
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		-o-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		box-sizing: border-box;
	}

	.sec-header-1 h2{
		position: relative;
		z-index: 20;
		-webkit-transform-origin: top left;
		-moz-transform-origin: top left;
		-ms-transform-origin: top left;
		-o-transform-origin: top left;
		transform-origin: top left;
	}
	.sec-header-1 h2{
		text-align: left;
	}
	.sec-header-2 h2{
		position: relative;
		max-width: 1380px;
		z-index: 20;
		-webkit-transform-origin: top right;
		-moz-transform-origin: top right;
		-ms-transform-origin: top right;
		-o-transform-origin: top right;
		transform-origin: top right;
	}
	.sec-header-2 h2{
		text-align: right;
		max-width: 1380px;
	}


	.col{
		margin: auto;
		max-width: 1200px;
		padding: 0 50px;
		box-sizing: border-box;
	}
	.col-wrap{
		position: relative;
		padding: 120px 0 100px;
	}
	.detail .col-wrap{
		position: relative;
		padding: 100px 0 100px;
	}
	.col-1 .col-wrap{
		margin: 0 0 0 120px;	
	}
	.col-1 .col-inner{
		position: relative;
		padding: 0 0 0 70px;
		box-sizing: border-box;
		z-index: 100;
	}
	.top .col-1 .col-inner{
		padding: 0 0 0 140px;
	}

	.col-2 .col-wrap{
		margin: 0 120px 0 0;	
	}
	.col-2 .col-inner{
		position: relative;
		padding: 0 140px 0 0;
		box-sizing: border-box;
		z-index: 100;
	}

	.lower main{
		padding: 240px 0 0;
	}
	.lower.detail main{
		padding: 200px 0 0;
	}
	.lower .bg-bl{
		position: absolute;
		top: 0;
		width: 50%;
		height: 640px;
		z-index: 100;
	}


	.col-basic .col-box h3{
		font-size: 48px;
		color: #26b3e6;
		letter-spacing: -1px;
		line-height: 1;
	}
	.col-basic .col-box h3 + .txt{
		margin: 50px 0 0;
	}
	.col-basic .col-box h3 + .fig-box{
		margin: 30px 0 0;
	}
	.col-basic .col-box .txt + .txt{
		margin: 90px 0 0;
	}
	.col-basic .col-box .txt-inner{
		margin: 30px 0 0;
	}
	.col-basic .col-box .txt{
		max-width: 810px;
	}
	.col-basic .col-box .txt h4{
		font-size: 28px;
		font-weight: 500;
	}
	.col-basic .col-box .txt a{
		color: #26b3e6;
		text-decoration: underline;
	}
	.col-basic .col-box .txt a:hover{
		text-decoration: none;
	}
	.col-basic .col-box + .col-box{
		margin: 100px 0 0;
	}
	.col-basic .col-box p + p{
		margin: 30px 0 0;		
	}
	.col-basic .col-box p + p,
	.col-basic .col-box .txt-elm + .txt-elm,
	.col .txt-elm + .txt-elm{
		margin: 30px 0 0;		
	}
	.col-basic .col-box .txt h5{
		margin: 0 0 10px;
		font-size: 16px;
		font-weight: 700;
		color: #26b3e6;
	}




/* detail
------------------------------------*/

	.detail-header h3{
		font-size: 36px;
	}

	.detail-fig-box{
		margin: 60px 0 0;
	}
	.detail-fig-box img{
		border-radius: 10px;
		width: 100%;
		height: auto;
		overflow: hidden;
		-webkit-transition: opacity ease 300ms;
		-o-transition: opacity ease 300ms;
		transition: opacity ease 300ms;
	}
	.detail-fig-box img.loaded{
		opacity: 1;
	}
	.detail-fig-box figure{
		max-width: 810px;
/*		padding: 0 50px;
*/		box-sizing: border-box;
	}
	.detail-txt{
		max-width: 810px;
		margin: 50px 0 0;
	}
	.detail-header + .detail-txt{
		margin: 50px 0 0;		
	}
	.detail-txt p,.detail-txt li{
		font-size: 14px;
		line-height: 1.8;
	}
	.detail-txt p + p,
	.detail-txt dl + dl,
	.detail-txt .txt-elm + .txt-elm{
		margin: 60px 0 0;		
	}
	.detail-txt .txt-elm:after{
		content: "";
		display: block;
		visibility: hidden;
		clear: both;
	}
	.detail-txt .date{
		margin: 0 0 50px;
		display: inline-block;
		padding: 0 13px;
		height: 22px;
		line-height: 22px;
		font-size: 18px;
		background: #333;
		color: #fff;
		border-radius: 12px;
	}
	.detail-txt .txt-inner + .txt-inner{
		margin: 60px 0 0;
	}

	#detail-slide{
		position: relative;
	}
	#detail-slide img{
		width: 100%;
		height: auto;
	}
	#detail-slide .detail-slide-inner{
		overflow: hidden;
	}

	#detail-slide  .swiper-pagination{
		position: relative;
		margin: 30px 0 0;
		width: 100%;
		font-size: 0;
	}
	#detail-slide  .swiper-pagination span{
		outline: none;
		width: 10px;
		height: 10px;
		background: #c8c8c8;
		opacity: 1;
	}
	#detail-slide  .swiper-pagination span.swiper-pagination-bullet-active{
		background: #1b1b1b;
	}
	#detail-slide .swiper-pagination span + span{
		margin: 0 0 0 10px;
	}



	.detail-txt .intro .intro-txt a{
		text-decoration: underline;
	}
	.detail-txt .intro .intro-txt a:hover{
		text-decoration: none;
	}

	.detail-txt .intro-dl{
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}

	.detail-txt .intro-dl .intro-txt{
		padding: 0 50px 0 0;
		width: 600px;
		box-sizing: border-box;
	}
	.detail-txt .intro-dl .app-dl{
		width: 198px;
	}
	.detail-txt .intro-dl .app-dl li a{
		-webkit-transition: opacity 300ms ease;
		-o-transition: opacity 300ms ease;
		transition: opacity 300ms ease;
	}
	.detail-txt .intro-dl .app-dl li a:hover{
		opacity: 0.7;
	}
	.detail-txt .intro-dl .app-dl li + li{
		margin-top: 10px;
	}
	.detail-txt .intro-dl .app-dl img{
		width: 100%;
		height: auto;
	}



/* gheader
------------------------------------*/

	#gheader{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 92px;
		background: #fff;
		z-index: 500;
	}

	#gheader h1{
		position: absolute;
		top: 50%;
		left: 40px;
		margin: -13px 0 0;
		width: 178px;
		height: 23px;
	}
	#gheader h1 a{
		display: block;
		width: 178px;
		height: 23px;
		text-indent: -9999px;
		background: url(../img/logo_bl.png) 0 0 no-repeat;
		background-size: 100% 100%;
	}


	.top #gheader{
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
		
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	.top #gheader.on{
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}
	#top-header{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 92px;
		z-index: 100;
	}
	#top-header h1{
		position: absolute;
		top: 50%;
		left: 40px;
		margin: -11.5px 0 0;
		width: 178px;
		height: 23px;
	}
	#top-header h1 a{
		display: block;
		width: 178px;
		height: 23px;
		text-indent: -9999px;
		background: url(../img/logo_wh.png) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	


/* gnav
------------------------------------*/

	#sp-nav{
		display: none;
	}
	.gnav{
		position: absolute;
/*		width: 600px;
*/		left: 30%;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.mode-en .gnav{
		left: 50%;
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		-o-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}


	.gnav > ul > li{
		float: left;
		line-height: 92px;
		height: 92px;
	}
	.gnav > ul > li + li{
		margin: 0 0 0 60px;
	}
	.gnav > ul > li > a{
		position: relative;
		font-size: 15px;
	}
	.gnav > ul > li a:after{
		position: absolute;
		bottom: -8px;
		left: 50%;
		margin: 0 0 0 -11.5px;
		content: "";
		display: inline-block;
		height: 1px;
		width: 23px;
		background: #333;
		font-size: 15px;
		display: none;
	}
	.gnav > ul > li > a:hover:after,
	.gnav > ul > li.active > a:after{
		display: block;
	}
	.gnav li.pd{
		position: relative;
	}
	.gnav li.pd .nav-inner{
		position: absolute;
		top: 80px;
		left: 50%;
		margin: 0 0 0 -120px;
		padding: 40px;
		width: 240px;
		background: #fff;
		border: 1px solid #ececec;
		box-sizing: border-box;
		border-radius: 10px;
		display: none;
	}
	.gnav li.pd .nav-inner li{
		line-height: 1;
	}
	.gnav li.pd .nav-inner li + li{
		margin-top: 20px;
	}
	.gnav li.pd .nav-inner a{
		font-size: 13px;
	}
	.gnav li.pd .nav-inner a:hover,
	.gnav li.pd .nav-inner li.active a{
		color: #26b3e6;
	}
	.gnav li.pd .nav-inner ul + ul{
		margin: 20px -1.5em 0 0;
		padding-left: 1em;
	}
	.gnav li.pd .nav-inner ul + ul a{
		font-size: 11px;
	}
	.gnav li.pd .nav-inner ul + ul li + li{
		margin-top: 15px;
	}


	.nav-lang{
		position: absolute;
		right: 40px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);

	}
	.nav-lang li{
		float: left;
	}
	.nav-lang li + li{
		margin: 0 0 0 20px;
	}
	.nav-lang li a{
		position: relative;
		font-size: 15px;
	}
	.nav-lang li a:after{
		position: absolute;
		bottom: -4px;
		left: 50%;
		margin: 0 0 0 -12px;
		content: "";
		display: inline-block;
		height: 1px;
		width: 24px;
		background: #333;
		font-size: 15px;
		display: none;
	}
	.nav-lang li a:hover:after,
	.nav-lang li a.active:after{
		display: block;
	}

	#top-header .gnav > ul > li > a,
	#top-header .nav-lang li a{
		color: #fff;
	}
	#top-header .gnav > ul > li a:after,
	#top-header .nav-lang li a:after{
		background: #fff;
	}



/* nav-recruit
------------------------------------*/
	
	.nav-recruit > a{
		display: inline-block;
		color: #fff;
		width: 116px;
		text-align: center;
	}
	.nav-recruit > a:before{
		position: absolute;
		content: "";
		top: 50%;
		left: 50%;
		display: block;
		width: 100%;
		height: 32px;
		background: #56b1e1;
		border-radius: 10px;
		transform: translate(-50%,-50%);
		z-index: 10;
	}
	.nav-recruit > a:hover:before{
		background: #64c4f6;
		transition: background 300ms ease;
	}
	.nav-recruit > a i{
		position: relative;
		z-index: 20;
	}
	.gnav > ul > .nav-recruit > a:hover:after,
	.gnav > ul > .nav-recruit.active > a:after{
		display: none;
	}





/* gfooter
------------------------------------*/

	#foot-bnr{
		position: relative;
	}

	#gfooter{
		position: relative;
		width: 100%;
		z-index: 100;
/*		height: 40px;
*/	}
	#gfooter .gfooter-inner{
		position: relative;
		margin: 100px 0 0;
/*		height: 200px;
*/		height: 40px;
	}


	.top #gfooter #foot-bnr{
		display: none;
	}
	.top #gfooter .gfooter-inner{
		position: absolute;
		margin:auto;
		bottom: 0;
/*		bottom: 40px;
*/		width: 100%;
/*		height: auto;
*/	}

	.btm-f4kun{
		position: absolute;
		top: -260px;
		right: 20px;
		width: 311px;
		height: 445px;
		z-index: 10;
		
		-webkit-transform: translateY(110%);
		-ms-transform: translateY(110%);
		-o-transform: translateY(110%);
		transform: translateY(110%);
		
		-webkit-transition: transform 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
		-o-transition: transform 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
		transition: transform 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

	}
	.btm-f4kun.on{
		
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		
	}



	.btm-f4kun a{
		display: block;
		width: 311px;
		height: 445px;
		background: url(../img/f4_kun.png) 0 0 no-repeat;	
	}
	.btm-f4kun a:hover{
		animation: vibe 100ms linear infinite;
	}
	.top .btm-f4kun{
		display: none;
	}
	#gfooter #fnav{
		position: absolute;
		left: 40px;
	}

	#gfooter #fnav li{
		float: left;
	}
	#gfooter #fnav li + li{
		margin: 0 0 0 20px;
	}
	#gfooter #fnav li:nth-child(3){
		margin: 0 0 0 40px;
	}
	#gfooter #fnav li a{
		position: relative;
		color: #333;
		font-size: 15px;
	}
	#gfooter li a:after{
		position: absolute;
		bottom: -4px;
		left: 50%;
		margin: 0 0 0 -53%;
		content: "";
		display: inline-block;
		height: 1px;
		width: 106%;
		background: #333;
		display: none;
	}
	#gfooter li a:hover:after,
	#gfooter li a.active:after{
		display: block;
	}
	#gfooter .copy{
		position: absolute;
/*		bottom: 40px;
*/		left: 50%;
		z-index: 100;
		font-size: 14px;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
		color: #333;
	}


	.top #gfooter #fnav li a{
		color: #fff;
	}
	.top #gfooter li a:after{
		background: #fff;
	}
	.top #gfooter .copy{
		color: #fff;
	}



	/* topics list
	------------------------------------*/
	
	.topics-list-wrap ul{
		margin: 0 25px;
		display: flex;
		flex-wrap: wrap;
	}
	.topics-list-wrap .topics-list-elm + .topics-list-elm{
		padding-top: 60px;
	}
	.topics-list{
		padding: 0 25px;
		width: calc(100% / 3);
		box-sizing: border-box;
	}
	.topics-list a{
		display: block;
		-webkit-transition: opacity ease 300ms;
		-o-transition: opacity ease 300ms;
		transition: opacity ease 300ms;
	}
	.topics-list a:hover{
		opacity: 0.7;
	}
	.topics-list figure{
		position: relative;
		border-radius: 10px;
		overflow: hidden;
		box-sizing: border-box;
	}
	.topics-list figure:after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border: 1px solid #999;
		border-radius: 10px;
		box-sizing: border-box;
		opacity: 0.2;
	}
	.topics-list figure img{
		width: 100%;
		height: auto;
		-webkit-transition: opacity ease 200ms;
		-o-transition: opacity ease 200ms;
		transition: opacity ease 200ms;
		opacity: 0;
	}
	.topics-list figure img.loaded{
		opacity: 1;
	}

	.topics-list .list-txt{
		margin-top: 25px;
		font-size: 16px;
	}
	.topics-list .ex{
		position: relative;
		margin-top: 25px;
	}
	.topics-list strong{
		margin:  0 0 0 40px;
		padding: 0 20px;
		height: 15px;
		border-radius: 10px;
		line-height: 15px;
		font-weight: 500;
		font-size: 14px;
		color: #fff;
		background: #333;
	}
	.topics-list:nth-child(n + 4){
		padding-top: 60px;
	}
	.topics-list .ex span{
		display: inline-block;
		margin:  0 0 0 35px;
		height: 15px;
		vertical-align: middle;
		width: 17px;
		background: url(../img/icon_blank.png) 0 0 no-repeat;
		background-size: 100% 100%;	
	}


	/* service list
	------------------------------------*/
	
	.service-list-wrap ul{
		margin: 0 25px;
		display: flex;
		flex-wrap: wrap;
	}
	.service-list{
		padding: 0 25px;
		width: calc(100% / 3);
		box-sizing: border-box;
	}
	.service-list a{
		display: block;
		-webkit-transition: opacity ease 200ms;
		-o-transition: opacity ease 200ms;
		transition: opacity ease 200ms;
	}
	.service-list:nth-child(n + 4){
		padding-top: 60px;
	}
	.service-list a:hover{
		opacity: 0.7;
	}
	.service-list figure{
		position: relative;
		border-radius: 10px;
		overflow: hidden;
		box-sizing: border-box;
	}
	.service-list figure:after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border: 1px solid #999;
		border-radius: 10px;
		box-sizing: border-box;
		opacity: 0.2;
	}
	.service-list figure img{
		width: 100%;
		height: auto;
		-webkit-transition: opacity ease 200ms;
		-o-transition: opacity ease 200ms;
		transition: opacity ease 200ms;
		opacity: 0;
	}
	.service-list figure img.loaded{
		opacity: 1;
	}
	.service-list dl dt{
		margin-top: 20px;
		font-size: 18px;
		font-weight: 700;
	}
	.service-list dl dd{
		margin-top: 20px;
		font-size: 16px;
	}



	.service-archives-list-wrap{
		padding-top: 70px;
	}
	.service-archives-list-wrap ul{
		margin: 0 25px;
		display: flex;
		flex-wrap: wrap;
	}
	.service-archives-list{
		padding: 0 25px;
		width: calc(100% / 4);
		box-sizing: border-box;
	}
	.service-archives-list:nth-child(n + 5){
		padding-top: 60px;
	}
	.service-archives-list a{
		display: block;
		-webkit-transition: opacity ease 300ms;
		-o-transition: opacity ease 300ms;
		transition: opacity ease 300ms;
	}
	.service-archives-list a:hover{
		opacity: 0.7;
	}
	.service-archives-list figure{
		position: relative;
		border-radius: 10px;
		overflow: hidden;
		box-sizing: border-box;
	}
	.service-archives-list figure:after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border: 1px solid #999;
		border-radius: 10px;
		box-sizing: border-box;
		opacity: 0.2;
	}
	.service-archives-list figure img{
		width: 100%;
		height: auto;
		-webkit-transition: opacity ease 100ms;
		-o-transition: opacity ease 100ms;
		transition: opacity ease 100ms;
		opacity: 0;
	}
	.service-archives-list figure img.loaded{
		opacity: 1;
	}
	.service-archives-list figcaption{
		margin-top: 20px;
		font-size: 18px;
		font-weight: 700;
	}





	/* interview
	---------------------------------------*/


	.interview-header{
		padding: 0 0 50px;
	}
	.interview-header h4{
		font-size: 28px;
		font-weight: 700;
	}
	.interview-header p{
		margin: 10px 0 0;
		font-size: 14px;
	}
	.interview-col + .interview-col{
		margin: 40px 0 0;
	}
	.interview-col figure{
		overflow: hidden;
		border-radius: 10px;
	}
	.interview-col figure img{
		width: 100%;
		height: auto;
	}
	.interview-col dl{
		font-size: 14px;
	}
	.interview-col dd{
		padding: 15px 0 0 3em;
		line-height: 2;
	}
	.interview-col figcaption{
		margin: 5px 0 0;
		font-size: 12px;
	}
	

	.interview-col1 dl{
		display: flex;
	}
	.interview-col1 dt{
		width: 75px;
	}
	.interview-col1 dd{
		padding: 0;
		width: calc(100% - 75px);
	}

	.interview-col2{
		display: flex;
	}
	.interview-col2 .fig-box{
		width: 50%;
		padding: 0 10px 0 0;
		box-sizing: border-box;
	}

	.interview-col2 .txt{
		width: 50%;
		padding: 0 0 0 10px;
		box-sizing: border-box;
	}
	.interview-col2 .txt dd{
		padding: 15px 0 0 ;

	}



	.interview-col3{
		display: flex;
		flex-direction: row-reverse;
	}
	.interview-col3 .fig-box{
		width: 50%;
		padding: 0 0 0 10px;
		box-sizing: border-box;
	}
	.interview-col3 .txt{
		width: 50%;
		padding: 0 10px 0 0 ;
		box-sizing: border-box;
	}
	.interview-col3 .txt dd{
		padding: 15px 0 0 ;

	}

	.interview-intro + .interview-box,
	.interview-box + .interview-box{
		padding: 60px 0 0;
	}


	.txt-q{
		position: relative;
		padding: 0 0 0 40px;
	}
	.txt-q:before{
		position: absolute;
		left: 0;
		top: 0;
		content: "———";
	}







	/* bnr
	------------------------------------*/

	.link-bnr .bnr{
		position: relative;
		overflow: hidden;
		border-radius: 10px 0 0 10px;
	}
	.link-bnr .bnr-inner{
		position: relative;
		-webkit-transform-origin: top center;
		-moz-transform-origin: top center;
		-ms-transform-origin: top center;
		-o-transform-origin: top center;
		transform-origin: top center;
		z-index: 20;
	}
	.link-bnr .bnr:after{
		content: "";
		display: block;
		position: absolute;
		top: -0.5px;
		right: 0px;
		width: 100%;
		height: 100%;
		border-radius: 10px 0 0 10px;
		background: #fff;
		z-index: 10;
	}



	.link-bnr img{
		position: absolute;
		width: 100%;
		height: auto;
		min-width: 1080px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
		overflow: hidden;
		border-radius: 10px 0 0 10px;
		background: #fff;
	}


	.link-bnr .col-wrap{
		padding: 100px 0;
		margin: 0 0 0 120px;	
	}
	.link-bnr .col-box{
		position: relative;
	}
	.link-bnr .col-inner{
		z-index: 10;
	}
	.link-bnr .col-inner a{
		display: block;
		width: 1180px;
		height: 246px;
		-webkit-transition: opacity ease 300ms;
		-o-transition: opacity ease 300ms;
		transition: opacity ease 300ms;
	}
	.link-bnr .col-inner a:hover{
		opacity: 0.8;
	}
	.page-special #foot-bnr .bnr{
		display: none;
	}
	.page-special .link-bnr .col-wrap{
		padding: 100px 0 0;
	}




	/* btn
	------------------------------------*/




	.btn-elm{
		position: relative;
		margin-top: 100px;
		width: 100%;
		height: 72px;
		z-index: 50;
	}
	.btn-elm a{
		position: relative;
		display: block;
		width: 100%;
		height: 72px;
		line-height: 66px;
		text-align: center;
		font-size: 20px;
		color: #333;
		border-radius: 36px;
		font-weight: 500;
		border: 3px solid #333;
		box-sizing: border-box;
	}



	.btn-link a span{
		position: absolute;
		top: 50%;
		right: 28px;
		margin: -11.5px 0 0;
		width: 22px;
		height: 23px;
		display: inline-block;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	
	.btn-link a span:after{
		content: "";
		display: inline-block;		
		width: 22px;
		height: 23px;
		vertical-align: top;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
	}
	.btn-link a:hover span{
		-webkit-transform: translateX(10px);
		-ms-transform: translateX(10px);
		-o-transform: translateX(10px);
		transform: translateX(10px);
	}


	.btn-more a span{
		position: absolute;
		top: 50%;
		right: 28px;
		margin: -11.5px 0 0;
		width: 22px;
		height: 23px;
		display: inline-block;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	
	.btn-more a span:after{
		content: "";
		display: inline-block;		
		width: 22px;
		height: 23px;
		vertical-align: top;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	.btn-more a:hover span{
		-webkit-transform: translateY(10px);
		-ms-transform: translateY(10px);
		-o-transform: translateY(10px);
		transform: translateY(10px);
	}



	.btn-back a span{
		position: absolute;
		top: 50%;
		left: 28px;
		margin: -11.5px 0 0;
		width: 22px;
		height: 23px;
		display: inline-block;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	
	.btn-back a span:after{
		content: "";
		display: inline-block;		
		width: 22px;
		height: 23px;
		vertical-align: top;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		transform: rotate(180deg);
	}
	.btn-back a:hover span{
		-webkit-transform: translateX(-10px);
		-ms-transform: translateX(-10px);
		-o-transform: translateX(-10px);
		transform: translateX(-10px);
	}


	.btn-header{
		position: absolute;
		left: -200px;
		top: 0;
	}
	.btn-header a{
		color: #fff;
		font-size: 14px;
	}
	.btn-header a span{
		position: relative;
		display: block;
		margin: 0 auto 5px;
		width: 50px;
		height: 50px;
		border-radius: 25px;
		border: 3px solid #fff;
		box-sizing: border-box;
	}
	.btn-header a span:after{
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -11.5px 0 0 -11px;
		content: "";
		display: inline-block;		
		width: 22px;
		height: 23px;
		background: url(../img/arrow_btn_wh.svg) 0 0 no-repeat;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	.btn-header a:hover span:after{
		-webkit-transform: translateX(-5px);
		-ms-transform: translateX(-5px);
		-o-transform: translateX(-5px);
		transform: translateX(-5px);
	}


	.btn-box{
		max-width: 810px;
	}




	/* btn pt
	------------------------------------*/

	.btn-pt{
		position: absolute;
		left: 50%;
		bottom: -40px;
		margin: 0 0 0 -40px;
		width: 80px;
		height: 80px;
		z-index: 20;
	}
	.btn-pt a{
		position: relative;
		display: block;
		width: 80px;
		height: 80px;
		border-radius: 40px;
		border: 3px solid #333;
		box-sizing: border-box;
		background: #fff;
	}
	.btn-pt a:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		display: inline-block;
		width: 32px;
		height: 30px;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
		-webkit-transform: rotate(-90deg);
		-ms-transform: rotate(-90deg);
		-o-transform: rotate(-90deg);
		transform: rotate(-90deg);

		-webkit-transition: top 200ms ease;
		-o-transition: top 200ms ease;
		transition: top 200ms ease;
	}
	.btn-pt a:hover:after{
		top: -20px;
	}





	/* sub-nav
	------------------------------------*/

	.sub-nav{
		position: absolute;
		width: 100%;
		box-sizing:border-box;
		top: 60px;
		z-index: 10;
	}
	.sub-nav.fixed{
		position: fixed;
	}
	.sub-nav.fixed.end{
		position: absolute;
	}
	.sub-nav:after{
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: #26b3e6;
		z-index: 10;
	}

	.sub-nav-inner{
		position: absolute;
		padding: 80px 0 80px 20px;		
		right: 0;
		width: 100%;
		max-width: 340px;
		text-align: center;
		z-index: 30;
		box-sizing: border-box;
	}
	.sub-nav-inner .nav-title{
		padding: 40px 0;
	}
	.sub-nav-inner .nav-title h3{
		color: #fff;
	}



	.sub-nav ul + ul{
		margin-top: 25px;		
	}
	.sub-nav ul:nth-child(1) li + li{
		margin-top: 30px;
	}
	.sub-nav ul:nth-child(1) a{
		position: relative;
		display: block;
		padding-left: 50px;
		height: 50px;
		line-height: 50px;
		font-size: 16px;
		color: #fff;
		box-sizing: border-box;
		text-align: left;
	}
	.sub-nav ul:nth-child(1) a i{
		position: absolute;
		display: block;
		width: 100%;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
		line-height: 1.3;
	}

	.page-special .sub-nav ul:nth-child(1) a i{
		width: calc(100% - 70px);
		padding : 0 0 0 20px;
		box-sizing: border-box;
	}
	.page-special .sub-nav ul:nth-child(1) a i em{
		position: absolute;
		display: inline-block;
		top: 50%;
		left: -5px;
		font-size: 22px;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}



	.sub-nav ul:nth-child(1) a:before{
		content: "";
		position: absolute;
		display: block;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		box-sizing: border-box;
		border-radius: 25px 0 0 25px;
		opacity: 0;	
		-webkit-transition: opacity 200ms ease;
		-o-transition: opacity 200ms ease;
		transition: opacity 200ms ease;

	}
	.sub-nav ul:nth-child(1) a:after{
		content: "";
		position: absolute;
		top: 50%;
		left: 18px;
		margin-top: -9px;
		display: block;
		width: 16px;
		height: 18px;
		opacity: 0;
		background: url(../../shared/img/arrow_btn_bl.svg) 0 0 no-repeat;
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		transform: rotate(180deg);

		-webkit-transition: opacity 200ms ease;
		-o-transition: opacity 200ms ease;
		transition: opacity 200ms ease;

	}



	.sub-nav ul:nth-child(2) li{
		text-align: left;
	}
	.sub-nav ul:nth-child(2) li + li{
		margin-top: 15px;
	}
	.sub-nav ul:nth-child(2){
		padding-left: 80px;
	}
	.sub-nav ul:nth-child(2) a{
		position: relative;
		font-size: 14px;
		color: #fff;
		display: inline-block;
		box-sizing: border-box;
		text-align: left;
	}
	.sub-nav ul:nth-child(2) a:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		left: 110%;
		display: block;
		height: 1px;
		width: 300%;
		background: #fff;
		display: none;
	}

	.sub-nav ul:nth-child(2) li + li{
		margin-top: 25px;
	}
	.sub-nav a i br{
		display: none;
	}




	.sub-nav ul:nth-child(1) a:hover,
	.sub-nav ul:nth-child(1) li.active a{
		color: #26b3e6;
	}
	.sub-nav ul:nth-child(1) a:hover:before,
	.sub-nav ul:nth-child(1) li.active a:before,
	.sub-nav ul:nth-child(1) a:hover:after,
	.sub-nav ul:nth-child(1) li.active a:after{
		opacity: 1;
	}
	.sub-nav ul:nth-child(2) a:hover:after,
	.sub-nav ul:nth-child(2) li.active a:after{
		display: block;
	}





}


@media screen and (min-width: 768px) and (max-height: 660px) {

	.sub-nav ul:nth-child(1) li + li {
		margin-top: 15px;
	}

}


@media screen and (min-width: 768px) and (max-width: 1440px) {



	.sub-nav a i br{
		display: inline-block;
	}

	.sub-nav ul:nth-child(1) a{
		padding-left: 40px;
		font-size: 12px;
	}
	.sub-nav ul:nth-child(2){
		padding-left: 50px;
	}
	.sub-nav ul:nth-child(2) a{
		font-size: 11px;
	}
	.page-special .sub-nav ul:nth-child(1) a i{
		width: calc(100% - 45px);
		padding : 0 0 0 20px;
		box-sizing: border-box;
	}
	.page-special .sub-nav ul:nth-child(1) a i em{
		font-size: 20px;
	}

	.sub-nav-inner{
		padding: 80px 0 80px 10px;
	}
	.sub-nav ul:nth-child(1) a:after{
		left: 13px;	
		margin-top: -7px;
		width: 13px;
		height: 14px;	
	}

}






@media screen and (min-width: 768px) and (max-width: 1100px) {


	.gnav{
		left: 32%;
	}
	.mode-en .gnav{
		left: 50%;
	}

	.gnav > ul > li + li{
		margin: 0 0 0 25px;
	}
	.gnav > ul > li > a{
		position: relative;
		font-size: 14px;
	}
	.nav-lang li + li{
		margin: 0 0 0 15px;
	}
	.nav-lang li a{
		position: relative;
		font-size: 14px;
	}

/* nav-recruit
------------------------------------*/
	.nav-recruit > a{
		width: 80px;
	}




	.topics-list{
		padding: 0 5px;
	}
	.topics-list .list-txt{
		margin-top: 15px;
		font-size: 14px;
	}
	.topics-list .ex {
		margin-top: 15px;
	}




	.service-list{
		padding: 0 5px;
	}
	.service-list dl dt{
		margin-top: 15px;
		font-size: 15px;
	}
	.service-list dl dd{
		margin-top: 15px;
		font-size: 14px;
	}


	.service-archives-list{
		padding: 0 5px;
	}
	.service-archives-list figcaption{
		margin-top: 15px;
		font-size: 15px;
	}

}



@media screen and (min-width: 768px) and (max-width: 900px) {

	.topics-list .ex strong{
		margin:  0 0 0 25px;
	}
	.topics-list .ex span{
		margin:  0 0 0 25px;
	}


}



@media screen and (max-width: 767px) {


/* bg-f4
------------------------------------*/

	.bg-f4{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/f4_bg.gif) 0 0 repeat;
		background-size: 175px 152px;
		z-index: 70;
	}



body{
/*	font-size: 16px;
*/	font-size: 12px;
	line-height: 1.8;
}

#wrap{
	position: relative;
	overflow: hidden;
}



/* common
------------------------------------*/

	section{
		position: relative;
	}

	.bg-bl{
		position: absolute;
		display: block;
	}
	.bg-bl span{
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		background: #26b3e6;
	}


	.sec-inner{
		position: relative;
		z-index: 10;
	}

	.sec-header{
		position: absolute;
		margin: auto;
		padding: 0 20px;
		left: 50%;
		top: 0;
		width: 100%;
		max-width: 1380px;
		z-index: 50;
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		-o-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		box-sizing: border-box;
	}

	.sec-header-1 h2{
		position: relative;
		z-index: 20;
		-webkit-transform-origin: top left;
		-moz-transform-origin: top left;
		-ms-transform-origin: top left;
		-o-transform-origin: top left;
		transform-origin: top left;
	}
	.sec-header-2 h2{
		position: relative;
		z-index: 20;
		-webkit-transform-origin: top right;
		-moz-transform-origin: top right;
		-ms-transform-origin: top right;
		-o-transform-origin: top right;
		transform-origin: top right;
	}



	.col{
		margin: auto;
		max-width: 1200px;
		box-sizing: border-box;
	}
	.col-wrap{
		position: relative;
		padding: 60px 0 40px;
	}
	.detail .col-wrap{
		position: relative;
		padding: 35px 0 40px;
	}
	.col-1 .col-wrap{
		margin: 0 0 0 60px;	
	}
	.col-1 .col-inner{
		position: relative;
		padding: 0 15px 0 15px;
		box-sizing: border-box;
		z-index: 100;
	}
	.top .col-1 .col-inner{
		padding: 0 15px 0 40px;
	}

	.col-2 .col-wrap{
		margin: 0 60px 0 0;	
	}
	.col-2 .col-inner{
		position: relative;
		padding: 0 40px 0 15px;
		box-sizing: border-box;
		z-index: 100;
	}

	.lower main{
		padding: 120px 0 0;
	}
	.lower.detail main{
		padding: 90px 0 0;
	}
	.lower .bg-bl{
		position: absolute;
		top: 0;
		width: 50%;
		height: 400px;
		z-index: 100;
	}


	.col-basic .col-box h3{
		font-size: 23px;
		color: #26b3e6;
		letter-spacing: -1px;
		line-height: 1;
	}
	.col-basic .col-box .txt{
		margin: 30px 0 0;
	}
	.col-basic .col-box h3 + .fig-box{
		margin: 30px 0 0;
	}
	.col-basic .col-box .txt + .txt{
		margin: 50px 0 0;
	}
	.col-basic .col-box .txt-inner{
		margin: 20px 0 0;
	}
	.col-basic .col-box .txt{
		max-width: 810px;
	}
	.col-basic .col-box .txt h4{
		font-size: 16px;
		font-weight: 500;
	}
	.col-basic .col-box .txt a{
		color: #26b3e6;
		text-decoration: underline;
	}
	.col-basic .col-box + .col-box{
		margin: 60px 0 0;
	}
	.col-basic .col-box p + p,
	.col-basic .col-box .txt-elm + .txt-elm,
	.col .txt-elm + .txt-elm{
		margin: 30px 0 0;		
	}

	.col-basic .col-box .txt h5{
		margin: 0 0 5px;
		font-size: 13px;
		font-weight: 700;
		color: #26b3e6;
	}





/* detail
------------------------------------*/

	.detail-header h3{
		font-size: 18px;
		font-weight: 700;
	}

	.detail-fig-box{
		margin: 10px 0 0;
	}
	.detail-fig-box img{
		border-radius: 5px;
		width: 100%;
		height: auto;
		overflow: hidden;
		-webkit-transition: opacity ease 300ms;
		-o-transition: opacity ease 300ms;
		transition: opacity ease 300ms;
	}
	.detail-fig-box img.loaded{
		opacity: 1;
	}
	.detail-fig-box figure{
		margin: 0 0 0 -65px;
		box-sizing: border-box;
	}
	.detail-txt{
		max-width: 810px;
		margin: 20px 0 0;
	}	
	.detail-txt p,.detail-txt li{
		line-height: 1.8;
	}
	.detail-txt p + p,
	.detail-txt dl + dl,
	.detail-txt .txt-elm + .txt-elm{
		margin: 30px 0 0;		
	}
	.detail-txt .txt-elm:after{
		content: "";
		display: block;
		visibility: hidden;
		clear: both;
	}
	.detail-txt .date{
		margin: 0 0 15px;
		display: inline-block;
		padding: 0 10px;
		height: 14px;
		line-height: 14px;
		background: #333;
		color: #fff;
		border-radius: 7px;
	}
	.detail-txt .txt-inner + .txt-inner{
		margin: 40px 0 0;
	}

	#detail-slide{
		position: relative;
	}
	#detail-slide img{
		width: 100%;
		height: auto;
	}
	#detail-slide .detail-slide-inner{
		overflow: hidden;
	}

	#detail-slide  .swiper-pagination{
		position: relative;
		margin: 15px 0 0;
		width: 100%;
		font-size: 0;
	}
	#detail-slide  .swiper-pagination span{
		outline: none;
		width: 10px;
		height: 10px;
		background: #c8c8c8;
		opacity: 1;
	}
	#detail-slide  .swiper-pagination span.swiper-pagination-bullet-active{
		background: #1b1b1b;
	}
	#detail-slide .swiper-pagination span + span{
		margin: 0 0 0 10px;
	}


	.detail-txt .intro .intro-txt{
		margin: 20px 0 0;
		width: 100%;
		box-sizing: border-box;
	}
	.detail-txt .intro .intro-txt a{
		text-decoration: underline;
	}
	.detail-txt .intro .app-dl{
		position: relative;
		width: 100%;
		font-size: 0;
		box-sizing: border-box;
	}



	.detail-txt .intro .app-dl li{
		display: inline-block;
		padding: 0 4px;
		width: calc(50% - 8px);
	}
	.detail-txt .intro .app-dl ul{
		margin: 0 -4px;
	}
	.detail-txt .intro .app-dl li a{
		-webkit-transition: opacity 300ms ease;
		-o-transition: opacity 300ms ease;
		transition: opacity 300ms ease;
	}

	.detail-txt .intro .app-dl img{
		width: 100%;
		height: auto;
	}



	.detail-txt .intro .app-dl.wide{
		padding: 0 15px;
		box-sizing: border-box;
	}
	.detail-txt .intro .app-dl.wide ul{
		margin: 0 -4px;
	}
	.detail-txt .intro .app-dl.wide li{
		padding: 0 4px;
		display: inline-block;
		width: calc(100% / 3);
		box-sizing: border-box;
	}

/* gheader
------------------------------------*/

	#gheader{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 55px;
		background: #fff;
		z-index: 500;
	}

	#gheader h1{
		position: absolute;
		top: 50%;
		left: 15px;
		margin: -12px 0 0;
		width: 150px;
		height: 20px;
	}
	#gheader h1 a{
		display: block;
		width: 150px;
		height: 20px;
		text-indent: -9999px;
		background: url(../img/logo_bl.png) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	.top #gheader{
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
		
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	.top #gheader.on{
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}
	#top-header{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 55px;
		z-index: 100;
	}
	#top-header h1{
		position: absolute;
		top: 50%;
		left: 15px;
		margin: -12px 0 0;
		width: 150px;
		height: 20px;
	}
	#top-header h1 a{
		display: block;
		width: 150px;
		height: 20px;
		text-indent: -9999px;
		background: url(../img/logo_wh.png) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	


/* gnav
------------------------------------*/

	.gnav{
		display: none;
	}
	#gheader .gnav{
		display: none;
	}
	#gheader .nav-lang,
	#top-header .nav-lang{
		display: none;
	}


	#sp-nav{
		position: fixed;
		right: -600px;
		width: 100%;
		height: 100%;
		z-index: 1100;
		-webkit-transition: right 300ms ease;
		-o-transition: right 300ms ease;
		transition: right 300ms ease;

		background: #14b2e8;
		box-sizing: border-box;
		display: none;
		overflow: auto;
	}
	#sp-nav .sp-nav-box{
		position: relative;
		overflow: hidden;
		padding: 90px 25px;
	}
	#sp-nav.set{
		display: block;
	}
	#sp-nav.on{
		right: 0;
	}

	#sp-nav a{
		color: #fff;
		text-align: left;
	}
	#sp-nav .sp-nav-inner ul + ul{
		margin-top: 25px;		
	}
	#sp-nav .sp-nav-inner > ul > li + li{
		margin-top: 15px;
	}
	#sp-nav .sp-nav-inner > ul > li > a{
		position: relative;
		display: block;
		padding-left: 50px;
		height: 50px;
		line-height: 50px;
		font-size: 23px;
		box-sizing: border-box;
	}
	#sp-nav .sp-nav-inner > ul a i{
		position: relative;
	}
	#sp-nav .sp-nav-inner > ul > li > a:before{
		content: "";
		position: absolute;
		display: block;
		left: 0;
		width: 120%;
		height: 100%;
		background: #fff;
		box-sizing: border-box;
		border-radius: 25px 0 0 25px;
		opacity: 0;	
		-webkit-transition: opacity 200ms ease;
		-o-transition: opacity 200ms ease;
		transition: opacity 200ms ease;

	}
	#sp-nav .sp-nav-inner > ul > li > a:after{
		content: "";
		position: absolute;
		top: 50%;
		left: 18px;
		margin-top: -9px;
		display: block;
		width: 16px;
		height: 18px;
		opacity: 0;
		background: url(../../shared/img/arrow_btn_bl.svg) 0 0 no-repeat;
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		transform: rotate(180deg);

		-webkit-transition: opacity 200ms ease;
		-o-transition: opacity 200ms ease;
		transition: opacity 200ms ease;

	}
	#sp-nav .sp-nav-inner .nav-inner{
		margin: 20px 0 0 80px;
	}
	#sp-nav .sp-nav-inner .nav-inner a{
		position: relative;
	}
	#sp-nav .sp-nav-inner .nav-inner ul:nth-child(1) li + li{
		margin: 10px 0 0;
	}
	#sp-nav .sp-nav-inner .nav-inner ul:nth-child(1) li a{
		font-size: 16px;
	}
	#sp-nav .sp-nav-inner .nav-inner ul:nth-child(2){
		margin: 20px 0 0 20px;
	}
	#sp-nav .sp-nav-inner .nav-inner ul:nth-child(2) li + li{
		margin: 3px 0 0;
	}
	#sp-nav .sp-nav-inner .nav-inner ul:nth-child(2) li a{
		font-size: 14px;
	}

	#sp-nav .sp-nav-inner .nav-inner ul a span{
		position: absolute;
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
	}

	#sp-nav .sp-nav-inner .nav-inner ul a span:after{
		content: "";
		position: absolute;
		margin: 0;
		top: 50%;
		left: 12px;
		display: block;
		height: 1px;
		width: 100vw;
		background: #fff;
		display: none;
	}

	#sp-nav .sp-nav-inner ul:nth-child(2) li + li{
		margin-top: 25px;
	}

	#sp-nav .sp-nav-inner > ul > li.active > a{
		color: #26b3e6;
	}
	#sp-nav .sp-nav-inner > ul > li.active > a:before,
	#sp-nav .sp-nav-inner > ul > li.active > a:after{
		opacity: 1;
	}
	#sp-nav .sp-nav-inner .nav-inner ul li.active span:after{
		display: block;		
	}




	.btn-nav-open,
	.btn-nav-close{
		position: fixed;
		top: 0;
		right: 0;
		width: 55px;
		height: 55px;
		z-index: 1000;
	}
	.btn-nav-open a,
	.btn-nav-close a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 0 0 0 8px;
		background: #fff;
	}
	.btn-nav-close a i{
		position: absolute;
		display: block;
		left: 50%;
		top: 50%;
		margin: -1px 0 0 -10px;
		width: 20px;
		height: 2px;
		background: #333;
	}
	.btn-nav-close a i:nth-child(1){
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.btn-nav-close a i:nth-child(2){
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.btn-nav-open a span{
		position: absolute;
		display: block;
		left: 50%;
		top: 50%;
		margin: -9px 0 0 -10px;
		width: 20px;
		height: 18px;
	}
	.btn-nav-open a i{
		position: absolute;
		display: block;
		width: 20px;
		height: 2px;
		background: #333;
	}
	.btn-nav-open a i:nth-child(1){
		left: 0;
		top: 0;
	}
	.btn-nav-open a i:nth-child(2){
		left: 0;
		top: 50%;
		margin: -1px 0 0;
	}
	.btn-nav-open a i:nth-child(3){
		left: 0;
		bottom: 0;
	}





	.nav-lang{
		position: absolute;
		left: 25px;
		top: 15px;

	}
	.nav-lang li{
		float: left;
	}
	.nav-lang li + li{
		margin: 0 0 0 20px;
	}
	.nav-lang li a{
		position: relative;
		font-size: 15px;
		color: #fff;
	}
	.nav-lang li a:after{
		position: absolute;
		bottom: -4px;
		left: 50%;
		margin: 0 0 0 -12px;
		content: "";
		display: inline-block;
		height: 1px;
		width: 24px;
		background: #fff;
		font-size: 15px;
		display: none;
	}
	.nav-lang li a.active:after{
		display: block;
	}

	#top-header .gnav > ul > li > a,
	#top-header .nav-lang li a{
		color: #fff;
	}
	#top-header .gnav > ul > li a:after,
	#top-header .nav-lang li a:after{
		background: #fff;
	}



	





/* gfooter
------------------------------------*/

	#foot-bnr{
		position: relative;
	}


	#gfooter{
		position: relative;
		width: 100%;
		z-index: 100;
	}
	#gfooter .gfooter-inner{
		position: relative;
		margin: 60px 0 0;
		height: 65px;
	}
/*	#gfooter .gfooter-inner{
		position: relative;
		height: 110px;
	}*/
	#gfooter .gfooter-inner-box{
		position: absolute;
		width: 100%;
		left: 15px;
		bottom: 15px;
/*		top: 0;
*/	}

	.top #gfooter{
		position: absolute;
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
		width: calc(100% - 140px);
	}
	.top #gfooter #foot-bnr{
		display: none;
	}
	.top #gfooter .gfooter-inner-box{
		position: absolute;
		width: 100%;
		left: 15px;
		top: inherit;
		bottom: 15px;
	}


	.btm-f4kun{
		position: absolute;
		top: -20px;
		right: 20px;
		width: 86px;
		height: 123px;
		z-index: 10;
		
		-webkit-transform: translateY(110%);
		-ms-transform: translateY(110%);
		-o-transform: translateY(110%);
		transform: translateY(110%);
		
		-webkit-transition: transform 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
		-o-transition: transform 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
		transition: transform 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

	}
	.btm-f4kun.on{
		
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		
	}



	.btm-f4kun a{
		display: block;
		width: 86px;
		height: 123px;
		background: url(../img/f4_kun.png) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.top .btm-f4kun{
		display: none;
	}
	#gfooter #fnav:after{
		content: "";
		display: block;
		visibility: hidden;
		clear: both;
	}
	#gfooter #fnav li{
		float: left;
		height: 25px;
		line-height: 25px;
	}
	#gfooter #fnav li + li{
		margin: 0 0 0 20px;
	}
	#gfooter #fnav li:nth-child(3){
		margin: 0 0 0 30px;
	}
	#gfooter #fnav li a{
		position: relative;
		color: #333;
		font-size: 14px;
	}
	#gfooter #fnav li:nth-child(n+3) a{
		font-size: 12px;
	}
	#gfooter li a:after{
		position: absolute;
		bottom: -4px;
		left: 50%;
		margin: 0 0 0 -53%;
		content: "";
		display: inline-block;
		height: 1px;
		width: 106%;
		background: #333;
		display: none;
	}
	#gfooter li a.active:after{
		display: block;
	}
	#gfooter .copy{
		margin-top: 15px;
		display: block;
		z-index: 100;
		color: #333;
	}

	.top #gfooter #fnav li a{
		color: #fff;
	}
	.top #gfooter li a:after{
		background: #fff;
	}
	.top #gfooter .copy{
		color: #fff;
	}



	/* topics list
	------------------------------------*/

	#topics-list-box{
		padding: 0 15px;
		box-sizing: border-box;		
	}
	.top #topics-list-box{
		padding: 0;
		box-sizing: border-box;		
	}
	.topics-list-wrap .topics-list-elm + .topics-list-elm{
		padding-top: 40px;
	}
	.topics-list + .topics-list{
		margin-top: 40px;
	}
	.topics-list figure{
		position: relative;
		border-radius: 5px;
		overflow: hidden;
		box-sizing: border-box;
	}
	.topics-list figure:after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border: 1px solid #999;
		border-radius: 5px;
		box-sizing: border-box;
		opacity: 0.2;
	}
	.topics-list figure img{
		width: 100%;
		height: auto;
		-webkit-transition: opacity ease 200ms;
		-o-transition: opacity ease 200ms;
		transition: opacity ease 200ms;
		opacity: 0;
	}
	.topics-list figure img.loaded{
		opacity: 1;
	}
	.topics-list .list-txt{
		margin-top: 15px;
		padding: 0 65px 0 0;
	}
	.page-topics .topics-list .list-txt{
		padding: 0 0 0 65px;
	}
	.topics-list .ex{
		margin-top: 15px;
	}
	.topics-list strong{
		margin:  0 0 0 28px;
		padding: 0 15px;
		height: 15px;
		border-radius: 4px;
		line-height: 15px;
		font-weight: 500;
		color: #fff;
		font-size: 11px;
		background: #333;
	}
	.topics-list .ex span{
		display: inline-block;
		margin:  0 0 0 16px;
		height: 15px;
		width: 10px;
		vertical-align: middle;
		background: url(../../shared/img/icon_blank.png) 0 50% no-repeat;
		background-size: 10px 11px;	

	}


	/* service list
	------------------------------------*/

	#service-list-box{
		padding: 0 15px;
		box-sizing: border-box;		
	}
	.top #service-list-box{
		padding: 0;
		box-sizing: border-box;		
	}
	.service-list-wrap ul + ul{
		padding-top: 60px;

	}
	.service-list + .service-list{
		margin-top: 40px;
	}
	.service-list figure{
		position: relative;
		border-radius: 5px;
		overflow: hidden;
		box-sizing: border-box;
	}
	.service-list figure:after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border: 1px solid #999;
		border-radius: 5px;
		box-sizing: border-box;
		opacity: 0.2;
	}
	.service-list figure img{
		width: 100%;
		height: auto;
		-webkit-transition: opacity ease 200ms;
		-o-transition: opacity ease 200ms;
		transition: opacity ease 200ms;
		opacity: 0;
	}
	.service-list figure img.loaded{
		opacity: 1;
	}
	.service-list .list-txt{
		margin-top: 15px;
		padding: 0 0 0 65px;
	}
	.mode-en .top #service .list-txt{
		padding: 0 65px 0 0;
	}		
	.page-service .service-list .list-txt{
		padding: 0 0 0 65px;
	}
	.service-list dl dt{
		margin-top: 15px;
		font-size: 14px;
		font-weight: 700;
	}
	.service-list dl dd{
		margin-top: 15px;
	}

	#service-archives-list-box{
		padding: 0 15px;
		box-sizing: border-box;		
	}

	.service-archives-list-wrap{
		padding-top: 30px;
	}
	.service-archives-list-wrap ul{
		display: flex;
		flex-wrap: wrap;
	}
	.service-archives-list{
		width: calc(100% / 2);
		box-sizing: border-box;
	}
	.service-archives-list:nth-child(odd){
		padding: 0 8px 0 0;
	}
	.service-archives-list:nth-child(even){
		padding: 0 0 0 8px;
	}		
	.service-archives-list:nth-child(n + 3){
		padding-top: 30px;
	}
	.service-archives-list figure{
		position: relative;
		border-radius: 5px;
		overflow: hidden;
		box-sizing: border-box;
	}
	.service-archives-list figure:after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border: 1px solid #999;
		border-radius: 5px;
		box-sizing: border-box;
		opacity: 0.2;
	}
	.service-archives-list figure img{
		width: 100%;
		height: auto;
		-webkit-transition: opacity ease 200ms;
		-o-transition: opacity ease 200ms;
		transition: opacity ease 200ms;
		opacity: 0;
	}
	.service-archives-list figure img.loaded{
		opacity: 1;
	}

	.service-archives-list figcaption{
		margin-top: 5px;
		font-weight: 700;
	}



	/* interview
	---------------------------------------*/

	.interview-header{
		padding: 0 0 25px;
	}
	.interview-header h4{
		font-size: 13px;
		font-weight: 700;
	}
	.interview-header p{
		margin: 5px 0 0;
		font-size: 10px;
	}
	.interview-col figure{
		overflow: hidden;
		border-radius: 5px;
	}
	.interview-col figure img{
		width: 100%;
		height: auto;

	}

	.interview-col + .interview-col{
		margin: 20px 0 0;
	}
	.interview-col dd{
		padding: 15px 0 0 1.5em;
		line-height: 2;
	}
	.interview-col figcaption{
		margin: 5px 0 0;
		font-size: 11px;
	}
	.interview-col .txt{
		margin: 25px 0 0;
		box-sizing: border-box;
	}

	.interview-intro + .interview-box,
	.interview-box + .interview-box{
		padding: 30px 0 0;
	}


	.txt-q{
		position: relative;
		padding: 0 0 0 35px;
	}
	.txt-q:before{
		position: absolute;
		top: 2px;
		left: 0;
		content: "———";
	}




	/* bnr
	------------------------------------*/

	.link-bnr .bnr{
		position: relative;
		overflow: hidden;
		border-radius: 5px 0 0 5px;
	}
	.link-bnr .bnr-inner{
		-webkit-transform-origin: top center;
		-moz-transform-origin: top center;
		-ms-transform-origin: top center;
		-o-transform-origin: top center;
		transform-origin: top center;
	}
	.link-bnr img{
		width: 100%;
		height: auto;
	}

	.link-bnr .col-wrap{
		padding: 80px 0 50px;
		margin: 0 0 0 20px;	
	}
	.link-bnr .col-box{
		position: relative;
	}
	.link-bnr .col-inner{
		z-index: 10;
	}

	.page-special #foot-bnr .bnr{
		display: none;
	}
	.page-special .link-bnr .col-wrap{
		padding: 80px 0 0;
	}



	/* btn
	------------------------------------*/


	.btn-box2{
		margin: 0 0 0 20px;
	}
	.btn-box3{
		margin: 0 20px 0 0;
	}


	.btn-elm{
		position: relative;
		margin-top: 30px;
		width: 100%;
		height: 36px;
		z-index: 50;
	}
	.btn-elm a{
		position: relative;
		display: block;
		width: 100%;
		height: 36px;
		line-height: 32px;
		text-align: center;
		font-size: 12px;
		color: #333;
		border-radius: 36px;
		font-weight: 500;
		border: 2px solid #333;
		box-sizing: border-box;
	}



	.btn-link a span{
		position: absolute;
		top: 50%;
		right: 14px;
		margin: -6px 0 0;
		width: 11px;
		height: 12px;
		display: inline-block;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	
	.btn-link a span:after{
		content: "";
		display: inline-block;		
		width: 11px;
		height: 12px;
		vertical-align: top;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
	}
	.btn-more a span{
		position: absolute;
		top: 50%;
		right: 14px;
		margin: -6px 0 0;
		width: 11px;
		height: 12px;
		display: inline-block;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	
	.btn-more a span:after{
		content: "";
		display: inline-block;		
		width: 11px;
		height: 12px;
		vertical-align: top;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}


	.btn-back a span{
		position: absolute;
		top: 50%;
		left: 14px;
		margin: -6px 0 0;
		width: 11px;
		height: 12px;
		display: inline-block;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	
	.btn-back a span:after{
		content: "";
		display: inline-block;		
		width: 11px;
		height: 12px;
		vertical-align: top;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		transform: rotate(180deg);
	}



	.btn-header{
		position: absolute;
		left: -200px;
		top: 0;
	}
	.btn-header a{
		color: #fff;
		font-size: 14px;
	}
	.btn-header a span{
		position: relative;
		display: block;
		margin: 0 auto 5px;
		width: 30px;
		height: 30px;
		border-radius: 25px;
		border: 2px solid #fff;
		box-sizing: border-box;
	}
	.btn-header a span:after{
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -7px 0 0 -6.5px;
		content: "";
		display: inline-block;		
		width: 13px;
		height: 14px;
		background: url(../img/arrow_btn_wh.svg) 0 0 no-repeat;
		-webkit-transition: transform 300ms ease;
		-o-transition: transform 300ms ease;
		transition: transform 300ms ease;
	}
	.btn-header i{
		display: none;
	}

	.btn-box{
		max-width: 810px;
	}




	/* btn pt
	------------------------------------*/

	.btn-pt{
		position: absolute;
		left: 50%;
		bottom: -25px;
		margin: 0 0 0 -25px;
		width: 50px;
		height: 50px;
		z-index: 20;
	}
	.btn-pt a{
		position: relative;
		display: block;
		width: 50px;
		height: 50px;
		border-radius: 25px;
		border: 2px solid #333;
		box-sizing: border-box;
		background: #fff;
	}
	.btn-pt a:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		display: inline-block;
		width: 20px;
		height: 20px;
		background: url(../img/arrow_btn.svg) 0 0 no-repeat;
		-webkit-transform: rotate(-90deg);
		-ms-transform: rotate(-90deg);
		-o-transform: rotate(-90deg);
		transform: rotate(-90deg);

		-webkit-transition: top 200ms ease;
		-o-transition: top 200ms ease;
		transition: top 200ms ease;
	}





	/*nav*/


	.sub-nav{
		position: relative;
		margin: 0 60px 0 0;
		box-sizing:border-box;
	}
	.sub-nav:after{
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: #26b3e6;
		z-index: 10;
	}
	.sub-nav-inner{
		position: relative;
		padding: 80px 0 80px 30px;		
		right: 0;
		width: 100%;
		text-align: center;
		z-index: 30;
		box-sizing: border-box;
		overflow: hidden;
	}



	.sub-nav ul + ul{
		margin-top: 20px;		
	}
	.sub-nav ul:nth-child(1) li + li{
		margin-top: 30px;
	}
	.sub-nav ul:nth-child(1) a{
		position: relative;
		display: block;
		height: 36px;
		padding-left: 50px;
		line-height: 36px;
		font-size: 14px;
		color: #fff;
		box-sizing: border-box;
		text-align: left;
	}
	.sub-nav ul:nth-child(1) a i{
		position: absolute;
		display: block;
		width: 100%;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
		line-height: 1.3;
	}

	.page-special .sub-nav ul:nth-child(1) a i{
		padding : 0 0 0 20px;
		box-sizing: border-box;
	}
	.page-special .sub-nav ul:nth-child(1) a i em{
		position: absolute;
		display: inline-block;
		top: 50%;
		left: -5px;
		font-size: 16px;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}



	.sub-nav ul:nth-child(1) li + li{
		margin-top: 20px;
	}
	.sub-nav ul:nth-child(1) a:before{

		content: "";
		position: absolute;
		display: block;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		box-sizing: border-box;
		border-radius: 25px 0 0 25px;
		opacity: 0;	
		-webkit-transition: opacity 200ms ease;
		-o-transition: opacity 200ms ease;
		transition: opacity 200ms ease;

	}
	.sub-nav ul:nth-child(1) a:after{
		content: "";
		position: absolute;
		top: 50%;
		left: 18px;
		margin-top: -6px;
		display: block;
		width: 11px;
		height: 12px;
		opacity: 0;
		background: url(../../shared/img/arrow_btn_bl.svg) 0 0 no-repeat;
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		transform: rotate(180deg);

		-webkit-transition: opacity 200ms ease;
		-o-transition: opacity 200ms ease;
		transition: opacity 200ms ease;

	}



	.sub-nav ul:nth-child(2) li{
		text-align: left;
	}
	.sub-nav ul:nth-child(2) li + li{
		margin-top: 15px;
	}
	.sub-nav ul:nth-child(2){
		padding-left: 80px;
	}
	.sub-nav ul:nth-child(2) a{
		position: relative;
		font-size: 12px;
		color: #fff;
		display: inline-block;
		box-sizing: border-box;
		text-align: left;
	}
	.sub-nav ul:nth-child(2) a span{
		position: absolute;
		display: inline-block;
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
	}

	.sub-nav ul:nth-child(2) a span:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		left: 10px;
		display: block;
		height: 1px;
		width: 100vw;
		background: #fff;
		display: none;
	}


	.page-company .sub-nav a i br{
		display: none;
	}

	.sub-nav ul:nth-child(1) li.active a{
		color: #26b3e6;
	}
	.sub-nav ul:nth-child(1) li.active a:before,
	.sub-nav ul:nth-child(1) li.active a:after{
		opacity: 1;
	}
	.sub-nav ul:nth-child(2) li.active a span:after{
		display: block;
	}








}












