
html{
    font-size: 62.5%;
}
* {
	margin: 0;
	padding: 0;
}
*::after,
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
@font-face {
	font-family: 'NotoSerifCJKjp-Regular';
	src: url(NotoSerifCJKjp-Regular.otf);
}
body {
    	font-family: 'Rajdhani', 'NotoSerifCJKjp-Regular',  "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	//font-family: 'Rajdhani', "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    min-height: 100%;
    max-width: 100%;
    width: 100%;
    font-size:1.8rem;
	line-height:1.5;
    background: url(images/apmain2.jpg) 0 0 no-repeat fixed;
    background-position: center top;
    background-size: cover;
    -moz-background-size: cover;
    -webkit-background-size: cover;
    -o-background-size: cover;
    position: relative;
    height: auto;
}
body::before {
  background:url(images/apmain2.jpg) no-repeat left top;
  background-position: center top;
  background-size: 100% auto;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 108px;
  content: "";
  z-index: -1;
}
/*#toplogo{
    width:100%;
    height:auto;
    background: url(images/logo8.png) center center no-repeat fixed;
    background-size: auto ;
    z-index: 1;
}*/
#wrapper{
    width:100%;
    height:auto;
}


img{
    vertical-align:middle;
	max-width:100%;
}
a{
    text-decoration:none;
}
ul,ol{
    list-style:none;
}

/* ☟ここからパララックスの設定 */

.contents {
  width: 100%;
  color: #fff;
  display: table;
}
.contents > * {
    display:table-cell;
    vertical-align: middle;
    text-align: center;
}
.fadeDone {
    opacity: 0;
}
#contents1 {
    background: none;
}
#contents2 {
    background-color: rgba(255, 255, 255, 0.82);
    color:#414141;
}
#contents3 {
    width:100%;
    background-color: rgba(255, 255, 255, 0.53);
    max-height: 100%;
    max-width: 100%;
}
#contents4 {
    background-color: rgba(255, 255, 255, 0.72);
}
#contents5 {
    background-color: rgba(0, 0, 0, 0.63);
    height:auto;
}
#contents6 {
    background-color: rgba(148, 208, 245, 0.88);
    height:auto;
}
#contents7 {
    background-color: rgba(0, 0, 0, 0.37);
    height:auto;
}
#contents3 img{
    max-width: 100%;
}



/* ☟ここからナビの設定 */

.inner {
	width: 95%;
	margin: 0 auto;
}
.inner:after {
	content: "";
	clear: both;
	display: block;
}

/* header */
#top-head {
	font-size: 1.6rem;
	top: -100px;
	position: absolute;
	width: 100%;
	margin: 100px 0 0;
	padding: 30px 0 30px;
	line-height: 0.5;
	z-index: 999;
}
#top-head a,
#top-head {
	color: #1f1f1f;
	text-decoration: none;
    background-color: rgba(79, 80, 80, 0.33);
}
#top-head .inner {
	position: relative;
    background: none;
}
#top-head .logo {
	float: left;
	font-size: 2.4rem;
    color: #333;
    background: none;
}
#top-head .logo a {
	float: left;
	font-size: 3.7rem;
    color: rgba(41, 41, 41, 0.92);
    background: none;
 /*   text-shadow: 0.5px 0.5px 0.5px rgba(255, 255, 255, 0.51),
             -0.5px 0.5px 0.5px rgba(255, 255, 255, 0.53),
             0.5px -0.5px 0.5px rgba(255, 255, 255, 0.46),
             -0.5px -0.5px 0.5px rgba(255, 255, 255, 0.52);
    */
}
.logo{
    width: 20%;
    height: auto;
    text-align: left;
    position:relative;
    
}

#global-nav ul {
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 2rem;
    background: none;
}
#global-nav ul li {
	float: left;
	position: relative;
    background: none;
}
#global-nav ul li a {
	padding: 0 1.1vw;
    background: none;
}

/* Btn Hover */
#global-nav ul li:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	bottom: -20px;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
#global-nav ul li:hover:after {
	background: url(images/minnser6.png) no-repeat;
    background-position: center center;
	bottom: -30px;
}


