/*
Theme Name:businesspress-child
Template:businesspress
Version:1.0.0
*/


@import url("style02.css");
@import url("style03.css");
@import url("style_hpproduction.css");

*{margin:0;padding:0;}

body{
	font: 12px/1.6 "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	color:#252525;
	background: #ffffff;
}

h2{font-size:2rem;}
h3{font-size:1.8rem;}
h4{font-size:1.5rem;}
h5{font-size:1.2rem;}

.top-bar-content, .main-header-content, .home-header-content, .site-bottom-content {
    max-width: 95%;
	
}
.home-header-overlay {
    background-color: rgba( 0, 0, 0 , 0 );
}
a{
	color:#000;
}
a:hover{
	color:#1f6e37;
	transition: .2s;
}
.right_align{
	text-align:right!important;
}
/*SEOの影響のため*/
#wpadminbar #wp-admin-bar-aioseo-main .aioseo-logo.svg {
	display: none!important;
	}
/*************
共通
*************/
.site-content{
	padding: 3em 0 5em 0;
	}
.site-fullwidth{
	padding: 3em 0 0 0;
	}
.site-fullwidth .content-area{
	margin-bottom: 0;
	}
	
.page-template-page-top .site-content{
	padding: 0;
	}
/* バナー画像　マウスオーバー */	

.flexbox .flexinner .index_img {
   margin: 0 5px;
   background: #1f6e37;
}
.flexbox .flexinner a img{
	transition-duration: 0.3s;
	}
.flexbox .flexinner a:hover img{
	opacity: 0.6;
    transition-duration: 0.3s;
	}
.flexbox .flexinner p{
	line-height:1.2em;
	}
.flexbox .flexinner a:hover p{
	color:#1f6e37;
	}
