@charset "utf-8";

@media screen and (max-width: 1023px){
/* Init tags
================================================*/
/*--- reset */
* {
    margin:0;
    padding:0;
    outline:0;
    vertical-align:baseline;
	box-sizing: border-box;
}


h1, h2, h3, h4, h5, h6, p {
	margin: 0;
}

address, em, cite, dfn, var {
  font-style: normal;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

ul {
	list-style:none;
	padding:0;
}
li {
	padding:0;
}

table {
  border-collapse: collapse;
}

table th{
  vertical-align:top;
}

input, select {
    vertical-align:middle;
}

a{
	text-decoration:none;
	color: #001841;
}

a {
    -webkit-tap-highlight-color:transparent;
}

a:hover{
	color: #444;
	text-decoration:none;
}

a img {
    border-style:none;
}

	
html,body {  
  -webkit-text-size-adjust: none;  
} 


body {
    margin:0;
	width:100%; 
    font: 3.8vmin/5.5vmin 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',Verdana,Arial,sans-serif;
	color: #444;
	background:#fff;
}



.center{
	text-align:center;
	margin:0 auto;
}

.left{
	text-align:left;
}


.right{
	text-align:right;
}

.right2 {
	text-align:right;
	padding-right: 30px;
}

img{
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}


.clearfix:after {
	content: ".";
	display: block;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0; 
	clear: both;
	visibility: hidden; 
}

.service{
	margin: 0px auto;
	text-align:left;
	font-size: 14px;
	line-height: 20px;
}

.s-img{
	margin: 10px 0;	
}

/* ---------------------------------------------------------------------
none
--------------------------------------------------------------------- */

.sp-none{
	display:none;
}



/* ---------------------------------------------------------------------
header
--------------------------------------------------------------------- */
#main{
	margin:0;
	overflow:hidden;
}

  
#header{
	height: 60px;
	width: 100%;
	background: rgb(255,255,255,0.8);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}


h1{
	margin:5px auto 0;
	width: 60px;
}


.menu{
	margin:6px auto 0;
}

.fmenu{
	padding-top:10px;
}

.menu li,
.fmenu li{
	list-style:none;
	float:left;
	text-align: center;
	width: 20%;
}

.menu li img,
.fmenu li img{
	height: 15px;
}

.mv {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
 
.mv-wrap {
  position: relative;
  height: 350px;
}
 
video {
  display: block;
  width: 100%;
  height: 350px;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
 
.mv-bg {
  display: block;
  width: 100%;
  height: 250px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.top-txt{
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.top-txt img{
	width: 70px;
}


#footer-banner{
	width: 100%;
	background:url("../images/footer-bg.jpg") no-repeat center bottom;
	background-size:cover;
	text-align:center;
	padding:120px 20% 100px;
	font-size: 18px;
	color: #fff;
}

#footer-banner img{
	width: 80px;
}


.contents{
	margin: 0 auto;
	padding:5px;
	text-align:left;
}

.news {
	width: 90%;
	margin: 0 auto;
	text-align: left;
}

.news table{
	width: 100%;
}

.news tr{
		border-bottom: 1px solid #cecece;
}

.news th{
		text-align: left;
		font-weight: normal;
		vertical-align: top;
		width: 100px;
		padding: 10px 0;
}

.news td{
		text-align: left;
		vertical-align: top;
		padding: 10px 0;
}

.news span{
	color: #812b96;
	font-weight: bold;
}

.about{
	text-align: center;
	margin: 8% 2%;
}

.about2{
	margin: 5% 5%;
}

#service{
	margin:0;
}

.service{
	text-align: center;
	margin: 8% 0;
}

.service2{
	text-align: center;
	border:1px solid #001841;
	margin: 5%;
	padding: 3%;
}

.service3{
	text-align: center;
	margin: 5%;
}

.title{
	background: -webkit-linear-gradient(transparent 0%, transparent 60%, #e2e2e2 60%, #e2e2e2 100%);
	background: -o-linear-gradient(transparent 0%, transparent 60%, #e2e2e2 60%, #e2e2e2 100%);
	background: linear-gradient(transparent 0%, transparent 60%, #e2e2e2 60%, #e2e2e2 100%);
	margin: 2% 0;
	padding-left:2%;
}

.title img{
	height: 24px;
}

.service4{
	margin: 2%;
}

.service4 p{
	margin: 0 2%;
}

.service5{
	margin: 8% 0 5%;
}

.service5 img{
	height: 24px;
}

.service6{
	margin: 5%;
	text-align: center;
}

.service8{
	margin:5% 0;
	text-align: center;
}


.contact{
	margin: 20px 10px;
	text-align:center;
}

.tel{
	font-size: 30px;
	margin: 20px 0;
	font-weight: bold;
}

.pt-btn{
	width: 98%;
	margin: 4% 1%;
	background: url("../images/ar.svg")no-repeat 98% #812b96;
	background-size: 10px;
	padding: 20px 0;
	box-sizing: border-box;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	margin: 15px auto;
}

.pt-btn a{
	color: #fff;
	text-decoration: none;
	display: block;
}

.c-f{
	margin: 20px 0;
}


.company{
	text-align:left;
	padding:2%;
	line-height: 7.0vw;
}



.company-area dl {

}

.company-area dt {
	float:left;
 
}

.company-area dd {
 	margin-left:25%;
	
}


.recruitment{
	margin: 10px 20px;
	text-align:left;
}

.company-photo img{
	width: 100%;
	margin: 20px auto;
}

#map {
	height:320px;
	width:100%;
	margin:0;
}

/* ---------------------------------------------------------------------
Footer
--------------------------------------------------------------------- */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	
}

#page-top img{
	width:40px;
	height:40px;

}

#footer{
	background: #fff;
	padding:0;
	text-align:center;
	color:#000;
}


#footer li:last-child{
	border-right:none;
}

#footer a{
	color: #fff;
	display: block;
}


#footer .logo {
	padding-top: 20px;
	margin: 0 auto;
}

#footer .logo img{
	width: 150px;
}

address {
	margin:0px auto;
	font-size: 10px;
	padding:20px 0;

}



}





@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (max-width: 320px){
}