/* Fixed */
#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	padding: 5vh 0;
	height: 12vh;
	background: #fff;
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}

#top-head.fixed .logo a{
	font-size: 3rem;
	color: rgba(3, 29, 100, 0.85);
}
#top-head.fixed #global-nav ul {
    font-size: 3.3rem;
}
#top-head.fixed #global-nav ul li a {
	color: #333;
	padding: 0 0.9vw;
}

/* Fixed Btn Hover */
#top-head.fixed #global-nav ul li:after {
	bottom: -10px;
}
#top-head.fixed #global-nav ul li:hover:after {
	background: url(images/minnser6.png) no-repeat;
    background-position: center center;
	bottom: -35px;
}
 

/* Transition */

#top-head,
#top-head .logo,
#global-nav ul li,
#global-nav ul li a {
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}




/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 25px;
	top: 20px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #666;
	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;
}


a.button{
	font-size:1.2rem;
}

/* page-top */
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 1.232rem;
    z-index: 10000;
}
#page-top a {
	background: #333;
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding: 15px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
    z-index: 10000;
}
#page-top a:hover {
	text-decoration: none;
	background: #333;
    z-index: 10000;
}

/* swiper スライダー */
.swiper-container {
        width: 80vw;
        height: auto;
    	-webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
    }

.swiper-slide {
        width: auto;
        height: auto;
        line-height: 100vh;
        text-align: center;
        font-size: 1.8rem;
        background:none;
        
        /* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }

    .swiper-slide img:nth-child(2){
    display: none;
    }
    .swiper-slide img:nth-child(3){
    display: none;
    }

/* 全体の内容 */

article{
    width:100%;
    margin: 10vh auto;

}

h2{
    display: block;
    font-size:5rem;
    margin: 0 auto;
    letter-spacing: 14px;
}
h3{
    display: block;
    margin: 5px auto;
    font-size:3rem;
    letter-spacing: 10px;
}
/* about */
#about{
    width:100%;
    height:auto;
    margin: 0 auto;
    padding:10vh 0;
}
#about article{
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    justify-content: center;
    -webkit-justify-content: center;
}
.dai{
    width:48%;
    height:auto;
    padding: 4% 8% 4% 8%;
//    float:left;
    font-size: 3rem;
    line-height: 2em;
    text-align: right;
    box-sizing: border-box;
}
.naiyou{
    width:48%;
    height:auto;
    padding:4% 8% 4% 8%;
//    float: right;
    border-left:1px solid #333;
    text-align: left;
    font-size: 2.1rem;
    line-height: 3.5rem;
    box-sizing: border-box;
}


.naiyou h3{
    display: block;
    font-size:4rem;
    letter-spacing: 10px;
}
.naiyou2{
    width:auto;
    height:auto;
    padding: 10% 0;
    margin: 0 auto;
    background-color: cadetblue;
}

/*　HOME */
#contents1 p{
    display: block;
    width: 30px;
    height: 60px;
    padding:0 8px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
    background: url(images/scroll2.png) no-repeat;
    font-size:1.1rem;
    color:white;
    margin:15vh auto 85vh 90vw;
    z-index: 10000;
    -webkit-animation:yajirusi 8s infinite linear;
    -ms-animation:yajirusi 8s infinite linear;
    animation:yajirusi 8s infinite ease;
    box-sizing: border-box;
}
@keyframes yajirusi {
     
    from{
        -ms-transform:translateY(0);
        -webkit-transform:translateY(0);
        transform:translateY(0);
    }
    to{
        -ms-transform:translateY(60vh);
        -webkit-transform:translateY(60vh);
        transform:translateY(60vh);
    }
}


/* concept */
.swiper-wrapper{
    position: relative;
}

#concept{
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height:100%;
    margin: 0 auto;
    z-index: 9999;
    color:white;
    background-color: rgba(0, 0, 0, 0.25);
}
#concept h5,h6{
    display: block;
    width: 100%;
    margin: 10vh auto 0;
    z-index: 9999;
    color:white;
}
#concept h5{
    font-size:5rem;
    letter-spacing: 14px;
}
#concept h6{
    font-size:3rem;
    letter-spacing: 12px;
    line-height:6rem;
}

