body{
color: #070707;
font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;

  -webkit-font-smoothing: antialiased; 
font-size: 16px!important;
}
a{color:#333333; font-weight: normal;}
a.link_black{color: #070707;}
a.link_white{color:#ffffff;}
a:hover,a:hover.link_black{
	text-decoration: none;
	color: #666666}
a:hover.link_white{color: #ffffff;}	

a.link_img img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
a.link_img:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*loader*/
#preloader {
  background-color: #ffffff;
}
.ball-pulse-sync>div{
    background-color: #cccccc;
}
#preloader img {
  max-width: 80px;
  left:50%;
  position: fixed;
  top: 40%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 100;
}


::selection {
    background-color: rgba(32,156,255,0.80);
	 color: #ffffff;
}
/*to top*/
#PageTopBtn {
    position: fixed; /*ボタンの配置場所を固定*/
    right: 18px; /*右からのボタンの配置場所を指定*/
    z-index: 999;
	width: 20px;
}

/*タイポ*/
p{color: #1a1a1a;line-height:1.6; }
h1, h2, h3, h4, h5, h6{
	color: #070707;
	letter-spacing: 0;
}

/*nav*/
.navbar-brand h1{
	margin: 0!important;
	padding: 0!important;
	font-size: 1rem;
}
.navbar-brand img{
	max-width: 80px;
}

.navbar-nav .nav-link{
    color: #070707!important;
	font-size: 1.125rem;
	text-align: center;
	font-family: 'Roboto Condensed', sans-serif;
    font-feature-settings: "palt";
	font-weight: 700;
}
.navbar-nav .nav-link:hover{
	color: #666666!important;
}
.navbar-nav li.active .nav-link{
	position: relative;
	padding-bottom:0.5rem;
}
.navbar-nav li.active .nav-link::before{
  position: absolute;
  bottom: 0;
  left: calc(50% - 15px);
  width:30px;
  height: 5px;
  content: '';
  border-radius: 2.5px;
  background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#009efd));
  background-image: -webkit-linear-gradient(right, #2af598 0%, #009efd 100%);
  background-image: linear-gradient(to left, #2af598 0%, #009efd 100%);

}
.dropdown-menu {
    padding: 1rem 0;
    color: #070707;
    text-align:center;
    background-color: rgba(0,0,0,0.80);
}
.dropdown-item {
    padding: .4rem 1.5rem;
    font-weight: 600;
    color: #070707;
}
.dropdown-item:focus, .dropdown-item:hover {
    background-color:#000000;
	color: rgba(255,255,255,0.70);
}
.navbar-dark .navbar-toggler {
    color: #070707;
    border:none;
}

.navbar-bg-onscroll.fixed-top {
  background-color:#ffffff;
  border-bottom: 1px solid #E2E2E2;
  transition: all .3s ease-out;
}

.navbar-bg-onscroll.fixed-top--fade {
  transition: all .4s ease-out;
}


/*form*/
label {
    font-size: 1rem;
	margin-bottom: .2rem;
	}
.form-control {
	font-size: 1rem;
	border: 1px solid #B1BCC7;
	background-color: #ffffff;
}
.form-control:focus {
	border: 1px solid #0070AF;
	background-color:  #EFF9FF!important;
}
.text_required{
  background-color: #e60000;
  color:#ffffff;
  font-size:13px;
  padding: 2px 4px;
  font-weight: normal;
  margin-left: 10px;
  border-radius: 2px;
}

/*footer*/
#footer{
	background-color:#070707;
}
#footer h2{
   font-size:1rem;
}

#footer_menu a{
   color: #ffffff;
	font-size: 0.875rem; 
	font-weight: 100;
	padding-right: 10px;
	padding-bottom: 10px;
}
#footer_menu a:hover{color:#666666;}


#footer_copy{
	background-color: #070707;
}

#foot_contact{
background-color: #202020;
	background-image: url("../images/footer_bg_logo.png");
	background-position: left 50px bottom;
	background-size: contain;
	background-repeat: no-repeat;
}


body.iPhone .background-holder.background-fixed,body.iPad .background-holder.background-fixed  {
	background-attachment:inherit!important;/*iphone fixedのエラー回避*/
}


/*scroll*/
.scroll_next a{
 position: absolute;
  bottom:0;
  left:50%;
  margin-left: -20px;
  z-index: 100;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
  color: #070707;
  font-weight:600;
  padding-top: 30px;
}
.scroll_next a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  border-left: 2px solid #070707;
  border-bottom: 2px solid #070707;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    -webkit-transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    transform: rotate(-45deg) translate(0, 0);
  }
}



