@charset "utf-8";
/* RECRUIT COMMON CSS
------------------------------------------ */
#recruit .box-menupc .menu-pc ul li a::before,
#recruit .box-menupc .menu-pc ul li a::after {
	background-color: #000;
}

#rsec-blog {
	border-bottom: 1px solid #e5e5e5;
}

#recruit,
#recruit main {
	background: #fff;
}

#recruit .site-footer {
	z-index: 2;
}

#recruit .box-menupc .menu-pc ul li a {
	color: #000;
}

#recruit .box-menupc .menu-pc ul li.h-tel.col-tel .sp-tel {
	background: #000;
}

#recruit .logoarea #vj-logo-full path {
	fill: #fff !important;
}

body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(1),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(3),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(4),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(7) {
	fill:#00CCFF !important;
}

body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(2),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(5),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(6) {
	fill:#99CC00 !important;
}

body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(8),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(10),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(12) {
	fill:#FF80B2 !important;
}

body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(9),
body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-vj path:nth-child(11) {
	fill:#FFBB00 !important;
}

body#recruit.fixed .site-header .logoarea #vj-logo-full #logo-rocket path {
	fill: #BBBBBB !important;
}

#pttl-recruit {
	/*position: fixed;*/
	width: 100%;
	min-height: 550px;
	height: 100vh;
}

#recruitmain,
#recruitmain .bg-img,
#recruitmain .bg-rmaincolor,
#recruitmain .rmain-txt {
	min-height: 550px;
	height: 100vh;
	width: 100%;
}

#recruitmain {
	position: relative;
	top: 0;
	left: 0;
	z-index: 1;
	overflow: hidden;
}

.recruit-contents {
	position: relative;
	z-index: 5;
}

#recruitmain .bg-img {
	background: url(../img/recruit/bg_recruit.jpg) no-repeat center bottom;
	position: absolute;
	width: 100%;
	height: 150%;
	background-size: cover;
	z-index: 2;
}

#recruitmain .bg-rmaincolor {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	overflow: hidden;
}

.is-loaded #recruitmain .bg-rmaincolor {
	/*animation: rlttlbg 7s cubic-bezier(0.65, 0.02, 0.23, 1) infinite;
	-webkit-animation: rlttlbg 7s cubic-bezier(0.65, 0.02, 0.23, 1) infinite;*/
}

#recruitmain .bg-rmaincolor::before,
#recruitmain .bg-rmaincolor::after {
	content:"";
	position: absolute;
	display: block;
	width: 300%;
    height: 300%;
}

#recruitmain .bg-rmaincolor::before {
	background: rgba(142,189,0,0.7);
	/*transform: skewX(-45deg);*/
	transform-origin: center right;
    right: 50%;
    top: -100%;
}

#recruitmain .bg-rmaincolor::after {
	background: rgba(252,44,120,0.7);
	transform-origin: center left;
	left: 50%;
	top: -100%;
}

.is-loaded #recruitmain .bg-rmaincolor::before {
	animation: belttlbg 10s cubic-bezier(0.65, 0.02, 0.23, 1) infinite;
	-webkit-animation: belttlbg 10s cubic-bezier(0.65, 0.02, 0.23, 1) infinite;
}

.is-loaded #recruitmain .bg-rmaincolor::after {
	animation: aflttlbg 10s cubic-bezier(0.65, 0.02, 0.23, 1) infinite;
	-webkit-animation: aflttlbg 10s cubic-bezier(0.65, 0.02, 0.23, 1) infinite;
}

#recruitmain .rmain-txt {
	z-index: 4;
	position: relative;
}

#recruitmain .rmain-txt h1 {
	position: absolute;
	transform: translate(-50%,-65%);
	position: absolute;
	left: 50%;
	top: 49%;
    white-space: nowrap;
}

#recruitmain .rmain-txt h1 span {
	color: #fff;
	text-align: center;
	display: block;
}

#recruitmain .rmain-txt h1 span:nth-child(2) {
	padding-top: 20px;
}

@-webkit-keyframes belttlbg {
	0% { -webkit-transform: rotate(-45deg) rotateZ(0deg);}
	30% { -webkit-transform: rotate(-45deg) rotateZ(180deg);}
	60% { -webkit-transform: rotate(-45deg) rotateZ(180deg);}
	90% { -webkit-transform: rotate(-45deg) rotateZ(360deg);}
	100% { -webkit-transform: rotate(-45deg) rotateZ(360deg);}
}