/* company */
#company{
    width:100%;
    height: auto;
}
#company ul{
    display:block;
    width: 100%;
    height: auto;
    margin: 0 auto 20vh;
    color:#333;
        }
#company li{
    list-style: none;
    padding: 0;
    height: auto;
    margin: 10vh 0;
    font-size:2rem;
    letter-spacing: 10px;
        }
#company li:first-child{
    list-style: none;
    height: auto;
    margin: 10vh auto 3vh;
        }
#company li p{
    float: left;
    line-height: 4rem;
    margin:2vh 0; 
        }
#company li p:first-child{
    padding: 2vh 2.5vw;
    width: 30vw;
    height: auto;
        }
#company li p:nth-child(2){
    padding: 2vh 0 2vh 2.5vw;
    width: 60vw;
    height: auto;
    border-left: 1px #333 solid;
}

/* access */

#map{
    width:100%;
    height:250vh;
}
#contents5 h2{
    margin:10vh auto;
    letter-spacing: 10px;
}
#contents5 h3{
    margin:10vh auto 0;
    letter-spacing: 10px;
}
#contents5 p{
    margin:4vh auto;
    letter-spacing: 10px;
}
iframe{
    margin: 0 auto ;
}

/* recruit */
#contents6 h2{
    margin-top:10vh;
    letter-spacing: 10px;
    color: #333;
}
#contents6 h3{
    color:#333;
}
#recruit{
    height:auto;
    margin: 0 auto;
}
#recruit article{
    margin: 5% auto;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    justify-content: center;
    -webkit-justify-content: center;
}
#recruit .dai{
    width: 45vw;
    height: auto;
    padding: 8% 10% 8% 0;
    font-size: 3rem;
    line-height: 2em;
    text-align: right;
    color:#333;
    box-sizing: border-box;
//    float: left;

}

#recruit .naiyou{
    width: 45vw;
    height: auto;
    padding:8% 0 8% 10%;
    border-left:1px solid #333;
    text-align: left;
    font-size: 2.5rem;
    line-height: 3rem;
    box-sizing: border-box;
//    float: right;

}
#recruit .naiyou h3{
    font-size: 3rem;
}
#recruit ul{
//    background: #AFFFAC;
//    padding: 10px;
    display:block;
    width: 85vw;
    height: auto;
    margin: 0 auto 8%;
    color:#333;
    box-sizing:border-box;
        }
#recruit li{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    justify-content: center;
    -webkit-justify-content: center;
    list-style: none;
    width: 75vw;
    height: auto;
    font-size:1.8rem;
    letter-spacing: 0.6em;
    line-height: 3rem;
    text-align: left;
    padding:5vh 0;
    margin: 0 auto;
}
#recruit li p:first-child{
    padding-right: 3%;
    width: 23vw;
}
#recruit li p:nth-child(2){
    padding-left: 3%;
    width: 62vw;
}

/* contact */
#contents7 h2{
    margin-top:10vh;
    letter-spacing: 10px;
    color: #FFF;
}
#contact article{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    justify-content: center;
    -webkit-justify-content: center;
}

/*お問い合わせフォーム*/
#contact table {
    margin:0 auto;
    text-align : center;
    width:80%;
}

.formtable tr{
    margin:20px auto;
    width:90%;
}
.formtable th{
    margin:0 10px;
    text-align: right;
    width:30%;
    padding:5px;
}
.formtable td{
    margin:0 10px;
    text-align: left;
    padding:10px;
}
textarea{
    width:80%;
    height:auto;
    resize:none;
    border: 2px solid #cccccc;
    border-radius: 6px;
}
input{
    border: 2px solid #cccccc;
    border-radius: 6px;
}

/* footer */
#footer {
    width: 100%;
    display: table;
}
#footer p{
    display:table-cell;
    vertical-align: middle;
    text-align: center;
    font-size:1.9rem;
    line-height: 5rem;
    color:rgba(255, 255, 255, 0.76);
    background: rgba(196, 13, 13, 0.26);
    bottom: 0px;
    box-sizing:border-box;
}

/* ----------mediaqueri---------- */