/* ボタン */
.bg_demo01 {
background:#333;
padding:2rem;
}
.btn_common{
  margin:1em 0 0 0;
  width: 100%;
}
.btn-animation-common {
  display: inline-block;
  min-width: 16rem;
  text-align: center;
  background-color: #transparent;
  border: 1px solid #fff;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 24px;
  position: relative;
  margin: 5px;
}
.btn-animation-common span {
  position: relative;
  z-index: 1;
}
.btn-animation-common::before{
  content: "";
  display: block;
  background-color: #1f6e37;
  width: 0%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.btn-animation-common::before {
  left: 0;
}
.btn-animation-common:hover:before{
  width: 100%;
  height: 100%;
}
.btn-animation-common:hover {
  color: #FFF;
}
.btn-animation-common .fa-chevron-right{
    position: absolute;
    top: calc(50% - .5em);
    right: 1rem;
}

.btn_green{
  margin:1.5em 0;
  width: 10rem;
}
.btn-animation-green {
  display: inline-block;
  width: 100%;
  /*height: 3em;
  line-height: 3em;*/
  text-align: center;
  background-color: #transparent;
  border: 1px solid #1f6e37;
  font-size: 16px;
  color: #1f6e37;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 24px;
  position: relative;
}
.btn-animation-green span {
  position: relative;
  z-index: 1;
}
.btn-animation-green::before{
  content: "";
  display: block;
  background-color: #1f6e37;
  width: 0%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.btn-animation-green::before {
  left: 0;
}
.btn-animation-green:hover:before{
  width: 100%;
  height: 100%;
}
.btn-animation-green:hover {
  color: #FFF;
}
.btn-animation-green .fa-chevron-right{
    position: absolute;
    top: calc(50% - .5em);
    right: 1rem;
}

/* タイトル */
.title_common, .title_green, .title_white{
  position: relative;
  padding: 2.5rem 0;
  text-align: left;
}
.title_common h2, .title_common p, .title_common h4, .title_white h2, .title_white h2 p{
  margin-bottom: 0;
  margin-top: 0;
  padding: 0.25rem 0;
}
.title_common p.en {
  font-size: 1.5rem;
  display: block;
  color:#1f6e37;
}
.title_common h2:after, .title_common h4:after {
  position: absolute;
  bottom:20px;
  left:0;
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 2px;
  background: #1f6e37;
}
.title_common_white h2:after{
  background: #fff;
	}
.title_green h4{
  color:#1f6e37;
}

.title_white h2, .title_common_white h2, .title_common_white p.en{
  color:#fff;
	}
.title_white p.en{
  font-size: 1.2rem;
  display: block;
  color:#fff;
}
/*************
/* ヘッダー
*************/
.site-branding .site-title a{
	vertical-align: top;
	font-size:0.9em;
	font-feature-settings: "palt";
}
.main-header {
	padding-bottom: 10px;
	padding-top: 10px;
}
.page-template-page-top .site-header {
    border-bottom: solid 0px #eee;
    margin-bottom: 0!important;
	padding-bottom:0;
}
.main-header-clone .site-title {
    font-size: 1.5rem;
}
.main-header-clone .site-branding .site-title::before, .page .site-branding .site-title::before, .single .site-branding .site-title::before, .category .site-branding .site-title::before, .error404 .site-branding .site-title::before{	
	content:url(images/logo_nsl_green_s.png);
	width: 60px;
    height: 39px;
    display: inline-block;
}
.home .main-header-original{
	position: absolute;
    width: 100%;
	background-color: rgba(255, 255, 255 , 0);
	color: #fff;
	font-weight:bold;
	}
.home .main-header-original .site-title a{
	color: #fff;
		}
.home .menu-global_nav-container ul li a:hover{
	color:rgba(255, 255, 255 , 0.7);
	}
.home .site-branding {
    padding-right: 0;
    display: inherit;
	line-height: 65px;
}
.page .site-branding .site-title, .single .site-branding .site-title, .category .site-branding .site-title, .error404 .site-branding .site-title{
	line-height: 38px;
	height: 35px;
	font-size: 1.25em;
}
.home .main-header-original .site-branding .site-title::before {
	content: url(images/logo_nsl_s.png);
	width: 60px;
	height: 35px;
	display: inline-block;
}

.main-header-clone-show .site-branding .site-title a{
	vertical-align: top;
	}

.top-bar-content, .main-header-content, .featured-entry-content, .home-header-content, .jumbotron-content, .site-content, .container-content, .footer-widget-content, .site-bottom-content {
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
}
/* ハンバーガーメニューに */
.drawer-navigation {
    background: rgba(0, 0, 0, 0.9);
	color: #fff;
}
.drawer-navigation a:hover {
    color: rgba(255,255,255,1);
}
.drawer-navigation .sub-menu.toggled-on {
    border-bottom: 0px solid rgba(255,255,255,0.2);
}
.drawer-navigation .current_page_item > a, .drawer-navigation .current-menu-item > a {
    color: #fff;
    font-weight: 700;
}
.page .drawer-hamburger-icon, .page .drawer-hamburger-icon:before, .page .drawer-hamburger-icon:after{
    background-color: #1f6e37;
}
.page-template-page-top .drawer-hamburger-icon, .page-template-page-top .drawer-hamburger-icon:before, .page-template-page-top .drawer-hamburger-icon:after{
    background-color: #fff;
}
.home .drawer-opened .drawer-hamburger-ico{
	background-color: transparent;
}
.main-header-clone-show .drawer-opened .drawer-hamburger-icon {
    background-color: transparent;
}
.main-header-clone-show .drawer-hamburger-icon, .main-header-clone-show .drawer-hamburger-icon:before, .main-header-clone-show .drawer-hamburger-icon:after {
    background-color: #1f6e37;
}
.drawer-opened .drawer-hamburger-icon:before, .drawer-opened .drawer-hamburger-icon:after {
    background-color: #fff;
}
.drawer-opened  .drawer-hamburger-icon{
    background-color: transparent;
}
.drawer-navigation-content{
	padding: 60px 20px 60px 20px;
	}
.drawer-navigation ul li {
    border-bottom: 1px solid rgba(255,255,255,0.5); 
    font-size: 1.2em;
	font-weight:bold;
	padding-bottom: 1em;
    padding-top: 1em;
}

.page-template-page-top .main-navigation ul ul {
    background-color: rgba(0,0,0,0.8);
    box-shadow: 0;
	border-bottom: 1px solid rgba(255,255,255,0.2);
}
.page-template-page-top .main-navigation ul ul li a {
    border-top: 1px solid rgba(255,255,255,0.2);
	border-right: 1px solid rgba(255,255,255,0.2);
    border-left: 1px solid rgba(255,255,255,0.2);
    line-height: 1.6;
    padding-bottom: 15px;
    padding-top: 15px;
	font-size: 0.9em;
}

.page-template-page-top .main-navigation ul ul li a:before {
    content: "\f105";
    color: #fff;
    display: inline-block;
    font: normal 14px/1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    position: relative;
	margin-right:0.5em;
}
.page-template-page-top .main-navigation ul ul li a:hover:before {
    color: rgba(255, 255, 255 , 0.7);
}
.main-header-clone-show .main-navigation ul ul {
    background-color: #1f6e37;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	box-shadow: 0px 3px 1px rgba(0,0,0,0.2);
}
.main-header-clone-show .main-navigation ul ul li a{
    color: #fff;
}
.main-header-clone-show .main-navigation ul ul li a:before {
    content: "\f105";
    color: #fff;
    display: inline-block;
    font: normal 14px/1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    position: relative;
	margin-right:0.5em;
}
.main-header-clone-show .main-navigation ul ul li a:hover {
    color: rgba(255,255,255,0.8);

}
.main-header-clone-show .main-navigation ul ul li a:before:hover {
    color: rgba(255,255,255,0.8);

}
.main-navigation ul ul.toggled-on{
    background-color: rgba(255,255,255,0);
    box-shadow: 0;
	border-bottom: 1px solid rgba(255,255,255,0);
}
.main-navigation ul ul.toggled-on li a{
    border-top: 0px solid rgba(255,255,255,0.5);
	border-right: 0px solid rgba(255,255,255,0.5);
    border-left: 0px solid rgba(255,255,255,0.5);
	font-size:0.8em;
}
.drawer-navigation .dropdown-toggle {
    background-color: transparent;
    outline: 0;
    padding: 10px;
    position: absolute;
    right: -10px;
    top: 4px;
    width: 100px;
    text-align: right;
}
.drawer-navigation .dropdown-toggle:after {
    content: "\f107";
    color: #fff;
    display: inline-block;
    font: normal 32px/1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    position: relative;
}
.drawer-navigation ul li .toggled-on li{
    border-bottom: none; 
    font-size: 1.2em;
	line-height: 1.2;
	font-weight:normal;
}

/*下層ページのメーニュ*/
.page-parent .main-navigation ul ul, .single .main-navigation ul ul, .category .main-navigation ul ul, .page-child .main-navigation ul ul {
    background-color: #1f6e37;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	box-shadow: 0px 3px 1px rgba(0,0,0,0.2);
}
.page-parent .main-navigation ul ul.toggled-on, .single .main-navigation ul ul.toggled-on, .category .main-navigation ul ul.toggled-on, .page-child .main-navigation ul ul.toggled-on {
    background-color: rgba(255,255,255,0);
}
.page-parent .main-navigation ul ul li a, .single .main-navigation ul ul li a, .category .main-navigation ul ul li a, .page-child .main-navigation ul ul li a{
    color: #fff;
	font-size: 0.9em;
}
.page-parent .main-navigation ul ul li a:before, .single .main-navigation ul ul li a:before, .category .main-navigation ul ul li a:before, .page-child .main-navigation ul ul li a:before {
    content: "\f105";
    color: #fff;
    display: inline-block;
    font: normal 14px/1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    position: relative;
	margin-right:0.5em;
}
.page-parent .main-navigation ul ul li a:hover, .single .main-navigation ul ul li a:hover, .category .main-navigation ul ul li a:hover, .page-child .main-navigation ul ul li a:hover {
    color: rgba(255,255,255,0.8);

}
.page-parent .main-navigation ul ul li a:before:hover, .single .main-navigation ul ul li a:before:hover, .category .main-navigation ul ul li a:before:hover, .page-child .main-navigation ul ul li a:before:hover {
    color: rgba(255,255,255,0.8);

}

/*ナビ*/
.nav_pc {
	display: block;
}
.nav_sp {
	display: none;
}

/*フッター */
.site-bottom{
	background-image:url(images/img_footer_background.jpg);
	background-repeat:no-repeat;
	background-position:top;
    background-size: cover;
	border-top: 5px solid #1f6e37;
	text-align: left;
	padding-bottom: 0em;
    padding-top: 2rem;
	}
.footer-logo a{
    font-weight: bold;
	color:#000;
	display:flex;
	}
.footer-logo-company{
	display:block;
	}
.footer-logo-company .footer-logo-jp{
	margin: 0;
    font-size: 1.1em;
	font-feature-settings: "palt";
	}
.footer-logo-company .footer-logo-en{
	font-size: 12px;
    margin: -15px 0 0 0;
	}
.footer-logo a img{
	margin-right:5px;
	height:auto;
	}
.footer-logo a:hover{
	color:#666;
	transition: .2s;
	}
.footer-logo a:hover img{
	opacity: 0.7;
	transition: .2s;
	}
.footer-logo{
	width:100%;
	display:block;
	}
.footer-navigation{
	width:100%;
	display:block;
	text-align:left;
	margin:1em 0;
	}
.footer-navigation ul{
	margin:0;
	text-align: left;
	}
.site-bottom .footer-navigation a{
	color:#000;
	}
.site-bottom .footer-navigation a:hover{
	color:#1f6e37;
	transition: .2s;
	}
.site-bottom .footer-navigation .footer-copyright{
	font-size:10px;
	text-align:left;
	}
/* 下層ページのヘッダー */
.header-jumbotron{
 	
}
.header-jumbotron .jumbotron-content{
 	text-align: center;
    padding-bottom: 2em;
    padding-top: 2em;
	background-color: rgba(255, 255, 255 , 0.7);
    max-width: 80%;
}
.header-jumbotron .jumbotron-content .jumbotron-title{
	color:#000;
	text-shadow:none;
	font-size: 1.3em;
    line-height: 1.2em;
    margin-top: 0.5em;
	}
.header-jumbotron .jumbotron-content .subheader{
	font-size:2rem;
	margin-bottom: 0;
	line-height: 1.2em;
	}
.header-jumbotron .jumbotron{
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: cover;
}
.header-jumbotron .jumbotron-overlay {
    background-color: rgba( 0, 0, 0 , 0);
	padding: 0;
}



/*************
/* トップページ
*************/
/* メイン画像 */
.home-header{
    /*background:url(images/nsl_main_sp.jpg) #040533 no-repeat 0 center;
    background-size: cover;*/
}
.main_animation{
	background:url(svg/nsl_main_sp.jpg) #030009 no-repeat 0 0;
	background-size: 100%;
}
.home-header-overlay{
	background: url(svg/myImage_sp.svg) no-repeat;
    background-position-x: -160px;
    /* background-position-y: -10px; */
    background-size: 150%;
}
.home-header-title {
    color: #fff;
    font-size: 3rem;
    letter-spacing: -0.03em;
    margin-bottom: 0;
    margin-top: 1em;
}
.home-header-text {
    color: rgba( 255, 255, 255, 1 );
    font-size: 1.2rem;
    margin-top: 0.5em;
    font-weight: 600;
}
.home-header-content {
    padding-bottom: 30px;
    padding-top: 50px;
}
a.home-header-button-sub{
	border: solid 1px rgba( 255, 255, 255, 0.5);
    padding: 1em 2em;
	margin-top: 10px;
/*	background-color: #1f6e37;*//*20210204修正↓*/
    background-color: rgba(255,255,255,0.9);
    color:#030b32;/*20210205修正↑*/
}
.home-header-button a {
    border-radius: 0;
	position:relative;
	transition-duration: 0.3s;
}
a.home-header-button-sub:hover {
    background-color: rgba( 0, 0, 0, 1);
    border: solid 1px rgba( 255, 255, 255, 1);
    color: rgba( 255, 255, 255, 1);
	transition-duration: 1s;
}
.home-header-button a::after{
	content: "\f105";
/*    color: #fff;*//*20210204修正↓*/
    color: #030b32;/*20210205修正↑*/
    display: inline-block;
    font: normal 18px/1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    position: relative;
    margin-right: 0.5em;
	position: absolute;
    right: 0;
	top: calc(50% - .5em);
	}
.home-header-button a:hover::after{
    color: rgba( 255, 255, 255, 1);
	}
    
	/* メインのアニメーション */
	.home-header-overlay{
	  animation-duration: 3s;
	  animation-name: slidein-tori;
	}
	
	@keyframes slidein-tori {
	  from {
		margin-right: 10%;
		opacity: 0;
	  }
	
	  to {
		margin-right: 0%;
		opacity: 1;
	  }
	}
	.home-header-title {
	  animation-duration: 3s;
	  animation-name: slidein-title;
	}
	
	@keyframes slidein-title {
	  from {
		margin-left: 10%;
		opacity: 0;
	  }
	
	  to {
		margin-left: 0%;
		opacity: 1;
	  }
	}
	.home-header-text {
	  animation-duration: 3s;
	  animation-name: slidein-text;
	  
	}
	
	@keyframes slidein-text {
	  from {
		margin-left: 10%;
		opacity: 0;
	  }
	
	  to {
		margin-left: 0%;
		opacity: 1;
	  }
	}
	.home-header-button {
		animation-duration: 3s;
	  animation-name: slidein-button;
	  
	}
	
	@keyframes slidein-button {
	  from {
		margin-left: 10%;
		opacity: 0;
	  }
	
	  to {
		margin-left: 0%;
		opacity: 1;
	  }
	}


/* TOPページ INFO */
#lottie{
	background:url("images/nsl_main.jpg") no-repeat;
	background-size: cover;
}
.top-header-bottom{
	display: none; /* 220407追記 */
	}
.top-header-sider{
	width: 100%;
	}
.top-header-info{
	width: 100%;
    display: flex;
	}
.top-header-info-title{
    font-size: 1em;
    font-weight: bold;
    color: #1f6e37;
    background: url(images/img_top_header_sider_bg.jpg) no-repeat;
    background-size: cover;
    width: 15%;
    text-align: center;
    border: 1px solid #1f6e37;
    line-height: 2em;
    padding: 0 5px;
    vertical-align: middle;
	}
.top-header-info-list{
    background: #fff;
    width: 65%;
    vertical-align: top;
	border-top: 1px solid #1f6e37;
	border-bottom: 1px solid #1f6e37;
	}
.top-header-info-list dl{ 
	display:flex;
	padding: 5px;
	}
.top-header-info-list dd{ 
    margin: 0;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    /*white-space: nowrap;*/
	font-size:0.8em;
	line-height:2em;
	}
.top-header-info-list dt{ 
	display:none;
	}
.top-header-info-list a{
    color: #000;
    text-decoration: none;
}
.top-header-info-more{
    border: 1px solid #1f6e37;
	background-color:#fff;
    /*background: url(images/img_top_header_sider_bg.jpg) no-repeat;*/
    width: 15%;
	font-size: 0.9em;
    padding: 0.5em 5px;
}
.top-header-info-more a{
	text-decoration:none;
	position:relative;
	display:block;
	width:100%;
	font-size:0.8em;
}
.top-header-info-more a:hover{
	text-decoration:none;
}
.top-header-info-more a::after{
	content: "\f105";
    color: #111;
    display: inline-block;
    font: normal 14px/1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    margin-right: 0;
	position: absolute;
    right: 0;
	top: calc(50% - .5em);
}
.top-header-info-more a:hover::after{
    color: #199869;
}

/*TOP 事業コンテンツ */
.home .container-wrapper{
	padding:0;
	}
.container-top-content{
	padding:2.5em 1em;
	}
/*.service01{
	background:url("images/img_top_service01.jpg") no-repeat 70%;
	background-size: cover;
	}
.service02{
	background:url("images/img_top_service02.jpg") no-repeat 30%;
	background-size: cover;
	}
.service03{
	background:url("images/img_top_service03.jpg") no-repeat 60%;
	background-size: cover;
	}
.service04{
	background:url("images/img_top_service04.jpg") no-repeat 30%;
	background-size: cover;
	}
.service05{
	background:url("images/img_top_service05.jpg") no-repeat 30%;
	background-size: cover;
	background-color: rgba(0,0,0,0.3);
    background-blend-mode: darken;
	}
.service06{
	background:url("images/img_top_service06.jpg") no-repeat 30%;
	background-size: cover;
	}*/
.content-top-service{
	padding: 2em 0;
	}
.content-top-service .title_white{
  position: relative;
  padding: 0;
  text-align: left;
}
/*TOP NSL特色のコンテンツ */
.container-top-features{
	/*background:url("images/img_top_feature_bg.jpg") #050532 no-repeat 0 0;*/
	background-color:#FFF;
	background-size: cover;
	padding: 2em 1em;
	position: relative;
	}

.container-top-features-btn{
	border: 1px solid #1a8642;
	/*background: -moz-linear-gradient(left, rgba(255,255,255,0.3) ,rgba(255,255,255,1) 50%);
    background: -webkit-linear-gradient(left, rgba(255,255,255,0.3) ,rgba(255,255,255,1) 50%);
    background: linear-gradient(to right, rgba(255,255,255,0.3) ,rgba(255,255,255,1) 50%);*/
	background-color:#FFF;
	padding:2em;
	margin: 1em 0 0 0;
	position: relative;
	width:80%;
	}
a.btn-features{
	color:#000;
	display:block;
	}
.container-top-features-btn h1{
	color:#1a8642;
	margin:0;
	border-right:2px solid #1a8642;
	width: 40px;
	line-height: 30px;
	}
.container-top-features-btn h2{
	margin:1em 0;
	}
a.btn-features:hover h2{
	color:#1a8642!important;
	transition: .3s;
	}
.container-top-features-btn p{
	margin: 0;
	}
.container-top-features-btn-left{
	width:95%;
	display: inline-block;
	}
.container-top-features-btn-left h2{
	font-size: 1.4em;
	}
.container-top-features-btn-right{
	display: inline-block;
    position: absolute;
    top: calc(50% - 0.7rem);
    right: 1em;
	transition: .3s;
	}
a.btn-features:hover .container-top-features-btn-right{
	right: 0.2em;
	transition: .3s;
	}
.container-top-features-img{
	position: absolute;
    top: 2em;
    right: 0;
    width: 60%;
	}
	
/*TOP 開発事例のコンテンツ */
.container-top-case{
	background: -moz-linear-gradient(left, #021a4d, #199869);
    background: -webkit-linear-gradient(left, #021a4d, #199869);
    background: linear-gradient(to right, #021a4d, #199869);
	padding: 2.5em 1em;
	position: relative;
	}

.case-slider{
	max-width:345px;
	margin: 2em auto;
	}
.container-top-case-title{
	display:inline-block;
	width:100%;
	vertical-align: top;
	}
.container-top-case-title .btn-animation-common {
  	width: 18rem;
}
.container-top-case-title .title_common, .title_green, .title_white{
	text-align:center;
	}
.container-top-case-title .title_common h2:after {
    left: calc(50% - 30px);
}
.container-top-case-title .btn_common{
	text-align:center;
	}
.case-slider .metaslider .flexslider{
	width: 100%;
}
.case-slider h5 {
    font-size: 1.5rem;
    margin-bottom: 0em;
    margin-top: 0.5em;
    color: #fff;
}
.case-slider p {
    font-size: 0.9rem;
    color: #fff;
}
.flexslider .slides img{
	transition-duration: 0.3s;
	}
.flexslider .slides img:hover{
	opacity: 0.6;
    transition-duration: 0.3s;
	}
#metaslider-id-2707 .flex-control-paging li a {
    background: rgba(255,255,255,.2)!important;
}
#metaslider-id-2707 .flex-control-paging li a.flex-active {
    background: rgba(255,255,255,.9)!important;
}
#metaslider-id-2707 .flex-control-paging li a:hover {
    background: rgba(255,255,255,.5)!important;;
}

/*TOP バナー　会社概要　人材募集 */
.container-top-cr{
	background:#e8f4f0;
	border-bottom:4px solid #1f6e37;
	text-align:center;
	padding:4em 0;
	}
.container-top-button{
  width: 90%;
  height: 100%;
  margin: 5px;
  overflow: hidden;
  display:inline-block;
  position:relative;
}
.container-top-button img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
  filter: blur(5px);
  opacity: 1;
}
.container-top-button img:hover{
  opacity: 1;
  transform: scale(1.2);
  filter: blur(0);
  transition-duration: 0.3s;

}
.container-top-button-title{
	position:absolute;
	top: calc(50% - 5rem);
    right: calc(50% - 3.5rem);
	opacity:0.9;
	text-align: center;
	z-index: 9999;
	transform: scale(0.9);
}
.container-top-button-title h2:after {
    position: absolute;
    bottom: 20px;
    left: calc(50% - 2rem);
    width: 50px;
    height: 3px;
    content: '';
    border-radius: 2px;
}
.container-top-button-title p.en {
    font-size: 1rem;
}
/*TOPページ　お知らせ */
.top-news{
	text-align:center;
	padding:1em;
	}
