@import url("https://fonts.googleapis.com/css?family=Raleway:500,700,900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.2.0/dist/css/yakuhanjp.min.css");

#loading {
  width: 100vw;
  height: 100vh;
  -webkit-transition: all 1s;
  transition: all 1s;
  background-color:black;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
	text-align:center;
}
.loadingtext{
	position:relative;
	font-size:40px;
	top:30%;
}
.spinner {
  width: 100px;
  height: 100px;
  margin: 200px auto;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
          animation: sk-scaleout 1.0s infinite ease-in-out;
}
/* ローディングアニメーション */
@-webkit-keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  } 100% {
    -webkit-transform: scale(1.0);
            transform: scale(1.0);
    opacity: 0;
  }
}
@keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  } 100% {
    -webkit-transform: scale(1.0);
            transform: scale(1.0);
    opacity: 0;
  }
}
.loaded {
  opacity: 0;
  visibility: hidden;
}


html{
	font-family:"AR P隷書体M","Noto Serif JP","YuMincho","游明朝体",serif;
}


body{
	width:100%;
	font-weight:300;
	text-shadow:0.1em 0.1em 0.2em black;
	margin:0 auto;
	color:white;
	background:-webkit-gradient(linear, left top, right top, from(transparent), color-stop(0%, #000) , color-stop(35%, #001) , color-stop(65%, #001) , color-stop(100%, #000) , to(transparent));
	background:linear-gradient(to right, transparent, #000 0% , #001 35% , #001 65% , #000 100% , transparent);
}

h2{
	font-size:46px;
	margin:0;
	font-weight:300;
	padding:6% 25px 5% 25px;
	color:white;
	text-align:center;
}

h3{
	font-size:28px;
	margin:0 15px 0 8%;
	padding-top:25px;
	color:white;
	font-weight:300;
}

#top{
	position: relative;
	width: 100%;
	margin:0 auto;
}

#top:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


header,footer,nav{
	display: block;
}

header .menu a,footer .sitemap a{
	text-decoration: none;
	color:white;
}

ul,li{
	list-style: none;
}

article{
	padding:50px 0 80px 0;
}

/* =============== header ===============*/
header{
	position: absolute;
	width: 100%;
	z-index: 2;
	zoom:1;
}

header .head-logo{
	position: absolute;
	top: 0;
	left: 80px;
	margin:0;
}

header .head-logo img{
	width: 170px;
}

.head-logo.isactive{
	position:fixed;
	width:160px;
	padding:0;
	top:0px;
	left:60px;
	-webkit-animation:fixedlogo .5s ease-out;
	        animation:fixedlogo .5s ease-out;
}

@-webkit-keyframes fixedlogo{
	0%{
		top:-60px;
		opacity:0;
	}
	100%{
		top:0px;
		opacity:1;
	}
}

@keyframes fixedlogo{
	0%{
		top:-60px;
		opacity:0;
	}
	100%{
		top:0px;
		opacity:1;
	}
}

header .menu{
	float: right;
	padding: 15px 25px 0 0;
	overflow: hidden;
}

header .gnav{
	zoom: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

header .gnav li{
	padding-right: 28px;
}

header .gnav a{
	display: block;
	text-align: center;
	color: white;
	line-height: 1;
	font-size: 16px;
	letter-spacing: .1em;
}

header .gnav a span{
	display: block;
	font-size: xx-small;
	padding: 5px;
}

header .gnav a:after{
	display: block;
	content:"";
	width:0px;
	border-bottom:1px solid white;
	-webkit-transition:all 0.3s;
	transition:all 0.3s;
}

header .gnav a:hover:after{
	width:100%;
}

.fixity{
}

.fixity.isactive {
	right:30px;
	position:fixed;
	padding:0;
	-webkit-animation:fixedmotion .5s ease-out;
	        animation:fixedmotion .5s ease-out;
}

@-webkit-keyframes fixedmotion{
	0%{
		top:-60px;
		opacity:0;
	}
	100%{
		top:15px;
		opacity:1;
	}
}

@keyframes fixedmotion{
	0%{
		top:-60px;
		opacity:0;
	}
	100%{
		top:15px;
		opacity:1;
	}
}

/* =============== index page ===============*/
#top{
	position:relative;
	z-index:1;
}

#top .mv{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	z-index: 1;
}

#top .mv-copy{
	position:relative;
	width: 100%;
	height: 100%;
	z-index: 4;
}

