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

  -webkit-font-smoothing: antialiased; 
font-size: 16px!important;
}
a{color:#333333; font-weight: normal;transition: .3s ease-in-out ;}
a.btn{  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;}
  

a:hover{
	text-decoration: none;
	color: #666666}
a.link_black{
  position: relative;
  display: inline-block;
  transition: .3s;
  color:#111111;
  }
  a.link_black::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #111111;
  transition: .3s;
}
a.link_black:hover::after {
  width: 100%;
}

	
a.link_white{
  position: relative;
  display: inline-block;
  transition: .3s;
  color:#ffffff;
  }
  a.link_white::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #ffffff;
  transition: .3s;
}
a.link_white:hover::after {
  width: 100%;
}

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>div{
    background-color: #999999;
}

#preloader img {
  max-width: 50px;
  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: #111111;
	 color: #ffffff;
}
/*to top*/
#PageTopBtn {
    position: fixed; /*ボタンの配置場所を固定*/
    right: 18px; /*右からのボタンの配置場所を指定*/
    z-index: 999;
	width: 20px;
}

/*index background*/
#home .bg_wrap::before {
content:"";
display:block;
position:fixed;
top:0;
left:0;
z-index:-1;
width:100%;
height:100vh;
background-repeat:no-repeat;
background-position:50% 100%;
background-image:url( "../images/mainimg/mainimg.jpg");
background-size:cover;

}

.headerColor-default::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
 
    animation-name: fadeIn_overlay;
    animation-duration: .3s;
	animation-fill-mode:forwards;
}
@keyframes fadeIn_overlay {
    from {
         background: rgba(0, 0, 0, 0);
    }
    to {
         background: rgba(0, 0, 0, 0.7);
    }
}



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

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

.navbar-nav .nav-link{
    color: #ffffff!important;
	font-size: 1rem;
	text-align: center;
    font-feature-settings: "palt";
	font-weight: 600;
	
	position: relative;
	display: inline-block;
  transition: .3s;

}
 .navbar-nav .nav-link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  border-radius: 1px;
  background-color: #ffffff;
  transition: .3s;
}
.navbar-nav .nav-link:hover::after, .navbar-nav li.active .nav-link::after{
  width: 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-toggler {
    color: #ffffff;
    border:none;
}
.navbar-toggler button {/*toggler*/
    color: #ffffff;
}
.hamburger .hamburger-box .hamburger-inner, .hamburger .hamburger-box .hamburger-inner::after, .hamburger .hamburger-box .hamburger-inner::before{
height: 2px;
}

.navbar-bg-onscroll.fixed-top {
  background-color:#111111;
 transition: all .3s ease-out;
}

.navbar-bg-onscroll.fixed-top--fade {
  transition: all .4s ease-out;
}
.collapse.show{background-color:#111111;transition-delay: 0s;transition-duration: 1s;}

/*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:#f5f5f5;
	z-index: 99;
}
#footer h2{
   font-size:1rem;
}

#footer_menu a{
   color: #111111;
	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{
padding: 0 0;
background-color:#f5f5f5;
z-index: 99;
}
#home #foot_contact{
padding:40px 0 70px;
background-color: #ffffff;
}


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


/*scroll*/
.scrolldown{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  left:50%;
  bottom:10px;
    /*全体の高さ*/
  height:50px;
}

/*Scrollテキストの描写*/
.scrolldown span{
  position: absolute;
  left:-20px;
  top: -15px;
  color: #ffffff;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: #ffffff;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}

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

#mainimg h2{
	color: #ffffff;
	line-height: 1.5;
margin-bottom:60px ;/*headerの高さ*/
}

#mainimg .background-holder{
  animation-name: anime_zoom;
  animation-duration: 6s;
  animation-timing-function:linear;
  animation-delay: 0s;
  animation-iteration-count:1;
  animation-fill-mode:  forwards;
  /*bottom:0;*/
  background-position:top right;
  background-size: cover;
}
@-webkit-keyframes anime_zoom {
  0% {
    will-change: transform;
    -webkit-transform: scale(1.5) ;
  }
  100% {
    will-change: transform;
    -webkit-transform: scale(1) ;
  }
}
@keyframes anime_zoom {
     0%{
	     will-change: transform;
	     transform: scale(1.5) ;
	 }
    100% {
        will-change: transform;
        transform: scale(1) ;
    }
}

.height-pagetop {
  height:50vh;
  width:100%;
  margin: 0;
  padding-top: 77px;/*ヘッダーの高さ*/
  background-color: #ffffff;
  background-image: url("../images/pagetopimg.jpg");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: cover;
}


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

#pankuzu a{
	color: #111111;
	font-weight: normal;
}
#pankuzu h2,#pankuzu span{
   position: relative;
   padding-left: 18px;
   color: #111111;
   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 #111111;
border-right: solid 1px #111111;
-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;
}

/*Imgくるんと表示*/
.flipLeft{
animation-name: flipLeft;
animation-duration:0.8s;
animation-fill-mode:forwards;
perspective-origin: left center;
animation-delay:0.8s;
opacity: 0;
}