.top-news-title{
	
	}
.top-news-title .title_common {
    text-align: center;
	}
.top-news-title .title_common h2:after {
	left:calc(50% - 30px);
	}
.top-news-list{
	
	}
.top-news-list dl {
    text-align: left;
    border-bottom: 1px solid #c2c2c2;
    padding: 1.5em 0;
}
.top-news-list dl dt {
    font-weight: normal;
    margin-bottom: 0;
	line-height: 1.8em;
	position: relative;
}
.top-news-list dl dt::after {
    content: "\f105";
    color: #111;
    display: inline-block;
    font: normal 24px/1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    position: relative;
    margin-right: 5px;
    position: absolute;
    right: 0;
    top: calc(50% - .5em);
}
.top-news-list dl dt .news_date {
    width:100%;
	display:block;
}
.top-news-list dl dt a {
    display: inline-block;
    width: 95%;
}
.top-news-btn-sp{
	margin: 0 auto;
	margin-top:2em;
	display:block;
	width:100%;
	}
.top-news-btn-sp a.btn-animation-green{
	width:50%;
	}
.top-news-btn-pc{
	display:none;
	}
/*************
/* 下層ページ
*************/
/*プロジェクト管理標準*/
.site-fullwidth{
	
	}
.project-management{
	background:url("images/page/img_nsl02-01_bg.jpg") no-repeat;
	background-size: cover;
	padding: 0 0.5em;
	}