/*page_nave*/
#page_nave a{
    display: block;
    color: #fff;
    padding: 20px 0;
    font-size: 0.9375rem;
    font-weight: normal;
    border-right: 1px solid #fff;
	background-color: #070707;
	margin-bottom: 1px;
	position: relative;
	overflow: hidden;
	z-index: 99;
}
#page_nave a::after {
    content: '';
    display: inline-block;
     width: 10px;
    height: 6px;

    vertical-align: middle;
    background-image: url( "../images/arrow_down_white.png");
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 10px;
}
#page_nave a::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 150%;
  height: 100%;

   background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
  background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
  background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
  transition: all 0.5s linear;
  transform: skewX(-300deg) scale(0, 1);
  z-index: -99;
}
#page_nave a:hover{
color: #fff!important;
}
#page_nave a:hover::before {
  left: -20%;
  transform: skewX(-300deg) scale(1, 1);
}

/*mainimg*/
#mainimg{
	min-height: 100%;
    overflow: hidden;
    position: relative; 
}
.h-full-mainimg{min-height:100vh;}

#mainimg h2{
	color: #ffffff;
	line-height: 1.5;
}

#mainimg .background-holder{
  animation-name: anime_zoom;
  animation-duration: 4s;
  animation-timing-function:linear;
  animation-delay: 0s;
  animation-iteration-count:1;
  animation-fill-mode:  forwards;
  bottom:0;
  background-position: center center;
  background-size: contain;
}
@-webkit-keyframes anime_zoom {
  0% {
    will-change: transform;
    -webkit-transform: scale(1.2) ;
  }
  100% {
    will-change: transform;
    -webkit-transform: scale(1) ;
  }
}
@keyframes anime_zoom {
     0%{
	     will-change: transform;
	     transform: scale(1.2) ;
	 }
    100% {
        will-change: transform;
        transform: scale(1) ;
    }
}

.height-pagetop {
  height:35vh;
  width:100%;
  margin: 0;
  padding-top: 77px;/*ヘッダーの高さ*/
  background-color: #ffffff;
}


/* パンくず*/
#pankuzu ,#pankuzu h2{
	font-size: 0.8125rem;
	line-height: 1.4;
	padding: 7px 0;
	font-weight: normal;
}
#contact #pankuzu/*, #company #pankuzu*/{background-color: #f5f5f5;}

#pankuzu a{
	color: #333333;
	font-weight: normal;
}
#pankuzu h2,#pankuzu span{
   position: relative;
   padding-left: 18px;
   color: #333333;
   display: inline;
}

#pankuzu h2::before,#pankuzu span::before{
display: block;
content: "";
position: absolute;
top: 50%;
left: 0px;
width: 6px;
height: 6px;
margin: -2px 0 0 0;
border-top: solid 1px #333333;
border-right: solid 1px #333333;
-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
}
#pankuzu a:hover{
	text-decoration: none;
	color:#666666;
}

/*aninmate*/
.delay_1{
 animation-delay:0.2s!important;
}
.delay_2{
 animation-delay:0.6s!important;
}
.delay_3{
 animation-delay:1s!important;
}
/*animate:初期値*/
.opacity_0{
	opacity: 0;
}


/*home*/
.home_title,.page_title{
  font-size:4.8rem;
}
#home_list ul li h3{
	font-size:2rem;
}
#home_list ul li:last-child{
border-bottom : 1px solid #666666;
}
#home_list ul li{
	border-top : 1px solid #666666;
	padding: 20px; 
	display: block;
transition-delay:0s;
transition-duration:0.3s;

overflow: hidden;
 position: relative;
  z-index: 2;
}

#home_list ul li:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 150%;
  height: 100%;
  z-index: -1;

   background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
  background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
  background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
  transition: all 0.5s linear;
  transform: skewX(-300deg) scale(0, 1);
}
#home_list ul li:hover{
color: #fff!important;
}
#home_list ul li:hover:before {
  left: -20%;
  transform: skewX(-300deg) scale(1, 1);
}


#home_topics .ticker {
border: none!important;
background-color: inherit!important;
padding: 0;
width: 100%;
}
 
#home_topics .ticker li div {
padding: 10px;
}

/*dl*/
dl.dl_table{
margin-left: 5px ;
margin-right: 5px;
margin-block-start: 0;
 margin-block-end: 0;
}

dl.dl_table{
 border-bottom: 1px solid #070707;
 border-radius: 0.5px;
 }

dl.dl_table dt{
    border-top: 1px solid #070707;
	 border-radius: .5px;
    padding: 20px 5px 20px 10px;
	font-weight:normal;

}
dl.dl_table dd{
    border-top: 1px solid #070707;
	 border-radius: .5px;
    padding: 20px 5px 16px 15px; 
}