/*----------small-PC-------------*/



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

        html {
    font-size: 50%;
    }   
    #top-head.fixed .logo a {
    //    font-size: 3rem;
    }
    #top-head.fixed #global-nav ul {
    font-size: 3rem;
    }
    .dai {
    padding: 4% 8% 4% 6%;
    }
}





/*------------tablet-------------*/



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

    html {
    font-size: 38%;
    }
    #top-head.fixed .logo a {
    font-size: 3rem;
    }
    .logo{
    width: 35%;
    height: auto;
    text-align: left;
    position:relative;
    
}
    #top-head.fixed #global-nav ul {
    font-size: 2.5rem;
    }
    .swiper-slide img:first-child{
    display: none;
    }
    .swiper-slide img:nth-child(2){
    display: block;
    }
    .swiper-slide img:nth-child(3){
    display: none;
    }
    #concept h6{
    line-height:2.5rem;
    font-size: 3rem;
    letter-spacing: 10px;
    margin: 7vh auto 0;
    }

    #company ul{
    width: 100%;
    margin: 0 auto 20vh;
        }
    #company li{
    height: auto;
    margin: 5vh 0;
    font-size:2rem;
    letter-spacing: 10px;
        }
#company li:first-child{
    margin: 20vh auto 3vh;
        }
#company li p{
    line-height: 3rem;
        }
#company li p:first-child{
    padding: 2vh 1.5vw;
    width: 30vw;
        }
#company li p:nth-child(2){
    padding: 2vh 0 2vh 1.5vw;
    width: 60vw;
}
    #recruit h2{
            margin: 20vh auto 3vh;
        }
    }
    #recruit .dai {
    width: 48vw;
    padding: 8% 6% 8% 0;
}
    #recruit .naiyou {
    width: 48vw;
    padding: 8% 0 8% 6%;
}
#recruit li {
    width: 75vw;
    height: auto;
    font-size: 1.8rem;
    letter-spacing: 0.6em;
    line-height: 2.5rem;
    padding: 1vh 0;
    
 }
    
    
    
    
    
/*-------------smart-phone-----------*/
    
    
    
