@charset "UTF-8";
/* ----------------------------------------------------------------
	#recruit common
---------------------------------------------------------------- */
body#recruit {
  background: #0d62aa;
  position: relative;
}
body#recruit.recruit_top::before {
  content: "";
  display: block;
  width: 100%;
  height: min(38.06vw,628px);
  background: #e8f7f9;
  position: absolute;
  top: 0;
  left: 0;
}
body#recruit .globalnav li:first-child,
body#recruit .globalnav li:last-child {
  display: block;
}
body#recruit nav {
  margin-right: 140px;
}
body#recruit .globalnav li {
  margin-left: 40px;
}
#nav-toggle {
  position: fixed;
  width: 48px;
  height: 48px;
  right: 70px;
  top: 20px;
  background: #e8f7f9;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2000;
}
#nav-toggle > div {
  position: relative;
  width: 22px;
  left: 13px;
  top: 20px;
}
#nav-toggle span {
  width: 100%;
  height: 1px;
  left: 0;
  display: block;
  background: #080404;
  position: absolute;
  transition: transform 0.3s ease-in-out, top 0.5s ease;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 8px;
}
.open #nav-toggle span {
  background: #080404;
  width: 100%;
}
.open #nav-toggle span:nth-child(1) {
  top: 4px;
  transform: rotate(210deg);
}
.open #nav-toggle span:nth-child(2) {
  top: 4px;
  transform: rotate(-210deg);
}
.open {
  overflow: hidden;
}
.open #gloval-nav {
  visibility: visible;
  opacity: 1;
}
.open #gloval-nav li {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease, opacity 0.9s ease;
}
#gloval-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1100;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  overflow-y: scroll;
  opacity: 0;
  background: #0d62aa;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#gloval-nav .navInr {
  width: 70.3vw;
  margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}