.p-m-contant{
	width:100%;
	margin:2em 0 2em 0;
	}
.p-m-contant-inner{
	border:1px solid #1a986a;
	background-color:rgba(255,255,255,0.5);
	}
.p-m-contant-inner-left{
	background-color:#1a986a;
	}
.p-m-contant-inner-left h2{
	margin:0;
	padding: 2em 0.5em;
	color:#fff;
	}
.p-m-contant-inner-right{
	padding: 1em;
	}
.p-m-contant-icon{
	text-align:center;
	}
.p-m-contant-icon img{
		margin:10px auto;
	}

/*会社パンフ*/

.flexinner_pamphlet{
	width:100%;
	}
.flexinner_pamphlet .flexinner_btn_pamphlet .btn_green{
	width:100%;
	}
.flexinner_pamphlet .flexinner_btn_pamphlet .btn-animation-green{
	width:100%;
	padding: 10px 0;
	}
.flexinner_pamphlet .flexinner_btn_pamphlet .btn_pamphlet .btn-animation-green{
	line-height: 1.5em;
	}




/* テーマの修正 */
@media screen and (min-width: 980px){
	.main-header-clone-show .main-navigation ul.menu > li > a:hover{
		color: #1f6e37;
	}
	.main-navigation ul ul {
		background-color: #fff;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
		left: -9999px;
		opacity: 0;
		position: absolute;
		top: 100%;
		transition: opacity .3s ease-in-out;
		white-space: nowrap;
		width: auto;
		min-width:200px;
		z-index: 10;
	}
	.main-navigation ul ul li a {
		border-top: 1px solid rgba(255,255,255,0.2);
		line-height: 1.6;
		padding-bottom: 15px;
		padding-top: 15px;
	}
	.main-navigation .current_page_item > a, .main-navigation .current-menu-item > a {
		color: #1f6e37;
		font-weight: 700;
	}
	/*会社パンフ*/
	.flexinner_pamphlet{
		width:60%;
		}
	.flexinner_pamphlet_img{
		width:35%;
		}
	.flexinner_pamphlet .flex_btn_pamphlet{
		display: flex;
		width:100%;
		}
	.flexinner_pamphlet .flexinner_btn_pamphlet{
		width:50%;
		}
	.btn_pamphlet{
		}
	.flexinner_pamphlet .flexinner_btn_pamphlet .btn_green {
    width: 95%;
		}
}