#top .mv-copy .copysvg{
	position: absolute;
	height:46vh;
	top:0; left:0; right:0; bottom:20vh;
	margin:auto;
	-webkit-transition-delay:3s;
	        transition-delay:3s;
}

#top .mv-copy .phrasesvg{
	position: absolute;
	height:22vh;
	top:58vh; left:0; right:40vw; bottom:0;
	margin:auto;
	-webkit-transition-delay:0.8s;
	        transition-delay:0.8s;
}

/*=============== blog ===============*/

#blog-news{
	background-color:white;
	padding:0;
	margin:0;
	text-shadow:none;
}

#blog-news table{
	margin:0 auto;
	border-collapse:collapse;
	height:60px;
	font-weight:500;
	width:100%;
}

#blog-news table a{
	text-decoration:none;
	color:black;
	line-height:60px;
	width:100%;
}

#blog-news table td{
	border-left:1px solid #464646;	
	border-right:1px solid #464646;	
	font-size:100%;
	color:black;
	margin-left:4px;
}

#blog-news table .td2{
	background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0,0,0,0)), color-stop(50%, rgba(202,168,70,1)));
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(202,168,70,1) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	-webkit-transition: .3s;
	transition: .3s;
}
.news_go{
	padding:0 20px;
	float:right;
	color:white;
}

.news_go:hover{
	-webkit-transition:all 0.5s;
	transition:all 0.5s;
	color:black;
	background-color:#66500f;
	border-radius:3px;
}

#blog-news table .td3{
	clear:both;
	background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(0,0,0,0)), color-stop(50%, rgba(72,72,72,1)));
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(72,72,72,1) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	-webkit-transition: .3s;
	transition: .3s;
	color:#ff9800;
}
#blog-news table .td2:hover{
	background-position: -100% 0;
	color: #fff;
}
#blog-news table .td3:hover{
	background-position: -100% 0;
	color: white;
}

#blog-news table .td3 a:hover{
	color: white;
}

#blog-news table .td1,#blog-news table .td3{
	width:15%;
	text-align:center;
}
#blog-news table .td2{
	width:70%;
}

#blog-news .smallw{
	display:none;
}

/* =============== cm ===============*/

#htcm {
	position:relative;
	height:100%;
	text-align:center;
	font-weight:300;
	}

#htcm .cmcopy{
	color:white;
	font-size:43px;
	font-weight:300;	
	padding-top:60px;
	margin:0;
}

.cmcopy2{
	color:#fff;
	font-size:20px;
	font-weight:300;	
	padding:70px 0;
	margin:0;
}

#htcm a,#recruitment a{
	font-size:25px;
	color:white;
	text-decoration:none;
}

.contactbtn{
	border:1px solid #464646;
	display:block;
	position:relative;
	margin:70px auto 0 auto;
	width:440px;
	height:80px;
	color:white;
	line-height:80px;
}

.contactbtn::before,
.contactbtn::after {
	position: absolute;
	z-index: 2;
	content: '';
	width: 0;
	height: 0;
	border: 2px solid transparent;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
}

.contactbtn:before{
	top: -2px;
	left: -2px;
}

.contactbtn::after {
	bottom: -2px;
	right: -2px;
}
.contactbtn:hover {
	background:rgba(255,255,255,0.1);
}
.contactbtn:hover::before,
.contactbtn:hover::after {
	width: 100%;
	height: 100%;
}
.contactbtn:hover::before {
	border-bottom-color: #866629;
	border-left-color: #866629;
	-webkit-transition: height .3s, width .3s .3s;
	transition: height .3s, width .3s .3s;
}
.contactbtn:hover::after {
	border-top-color:#866629;
	border-right-color: #866629;
	-webkit-transition: height .3s, width .3s .3s;
	transition: height .3s, width .3s .3s;
}
/* =============== concept ===============*/


#concept{
	width:100%;
	margin:0 auto;
}

#concept h2{
	text-align:center;
}

#concept h2:after{
	display:none;
}

.concept_board{
	text-align:center;
	margin:30px auto;
	width:750px;
	max-height:1200px;
	background-image:url("images/sikkui_r.jpg");
	background-size:cover;
	position:relative;
	padding-bottom:35px;
}
.concept_board:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.3);
}
.concept_main{
	display:inline-block;
	text-align:left;
	font-size:32px;
	padding-top:40px;
}

