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

/* reset */

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

ol, ul {
list-style: none;
}
img{
margin:0;
padding:0;
vertical-align:bottom;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
a {
	text-decoration:none;
}
a:hover{
	opacity:0.7;
}

.aligncenter{
	text-align:center;
}

.flex{
	display:flex;
}

.flex_wrap{
	flex-wrap: wrap;
}

.flex_between{
	justify-content: space-between;
}
.flex_center{
	align-items: center;
}

.small{
	font-size:14px;
}

.pt00{padding-top:0 !important;}

.mt00{margin-top:0 !important;}
.mt05{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}
.mt55{margin-top:55px !important;}
.mt60{margin-top:60px !important;}
.mt65{margin-top:65px !important;}
.mt70{margin-top:70px !important;}

.mb00{margin-bottom:0 !important;}
.mb05{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}
.mb55{margin-bottom:55px !important;}
.mb60{margin-bottom:60px !important;}
.mb65{margin-bottom:65px !important;}
.mb70{margin-bottom:70px !important;}

.pc_none{
	display:none !important;
}
.pc_none_inline{
	display:none;
}


/*-------------------------------------------*/

body {
	font-size:14px;
	line-height:1.7;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	color:#282624;
}
.wrap{
	position:relative;
	z-index: 10;
	background-color:#FFF;
	-webkit-transition: transform .7s ease-in-out;
  -moz-transition: transform .7s ease-in-out;
  -ms-transition: transform .7s ease-in-out;
  -o-transition: transform .7s ease-in-out;
  transition: transform .7s ease-in-out;
}
.btn_outer{
	display:flex;
	justify-content:center;
}
.more_btn{
  display: inline-block;
  position: relative;
  background: none;
  border: none;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  margin: 80px auto 0;
}
.more_btn a{
  display: block;
  padding: 15px 40px;
}
.more_btn a:hover{
	opacity:1;
}
.more_btn::before, .more_btn::after{
  content:"";
  width: 0;
  height: 2px;
  position: absolute;
  transition: all 0.2s linear;
  background: #EB0000;
}

.more_btn a::before, .more_btn a::after{
  content:"";
  width:2px;
  height:0;
  position: absolute;
  transition: all 0.2s linear;
  background: #EB0000;
}
.more_btn:hover::before, .more_btn:hover::after{
  width: 100%;
}
.more_btn:hover a::before, .more_btn:hover a::after{
  height: 100%;
}
.btn-2::before, .btn-2::after{
  transition-delay: 0s;
}
.btn-2 a::before, .btn-2 a::after{
  transition-delay: 0.2s;
}
.btn-2::before{
  right: 0;
  top: 0;
}
.btn-2::after{
  left: 0;
  bottom: 0;
}
.btn-2 a::before{
  left: 0;
  top: 0;
}
.btn-2 a::after{
  right: 0;
  bottom: 0;
}
.btn-2:hover::before, .btn-2:hover::after{
  transition-delay: 0.2s;
}
.btn-2:hover a::before, .btn-2:hover a::after{
  transition-delay: 0s;
}


/*------------------------------------------- 
  header*/
.top_bg{
	background-image:url(images/top_bg01.jpg);
	background-size:cover;
	width:100%;
	height:100vh;
	position:relative;
}
.scroll_btn{
	position:absolute;
	bottom:180px;
	left:50%;
}
.scroll_btn a{
	padding-top: 70px;
}
.scroll_btn a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-left: -25px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -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);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}

header{
	min-width:960px;
	width:100%;
	margin:0 auto;
	display:flex;
	position:fixed;
	z-index:9999;
	-webkit-transition: transform .7s ease-in-out;
  -moz-transition: transform .7s ease-in-out;
  -ms-transition: transform .7s ease-in-out;
  -o-transition: transform .7s ease-in-out;
  transition: transform .7s ease-in-out;
}
.header_inner{
	display:flex;
	justify-content:space-between;
	width:100%;
}

.top .header_inner{
	background-color:rgba(0,0,0,0.3);
}

