@charset "UTF-8";
/* CSS Document */

/*
Theme Name:bgrecruit
*/

/*
 * CSS Base Styles
 */

 body {
  overflow: auto !important;
 }

 .splash_back {
  width: 100vw;
  height: 100vh;
  background-color: #54C6D7;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  z-index: 20;
  transition: opacity 1s ease-in-out;
 }

 .splash_back.hide {
  opacity: 0;
 }

 section {
  background-color: initial;
 }

 #hero {
  width: 100%;
  background-image: url("/assets/images/hero_back.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 120%;
  overflow: hidden;
  /*margin-bottom: 50px;*/
 }

 #hero .container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: top 1s ease-in-out;
  z-index: 21;
 }

 #hero .container.moved {
  top: 100px;
  transform: translateX(-50%);
 }

 /* 最終的に position: relative に戻す */
 #hero .container.relative {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
 }

 #hero .container .left {
  background-image: url("/assets/images/hero_title.svg");
  background-repeat: no-repeat;
  background-position: right;
  background-size: auto 30px;
 }

 #hero .container .right {
  background-image: url("/assets/images/hero_door.png");
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
  position: relative;
 }

 #hero .container .right .person {
  position: absolute;
  width: 310px;
  height: 100%;
  bottom: 21px;
  left: 75px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
 }

 #hero .container .right .p01 {
  background-image: url("/assets/images/hero_p01.png");
 }

 #hero .container .right .p02 {
  background-image: url("/assets/images/hero_p02.png");
 }

 #hero .container .right .p03 {
  background-image: url("/assets/images/hero_p03.png");
 }

 #hero .container .right .p04 {
  background-image: url("/assets/images/hero_p04.png");
 }

 #hero #skip-button.hidden {
  display: none;
 }

 /* ------- PC -------- */
 /* @media screen and (min-width: 1050px)
{ */
 #hero {
  height: 520px;
  display: flex;
  justify-content: center;
	 background-size: auto 520px;
 /* margin-bottom: 50px;*/
 }

 #hero .container {
  margin-top: 25px;
  width: 1050px;
  height: 400px;
  display: flex;
  flex-direction: row;
 }

 #hero .container .left {
  width: 520px;
  margin-right: 5px;
  height: 100%;
  background-position: right;
  background-size: 79%;
 }

 #hero .container .right {
  width: 520px;
  margin-left: 5px;
  height: 100%;
  background-image: url("/assets/images/hero_door.png");
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
  position: relative;
 }

 #hero .container .right .person {
  position: absolute;
  width: 310px;
  height: 100%;
  bottom: 21px;
  left: 75px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
 }

 #news {
  margin-top: -30px;
	  margin-bottom: 60px;
 }

 #news,
 #intro,
 #project,
 #interview {
  /*position: relative;
		bottom: 300px;*/
 }

 @media screen and (min-width: 1560px) {
 #hero {
	height: 650px;
	background-size: auto 650px;
	 background-position: center top;
 }
}

 /* ------- TABLET -------- */
 @media screen and (max-width: 900px) {
  #hero {
   height: 70vw;
   width: 100%;
   /* background-image: url("/assets/images/hero_back.png"); */
   /* background-repeat: no-repeat; */
   /* background-position: left top; */
   background-size: 200%;
   /* overflow: hidden; */
   /* margin-bottom: 50px; */
  }

  #hero .container {
   margin-top: 5vw;
   width: 90vw;
   height: 45vw;
  }

  #hero .container .left {
   width: 42.5vw;
   margin-right: 2.5vw;
   /* height: 100%; */
   /* background-position: right; */
   background-size: 100%;
  }

  #hero .container .right {
   width: 42.5vw;
   margin-left: 2.5vw;
  }

  #hero .container .right .person {
   /* position: absolute; */
   width: 32.5vw;
   height: 40vw;
   top: 1.2vw;
   bottom: 0;
   left: 8vw;
   /* background-repeat: no-repeat; */
   /* background-position: center; */
   /* background-size: cover; */
  }

  #news {
   margin-top: -13vw;
  }

  #news,
  #intro,
  #project,
  #interview {
   /* margin-top:-40vw; */
  }
 }

 /* ------- SP TAB -------- */
 @media screen and (max-width: 450px) {
  #hero {
   height: 195vw;
   width: 100%;
   background-size: 500%;
  }

  #hero .container {
   margin-top: 10vw;
   width: 90vw;
   height: 140vw;
   flex-direction: column-reverse;
  }

  #hero .container .left {
   width: 100%;
   margin-right: 0;
   background-position: top;
   background-size: 100%;
   margin-top: 10vw;
  }

  #hero .container .right {
   width: 100%;
   background-position: center;
   margin-left: 0;
  }

  #hero .container .right .person {
   width: 50vw;
   height: 70vw;
   top: -8.5vw;
   bottom: 0;
   left: 24.5vw;
  }

  #news {
   margin-top: -10vw;
  }
 }

 .fadeIn,
 .fadeIn-bottom10 {
  opacity: 0;
 }

 .animated.fadeIn {
  opacity: 1;
  animation-name: fadeIn;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
 }

 @keyframes fadeIn {
  from {
   opacity: 0;
 }

  to {
   opacity: 1;
  }
 }

 .animated.fadeIn-bottom10 {
  opacity: 1;
  animation-name: fadeIn-bottom10;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn-bottom10;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
 }

 @keyframes fadeIn-bottom10 {
  from {
   opacity: 0;
   transform: translateY(-10px);
  }

  to {
   opacity: 1;
   transform: translateY(0);
  }
 }

 .fadeIn-start {
  opacity: 0;
 }

 .animated.fadeIn-start {
  opacity: 1;
  animation-name: fadeIn-start;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn-start;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
 }

 @keyframes fadeIn-start {
  from {
   opacity: 0;
   transform: translateY(-10px);
  }

  to {
   opacity: 1;
   transform: translateY(0);
  }
}