.concept_p{
	padding:52px 0 0 56px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:start;
	    -ms-flex-align:start;
	        align-items:flex-start;
	position:relative;
}

.hrborder{
	display:block;
	position:relative;
	width:100%;
	min-width:300px;
	height:1px;
	border-bottom:1px solid white;
	padding-top:42px;
	margin:0 auto;
}


.concept_sub{
	display:inline-block;
	text-align:left;
	font-size:16px;
	padding:50px 40px;
	position:relative;
}

/* =============== service ===============*/

#service{
}

.ser_main{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	width:95%;
	margin:50px auto;
	
}

.ser_left{
	vertical-align:middle;
	height:100%;
	height:auto 0;
	margin-left:15px;
}

.ser_left img{

}

.ser_right {
	margin:0 18px;
	padding-left:26px;
}

#service .pickup{
	font-size:32px;
	font-weight:bold;
	letter-spacing:2px;
	line-height:32px;
}

#service .imgblock{
	padding:20px 0 30px 0;
}

.ser_content .left{
	font-weight:300;
	font-size:20px;
}

.ser_content .right{
	font-size:18px;
}

.ser_content table{
	border:none;
}

.ser_content table td{
	vertical-align:baseline;
	padding-bottom:25px;
}

.ser_text{
	margin:0 auto;
	width:80%;
	padding:40px 0;
	text-align:left;
}

/* =============== works ===============*/

#works{
	width:100%;
	margin:0 auto;
	padding-bottom:30px;
	background:white;
	text-shadow:none;
	color:black;
	text-align:center;
}

#works h2{
	color:black;
}

.list_workslide{
	text-align:center;
	position:relative;
	max-height:260px;
	padding:0;
}

.list_workslide img{
	max-width:28vw;
}

.works_img{
	padding:0;
	text-align:center;
	max-height:260px;
	margin:15px 0;
	-webkit-transition: all .4s ease-in-out;
	transition: all .4s ease-in-out;
	-webkit-transition-duration:0.3s;
	        transition-duration:0.3s;
}

.works_img img{
	margin:0 auto;
}

.works_img:hover{
	-webkit-box-shadow:0 0 8px 2px rgba(0,0,0,0.4);
	        box-shadow:0 0 8px 2px rgba(0,0,0,0.4);
	-webkit-transform: scale(1.05);
	        transform: scale(1.05);	
}

.prev_arrow{
	width:100px;
}

.next_arrow{
	width:100px;
}

.section_main{
	width:90%;
	margin:0 auto;
} 

.works_text{
	font-size:24px;
	padding:50px 0;
}

.popup_wrap input {
  display: none;
}

.popup_overlay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  -webkit-transition: opacity 0.5s, -webkit-transform 0s 0.5s;
  transition: opacity 0.5s, -webkit-transform 0s 0.5s;
  transition: opacity 0.5s, transform 0s 0.5s;
  transition: opacity 0.5s, transform 0s 0.5s, -webkit-transform 0s 0.5s;
  -webkit-transform: scale(0);
          transform: scale(0);
}

.popup_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.popup_content {
	color:black;
  position:fixed;
	text-align:center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  width: 80vw;

  height:100%;
  padding: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
  -webkit-transition: 0.5s;
  transition: 0.5s;
	font-size:20px;
}

.popup_content img{
  -o-object-fit:contain;
     object-fit:contain;
	height:100%;
	max-height:80vh;
	max-width:100%;
}

.close_btn {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 30px;
  cursor: pointer;
}

.popup_wrap input:checked ~ .popup_overlay {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.open_btn {
  cursor: pointer;
}


.slick-prev:before {
	content:url(images/arrow.svg);
}

.slick-next:before {
	content:url(images/arrow.svg);
}


.slick-prev{
	left:-20px;
	-webkit-transform:rotate(180deg) scale(0.6) translateY(-20px);
	        transform:rotate(180deg) scale(0.6) translateY(-20px);
}

.slick-next{
	right:-20px;
	-webkit-transform:scale(0.6) translateY(-20px);
	        transform:scale(0.6) translateY(-20px);
}
/* =============== company ===============*/

#company{
	width:100%;
	padding:60px 0 30px 0;
}