/* ↓　タブレット・ PC */
@media screen and (min-width: 768px) {
	
    .jumbotron-content,
    .featured-entry-content,
    .site-content,
    .footer-widget-content {
        /*max-width: 1180px;*/
        max-width: 85%;
    }
	/* タイトル */
	
	/*************
	/* ヘッダー
	*************/
	.main-header {
		padding-bottom: 0;
		padding-top: 10px;
	}

	.header-jumbotron .jumbotron-content .jumbotron-title{
		font-size: 2em;
	}
	.main-header-clone-show .site-branding .site-title::before{	
		content:url(images/logo_nsl_green.png);
		width: 75px;
		height: 45px;
		display: inline-block;
	}

	.page .main-header-original .site-branding .site-title::before, .websites-template-default .main-header-original .site-branding .site-title::before, .single .main-header-original .site-branding .site-title::before, .websites-template-default .main-header-original .site-branding .site-title::before, .category .main-header-original .site-branding .site-title::before, .websites-template-default .main-header-original .site-branding .site-title::before, .error404 .main-header-original .site-branding .site-title::before{	
		content:url(images/logo_nsl_green.png);
		width: 75px;
		height: 45px;
		display: inline-block;
	}
	.home .main-header-original .site-branding .site-title::before {
		content: url(images/logo_nsl.png);
		width: 75px;
		height: 45px;
		display: inline-block;
	}
	.home .site-branding .site-title, .main-header-clone-show .site-branding .site-title, .page .site-branding .site-title, .single .site-branding .site-title, .category .site-branding .site-title, .websites-template-default .main-header-original .site-branding .site-title, .error404 .site-branding .site-title{	
		line-height: 45px;
		height: 45px;
		font-size:1.3em;
	}
	.site-branding .site-title a{
		vertical-align: top;
		font-size:1em;
	}

	/* 下層ページのヘッダー */
	.header-jumbotron{
		
	}
	.header-jumbotron .jumbotron-content{
		text-align: left;
		display: inline-block;
		margin-left: 0;
		padding: 1.5em 2.5em;
	}
	.header-jumbotron .jumbotron-content .subheader{
		font-size:3.8rem;
		margin-bottom: 0;
		line-height:1em;
		}
	.header-jumbotron .jumbotron{
		background-color: #fff;
		background-position: right top;
		background-size: 65% auto;
	}
	.header-jumbotron .jumbotron-overlay {
		background-color: rgba( 0, 0, 0 , 0);
		padding: 4em 0;
	}
	.service05{
		background-color: rgba(0,0,0,0.1);
		background-blend-mode: darken;
		}
	
	/*フッター */
	.site-bottom{
		background:url(images/img_footer_background.jpg)　repeat 0 0;
		background-size: cover;
		text-align: left;
		}
	.footer-navigation ul{
		text-align:right;
		}
	.site-bottom .footer-navigation .footer-copyright{
		text-align:right;
		}
	/*************
	/* トップページ
	*************/
	/* メイン画像 */
	.home-header{
	  /* background:url(images/nsl_main_sp.jpg) #06020e no-repeat 0 80%;
	   background-size: cover;*/
	}
	.main_animation{
		background:url(svg/main_svg_bg.jpg) #030009 no-repeat 0 0;
		background-size: 110%;
	}
	.home-header-overlay{
		background: url(svg/myImage05.svg) no-repeat 0 -30px;
		background-size: 110%;
	}
	.home-header-text {
		font-size: 1.5rem;
		margin-top: 0;
		
	}
	.home-header-title{
		font-size:4.5em;
		margin-top: 0.5em;
		/*display:none;*/
		}

	.home-header-content {
		padding-bottom: 60px;
		padding-top: 120px;
		padding-left: 30px;
	}
	
	a.home-header-button-sub{
		margin-top: 30px;
		padding: 1em 4em;
	}

	/*TOPページ INFO */
	.top-header-bottom{
		display: block; /* 220407追記 */
		}
	.top-header-info-list {
		width: 70%;
	}
	.top-header-info-more{
		border: 1px solid #1f6e37;
		background: #fff;
		width: 6%;
		padding: 1.2em 10px;
		position: relative;
		}
	.top-header-info-more a{
		font-size:0.9em;
	}
	.top-header-info-more a::after{
		content: "\f105";
		color: #111;
		display: inline-block;
		font: normal 18px/1 FontAwesome;
		-webkit-font-smoothing: antialiased;
		position: absolute;
		right: 0;
		top: calc(50% - .5em);
	}
	.top-header-info-title{
		font-size: 1.5em;
		width: 10%;
		line-height: 2.5em;
		padding: 0 2em;
	}
	.top-header-info-list dl{ 
		margin:0.5em 1em;
		}
	.top-header-info-list dd{ 
		width: auto;
		font-size: 1em;
		line-height: 2em;
	}
	.top-header-info-list dt{ 
		font-weight: normal;
		padding-right: 0.5em;
		margin:0;
		font-size: 1em;
		line-height: 2em;
		display:block;
		white-space: nowrap;
	}


	/*TOPページ 事業コンテンツ */
	.container-top-content{
		padding:4.5em 3em;
		}
	.btn-animation-common {
		min-width: 12rem;
		}
	/*TOPページ 開発事例コンテンツ */
	.container-top-case-title .title_common, .title_green, .title_white{
		text-align:left;
		}
	.container-top-case-title .title_common h2:after {
		left:0;
	}
	.container-top-case-title .btn_common{
		text-align:left;
		}
	.case-slider{
		display:inline-block;
		width:695px;
		max-width: 695px;
		}
	.container-top-case{
		padding: 2em 3em;
		display: flex;
		justify-content: space-around;
		}
	.container-top-case-title{
		display:inline-block;
		width:40%;
		}
	.case-slider .metaslider .flexslider{
		width: 100%;
	}
	/*TOP バナー　会社概要　人材募集 */
	.container-top-cr{
	
		}
	.container-top-button{
	  width: 40%;
	  height: 40%;
	}
	.container-top-button-title{
		transform: scale(1);
	}
	/*TOPページ　お知らせ */
	.top-news{
		text-align:left;
		padding: 2em 0;
		display: flex;
		}
	.top-news-title{
		width: 25%;
		vertical-align: top;
		}
	.top-news-title .title_common {
		text-align: left;
	}
	.top-news-title .title_common h2:after{
		left: 0;
	}
	.top-news-list{
		width: 75%;
		}
	.top-news-list dl dt .news_date {
		display: inline-block;
		width: auto;
	}
	.top-news-list dl dt .news_list {
		display: inline-block;
		width: 78%;
		vertical-align: top;
	}
	.top-news-list dl dt a {
		display: inline-block;
		width: 97%;
	}
	.top-news-btn-sp{
		display:none;
		}
	.top-news-btn-pc{
		display:block;
	
		}
	/*************
	下層ページ
	************/
	/*プロジェクト管理標準*/
	.p-m-contant{
		margin:4em 0 2em 0;
		}
	.project-management{
		padding-bottom:8em;
		}
	.main_caption{
		width:85%;
		margin: 0 auto;
		/*padding: 3em 0;*/
		}
	.p-m-contant-inner{
		width:85%;
		margin: 0 auto;
		display: flex;
		}
	.p-m-contant-inner-left{
		width:35%;
		position: relative;
		}
	.p-m-contant-inner-right{
		width:65%;
		padding: 2em 1em;
		}
	.p-m-contant-inner-left h2 {
		/*padding: 5em 1em;*/
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
	}
	

}