.header_inner .header_left{
	display:flex;
	align-items:center;
}
.header_inner .header_left h1 a:hover{
	opacity:1;
}
.header_inner .header_left .header_txt{
	margin:0 0 0 30px;
}
.header_inner .header_right{
	display:flex;
}
.header_inner .header_right .header_nav{
	display:flex;
}
.header_inner .header_right .header_nav ul{
	display:flex;
	align-items:center;
	margin:30px 0 40px;
}
.header_inner .header_right .header_nav ul li{
	margin:0 0 0 20px;
}
.header_inner .header_right .header_nav ul li.rec a{
	border:#FFF 1px solid;
	padding:5px 10px;
	color:#fff;
}
.header_inner .header_right .header_nav ul li.rec a:hover{
	background-color:#FFF;
	color:#EB0000;
}
.header_inner .header_right .header_nav a{
	color:#FFF;
	position: relative;
  	display: inline-block;
  	text-decoration: none;
}
.header_inner .header_right .header_nav a:hover{
	opacity:1;
}
.header_inner .header_right .header_nav a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #EB0000;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.header_inner .header_right .header_nav a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.header_inner .header_right .header_nav .rec a:hover::after {
  transform-origin: left top;
  transform: scale(0, 0);
}

.header_inner .header_right .header_toggle{
	background-color:#EB0000;
	padding:34px 10px 50px;
	margin:0 0 0 20px;
}