#company #contents{
	width:100%;
	margin:0 auto;	
}

#company #company_main{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack:distribute;
	    justify-content:space-around;
}
.company_img{
	text-align:center;
	width:65%;
	padding-top:30px;
	margin-left:40px;
	
}
.company_img img{
	width:90%;
}

.company_table{
	display:inline-block;
	width:100%;
}

#company table{
	margin:0 auto;
	background-color:transparent;
	border-collapse:collapse;
}

#company .tabletd a[href^="tel"] {
  color: yellow;  
}

#company .tabletr{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:start;
	    -ms-flex-pack:start;
	        justify-content:flex-start;
	position:relative;
}
.tableth{
	-ms-flex-preferred-size:20%;
	    flex-basis:20%;
}
.tableborder{
	display:inline-block;
	position:relative;
	width:70%;
	height:1px;
	border-bottom:1px solid #464646;
	margin:34px auto;
	z-index:-1;
}

#access_map{
	padding:20px 50px;
}

#access_map dl{
	width:80%;
}

#access_map dt{
	padding-top:15px;
}

.map {
	display:block;
	position:relative;
	margin :0 auto;
	padding:50px 0;
}
.map iframe {
	display:block;
	width:80%;
	margin:0 auto;
}

/* =============== recruitment ===============*/
#recruitment{
	position:relative;
	text-align:center;
	font-weight:300;
	height:100%;
}
#recruitment #recruitment_contents{
	width:80%;
	margin:0 auto;
	border:1px solid gray;
	padding:30px 0;
}
#recruitment .recruitment_main{
	width:95%;
	margin:0 auto;
	padding:0;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap:wrap;
	    flex-wrap:wrap;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	font-weight:bold;
	font-size:24px;
	text-align:left;
}
#recruitment .recruitment_text{
	display:block;
	text-align:center;
	margin:auto;
	line-height:40px;
	width:50%;
}

.recruitment_text .bold{
	display:inline-block;
}

.recruitment_image{
	width:40%;
}
.recruitment_image img{
	width:100%;
}

.r_btn{
	margin:70px auto;
	padding:10px;
}

/* =============== contact ===============*/
#contact h2{
}

#contact form{
	width:60%;
	margin:25px auto;
	padding:30px;
}

.formborder{
	position:relative;
	display:block;
	width:70%;
	height:1px;
	border-bottom:1px solid #464646;
	margin:0 auto;
	text-align:center;
}

#contact dl{
	display:table;
	width:100%;
	margin:0;
	padding:20px 0;
	border-bottom:1px solid #464646;
}
#contact dt,#contact dd{
	display:table-cell;
	padding:0;
	font-size:16px;
	text-align:left;
	vertical-align:middle;
}
#contact dt{
	width:25%;
}
#contact dt span.must{
	display:block;
	width:35px;
	height:18px;
	margin-top:3px;
	background-color:black;
	color:gold;
	font-size:13px;
	text-align:center;
	line-height:18px;
	text-indent:0;
	letter-spacing:3px;
}
#contact dd{
	padding-left:20px;
}
#contact label.error{
	background-color:transparent;
	border:none;
	text-align:left;
	margin:5px 0 0 0;
	padding:3px 0 5px 3px;
	color:#ff6060;
	font-size:15px;
	line-height:normal;
}
#contact dd input[type="text"],
#contact dd input[type="tel"],
#contact dd input[type="email"]{
	padding:10px;
	width:35vw;
	background-color:#161616;
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
	font-size:18px;
	outline:none;
	border:none;
	color:white;
	font-family:inherit;
}

#contact #zip1{
	width:12vw;
	min-width:60px;
}
#contact #zip2{
	width:15vw;
	min-width:80px;
}

#contact dd textarea{
	height:240px;
	color:white;
	background-color:#161616;
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
	font-family:inherit;
	outline:none;
	border:none;
}
#contact dl#contact-add{
	margin-left:0px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
	border-bottom:none;
}
#contact dl#contact-add dt,#contact dl#contact-add dd{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	    -ms-flex-direction:row;
	        flex-direction:row;
}
#contact dl#contact-add dt{
	width:auto;
}
#contact dl#contact-add dd{
	margin-left:-20px;
	padding-bottom:15px;
}
#contact dl#contact-add dd:last-child{
	padding-bottom:0px;
}