@media (max-width:767px){
	dl.dl_table dt{background-color: #e8e8e8;padding-bottom: 5px;padding-top: 5px}
	dl.dl_table dd{border-top: none;padding-top: 14px; padding-bottom: 20px;}
}

/*btn*/
.btn-border_arrow {
  width: 60px;
  height: 10px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skew(45deg);
  
  position: absolute;
  top: 50%;
  right: 10px;
animation: ani_arrow 1.5s linear infinite;
}
@keyframes ani_arrow {
    0%, 100% { transform:translateX(0) skew(45deg); }
    50% { transform:translateX(20px) skew(45deg);}
}
a.btn-border{
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.05em;
  overflow: hidden;
  padding: 1.6rem 1rem;
  color: #fff;
  font-size: 4rem;
  border-radius: 0;
  border:#ffffff 1px solid;
  -webkit-transform: skew(-20deg);
  transform: skew(-20deg);
}

a.btn-border:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 120%;
  height: 100%;
  z-index: -1;
   background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
  background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
  background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
  transition: all 0.5s linear;
  transform: skewX(-300deg) scale(0, 1);
}
a.btn-border:hover{
color: #fff!important;
}
a.btn-border:hover:before {
  left: -10%;
  transform: skewX(-300deg) scale(2, 2);
}
.btn-black_arrow {
  width: 40px;
  height: 10px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skew(45deg);
  
  position: absolute;
  top: 40%;
  right: 30px;
z-index: 99;
}
a.btn-black{
background-color: #070707;
border: none;
border-radius: 0;
color:#ffffff!important;
 overflow: hidden;
 position: relative;
  z-index: 2;
 font-size: 1.25rem;
 padding: 20px 10px;
}

a.btn-black:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 150%;
  height: 100%;
  z-index: -1;
   background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
  background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
  background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
  transition: all 0.5s linear;
  transform: skewX(-300deg) scale(0, 1);
}
a.btn-black:hover{
color: #fff!important;
}
a.btn-black:hover:before {
  left: -20%;
  transform: skewX(-300deg) scale(1, 1);
}


/*background*/
.bg_gradation1{
background-image: -webkit-gradient(linear, left top, right top, from(rgba(32,156,255,1)), to(rgba(104,224,207,1)));
  background-image: -webkit-linear-gradient(left, rgba(32,156,255,1) 0%, rgba(104,224,207,1) 100%);
  background-image: linear-gradient(to right, rgba(32,156,255,1) 0%, rgba(104,224,207,1) 100%);
}
.bg_gradation2{
background-image: -webkit-gradient(linear, left top, right top, from(rgba(32,156,255,0.50)), to(rgba(104,224,207,0.50)));
  background-image: -webkit-linear-gradient(left, rgba(32,156,255,0.50) 0%, rgba(104,224,207,0.50) 100%);
  background-image: linear-gradient(to right, rgba(32,156,255,0.50) 0%, rgba(104,224,207,0.50) 100%);
}
.bg_gradation2_re{
background-image: -webkit-gradient(linear, left top, right top, from(rgba(104,224,207,0.50)), to(rgba(32,156,255,0.50)));
  background-image: -webkit-linear-gradient(left, rgba(104,224,207,0.50) 0%, rgba(32,156,255,0.50) 100%);
  background-image: linear-gradient(to right, rgba(104,224,207,0.50) 0%, rgba(32,156,255,0.50) 100%);
}
.bg_black{
  background-color: #070707;
}
.bg_gray{
   background: #f5f5f5;
}

/*font*/
.font_en{font-family: 'Roboto Condensed', sans-serif;}
.color_red{	color:#e60000;}

.fs_14{	font-size: 0.875rem;}
.fs_18{	font-size: 1.125rem;}
.fs_20{font-size:1.25rem;}
.fs_30{	font-size: 2rem;}


/*lg*/
@media(max-width:991px){
  .navbar-expand-lg.fixed-top {    background-color:#ffffff;}
	.navbar-brand img{max-width:60px; padding-top:5px;padding-bottom:5px;}
	.navbar{padding-top: 0;padding-bottom: 0;}
}

/*md*/
@media (max-width:767px){
		.dropdown-menu {
			width: 100%;
		}
		#page_nave a{
			padding: 12px 0;
		}
}

/*sm*/
@media (max-width:575px){
		.home_title{
		  font-size:2.25rem;
		}
		.page_title{
			font-size:3rem;
		}
		#home_list ul li h3{
			font-size:1.5rem;
		}
      #home_topics .ticker {height: 70px!important;}
		.fs_30{
			font-size: 1.625rem;
		}
		a.btn-border{
			font-size:2.5rem;
		}
 }
 
 @media(max-width:281px){
}