/* ↓　 PC */
@media screen and (min-width: 1024px) {
	
	/*************
	フッター
	*************/
	.footer-logo{
		width:30%;
		display:inline-block;
		white-space: nowrap;
		}
	.footer-navigation{
		width:70%;
		display:inline-block;
		margin: 0;
		}

	/*************
	TOPページ 
	*************/
	/*メイン画像 */
	.home-header{
		/*メイン画像 */
	   /*background:url(images/nsl_main.jpg) #050532 no-repeat 0 0;
	   background-size: cover;*/
		}
	.main_animation{
		background:url(svg/main_svg_bg.jpg) #030009 no-repeat 0 center;
		background-size: cover;
	}
	.home-header-overlay{
		background: url(svg/myImage05.svg) no-repeat 0 -45px;
		background-size: cover;
	}
	.home-header-text {
		font-size: 1.5rem;
		margin-top: 1em;
	}
	.home-header-title{
		font-size:4em;
		/*display:none;*/
		}
	.container-top-features{
		padding: 3em 3em 3em 3em;
		}
	.container-top-features-img{
		position: absolute;
		top:5em;
		right: 0;
		width:60%;
		}
	.home-header-content {
		padding-bottom: 120px;
		padding-top: 120px;
		padding-left: 45px;
	}
		/*TOPページ INFO */
	.top-header-info-more{
		width: 5%;
		}
	.top-header-info-list{
		width:80%;
		}
	/*TOPページ NSL特色 */
	.container-top-features-btn{
		width: 40%;
		display: inline-block;
		margin-right: 1em;
		vertical-align: top;
		min-height: 13em;
		}
	.features-btn-01{
		display: block;
		}
	.container-top-features-btn-left h2{
		font-size: 1.4em;
	}

}
@media screen and (min-width: 1180px) {
	/*************
	TOPページ 
	*************/
	
		/*TOPページ INFO */
	.top-header-info-more{
		width: 5%;
		}
	.top-header-info-list{
		width:80%;
		}
	/*TOPページ NSL特色 */
	.container-top-features-btn{
		width: 42%;
		display: inline-block;
		margin-right: 1em;
		vertical-align: top;
		min-height: 10em;
		}
	.features-btn-01{
		display: block;
		}
	.container-top-features-btn-left h2{
	font-size: 1.4em;
	}


}