#contact dd#zipcode{
	margin-right:10px;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
}

#contact dd input[type=checkbox]{
	-webkit-transform:scale(1.5);
	        transform:scale(1.5);
	margin-left:-25px;
	border:none;
}

#contact dd label{
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
	position:relative;
	display:block;
	padding:15px 15px 15px 45px;
	background-color:#161616;
	vertical-align:middle;
	font-size:16px;
	cursor:pointer;
}

#contact dd ol{
	padding:0;
}

#contact dd ol:before,
#contact dd ol:after{
	content:"";
	display:table;
	height:0;
	visiblity:hidden;
}

#contact dd li{
	width:100%;
	padding:5px 10px 5px 0;
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
}
#contact dd li input{
	margin-right:5px;
	padding:0;
}

#contact #button{
	text-align:center;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack:distribute;
	    justify-content:space-around;
	width:80%;
	margin:30px auto 0;
}

.form-btn{
	display:inline-block;
	width:36%;
	height:50px;
	font-family:inherit;
	margin:0;
	padding:0;
	border:1px solid #464646;
	background-color:black;
	cursor:pointer;
	color:#fff;
	font-size:16px;
	font-weight:300;
	text-align:center;
	outline:none;
	position:relative;
	z-index:2;
}

.form-btn:hover{
	background-color:#444;
}

.form-btn::before,.form-btn::after{
	position:absolute;
	z-index:-1;
	display:block;
	content:"";
	top:0;
	width:50%;
	height:100%;
	background-color:black;
}

.form-btn,.form-btn::before,.form-btn::after{
	-webkit-transition:all ease-out .2s;
	transition:all ease-out .2s;
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
}

.form-btn::before{
	right:0;
}

.form-btn::after{
	left:0;
}

.form-btn:hover::before,.form-btn:hover::after{
	width:0;
	background-color:#black;
}
/* =============== footer ===============*/

footer{
	padding-top:30px;
	height:200px;
	width:100%;
	background:#000;
}
.footer-main{
	z-index: 1;
	width:90%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	    -ms-flex-pack:justify;
	        justify-content:space-between;
}
footer .sitemap ul{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	position: relative;
	padding-top:35px;
}

footer .sitemap ul li{
	padding:15px;
}
footer .sitemap ul li a{
	text-decoration: none;
}

footer .sitemap ul li a:after{
	display: block;
	content:"";
	width:0px;
	border-bottom:1px solid white;
	-webkit-transition:all 0.3s;
	transition:all 0.3s;
}

footer .sitemap ul li a:hover:after{
	width:100%;
}

.footer-logo{
	right: 160px;
	top:0;
}
.footer-logo img{
	width: 280px;
}

/* =============== pagetop ===============*/

.topbutton{
	position: fixed;
	right: 90px;
	bottom: -200px;
	width: 60px;
	z-index: 100;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}

.topbutton img{
	width:300%;
}

.topbutton.isactive {
	bottom:0;
}

.topfix{
	-webkit-transition: all .6s ease-out;
	transition: all .6s ease-out;
}

