@charset "utf-8";
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Recruit Top CSS
KeyColor : #c7000b

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

div#page {
padding:0 0 20px;
background-color: #0B0D07;
}
#page ul {
margin:0;
padding-left:0;
}
#secnd-navi {
background-color:#FFF;
}
#secnd-navi .cg-wrap {
/*padding-bottom:20px;*/
}

section.main {
position: relative;
text-align: center;
}
section.main::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(../img/index/bg-main.jpg) center center no-repeat;
background-size: cover;
z-index: 1;
opacity: 0;

-webkit-transition: opacity 2s;
-ms-transition: opacity 2s;
transition: opacity 2s;
}
.no_anim section.main::before {
opacity: 1;

-webkit-transition: none;
-ms-transition: none;
transition: none;
}
section.main.on::before {
opacity: 1;
}
section.main h2 {
display: inline-block;
position: relative;
width: calc(43vw + 220px);
margin: 10vw 0 25vw;
padding: 110px;
z-index: 2;
}

section.main h2::before,
section.main h2::after,
section.main h2 .border::before,
section.main h2 .border::after {
content: "";
display: block;
position: absolute;
background: #FFF;

-webkit-transition: width .3s, height .3s;
-ms-transition: width .3s, height .3s;
transition: width .3s, height .3s;
}

section.main h2::before {
width: 0;
height: 1px;
top: 0;
left: 0;
}
section.main h2.top::before {
width: 100%;
}
section.main h2::after {
width: 1px;
height: 0;
top: 0;
right: 0;
}
section.main h2.right::after {
height: 100%;
}
section.main h2 .border::before {
width: 0;
height: 1px;
bottom: 0;
right: 0;
}
section.main h2.bottom .border::before {
width: 100%;
}
section.main h2 .border::after {
width: 1px;
height: 0;
bottom: 0;
left: 0;
}
section.main h2.left .border::after {
height: 100%;
}

.no_anim section.main h2::before,
.no_anim section.main h2::after,
.no_anim section.main h2 .border::before,
.no_anim section.main h2 .border::after {
-webkit-transition: none;
-ms-transition: none;
transition: none;
}
.no_anim section.main h2::before,
.no_anim section.main h2 .border::before {
width: 100%;
}
.no_anim section.main h2::after,
.no_anim section.main h2 .border::after {
height: 100%;
}

section.main h2 > img {
width:100%;
height:auto;
margin-bottom: 3vw;
opacity: 0;
}
.no_anim section.main h2 > .copy1,
.no_anim section.main h2 > .copy2 {
opacity: 1;

-webkit-transition: none;
-ms-transition: none;
transition: none;
}
section.main h2 > .copy1.on,
section.main h2 > .copy2.on {
opacity: 1;

-webkit-transition: opacity 4s;
-ms-transition: opacity 4s;
transition: opacity 4s;
}
section.main h2 span {
position: relative;
display:block;
padding-top:2vw;
}
section.main h2 span::before {
position: absolute;
content:"";
width: 0;
height:3px;
top:0;
background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 40%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 40%,rgba(255,255,255,0) 100%);
background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 40%,rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );

-webkit-transition: width .5s;
-ms-transition: width .5s;
transition: width .5s;
}
.no_anim section.main h2 span::before {
width: 100%;

-webkit-transition: none;
-ms-transition: none;
transition: none;
}
section.main h2 span.on::before {
width: 100%;
}
section.main h2 span img {
width: 100%;
height: auto;
opacity: 0;
}
.no_anim section.main h2 span img {
opacity: 1;

-webkit-transition: none;
-ms-transition: none;
transition: none;
}
section.main h2 span img.on {
opacity: 1;

-webkit-transition: opacity 4s;
-ms-transition: opacity 4s;
transition: opacity 4s;
}

section.lead {
background-color: #0B0D07;
padding:60px 0 80px;
}
section.lead p {
text-align: center;
font-size:1.8rem;
line-height: 2.4;
color:#FFF;
font-family: "FP-ヒラギノUD角ゴ StdN W6", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
}
section.contents {
margin-bottom:80px;
}
section.contents ul {
position:relative;
width:calc(100% - 40px);
max-width:1400px;
margin:0 auto !important;
list-style-type: none;
}
section.contents ul li {
text-align: center;
overflow: hidden;
float:none;
margin-right:0
}
section.contents ul li a {
position:relative;
display: block;
}
section.contents ul li h3 {
position: relative;
display: inline-block;
width: 80%;
max-width: 450px;
margin: 8em 0;
padding: 0.8em 0;
font-size: 2.6rem;
color: #FFF;
border: 1px solid #FFF;
z-index: 2;
transition: background-color 2s;
}
section.contents ul li .banner-over {
position:absolute;
display:block;
width:100%;
height:100%;
top:0;
background-color:rgba(0,0,0,0.2);
transition: opacity 2s;
z-index:1;
}
section.contents ul li a::before {
content: "";
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
z-index: 1;
transform: rotate(.0001deg);
transition: transform 2s;
}
section.contents ul li.group a::before {
background: url(../img/index/bg-group.jpg) center center no-repeat;
background-size: cover;
}
section.contents ul li.message a::before {
background: url(../img/index/bg-message.jpg) center center no-repeat;
background-size: cover;
}
section.contents ul li.guidetour a::before {
background: url(../img/index/bg-guidetour.jpg) center center no-repeat;
background-size: cover;
}
section.contents ul li.new a::before {
background: url(../img/index/bg-new.jpg) center center no-repeat;
background-size: cover;
}
section.contents ul li.career a::before {
background: url(../img/index/bg-career.jpg) center center no-repeat;
background-size: cover;
}
section.contents ul li.disability a::before {
background: url(../img/index/bg-disability.jpg) center center no-repeat;
background-size: cover;
}
section.contents ul li a:hover::before {
transform: scale(1.05) rotate(.0001deg);
}
section.contents ul li a:hover h3 {
background-color: rgba(0, 0, 0, .34);
}
section.contents ul li a:hover .banner-over {
opacity:0;
}

section.contents ul li a img {
display: none;
}

#foot-print .foot-print {
position:relative;
top: 0;
}
#foot-print .foot-print li {
margin-right:0;
}
#foot-print .fp-area {
/* position:relative; */
padding-bottom: 0;
/* background-color: #FFF; */
}
#secnd-navi footer .btm-line .cg-wrap {
padding-bottom:0;
}


@media screen and (max-width: 1400px) {
section.contents ul li h3 {
margin:15vw 0;
}
}

@media screen and (max-width: 900px) {
section.main h2 {
padding:10vw;
}
}

@media screen and (max-width: 768px) {
section.main h2 {
padding:8vw;
}
}

@media screen and (max-width: 640px) {
section.main h2 {
margin: 25vw 20px;
width: calc(100% - 40px);
}
section.main h2 > img {
margin-bottom: 5.5vw;
}
section.main h2 span {
padding-top:4vw;
}
section.main h2 span::before {
height:2px;
}
section.lead {
padding:20px 0 40px;
}
section.contents ul li h3 {
margin:12vw 0;
padding:3vw 0;
font-size: 4.2vw;
color:#FFF;
border:2px solid #FFF;
}
}

@media screen and (max-width: 560px) {

}

@media screen and (max-width: 480px) {
section.lead p {
font-size:4vw;
}
section.contents {
margin-bottom:40px;
}

section.contents ul li a {
background: none !important;
}
section.contents ul li h3 {
margin: 23vw 0;
}
section.contents ul li a img {
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
}
}

@media screen and (max-width: 340px) {

}