@media screen and (max-width:1280px) {
	.nav_pc {
		display: none;
	}
	.nav_sp {
		display: block;
	}
}

/* 221215追記 footer デジサートシール */
footer .DigiCert_wrap	{
	width: 300px;
	/*height: 48px;
	background-color: #fff;*/
	margin-left: auto;
	margin-right: 0;
}
footer .DigiCert_wrap div{
	margin-left: 1em;
}
footer .DigiCert_wrap.nav_sp	{
	display: flex;
}
@media screen and (min-width: 1280px) {
	.footer-menu	{
		display: flex;
		justify-content: flex-start;
	}
	.footer-logo{
		width:282px;
		display:block;
		}
	.footer-navigation ul	{
		text-align: center;
	}
	.site-bottom .footer-navigation .footer-copyright	{
		text-align: center;
	}
	footer .DigiCert_wrap.nav_pc	{
		display: flex;
	}
	footer .DigiCert_wrap.nav_sp	{
		display: none
	}
}

/* 230926追記 */
/* top */
.container-top-features-btn	{
	width: inherit;
}
.content-top-service p	{
	color:#252525;
}
.content-top-service .title_white h2,
.content-top-service .title_white p.en	{
	color:#186E38;
}
.content-top-service .title_white p.en	{
	font-size: 2rem;
	font-weight: normal;
}
.content-top-service .title_white h2	{
	font-size: 3rem;
}
.service01,
.service02,
.service03,
.service04,
.service05,
.service06	{
	position: relative;
	background-color:#fff;
	border-bottom: 2px solid #186E38;
}
.service01	{
	border-top: 1px solid #186E38;
}
.content-top-service .btn-animation-common	{
	border: none;
	background-color: #186E38;
	font-weight: normal;
	padding: 18px 33px;
	position: absolute;
	bottom: 0;
	right: 0;
	width: auto;
	display: none;
	margin: 0;
}
.content-top-service .btn-animation-common::before	{
	content: none;
}
.content-top-service .btn-animation-common .fa-angle-right	{
	position: static;
	font-size: 1.4rem;
}
.content-top-service .btn-animation-common span	{
	margin-right: 1rem;
}
a.top-service-wrap	{
	text-decoration: none;
}
a.top-service-wrap:hover .content-top-service .title_white h2,
a.top-service-wrap:hover .content-top-service p	{
	color:#fff;
}
a.top-service-wrap:hover .content-top-service .btn-animation-common,
a.top-service-wrap:active .content-top-service .btn-animation-common	{
	display: block;
}
a.top-service-wrap:hover .service01,
a.top-service-wrap:active .service01	{
	background: url(images/img_top_service01.jpg) no-repeat 70%;
	background-size: cover;
}
a.top-service-wrap:hover .service03,
a.top-service-wrap:active .service03	{
	background: url(images/img_top_service03.jpg) no-repeat 70%;
	background-size: cover;
}
a.top-service-wrap:hover .service02,
a.top-service-wrap:active .service02	{
	background: url(images/img_top_service02.jpg) no-repeat 70%;
	background-size: cover;
}
a.top-service-wrap:hover .service04,
a.top-service-wrap:active .service04	{
	background: url(images/img_top_service04.jpg) no-repeat 70%;
	background-size: cover;
}
a.top-service-wrap:hover .service05,
a.top-service-wrap:active .service05	{
	background: url(images/img_top_service05.jpg) no-repeat 70%;
	background-size: cover;
}
a.top-service-wrap:hover .service06,
a.top-service-wrap:active .service06	{
	background: url(images/img_top_service06.jpg) no-repeat 70%;
	background-size: cover;
}
.top-header-info-title	{
	background-image: none;
	background-color: #F4F5F6;
}