.topfix.isactive {
	position:fixed;
	display:inline-block;
	top:0;
	width:100vw;
	height:110px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #000), to(rgba(0, 0, 0, 0)));
	background: linear-gradient(to bottom, #000 5%, rgba(0, 0, 0, 0));
}

.bottomfix{
	-webkit-transition: all .6s ease-out;
	transition: all .6s ease-out;
}

.bottomfix.isactive {
	position:fixed;
	display:inline-block;
	bottom:0;
	width:100vw;
	height:60px;
	background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #000), to(rgba(0, 0, 0, 0)));
	background: linear-gradient(to top, #000 5%, rgba(0, 0, 0, 0));
}


/* =============== scrollaction ===============*/
.fade{
  -webkit-transition: all .4s linear;
  transition: all .4s linear;
  -webkit-transform: translateY(-20px);
          transform: translateY(-20px);
  opacity: 0;
}
.fade.fadeactive{
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.fadein1{
  -webkit-transition: all 1.8s ease-out;
  transition: all 1.8s ease-out;
	-webkit-transform: translateX(-30px);
	        transform: translateX(-30px);
  opacity: 0;
}
.fadein1.fadeactive{
	-webkit-transform: translateX(0);
	        transform: translateX(0);
  opacity: 1;
}
.fadein2{
  -webkit-transition: all 1s linear;
  transition: all 1s linear;
  opacity: 0;
}
.fadein2.fadeactive{
  opacity: 1;
}

.fadeinh{
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  opacity: 0;
}
.fadeinh.fadeactive{
  opacity: 1;
}

.fadetext{
	-webkit-transition: all .5s ease-out;
	transition: all .5s ease-out;
	-webkit-transform: translateX(-40px);
	        transform: translateX(-40px);
	opacity: 0 ;
}

.fadetext.fadeactive{
	-webkit-transform: translateX(0);
	        transform: translateX(0);
	opacity: 1 ;
}

.fadeleft{
	-webkit-transition: all .5s ease-out;
	transition: all .5s ease-out;
	-webkit-transform: translateX(-80px) translateY(5px);
	        transform: translateX(-80px) translateY(5px);
	opacity: 0 ;
}

.fadeleft.fadeactive{
	-webkit-transform: translateX(0) translateY(0);
	        transform: translateX(0) translateY(0);
	opacity: 1 ;
}

.fadecenter{
	-webkit-transform: scale(0, 1);
	        transform: scale(0, 1);
	-webkit-transform-origin: center top;
	        transform-origin: center top;
	-webkit-transition: -webkit-transform .4s;
	transition: -webkit-transform .4s;
	transition: transform .4s;
	transition: transform .4s, -webkit-transform .4s;
}
.fadecenter.fadeactive{
	-webkit-transform: scale(1, 1);
	        transform: scale(1, 1);
}

.fadeborderleft{
	-webkit-transform: translateX(-15%) scale(0, 1);
	        transform: translateX(-15%) scale(0, 1);
	-webkit-transform-origin:left top;
	        transform-origin:left top;
	-webkit-transition: -webkit-transform .7s cubic-bezier(.83,.03,.73,.97);
	transition: -webkit-transform .7s cubic-bezier(.83,.03,.73,.97);
	transition: transform .7s cubic-bezier(.83,.03,.73,.97);
	transition: transform .7s cubic-bezier(.83,.03,.73,.97), -webkit-transform .7s cubic-bezier(.83,.03,.73,.97);
}
.fadeborderleft.fadeactive{
	-webkit-transform: translateX(0%) scale(1, 1);
	        transform: translateX(0%) scale(1, 1);
}

/* =============== responsive959 ===============*/

@media screen and (max-width: 959px){
body{
	background:linear-gradient(to right, transparent, #000 0% , #113 35% , #113 65% , #000 100% , transparent);
}

article{
	padding:20px 0 80px 0;
}


h2{
	margin:0;
	padding:15px;
	text-align:center;
}

header .head-logo{
	left:0;
}

header .head-logo img{
	width:150px;
}

.head-logo.isactive{
	width:150px;
	left:0;
}

header #menu-btn{
	display:block;
	cursor: pointer;
	position: fixed;
	right:0;
	top:0;
	width: 50px;
	height: 50px;
	z-index: 100;
	background-color:black;
}

header #menu-btn figure{
	margin:0 auto;
	width:36px;
	height:2px;
	z-index: 101;
	background-color:#fff;
	border-radius:1px;
	position:absolute;
}
header #menu-btn figure:nth-child(1){
	-webkit-transition:all 0.5s;
	transition:all 0.5s;
	left:7px;
	top:12px;
}
header #menu-btn figure:nth-child(2){
	left:7px;
	top:22px;
}
header #menu-btn figure:nth-child(3){
	-webkit-transition:all 0.5s;
	transition:all 0.5s;
	left:7px;
	top:32px;
}

.openb figure:nth-child(1){
	-webkit-transform:translateY(10px) rotate(45deg);
	        transform:translateY(10px) rotate(45deg);
}
.openb figure:nth-child(2){
	opacity:0;
}
.openb figure:nth-child(3){
	-webkit-transform:translateY(-10px) rotate(-45deg);
	        transform:translateY(-10px) rotate(-45deg);
}

nav{
	-webkit-transition:all 0.5s;
	transition:all 0.5s;
	width:210px;
	height:100%;
	top:0;
	background-color:black;
	position:fixed;
	right:-235px;
	margin:0;
}

nav ul{
	padding:0;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
}

nav ul li{
	padding:15px 0 10px 0;
}
nav ul li a{
	border-style:none;
	border-bottom:1px solid #464646;
	padding-bottom:0;
	color:#595859;
	line-height:40px;
}