@keyframes belttlbg {
	0% { transform: rotate(-45deg) rotateZ(0deg);}
	30% { transform: rotate(-45deg) rotateZ(180deg);}
	60% { transform: rotate(-45deg) rotateZ(180deg);}
	90% { transform: rotate(-45deg) rotateZ(360deg);}
	100% { transform: rotate(-45deg) rotateZ(360deg);}
}

@-webkit-keyframes aflttlbg {
	0% { -webkit-transform: rotate(-45deg) rotateZ(0deg);}
	30% { -webkit-transform: rotate(-45deg) rotateZ(180deg);}
	60% { -webkit-transform: rotate(-45deg) rotateZ(180deg);}
	90% { -webkit-transform: rotate(-45deg) rotateZ(360deg);}
	100% { -webkit-transform: rotate(-45deg) rotateZ(360deg);}
}

@keyframes aflttlbg {
	0% { transform: rotate(-45deg) rotateZ(0deg);}
	30% { transform: rotate(-45deg) rotateZ(180deg);}
	60% { transform: rotate(-45deg) rotateZ(180deg);}
	90% { transform: rotate(-45deg) rotateZ(360deg);}
	100% { transform: rotate(-45deg) rotateZ(360deg);}
}


/* menu */
.menu {
  /*-webkit-filter: url("#goo");
          filter: url("#goo");*/
}

.menu-item, .menu-open-button {
  background: #000;
  border-radius: 100%;
  width: 80px;
  height: 80px;
  margin-left: -40px;
  position: absolute;
  /*top: 50px;*/
  color: #fff !important;
  text-align: center;
  /*line-height: 80px;*/
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  transition: -webkit-transform ease-out 200ms;
  transition: transform ease-out 200ms;
  transition: transform ease-out 200ms, -webkit-transform ease-out 200ms;

}

a.menu-item,
a.menu-item i,
a.menu-item .block {
	color: #fff !important;
}

a.menu-item .block {
	font-size: 1.3rem;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0;
    /*line-height: 1.0;*/
    position: relative;
    /*top: -30px;*/
	top: -2px;
}

.menu-open {
  display: none;
}

.hamburger {
  width: 25px;
  height: 3px;
  background: white;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -12.5px;
  margin-top: -1.5px;
  transition: -webkit-transform 200ms;
  transition: transform 200ms;
  transition: transform 200ms, -webkit-transform 200ms;
}

.hamburger-1 {
  -webkit-transform: translate3d(0, -8px, 0);
          transform: translate3d(0, -8px, 0);
}

.hamburger-2 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.hamburger-3 {
  -webkit-transform: translate3d(0, 8px, 0);
          transform: translate3d(0, 8px, 0);
}

.menu-open:checked + .menu-open-button .hamburger-1 {
  -webkit-transform: translate3d(0, 0, 0) rotate(45deg);
          transform: translate3d(0, 0, 0) rotate(45deg);
}
.menu-open:checked + .menu-open-button .hamburger-2 {
  -webkit-transform: translate3d(0, 0, 0) scale(0.1, 1);
          transform: translate3d(0, 0, 0) scale(0.1, 1);
}
.menu-open:checked + .menu-open-button .hamburger-3 {
  -webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
          transform: translate3d(0, 0, 0) rotate(-45deg);
}

.menu {
  position: absolute;
  left: 50%;
  bottom: -3%;
  margin-left: -190px;
  padding-top: 50px;
  padding-left: 190px;
  width: 380px;
  height: 300px;
  box-sizing: border-box;
  font-size: 20px;
  text-align: left;
  z-index: 5;
}


.menu-item:nth-child(3) {
  transition-duration: 180ms;
}
.menu-item:nth-child(4) {
  transition-duration: 180ms;
}
.menu-item:nth-child(5) {
  transition-duration: 180ms;
}
.menu-item:nth-child(6) {
  transition-duration: 180ms;
}
.menu-item:nth-child(7) {
  transition-duration: 180ms;
}
.menu-item:nth-child(8) {
  transition-duration: 180ms;
}
.menu-item:nth-child(9) {
  transition-duration: 180ms;
}

.menu-open-button {
  z-index: 2;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-duration: 400ms;
  -webkit-transform: scale(1.1, 1.1) translate3d(0, 0, 0);
          transform: scale(1.1, 1.1) translate3d(0, 0, 0);
  cursor: pointer;
}

.menu-open-button:hover {
  -webkit-transform: scale(1.2, 1.2) translate3d(0, 0, 0);
          transform: scale(1.2, 1.2) translate3d(0, 0, 0);
}