/**
 * CSS Base Styles for #entry
 */

 #entry {
  width: 100%;
  background-image: url("/assets/images/hero_back.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 120%;
  overflow: hidden;
  /*margin-bottom: 50px;*/
 }

#recruit_entry {
    width: 70vw;
	background-color: #F6F6F6;

 * {
    letter-spacing: 0.02em;
  }

 body, select, textarea, input, div, p, button {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6em;
    color: rgb(51, 51, 51);
  }
  p, ul, li, em {
    overflow-wrap: break-word;
    word-break: normal;
  }

  ul, li {
    list-style-type: none;
  }

  table {
    width: 100%;
    border-collapse: collapse;
	margin-left: auto;
	margin-right: auto;
  }

  th, td {
    border-collapse: collapse;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
  }

  img {
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    vertical-align: bottom;
    max-width: 100%;
    display: initial;
  }

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

  *, ::before, ::after {
    box-sizing: border-box;
    outline-style: none;
  }

  a {
    color: rgb(51, 51, 51);
    text-decoration-line: none;
  }

  h2 {
    color: white;
	margin-top:20px;
	height:100px;
  }

  .recruit_table {
    margin-bottom: 25px;
    table-layout: fixed;
    width: 60%;
  }

  .recruit_table .recruit_table_text th, .recruit_table .recruit_table_text td {
    padding-top: 15px;
    padding-right: 12px;
    padding-bottom: 16px;
    padding-left: 12px;
    font-size: 15px;
  }

  .recruit_table .recruit_table_text th, .recruit_table .recruit_table_text td {
    font-size: 14px;
  }

  .recruit_table .recruit_table_text:not(:last-child) th, .recruit_table .recruit_table_text:not(:last-child) td {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgb(224, 224, 224);
  }

  .recruit_table .recruit_table_text th {
    position: relative;
    padding-left: 28px;
    width: 30%;
  }

  .recruit_table .recruit_table_text th {
//    display: block;
//    width: 100%;
    width: 30%;
//    border-bottom-width: 0px !important;
  }

  .recruit_table .recruit_table_text td {
    width: 68%;
  }

  .recruit_table .recruit_table_text td {
//    display: block;
//    width: 100%;
    width: 68%;
    padding-top: 7px;
  }

  .recruit_single_container .recruit_single_table_wrap {
    padding-top: 55px;
    padding-right: 55px;
    padding-bottom: 95px;
    padding-left: 55px;
    background-color: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.05) 5px 5px 0px 0px;
    position: relative;
  }

  .recruit_single_container .recruit_single_table_wrap {
    padding-top: 40px;
    padding-right: 6%;
    padding-bottom: 50px;
    padding-left: 6%;
  }

  .recruit_single_container .recruit_single_table_wrap {
    padding-top: 45px;
    padding-right: 55px;
    padding-bottom: 86px;
    padding-left: 55px;
  }

  .recruit_single_container .recruit_single_table_wrap {
    padding-top: 45px;
    padding-right: 25px;
    padding-bottom: 75px;
    padding-left: 25px;
  }

  .recruit_single_container .recruit_single_table_wrap .recruit_top_image {
    max-width: 700px;
    margin-top: 30px;
    margin-right: auto;
    margin-bottom: 30px;
    margin-left: auto;
  }

  .recruit_single_container .recruit_single_table_wrap .recruit_bottom_image_wrap {
    display: flex;
    padding-bottom: 10px;
  }

  .recruit_single_container .recruit_single_table_wrap .recruit_bottom_image_wrap {
    flex-wrap: wrap;
  }

  .form_detail_btn {
    margin-top: 40px;
    text-align: center;
    display: block;
  }

  .form_detail_btn {
    margin-top: 30px;
  }

  .form_detail_btn a {
    position: relative;
    display: inline-block;
    transition-behavior: normal;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-property: all;
    color: rgb(255, 255, 255);
    padding-top: 14px;
    padding-right: 20px;
    padding-bottom: 18px;
    padding-left: 20px;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-bottom-left-radius: 100px;
    border-top-width: 0px;
    border-right-width: 0px;
    border-bottom-width: 0px;
    border-left-width: 0px;
    font-size: 19px;
    width: 380px;
    max-width: 100%;
    font-weight: 500;
    cursor: pointer;
  }

  .form_detail_btn a {
    display: block;
    padding-top: 13px;
    padding-right: 20px;
    padding-bottom: 16px;
    padding-left: 20px;
    font-size: 17px;
    width: 100%;
  }

  /* Source: inline */
  .key_color2_background {
    background-color: rgb(31, 101, 195) !important;
  }
}