/* MV */
.home .home-header	{
	height: auto;
	position: relative;
	background:linear-gradient(145deg, #00AA6E,#00AA6E,#0C371C);/*グラデーションを定義*/
	background-size: 200% 200%;/*サイズを大きくひきのばす*/
	animation: bggradient 10s ease infinite;
}
.top-header-bottom	{
	position: absolute;
	bottom: 0;
	width: 100%;
}
.home .main-header-original	{
	z-index: 999;
}
@keyframes bggradient{
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
.mvWrap	{
	display: flex;
	height: auto;
	padding: 100px 10px;
}
.mvContent	{
	margin: auto;
	position: relative;
}
.mvWrap h1{
	font-family: "neue-haas-grotesk-display", sans-serif;
	font-weight: 600;
	font-style: normal;
	margin: 0;
	font-size: 7rem;
	color:#fff;
	line-height: 1.3;
}
.mvWrap p.catch01,
.mvWrap p.catch02	{
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 300;
	font-style: normal;
	color: #fff;
	margin: 0;
}
.mvWrap p.catch01	{
	font-size: 5rem;
	position: absolute;
	top:115px;
	right: 0;
	line-height: 1.3;
}
.mvWrap p.catch02	{
	font-size: 3rem;
	margin-top: 20px;
	line-height: 1.5;
	letter-spacing: .2rem;
}
.site-bottom	{
	background-image: none;
	background-color: #F4F5F6;
}
.top-header-bottom{
	display: block;
}
.top-header-info-list{
	width: inherit;
}
.top-header-info-more	{
	width: 15%;
	min-width: 66px;
	display: flex;
    align-items: center;
}
.top-header-info-title	{
	white-space: nowrap;
	min-width: 60px;
	display: flex;
    align-items: center;
}
@media screen and (min-width: 768px)	{
	.top-header-info-title	{
		min-width: 80px;
	}
}
@media screen and (min-width: 512px)	{
	.mvWrap p.catch01	{
		top:15px;
		right:0;
	}
}
@media screen and (min-width: 980px)	{
	.home .home-header	{
		height: 100vh;
	}
	.mvWrap	{
		padding: 0;
		height:93vh;
	}
	.mvWrap h1{
		font-size: 10.5rem;
		letter-spacing: 1.3rem;
	}
	.mvWrap p.catch01	{
		top:50px;
		left:550px
	}
	
}
@media screen and (min-width: 1024px) {
	.container-top-features-wrap,
	.content-top-service	{
		display: flex;
	}
	.content-top-service .title_white	{
		min-width: 500px;
		white-space: nowrap;
	}
	.content-top-service > p	{
		width: auto;
		padding: 1rem;
		margin: 0;
	}
	.mvContent	{
		padding-right: 0;
	}
	.container-top-features-btn	{
		margin: 0;
		width: 33.333333%;
	}
	.container-top-features-btn:nth-of-type(2)	{
		margin: 0 1em;
	}	
}
@media screen and (min-width: 1240px)	{
	.mvContent	{
		padding-right: 20vh;
	}
	.top-header-info-more	{
		width: 10%;
	}
}
/* TOPローディング、アニメーション用 */
/*========= ローディング画面のためのCSS ===============*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 9999999;
	text-align:center;
	color:#000;
}
#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/*========= 画面遷移のためのCSS ===============*/
/*画面遷移アニメーション*/

body.home{
    background:#fff;/*遷移アニメーションと同じ色を指定*/
}

body.home.appear{
    background:#fff;/*画面を開いた後の背景色を指定*/
}

body.home .splashbg{
    display: none;
	content: "";
	position:fixed;
	transform: scale(100);
	background-color: #1f6e37;/*伸びる背景色の設定*/
	z-index: 999;
    /*丸のスタートの形状*/
    top:calc(50% - 1rem);/*50%から円の半径を引いた値*/
    left:calc(50% - 1rem);/*50%から円の半径を引いた値*/
	width: 2rem;
	height: 2rem;
}

/*bodyにappearクラスがついたら出現*/
body.home.appear .splashbg{
    display: block;
    border-radius: 50%;	
	animation-name:PageAnime;
	animation-duration:1s;
	animation-fill-mode:both;
}

@keyframes PageAnime{
	0% {/*丸のスタート位置と形状*/
		transform: scale(0);
	
	}
	100% {/*丸の終了位置と形状*/
		transform: scale(100);
		display: none;/*終了時は消える*/
		visibility: hidden;/* FFでdisplay:noneが効かない対応 */
	}
}

/*画面遷移の後現れるコンテンツ設定*/
body.home #container{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.home.appear #container{
	animation-name:PageAnimeAppear;
	animation-duration:0s;
	animation-delay: 0.3s;
	animation-fill-mode:both;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}