nav ul li a span{
	padding-bottom:-3px;
}

.fixity.isactive {
	right:-235px;
	position:fixed;
	padding:15px 25px 0 0px;
	-webkit-animation:0s;
	        animation:0s;
}

#top .mv-copy .copysvg{
	max-height:500px;
	width:90%;
	top:0; left:0; right:0; bottom:0;

}

#top .mv-copy .phrasesvg{
	height:16vh;
	max-width:100vw;
	top:52vh; left:0; right:40vw; bottom:0;
}


#top .mv{
	height: 70vh;
}

header .gnav a:hover{
	text-decoration:none;
	color:yellow;
}

.opennav,.openburger{
	-webkit-transform:translateX(-180px);
	        transform:translateX(-180px);
}


#blog-news .bigw{
	display:none;
}

#blog-news .smallw {
	display:inline-block;
	margin:0 auto;
	padding:0;
	width:100%;
	text-align:center;
	color:black;
	font-size:16px;
}

.smallw p{
	margin:0;
	line-height:40px;
	height:40px;
}

.smallw a{
	color:black;
	text-decoration:none;	
}
.smallw p:nth-child(1),.smallw p:nth-child(3){
	font-weight:bold;
}
.smallw p:nth-child(2){
	border-top:1px solid #464646;
	border-bottom:1px solid #464646;
	background-color:#caa846;
}

.arrow{
	position:relative;
}
.arrow01:after {
	content:url(images/arrow.svg);
	-webkit-transform:scale(0.4) translateX(-10px) translateY(-50px);
	        transform:scale(0.4) translateX(-10px) translateY(-50px);
	position:absolute;
}

#htcm .cmcopy{
	font-size:30px;	
	padding-top:40px;
}

#concept{
	width:100%;
}

#concept .concept_board{
	margin:20px auto;
	width:90%;
	max-width:700px;
	padding-bottom:20px;
}

.concept_main{
	display:inline-block;
	text-align:left;
	font-size:22px;
	padding-top:30px;
}

.concept_p{
	padding:26px 0 0 42px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:start;
	    -ms-flex-align:start;
	        align-items:flex-start;
	position:relative;
}

.c_left{
	min-width:26px;
}

.hrborder{
	width:90%;
	min-width:200px;
	padding-top:26px;
}

.concept_sub{
	font-size:14px;
	padding:30px 10px;
}

.ser_main{
	margin:0 auto;
	display:initial;
}

.ser_left{
	text-align:center;
	margin:0 auto;
	max-width:90vw;
}

.ser_left img{
	max-height:90vw;
}

#service .imgblock {
    padding: 15px 0;
	width:100%;
}

.ser_table tr, .ser_table th, .ser_table td{
	display:block;
}

.ser_content .left{
	font-size:34px;
}

.ser_text{
	padding:20px 0;
}

.ser_text p{
	margin:26px auto;
}

.popup_content {
  width: 90vw;
  height:70vh;
  padding: 20px;
}

.popup_content img{
	height:100%;
	max-height:55vh;
	max-width:100%;
}

.list_workslide img{
	max-width:44vw;
}

#company #company_main{
	display:initial;
}

.company_img{
	display:none;
}

.company_table{
	display:block;
	width:80%;
	padding:40px;
	margin:0 auto;
}

.tableth{
	width:40%;
}

.tabletd{
	margin-left:8px;
}
.tableborder{
	margin:12px auto;
	width:100%;
}


#access_map{
	padding:20px;
}

#access_map dl{
	width:80%;
}

.map {
	padding:30px 0;
}

.map iframe {
	width:100%;
}

#recruitment .recruitment_main{
	display:initial;
	text-align:center;
}

#recruitment .recruitment_text{
	width:90%;
	
}
#recruitment .recruitment_image{
	width:70%;
	display:block;
	margin:0 auto;
}
.slick-prev:before,.slick-next:before {
	content:"";
}

#contact form{
	width:80%;
	margin:20px auto;
	padding:20px 0;
}

#contact dl{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
	-webkit-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	margin:0;
}
#contact dt{
	width:80%;
	display:inline;
	margin:0 auto;
	text-align:center;
}
#contact dt span.must{
	display:inline;
	margin-left:12px;
}