#gloval-nav .navInr ul:first-child {
  width: 50%;
}
#gloval-nav ul li {
  opacity: 0;
  transform: translateX(70px);
  transition: transform 0.2s ease, opacity 0.2s ease;
}
#gloval-nav ul li:nth-child(2) {
  transition-delay: 0.25s;
}
#gloval-nav ul li:nth-child(3) {
  transition-delay: 0.45s;
}
#gloval-nav ul li:nth-child(4) {
  transition-delay: 0.65s;
}
#gloval-nav ul li a {
  color: #e8f7f9;
  font-weight: 500;
}
#gloval-nav .navInr ul:first-child li div.linktitle {
  width: 100%;
  margin-bottom: 2.42vw;
}
#gloval-nav .navInr ul:first-child li div.linktitle a {
  position: relative;
  font-size: 1.7vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 2.12vw;
}
#gloval-nav .navInr ul:first-child li div.linktitle a::before {
  content: "";
  display: block;
  width: 0.97vw;
  height: 0.97vw;
  background: url("../images/recruit/recruit/menu_mark.png") left top / contain no-repeat;
  position: absolute;
  top: 0.97vw;
  left: 0;
}
#gloval-nav .navInr ul:first-child li div.linkbox {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}
#gloval-nav .navInr ul:first-child li div.linkbox div {
  width: 45%;
  padding-left: 2.42vw;
  margin-bottom: 1.21vw;
}
#gloval-nav .navInr ul:first-child li div.linkbox div:nth-child(2n) {
  width: 50%;
}
#gloval-nav .navInr ul:first-child li div.linkbox div a {
  position: relative;
  font-size: 1.45vw;
  font-weight: 500;
  padding-left: 1.21vw;
}
#gloval-nav .navInr ul:first-child li div.linkbox div a::before {
  content: "";
  display: block;
  width: 0.61vw;
  height: 0.18vw;
  background: #e8f7f9;
  position: absolute;
  top: 1.21vw;
  left: 0;
}
#gloval-nav .navInr ul:first-child li:last-child {
  margin-top: 2.73vw
}
#gloval-nav .navInr ul:last-child {
  width: 34%;
}
#gloval-nav .navInr ul:last-child li {
  width: 100%;
  border-bottom: 1px solid #5f8ebe;
}
#gloval-nav .navInr ul:last-child li a {
  display: block;
  font-size: 1.7vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 1.52vw 0 1.52vw 2.12vw;
}
#gloval-nav .navInr ul:last-child li a::before {
  content: "";
  display: block;
  width: 0.97vw;
  height: 0.97vw;
  background: url("../images/recruit/recruit/menu_mark.png") left top / contain no-repeat;
  position: absolute;
  top: 2.77vw;
  left: 0;
}
body#recruit .btnR {
  position: relative;
  width: 20.12vw;
  height: 4.12vw;
  border-radius: 2.06vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.82vw;
  transition: all 0.3s ease;
}
body#recruit .btnR::after {
  content: "";
  display: block;
  width: 1.21vw;
  height: 1.21vw;
  position: absolute;
  top: 1.33vw;
  right: 2.12vw;
  background: url("../images/recruit/recruit/btn_arrow.png") right top / contain no-repeat;
  transition: all 0.3s ease;
}
body#recruit .btnR.btnR_w {
  border: 3px solid #e8f7f9;
  color: #e8f7f9;
  font-weight: 700;
  transition: all 0.3s ease;
}
body#recruit .btnR.btnR_w:hover {
  opacity: 1;
  background: #5f8ebe;  
}
body#recruit .btnR:hover::after {
  right: 1.82vw;
}
body#recruit .btnR.btnR_B {
  border: 3px solid #0d62aa;
  color: #0d62aa;
  font-size: 1.45vw;
  font-weight: 700;
  transition: all 0.3s ease;
}
body#recruit .btnR.btnR_B::after {
  background: url("../images/recruit/recruit/btn_arrow_on.png") right top / contain no-repeat;
}
body#recruit .btnR.btnR_B:hover {
  opacity: 1;
  background: #bcd9e9;  
}
body#recruit .btnR:hover::after {
  right: 1.82vw;
}
body#recruit .btnR.btnR_ws {
  border: 3px solid #e8f7f9;
  font-size: 1.45vw;
  font-weight: 700;
  width: 32.12vw;
  color: #e8f7f9;
  margin: 0 auto;
}
body#recruit .btnR.btnR_ws:hover {
  opacity: 1;
  background: #5f8ebe;
}
body#recruit .floating {
  position: fixed;
  right: 0;
  width: 240px;
  border-radius: 10px 0 0 10px;
  padding: 30px 0;
  background: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.05);
  box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.05);
  z-index: 100;
}
body#recruit .floating ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 180px;
	margin: 0 auto;
}
body#recruit .floating ul li {
  width: 100%;
  margin-bottom: 20px;
}
body#recruit .floating ul li:last-child {
  margin-bottom: 0;
}
body#recruit .floating ul li a {
  display: flex;
  width: 180px;
  height: 60px;
  border-radius: 30px;
  justify-content: center;
  align-items: center;
  flex-direction:column;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.03em;
}
body#recruit .floating ul li:nth-child(1) a {
  color: #fff;
  background: #808080;
}
body#recruit .floating ul li:nth-child(2) a {
  color: #ffff00;
  background: #0d62aa;
}