.menu-open:checked + .menu-open-button {
  transition-timing-function: linear;
  transition-duration: 200ms;
  -webkit-transform: scale(0.8, 0.8) translate3d(0, 0, 0);
          transform: scale(0.8, 0.8) translate3d(0, 0, 0);
}

.menu-open:checked ~ .menu-item,
.menu-open:checked ~ .menu-item .block {
  transition-timing-function: cubic-bezier(0.935, 0, 0.34, 1.33);
}

.menu-open:checked ~ .menu-item i {
	display: inline-block;
	position: relative;
	top: -4px;
	/*top: -8px;*/
}

.menu-open:checked ~ .menu-item:nth-child(3) {
  transition-duration: 180ms;
  -webkit-transform: translate3d(0.08361px, -104.99997px, 0);
          transform: translate3d(0.08361px, -104.99997px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(4) {
  transition-duration: 280ms;
  -webkit-transform: translate3d(90.9466px, -52.47586px, 0);
          transform: translate3d(90.9466px, -52.47586px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(5) {
  transition-duration: 380ms;
  -webkit-transform: translate3d(90.9466px, 52.47586px, 0);
          transform: translate3d(90.9466px, 52.47586px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(6) {
  transition-duration: 480ms;
  -webkit-transform: translate3d(0.08361px, 104.99997px, 0);
          transform: translate3d(0.08361px, 104.99997px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(7) {
  transition-duration: 580ms;
  -webkit-transform: translate3d(-90.86291px, 52.62064px, 0);
          transform: translate3d(-90.86291px, 52.62064px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(8) {
  transition-duration: 680ms;
  -webkit-transform: translate3d(-91.03006px, -52.33095px, 0);
          transform: translate3d(-91.03006px, -52.33095px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(9) {
  transition-duration: 780ms;
  -webkit-transform: translate3d(-0.25084px, -104.9997px, 0);
          transform: translate3d(-0.25084px, -104.9997px, 0);
}
@media (min-width: 641px) {
	.menu-item:hover {
	  background: #333;
	  color: #fff;
	}
}

@media (max-width: 991px) {
	.f-sz72 { font-size: 7.3vw;}
}

@media (max-width: 768px) {
	#recruit main #pttl-recruit {
		line-height: 2.2;
	}
}

@media (max-width: 480px) {
	#recruitmain .rmain-txt h1 {
		top: 37%;
	}
	.f-sz72 {
		font-size: 10.5vw;
    	line-height: 1.2;
	}
}

/* chrome safari */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .menu-open:checked ~ .menu-item i {
        /*top: 8px;*/
    }
}
/* Firefox */
@-moz-document url-prefix() {
    .menu-open:checked ~ .menu-item i {
        top: -2px;
    }
}

/* Eage */
@supports (-ms-ime-align: auto) {
    .menu-open:checked ~ .menu-item i {
        top: -2px;
    }
}

/* l-rttl --------------------------------- */
.l-rttl .rmttl {
	text-align: center;
}
.l-rttl .rmttl-en {
	color: #eaff00;
	font-family: 'Cuprum', sans-serif;
}

.l-rttl .rmttl-ja {
	color: rgba(0,0,0,0.8);
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}

@media (max-width: 480px) {
	.l-rttl .rmttl-ja.f-sz43 {
		font-size: 2.6rem;
	}
}


.lbtn-entry {
	width: 100%;
}
.lbtn-entry .lbtn {
	background-color: #fa5c91;
	padding: 40px 0;
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.lbtn-entry .lbtn span {
	color: #fff;
	position: relative;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.lbtn-entry .lbtn .f-noto {
		font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-weight: bold;
	}
}

/*.lbtn-entry .lbtn::before {
	content: "\e921";
	position: absolute;
	top: 50%;
	left: 35px;
	font-family: 'fonticon';
	color: #fff;
	font-size: 3.2rem;
	transform: translateY(-50%);
}*/
.lbtn-entry .lbtn::before,
.lbtn-entry .lbtn::after {
	position: absolute;
    content: "";
	transition: all .3s ease;
}

.lbtn-entry .lbtn::after {
    width: 15px;
    height: 15px;
    top: 50%;
    right: 35px;
    transform: rotate(-45deg);
    margin-top: -7px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

.lbtn-entry .lbtn::before {
	width: 100%;
	height: 100%;
	background: #000;
	top: 0;
	left: 0;
	transform: scale(1,0);
	opacity: 0;
}

.lbtn-entry .lbtn:hover::before {
	transform: scale(1,1);
	transform-origin: top;
	opacity: 1;
}

/* box-rcncpt */
.box-rcncpt .crcls {
	display: table;
    table-layout: fixed;
    width: auto;
	margin: 0 auto;
}

.box-rcncpt .crcls li {
    position: relative;
	display: table-cell;
	box-sizing: border-box;
	padding: 0 10px;
	vertical-align: middle;
}

.circle {
    position: relative;
    width: 200px;
    height: 200px;
    background: #fa5c91;
    border-radius: 50%;
    text-align: center;
    overflow: hidden;
    z-index: 1;
}
.circle::before,
.circle::after {
    content: "";
    display: block;
    position: absolute;
	top: 0;
    width: 200px;
    height: 200px;
    background: #d7e5d8;
}

.circle::before {
    left: -100px;
    transform-origin: right 100px;
    z-index: 2;
}

.circle::after {
    left: 100px;
    transform-origin: left 100px;
    z-index: 3;
}

.crcls .js-cview.activein > .circle::before {
    animation: rotate-circle-left 1s linear forwards;
	animation-delay: 0.1s;
}

.crcls .js-cview.activein:first-child > .circle::before {
	animation-delay: 0.1s;
}
.crcls .js-cview.activein:nth-child(2) > .circle::before {
	animation-delay: 0.3s;
}
.crcls .js-cview.activein:nth-child(3) > .circle::before {
	animation-delay: 0.5s;
}

.crcls .js-cview.activein > .circle::after {
	animation: rotate-circle-right 1s linear forwards;
	animation-delay: 0.1s;
}

.crcls .js-cview.activein:first-child > .circle::after {
	animation-delay: 0.1s;
}
.crcls .js-cview.activein:nth-child(2) > .circle::after {
	animation-delay: 0.3s;
}
.crcls .js-cview.activein:nth-child(3) > .circle::after {
	animation-delay: 0.5s;
}


.circle .circle-inner {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 194px;
    height: 194px;
    background: #effff1;
    border-radius: 50%;
    z-index: 4;
	display: table;
}

.circle .circle-inner > span {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
.circle .circle-inner > span .f-fjll {
	letter-spacing: 0;
	text-align: center;
	display: block;
	line-height: 1.0;
}
.circle .circle-inner > span .f-fjll:first-child {
    color: #fa5c91;
}

.circle .circle-inner > span .block {
	color: #333;
	font-weight: bold;
	padding-top: 5px;
}

@media (max-width: 768px) {
	.box-rcncpt .crcls li {
		padding: 0 5px;
	}
	.circle {
		width: 150px;
    	height: 150px;
	}
	.circle::before,
	.circle::after {
		width: 150px;
		height: 150px;
	}
	.circle::before {
		left: -75px;
	    transform-origin: right 75px;
	}
	.circle::after {
		left: 75px;
		transform-origin: left 75px;
	}
	.circle .circle-inner {
		width: 144px;
    	height: 144px;
	}
	.circle .circle-inner > span .block {
		padding-left: 20px;
		padding-right: 20px;
		line-height: 1.3;
		font-size: 1.5rem;
	}
}

@media (max-width: 580px) {
	.box-rcncpt .crcls {
		display: block;
		text-align: center;
	}
	.box-rcncpt .crcls li {
	    display: inline-block;
		margin: 5px auto;
	}
	.lbtn-entry .lbtn {
		padding: 30px 0;
	}
}

@media (max-width: 480px) {
	.lbtn-entry .lbtn {
		padding: 15px 0;
	}

	.lbtn-entry .lbtn .f-noto.f-sz32 {
		font-size: 1.9rem;
		margin-left: -15px;
		top: -2px;
	}

	.lbtn-entry .lbtn::after {
		width: 10px;
    	height: 10px;
	    right: 15px;
		margin-top: -5px;
	}
}

@keyframes rotate-circle-right {
    0%   {
        transform: rotate(0deg);
        background: #d7e5d8;
    }
    50%  {
        transform: rotate(180deg);
        background: #d7e5d8;
    }
    50.01% {
        transform: rotate(360deg);
        background: #fa5c91;
    }
    100% {
        transform: rotate(360deg);
        background: #fa5c91;
    }
}

@keyframes rotate-circle-left {
    0%   { transform: rotate(0deg); }
    50%  { transform: rotate(0deg); }
    100% { transform: rotate(180deg); }
}