@media screen and (max-width: 599px)   {
    html{
        font-size:40%
    }
    body {
    background: none;
    }
    body:before {
    background:url(images/apmain2-s.jpg) no-repeat top;
      background-position: center top;
      background-size: auto 100%;
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100%;
      padding-bottom: 108px;
      content: "";
      z-index: -1;
    }
    #toplogo{
    width:100%;
    height:auto;
    background: none;
    //background-size: auto ;
    content: "";
    z-index: 1;
    }
    #nav-toggle span {
    height: 3px;
    background: #fff;
    }
	#top-head,
	.inner {
		width: 100%;
		padding: 0;
	}
	#top-head {
		top: 0;
		position: fixed;
		margin-top: 0;
	}
    #top-head {
    line-height: 2.8rem;
    }
	/* Fixed reset */
	#top-head.fixed {
	background: rgba(232, 232, 232, 0.52);
    margin-top: 0;
    top: 0;
    padding: 0;
    height: 70px;
    }
    #top-head.fixed .logo a {
    font-size: 3rem;
    text-shadow:none;
    color:rgba(255, 255, 255, 0.78);
    }
    .logo{
    width: 60%;
    height: auto;
    text-align: left;
    position:relative;
    
}
    #toplogo{
    background: url(images/aplogo.png) center center no-repeat fixed;
    }
    #top-head .logo a {
	
    text-shadow: 1px 1px 1px rgba(131, 131, 131, 0.51),
             -1px 1px 1px rgba(206, 206, 206, 0.51),
             1px -1px 1px rgba(206, 206, 206, 0.51),
             -1px -1px 1px rgba(206, 206, 206, 0.51);
}
    #page-top a {
	font-size: 2.3rem;
}
	#mobile-head {
		background: #fff;
		width: 100%;
		height: 0px;
		z-index: 999;
		position: relative;
	}
	#top-head.fixed .logo,
	#top-head .logo {
		position: absolute;
		left: 13px;
		top: 13px;
		color: #333;
		//font-size: 26px;
	}

	#global-nav {
		position: absolute;
		/* 開いてないときは画面外に配置 */
		top: -510px;
		background: #333;
		width: 100%;
		text-align: center;
		padding: 0 0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	#global-nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 3rem;
        letter-spacing: 1rem;
        margin:0 auto;
	}
	#global-nav ul li {
		float: none;
		position: static;
	}
	#global-nav ul li:after  {
		display: none;
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		width: 100%;
		display: block;
		color: #fff;
		padding: 18px 0;
	}
 	#top-head #global-nav ul li a:hover,
	#top-head.fixed #global-nav ul li a:hover{
        color: #333;
        background: #fff;
    }
	#nav-toggle {
		display: block;
	}
	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	/* #global-nav スライドアニメーション */
	.open #global-nav {
		/* #global-nav top + #mobile-head height */
		-moz-transform: translateY(556px);
		-webkit-transform: translateY(556px);
		transform: translateY(556px);
	}
	/* page-topなし
    #page-top{
        display: none;
    }*/
    #contents1 p{
        display: none;    
    }
    .swiper-container {
        width: 100vw;
    }
    .swiper-slide img:first-child{
    display: none;
    }
    .swiper-slide img:nth-child(2){
    display: none;
    }
    .swiper-slide img:nth-child(3){
    display: block;
    }
    
    
    #about article{
    display: block;
    }
    #about .dai{
    margin:0 auto;
    width:80vw;
    height:auto;
    padding: 10% 1% 10% 1%;
    font-size: 3rem;
    line-height: 4rem;
    letter-spacing: 5px;
    text-align: center;
    }
    #about .naiyou{
    margin:0 auto;
    width:80vw;
    height:auto;
    padding: 10% 5% 5% 5%;
    border-left:none;
    border-top:1px solid #333;
    text-align: left;
    font-size: 2.5rem;
    line-height: 4rem;
    letter-spacing: 3px;
    box-sizing: border-box;
    }
    #concept br{
        display: none;
    }
    #concept h6 {
    margin: 7vh auto;
    font-size: 3rem;
    line-height:6rem;
    letter-spacing: 6px;
    box-sizing: border-box;
    width:60vw;
    text-align: center;
    }
    #company li {
    font-size: 2rem;
    letter-spacing: 5px;
    }
    #company li p {
    float: none;
    line-height: 2.5rem;
    margin: 2vh 0;
    }
    #company li p:first-child {
    margin: 0 auto;
    padding: 2vh auto;
    width: 80vw;
    }
    #company li p:nth-child(2) {
    margin: 0 auto;
    padding: 2vh auto;
    width: 80vw;
    height: auto;
    border-left: none;
    border-top: 1px #333 solid;
    }
    #company ul {
    margin: 0 auto 15vh;
    }
    #contents5 p {
    width:80vw;
    margin: 4vh auto;
    letter-spacing: 10px;
    }
    #recruit article{
    margin: 5% auto;
    display: block;
    }
    #recruit .dai{
    margin:0 auto;
    width: 80vw;
    height: auto;
    padding: 10vh 0;
    font-size: 3rem;
    line-height: 2em;
    text-align: right;
    color:#333;
    box-sizing: border-box;
    }

    #recruit .naiyou{
    margin:0 auto;
    width: 80vw;
    height: auto;
    padding: 10vh 0;
    border-left: none;
    border-top:1px solid #333;
    text-align: left;
    font-size: 2.5rem;
    line-height: 3rem;
    box-sizing: border-box;
    }
    
    #recruit .dai p{
    margin: 0 auto;
    text-align:center;
    }
    #recruit .naiyou h3{
    margin: 0 auto;
    text-align:center;
    }
    #recruit li p:first-child {
    padding-right: 1%;
    width: 30vw;
    }
    #recruit li p:nth-child(2) {
    padding-left: 1%;
    width: 55vw;
    }
    #recruit ul {
    width: 80vw;
    }
    #recruit li {
    width: 80vw;
    height: auto;
    font-size: 2.3rem;
    letter-spacing: 0.3rem;
    line-height: 2.5rem;
    padding: 3vh 0;
    }
    #contact table {
    margin:0 auto;
    text-align : center;
    width:90%;
}

}