@keyframes flipLeft{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
  opacity: 0;
  }
  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}

/*home*/
ul.bxslider{/*topics*/
  margin-block-start:0;
   margin-block-end:0;
   padding-inline-start: 0;
   margin-left: 0;
   margin-right: 0;
   padding-left: 0;
}
.home_title,.page_title{
  font-size:4.8rem;
  color: #ffffff;
}

/*modal window*/
.hide-area{	display: none;}
.modaal-close{background-color:#000000!important; top:70px!important;}
.modaal-close:after, 
.modaal-close:before{	background:#ffffff!important;}
.modaal-close:hover{background-color:#666666!important;}

/*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: #f5f5f5;padding-bottom: 5px;padding-top: 5px}
	dl.dl_table dd{border-top: none;padding-top: 14px; padding-bottom: 20px;}
}

/*table*/
table.table_crane {
  width: 100%;
  border-collapse: collapse;
    border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
table.table_crane th {
  background: #f5f5f5;
  /*color: #fff;*/
  padding: 10px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
table.table_crane td {
  padding: 10px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
table.table_crane tr td:nth-child(2) {/*photo*/
 width: 200px;
 text-align: center;
}

@media (max-width:991px){
table.table_crane th,
table.table_crane td,
table.table_crane tr td:nth-child(2){
display:block;
width: 100%;
border:none;
text-align: center;
}
table.table_crane th{border-top:3px solid #111111;}
table.table_crane tr td:last-child{
padding-bottom: 40px;
}
}


/*btn*/
.btn-border_arrow ,.btn-border_arrow_white {
  width: 60px;
  height: 14px;
  border-bottom: 4px solid #111111;
  border-right: 6px solid #111111;
  transform: skew(45deg);
  
  position: absolute;
  top: 50%;
  right: 10px;
animation: ani_arrow 1.5s linear infinite;
}
.btn-border_arrow_white {
  width: 60px;
  height: 14px;
  border-bottom: 4px solid #ffffff;
  border-right: 6px solid #ffffff;
  z-index: 99;
  right: 60px;
}
.btn-border_arrow:hover{
border-color: #666666;
}

@keyframes ani_arrow {
    0%, 100% { transform:translateX(0) skew(45deg); }
    50% { transform:translateX(20px) skew(45deg);}
}

a.btn-border{
  border:4px solid #ffffff;
  color:#ffffff!important;
 font-size: 1.25rem;
 padding: 20px 10px;
 border-radius: 0;
 
  display: inline-block;
  outline: none;
  position: relative;
}
a.btn-border_black{/*btn-borderとセット*/
   border-color: #111111;
   color:#111111!important;
}
a.btn-border_thin{/*btn-borderとセット*/
   border:1px solid #111111;
   border-radius: 0;
   color:#111111!important;
}
a.btn-border_black:hover,a.btn-border_thin:hover{
   color:#ffffff!important;
}


a.btn-border::before,
a.btn-border::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
a.btn-border,
a.btn-border::before,
a.btn-border::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

a.btn-border::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
a.btn-border:hover::after {
  background: #111111;
  -webkit-transform: scale(1);
  transform: scale(1);
}

a.btn_work{
   display: block;
   background: #333333;
   color:#ffffff!important;
   font-size:0.875rem;
   text-align: center;
   /*padding: 3px 12px;*/
   border-bottom: 1px solid #ffffff;
   border-right: 1px solid #ffffff;
}
a.btn_work:hover{
  background-color: #000000;
}

/*余白*/
.pt_anchor{padding-top: 70px;} /*hederの高さ*/
/*font*/
.font_en_italic{font-family: 'Open Sans', sans-serif; font-style: italic; font-weight: 800;}
.font_en{font-family: 'Open Sans', sans-serif; font-weight: 700;}
.font_jp{font-family: 'Noto Sans JP', sans-serif;font-weight: 700;}

.color_red{	color:#e60000;}

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

.lh_15{line-height: 1.5;}
.ls_002{letter-spacing: 0.02rem;}
.ls_01{letter-spacing: 0.1rem;}

/*deco*/
.bg_black{background-color: #000000;}

/*lg*/
@media(max-width:991px){
  /* .navbar-bg-onscroll.fixed-top { background-color:rgba(0,0,0,1);}*/
	.navbar-brand img{max-width:120px; padding-top:5px;padding-bottom:5px;}
	.navbar{padding-top: 0;padding-bottom: 0;}
}

/*md*/
@media (max-width:767px){
		.dropdown-menu {
			width: 100%;
		}
}

/*sm*/
@media (max-width:575px){
		.home_title{
		  font-size:2.25rem;
		}
		.page_title{
			font-size:3rem;
		}
		.fs_30{
			font-size: 1.625rem;
		}
		a.btn-border{
			font-size:2.5rem;
		}
		.scrolldown{
		bottom: 50px;
		}
 }
 
 @media(max-width:281px){
}


 /*test*/