.nav-toggle{
    display: block;
	margin:0 10px 0;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
.nav-toggle div{
    position: relative;
}
.nav-toggle span{
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.nav-toggle span:nth-child(1){
    top: 0;
}
.nav-toggle span:nth-child(2){
    top: 11px;
}
.nav-toggle span:nth-child(3){
    top: 22px;
}
.nav-toggle .header_fb{
	top: 40px;
	color:#FFF;
	text-align:center;
	font-size:20px;
}
/*------------------------------------------- 
  column*/
.column{
	padding:100px 0;
}
.column_name{
	text-align:center;
	font-weight:bold;
	font-size:18px;
	font-family: 'Roboto', sans-serif;
}
.column_itemname{
	text-align:center;
	font-weight:bold;
}
.column .column_ttl{
	font-size:30px;
	font-weight:bold;
	margin:28px 0 0;
	text-align:center;
}
.column .column_txt{
	margin:28px 0 0;
}
.column .more_btn{
	text-align:center;
	font-size:14px;
}
.column .more_btn a{
	color:#333;
	background-color:#eee;
}


/*------------------------------------------- 
  panel*/
.panel{
	display:flex;
	justify-content:center;
	width:100%;
}
.panel .column_box{
	width:600px;
	padding:140px 60px 60px;
}
.equipment .more_btn a{
	background-color:#fff;
}



/*------------------------------------------- 
  company*/
.company{
	background-image:url(images/top_bg02.jpg);
	background-size:cover;
	padding:100px 0;
}
.company .column_box{
	background-image:url(images/company_bg.svg);
	background-position:left top;
	background-repeat:no-repeat;
	background-color:#FFF;
	margin:0;
	z-index:100;

}

/*------------------------------------------- 
  service*/
.service_list{
	display:flex;
	justify-content:space-between;
	width:900px;
	margin:60px auto 0;
}
.service_list a{
	color:#282624;
}
.service_left,.service_right{
	width:280px;
}
.service_left .service_img img,.service_right .service_img img{
	width:100%;
}
.service_list p{
	text-align:center;
	font-weight:bold;
}
.service_list .service_name{
	margin:40px 0 0;
}
.service_list .service_icon{
	margin:20px 0 0;
}

/*------------------------------------------- 
  infomation*/
.information{
	background-color:#F0F0EE;
}
.info_list{
	margin:40px 0 0;
}
.info_list li{
	display:flex;
	width:600px;
	margin:10px auto 0;
	font-size:14px;
}
.info_list li:first-child{
	margin:0 auto;
}
.info_list li a{
	color:#555;
}
.info_list li .info_date{
	margin:0 20px 0 0;
}

/*------------------------------------------- 
  equipment,heater,recruit*/
.equipment{
	background-image:url(images/panel_bgimg01.jpg);
	background-size:cover;
	background-position:center center;
	padding:500px 0;
}
.equipment .column_box{
	background-image:url(images/equipment_bg01.svg),url(../images/equipment_bg02.svg);
	background-position:center 30px,20px 20px;
	background-repeat:no-repeat, no-repeat;
	background-color:#EFEFEC;
}
.heater{
	background-image:url(images/panel_bgimg02.jpg);
	background-size:cover;
	background-position:center center;
	padding:500px 0;
}
.heater .column_box{
	background-image:url(images/heater_bg01.svg),url(../images/heater_bg02.png);
	background-position:center 30px,20px 20px;
	background-repeat:no-repeat,no-repeat;
	background-color:#FDA100;
}
.heater .column_ttl{
	color:#FFF;
}
.heater .more_btn a{
	color:#FDA100;
	background-color:#FFF;
}

.recruit{
	background-image:url(images/panel_bg05.jpg);
	background-size:100%;
	background-position:bottom top;
	background-repeat:no-repeat;
	padding:500px 0 0;
}

.recruit .column_box{
	background-image:url(images/recruit_bg01.png);
	background-position:center 50px;
	background-repeat:no-repeat;
	background-color:#CF111B;
}
.recruit .column_name{
	color:#FFF;
}
.recruit .column_ttl{
	color:#FFF;
}
.recruit .column_txt{
	color:#FFF;
}
.recruit .more_btn a{
	color:#CF111B;
	background-color:#FFF;
}

/*------------------------------------------- 
  staff*/
.staff_list{
	display:flex;
	justify-content:center;
	margin:40px 0 0;
}
.staff_list li .staff_txt{
	display:flex;
	justify-content:center;
}
.staff_list li .tate{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size:16px;
	line-height:1.9;
	font-weight:bold;
	margin:40px 0 0;
}
.staff .more_btn{
	text-align:center;
	margin:80px 0 0;
	font-size:14px;
}
.staff .more_btn a{
	padding:15px 40px;
	color:#333;
}



/*------------------------------------------- 
  gallery*/
.gallery .more_btn{
	text-align:center;
	margin:40px 0 0;
	font-size:14px;
}
.gallery .more_btn a{
	padding:15px 40px;
	color:#333;
}


.gallery {
	background: #fff;
	overflow: hidden;
}
.slide_wide {
	max-width: 100%;
	margin: 0 auto;
	padding: 40px 0;
}
.gallery .slide_wide02 {
	width:930px;
}

.slide {
	max-width: 340px;
	margin: 0 auto;
	padding: 0;
}
.slide .slick-list {
	overflow: visible;
}
.slide .slick-track {}
.slide .slick-slide {
	padding: 0 10px;
	transition-duration: 0.3s;
}
.slide .slick-slide.slick-current {
	opacity: 1;
}
.slide .slick-slide a {
	display: block;
}
.slide .slick-slide a:hover {
	display: block;
	opacity: .7;
}
.slide img {
	height: auto;
	width: 100%;
}

.slide_wide .slick-initialized .slick-slide{
	width:306px;
	height:190px;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
}

.gallery_page .outer .main_content{
	width:960px;
}
.gallery_thum{
	display:flex;
	flex-wrap:wrap;
	width:960px;
	margin:60px auto 0;
}
.gallery_thum .item{
	width:300px;
	height:190px;
	overflow:hidden;
	margin:0 10px 20px;
	display:flex;
	justify-content:center;
	align-items:center;
}
.gallery_thum .item img{
	width:100%;
}

/*------------------------------------------- 
  footer*/
footer{
	padding:0 0 40px;
}
.footer_nav ul{
	display:flex;
	justify-content:space-between;
	width:960px;
	margin:80px auto 0;
}
.footer_inner{
	width:90%;
	margin:80px auto 0;
	display:flex;
	justify-content:space-between;
}
.footer_inner .footer_left{
	display:flex;
	align-items: flex-end;
	font-size:12px;
}
.footer_inner .footer_left .address{
	margin:0 0 0 80px;
}
.footer_inner .footer_left .ad_cap{
	font-size:16px;
	font-weight:bold;
}
.footer_inner .footer_left .ad_en{
	margin:20px 0 0;
	font-size:10px;
}

.footer_inner .footer_right .footer_subnav{
	font-size:14px;
	text-align:right;
}
.footer_inner .footer_right .footer_subnav a{
	color:#333;
}
.footer_inner .footer_right .info_txt{
	margin:20px 0 0;
	font-size:12px;
	text-align:right;
}

.copyright{
	margin:20px auto 0;
	width:90%;
	font-size:12px;
}

/*------------------------------------------- 
  menu*/

.sidebar {
  height: 100%;
  width: 300px;
  position: fixed;
  top: 0;
  z-index: 1;
  right: 0;
  background-color: #EB0000;
}
.sidebar-list {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  margin-top: 80px;
}

.sidebar-item {
  margin: 20px 0;
  padding:0 0 0 60px;
  text-align:left;
  opacity: 0;
  -webkit-transform: translateY(-20px);
  -moz-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  -o-transform: translateY(-20px);
  transform: translateY(-20px);
}

.sidebar-item:first-child {
  -webkit-transition: all .7s .2s ease-in-out;
  -moz-transition: all .7s .2s ease-in-out;
  -ms-transition: all .7s .2s ease-in-out;
  -o-transition: all .7s .2s ease-in-out;
  transition: all .7s .2s ease-in-out;
}

.sidebar-item:nth-child(2) {
  -webkit-transition: all .7s .3s ease-in-out;
  -moz-transition: all .7s .3s ease-in-out;
  -ms-transition: all .7s .3s ease-in-out;
  -o-transition: all .7s .3s ease-in-out;
  transition: all .7s .3s ease-in-out;
}

.sidebar-item:nth-child(3) {
  -webkit-transition: all .7s .4s ease-in-out;
  -moz-transition: all .7s .4s ease-in-out;
  -ms-transition: all .7s .4s ease-in-out;
  -o-transition: all .7s .4s ease-in-out;
  transition: all .7s .4s ease-in-out;
}
.sidebar-item:nth-child(4) {
  -webkit-transition: all .7s .5s ease-in-out;
  -moz-transition: all .7s .5s ease-in-out;
  -ms-transition: all .7s .5s ease-in-out;
  -o-transition: all .7s .5s ease-in-out;
  transition: all .7s .5s ease-in-out;
}
.sidebar-item:nth-child(5) {
  -webkit-transition: all .7s .6s ease-in-out;
  -moz-transition: all .7s .6s ease-in-out;
  -ms-transition: all .7s .6s ease-in-out;
  -o-transition: all .7s .6s ease-in-out;
  transition: all .7s .6s ease-in-out;
}
.sidebar-item:nth-child(6) {
  -webkit-transition: all .7s .7s ease-in-out;
  -moz-transition: all .7s .7s ease-in-out;
  -ms-transition: all .7s .7s ease-in-out;
  -o-transition: all .7s .7s ease-in-out;
  transition: all .7s .7s ease-in-out;
}
.sidebar-item:nth-child(7) {
  -webkit-transition: all .7s .8s ease-in-out;
  -moz-transition: all .7s .8s ease-in-out;
  -ms-transition: all .7s .8s ease-in-out;
  -o-transition: all .7s .8s ease-in-out;
  transition: all .7s .8s ease-in-out;
}
.sidebar-item:nth-child(8) {
  -webkit-transition: all .7s .9s ease-in-out;
  -moz-transition: all .7s .9s ease-in-out;
  -ms-transition: all .7s .9s ease-in-out;
  -o-transition: all .7s .9s ease-in-out;
  transition: all .7s .9s ease-in-out;
}
.sidebar-item:nth-child(9) {
  -webkit-transition: all .7s 1s ease-in-out;
  -moz-transition: all .7s 1s ease-in-out;
  -ms-transition: all .7s 1s ease-in-out;
  -o-transition: all .7s 1s ease-in-out;
  transition: all .7s 1s ease-in-out;
}

.sidebar-item:last-child {
  -webkit-transition: all .7s 1.1s ease-in-out;
  -moz-transition: all .7s 1.1s ease-in-out;
  -ms-transition: all .7s 1.1s ease-in-out;
  -o-transition: all .7s 1.1s ease-in-out;
  transition: all .7s 1.1s ease-in-out;
}

.sidebar-item.active {
  opacity: 1;
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  -ms-transform: translateY(0px);
  -o-transform: translateY(0px);
  transform: translateY(0px);
}

.sidebar-anchor {
  color: #FFF;
  text-decoration: none;
  font-size: 16px;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 7px;
}

.move-to-left {
  -webkit-transform: translateX(-300px);
  -moz-transform: translateX(-300px);
  -ms-transform: translateX(-300px);
  -o-transform: translateX(-300px);
  transform: translateX(-300px);
}
.sidebar .menu_logo{
	padding:0 0 0 60px;
	margin:40px 0 0;
}
@media only screen and (max-width: 768px){
	.sidebar {
	  width: 74%;
	}
	.move-to-left {
	  -webkit-transform: translateX(-74%);
	  -moz-transform: translateX(-74%);
	  -ms-transform: translateX(-74%);
	  -o-transform: translateX(-74%);
	  transform: translateX(-74%);
	}
}


@media only screen and (max-width: 768px){
	.sp_none{
		display:none !important;
	}
	.pc_none{
		display:block !important;
	}
	/*------------------------------------------- 
    header*/
	.top_bg{
		background-image:url(images/top_bg01_sp.jpg);
		background-position:center center;
	}
	header{
		min-width:100%;
		background-color:#fff;
	}
	header .header_logo{
		width:80px;
	}
	header .header_logo img{
		width:100%;
	}
	.header_inner {
		align-items:center;
	}
	.top .header_inner{
		background-color:rgba(0,0,0,0);
	}
	.header_inner .header_right .header_nav ul{
		display:none;
	}
	.header_inner .header_right .header_toggle{
		background-color:#FFF;
		padding:10px 10px 0;
		margin:0;
	}
	.nav-toggle span{
		background-color:#333;
	}
	.nav-toggle .header_fb{
		display:none;
	}
	/*------------------------------------------- 
  	column*/
	.column .column_ttl{
		font-size:4.5vmin;
	}
	/*------------------------------------------- 
  	service*/
	.service_list{
		display:block;
		width:80%;
	}
	.service_left,.service_right{
		width:100%;
		margin:40px 0 0;
	}
	.service_list .service_img img{
		width:100%;
	}
	.service_list .service_right{
		margin:40px 0 0;
	}
	/*------------------------------------------- 
    infomation*/
	.info_list li{
		width:80%;
	}
	/*------------------------------------------- 
	panel*/
	.panel .column_box{
		width:90%;
		padding:140px 30px 30px;
	}
	.panel .dmmy_img{
		width:90%;
	}
	.panel .dmmy_img img{
		width:100%;
	}
	.equipment,.heater{
		padding:200px 0;
	}
	.recruit{
		padding:200px 0 0;
	}
	/*------------------------------------------- 
  	staff*/
	.staff_list{
		display:block;
	}
	.staff_list li{
		margin:0 auto;
		width:60%;
	}
	.staff_list li img{
		width:100%;
	}
	/*------------------------------------------- 
  	gallery*/
	.gallery_page .outer .main_content{
		width:90%;
	}
	.gallery_thum{
		width:100%;
	}
	.gallery_thum .item{
		width:48%;
		height:140px;
		margin:0 1% 20px;
	}
	
	/*------------------------------------------- 
  	footer*/
	.footer_nav ul{
		flex-wrap: wrap;
		width:90%;
	}
	.footer_nav ul li{
		width:46%;
		margin:0 0 40px;
	}
	.footer_nav ul li img{
		width:100%;
	}
	.footer_inner{
		display:block;
	}
	
	.footer_inner .footer_logo{

	}
	.footer_inner .footer_left{
		display:block;
	}
	.footer_inner .footer_left .address{
		margin:40px auto 0;
	}
	.footer_inner .footer_right{
		margin:20px 0 0;
	}
	.footer_inner .footer_right .footer_subnav,
	.footer_inner .footer_right .info_txt{
		text-align:left;
	}
	footer .copyright{
		text-align:center;
	}
	
	/*------------------------------------------- 
  	menu*/
	.sidebar {
	  width: 74%;
	}
	.move-to-left {
	  -webkit-transform: translateX(-74%);
	  -moz-transform: translateX(-74%);
	  -ms-transform: translateX(-74%);
	  -o-transform: translateX(-74%);
	  transform: translateX(-74%);
	}
	
	

}
@media print{
	header{
		position:relative;
	}
	.sidebar{
		display:none;
	}
}