#contact .input{
}

#contact #button{
}
#contact dd{
	padding:0;
	margin:0 auto;
}

#contact dd input[type="text"],
#contact dd input[type="tel"],
#contact dd input[type="email"],
#contact dd textarea{
	width:60vw;
	margin:0 auto;
	padding:10px;
	font-size:14px;
	font-weight:500;
	color:black;
	background-color:#a9a9a9;
}

#contact dd label{
	background-color:#a9a9a9;
}

#contact dd li{
	padding:5px 10px 5px 0;
}

#contact dd label{
	padding:12px 45px;
}

#contact dl#contact-add{
	margin-left:0;
}

#contact .clearfix #pref,#contact .clearfix #address1,#contact .clearfix #address2,.textfield,textarea{
	width:60vw;
}

#contact dd #zipcode{
	margin-right:10px;
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
}

#contact dl#contact-add dd {
    margin:0 auto;
    padding-bottom: 15px;
}

#contact #button {
    width: 100%;
    margin:20px auto;
}

.form-btn{
	width:40%;
	height:40px;
}

footer{
	height:280px;
}
footer .sitemap ul{
	display:initial;
	padding:0 0 0 14px;
}

footer .sitemap ul li{
	padding:6px;
	font-size:14px;
}


.footer-logo{
	position:relative;
	width:30vw;
	right:10vw;
	top: 25px;
}

}

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

article{
	padding:25px 0 45px 0;
}

h2{
	font-size:32px;
	padding:30px 0;
}

h3{
	text-align:center;
	font-size:28px;
	margin:0;
	padding:20px 0;
}

header .head-logo{
	left:0;
}

#htcm a,#recruitment a{
	font-size:18px;
}

#htcm .cmcopy{
	font-size:24px;	
	padding-top:30px;
}

.smallw p:nth-child(2){
	font-size:10px;
}

#concept .concept_board{
	margin:15px auto;
	width:90%;
	padding:0;
}

.concept_main{
	font-size:16px;
	padding-top:20px;
}

.concept_p{
	width:90%;
	margin:0 auto;
	padding:16px 0 0 0;
}


#concept .hrborder{
	min-width:100px;
	padding-top:14px;
}

.concept_sub{
	font-size:10px;
}

.contactbtn{
	margin:50px auto 0 auto;
	width:240px;
	height:60px;
	line-height:60px;
}

#service .pickup{
	font-size:20px;
	line-height:20px;
}

.ser_right {
	margin:0 12px;
	padding-left:0;
}

.ser_content .left{
	font-size:24px;
}

.ser_content .right{
	font-size:14px;
}

.ser_text{
	width:90%;
	padding:10px 0;
	font-size:14px;
}

.ser_text p{
	margin:36px auto;
}

.popup_content {
  width: 90vw;
  height:80vh;
  padding: 15px;
}


.popup_content img{
	height:100%;
	max-height:55vh;
	max-width:100%;
  -o-object-fit:contain;
     object-fit:contain;
}

.list_workslide img{
	max-width:90vw;
}

.works_text{
	font-size:16px;
	padding:30px 0;
}

.company_table{
	width:90%;
	padding:20px 0;
}

#access_map dl{
	width:100%;
}

.map {
	padding:20px 0;
}

.map iframe {
	max-height:300px;
}

#recruitment #recruitment_contents{
	width:100%;
	padding:20px 0;
	border:none;
}
#recruitment .recruitment_main{
	width:95%;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	    -ms-flex-direction:row;
	        flex-direction:row;
	font-size:18px;
}
#recruitment .recruitment_text{
	line-height:30px;
	width:85%;
	padding:20px 0;
}

.recruitment_image{
	width:60%;
}
.recruitment_image img{
	width:100%;
	padding:20px 0;
}

.cmcopy2 {
	font-size:18px;
	padding:50px 0;
}

#contact dd input[type="text"],
#contact dd input[type="tel"],
#contact dd input[type="email"],
#contact dd textarea{
	padding:4px 10px;
	font-size:12px;
}

#contact dd textarea{
	width:100%;
}

.form-btn{
	font-size:14px;
	width:45%;
}

.footer-logo{
	position:relative;
	width:30vw;
	right:12vw;
	top: 25px;
	padding:0;
}

.footer-logo img{
	width: 180px;
}


.topbutton{
	display:none;
}
}