/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  body#recruit.recruit_top::before {
    height: 78.48vw;
  }
  body#recruit nav {
    display: none;
  }
  body#recruit header h1 {
    margin-left: 6.33vw;
  }
  #nav-toggle {
    width: 40px;
    height: 40px;
    right: 5.06vw;
    top: 10px;
  }
  #nav-toggle > div {
    width: 22px;
    left: 9px;
    top: 16px;
  }
  #gloval-nav {
    position: inherit;
    display: block;
  }
  #gloval-nav .navInr {
    width: 89.87vw;
    padding: 13.92vw 0 7.59vw;
  }
  #gloval-nav .navInr ul:first-child {
    width: 100%;
  }
  #gloval-nav .navInr ul:first-child li div.linktitle {
    width: 100%;
    margin-bottom: 2.28vw;
  }
  #gloval-nav .navInr ul:first-child li div.linktitle a {
    font-size: 5.57vw;
    padding-left: 4.06vw;
  }
  #gloval-nav .navInr ul:first-child li div.linktitle a::before {
    width: 2.03vw;
    height: 2.03vw;
    top: 3.04vw;
  }
  #gloval-nav .navInr ul:first-child li div.linkbox div {
    padding-left: 0;
    margin-bottom: 3.16vw;
  }
  #gloval-nav .navInr ul:first-child li div.linkbox div a {
    font-size: 3.54vw;
    padding-left: 4.02vw;
  }
  #gloval-nav .navInr ul:first-child li div.linkbox div a::before {
    width: 1.61vw;
    height: 1px;
    top: 2.6vw;
    left: 0;
  }
  #gloval-nav .navInr ul:first-child li:last-child {
    margin-top: 5.06vw
  }
  #gloval-nav .navInr ul:last-child {
    width: 100%;
    margin-top: 12.66vw
  }
  #gloval-nav .navInr ul:last-child li a {
    font-size: 3.54vw;
    padding: 3.16vw 0 3.16vw 4.06vw;
  }
  #gloval-nav .navInr ul:last-child li:first-child {
    border-top: 1px solid #5f8ebe;
    }
  #gloval-nav .navInr ul:last-child li a::before {
    width: 2.03vw;
    height: 2.03vw;
    background: url("../images/recruit/recruit/menu_mark.png") left top / contain no-repeat;
    position: absolute;
    top: 6.04vw;
    left: 0;
  }
  body#recruit .btnR {
    width: 60.76vw;
    height: 15.19vw;
    border-radius: 7.59vw;
    font-size: 4.56vw;
    margin: 0 auto;
    background: #0d62aa;
  }
  body#recruit .btnR::after {
    width: 4.05vw;
    height: 4.05vw;
    top: 5.06vw;
    right: 6.08vw;
    background: url("../images/recruit/recruit/sp_btn_arrow2.png") right top / contain no-repeat;
    transition: none;
  }
  body#recruit .btnR.btnR_w {
    border: 3px solid #e8f7f9;
    color: #e8f7f9;
    font-weight: 700;
    transition: none;
  }
  body#recruit .btnR.btnR_w:hover {
    opacity: 1;
    background: #0d62aa;
  }
  body#recruit .btnR:hover::after {
    right: 6.08vw;
  }
  body#recruit .btnR.btnR_B {
    border: 3px solid #0d62aa;
    font-size: 4.56vw;
    margin: 0 auto;
    background: #fff;
  }
  body#recruit .btnR.btnR_B::after {
    background: url("../images/recruit/recruit/sp_btn_arrow.png") right top / contain no-repeat;
  }
  body#recruit .btnR.btnR_B:hover {
    opacity: 1;
    background: #fff;
  }
  body#recruit .btnR.btnR_ws {
    font-size: 4.56vw;
    width: 65.82vw;
  }
  body#recruit .btnR.btnR_ws:hover {
    opacity: 1;
    background: #0d62aa;
  }
  body#recruit .floating {
    position: fixed;
    right: 2.53%;
    width: 94.94%;
    border-radius: 10px 10px 10px 10px;
    padding: 3.8vw 0;
  }
  body#recruit .floating ul {
    margin: 0 auto;
    width: 88.158%;
  }
  body#recruit .floating ul li {
    width: 47%;
    margin-bottom: 0;
  }
  body#recruit .floating ul li a {
    width: 100%;
    height: 13.16vw;
    border-radius: 6.58vw;
    font-size: 4.56vw;
  }
}/* Smartphone End */

/* ------------------------------------
 .lowerkv
------------------------------------- */
.lowerkv {
  position: relative;
  width: 100%;
  height: 33.94vw;
  background: #e8f7f9;
  padding-top: 15.15vw;
}
.lowerkv::after {
  content: "";
  display: block;
  width: 50vw;
  height: 26.24vw;
  position: absolute;
  left: 0;
  bottom: 0;
  background: url("../images/recruit/recruit/recruit_lower_bg.png") left bottom / contain no-repeat;
  z-index: 1;
}
.lowerkv .inr {
  position: relative;
  width: 82.42vw;
  margin: 0 auto;
  z-index: 2;
}
.lowerkv .inr h1 {
  font-size: 5.33vw;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
  color: #0d62aa;
}
.lowerkv .inr h1 span {
  display: block;
  padding-top: 2.18vw;
  font-size: 2.18vw;
  font-weight: 400;
  letter-spacing: 0.01em;
}

/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 999px) {
  .lowerkv {
    height: 58.73vw;
    padding-top: 30.38vw;
  }
  .lowerkv.tl {
    padding-top: 22.78vw;
  }
  .lowerkv::after {
    width: 69.49vw;
    height: 36.96vw;
    position: absolute;
    background: url("../images/recruit/recruit/recruit_lower_bg.png") left top / cover no-repeat;
  }
  .lowerkv .inr {
    width: 89.87%;
  }
  .lowerkv .inr h1 {
    font-size: 8.1vw;
  }
  .lowerkv .inr h1 span {
    padding-top: 4.56vw;
    font-size: 4.05vw;
  }
}/* Smartphone End */