@charset "UTF-8";
@media only screen and (min-width: 1024px) {
  .o-4column .col-lg-4 {
    padding: 0 20px; }

  .o-4column {
    margin: 0 -20px; }

  .o-4column .col-lg-3 {
    padding: 0 20px; }

  .o-4column {
    margin: 0 -20px; }

  .o-4column .col-lg-6 {
    padding: 0 30px; }

  .o-4column {
    margin: 0 -30px; }

  .m-3column .col-lg-3 {
    padding: 0 25px; }

  .m-3column {
    margin: 0 -25px; } }
@media only screen and (min-width: 1024px) {
  .o-3column .col-lg-6 {
    padding: 0 30px; }

  .o-3column {
    margin: 0 -30px; } }
@media screen and (min-width: 680px) {
  .towapc {
    display: inline; }

  .towasp {
    display: none; } }
@media screen and (max-width: 680px) {
  .towapc {
    display: none; }

  .towasp {
    display: inline; } }
@media screen and (min-width: 1024px) {
  .towapc2 {
    display: inline; }

  .towasp2 {
    display: none; } }
@media screen and (max-width: 1024px) {
  .towapc2 {
    display: none; }

  .towasp2 {
    display: inline; } }
.TopWidth {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto; }

.Contents {
  max-width: 1230px;
  width: 90%;
  margin: 0 auto; }

.Width1080 {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto; }

.Backwh {
  background: #F7F7F7;
  padding-bottom: 10px; }

.BackBlack {
  background: #1D1D1D;
  position: relative; }

.BackBlack2 {
  background: #000000;
  padding-bottom: 10px; }

.ask {
  display: inline-block; }

/*
---------------------------------------------------------------------------------------------------------------------
RECRUIT
---------------------------------------------------------------------------------------------------------------------
*/
.fixed-bg:after {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-image: url(../img/Recruit/top_bg-sp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-color: #969696;
  background-blend-mode: multiply; }
  @media (min-width: 450px) {
    .fixed-bg:after {
      background-image: url(../img/Recruit/top_bg-pc.jpg); } }
.fixed-bg .TopCopy {
  position: relative;
  text-align: center;
  height: 150px; }
  @media (min-width: 450px) {
    .fixed-bg .TopCopy {
      height: 100vh; } }
  .fixed-bg .TopCopy .inner {
    margin: 200px auto 50px; }
    @media (min-width: 450px) {
      .fixed-bg .TopCopy .inner {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 140px;
        margin: auto; } }
    .fixed-bg .TopCopy .inner h1 {
      color: #fff;
      font-family: 'Montserrat', sans-serif;
      font-weight: bold;
      font-size: 50px;
      letter-spacing: 0.12em; }
      .fixed-bg .TopCopy .inner h1 .wa {
        font-size: 18px;
        letter-spacing: 0.24em;
        margin-top: 10px; }
.fixed-bg .Message {
  color: #fff;
  text-align: center; }
  .fixed-bg .Message .Message-in {
    display: inline-block;
    margin: 100px auto; }
    .fixed-bg .Message .Message-in p {
      font-size: 20px;
      font-weight: bold;
      line-height: 2em;
      margin-bottom: 60px;
      font-feature-settings: "palt";
      letter-spacing: 0.1em;
      padding: 0 20px;
      text-align: justify; }
      @media (min-width: 450px) {
        .fixed-bg .Message .Message-in p {
          font-size: 24px; } }

/*
---------------------------------------------------------------------------------------------------------------------
各タイトル
---------------------------------------------------------------------------------------------------------------------
*/
.Title {
  text-align: center;
  padding: 60px 0 20px; }
  @media (min-width: 450px) {
    .Title {
      padding: 100px 0 60px; } }
  .Title.Wh {
    color: #fff; }
  .Title.Bl {
    color: #333; }
  .Title p {
    font-size: 24px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    letter-spacing: 0.12em;
    text-decoration: none; }
  .Title h2 {
    font-size: 14px;
    line-height: 1.4em;
    margin: -10px auto 0; }
  .Title h3 {
    font-size: 30px;
    margin: 40px 0 20px;
    font-weight: bold;
    letter-spacing: 0.14em;
    font-feature-settings: "palt";
    line-height: 1.4em; }
    @media (min-width: 450px) {
      .Title h3 {
        font-size: 38px;
        margin: 40px 0 40px; } }

/*
---------------------------------------------------------------------------------------------------------------------
トップメッセージ
---------------------------------------------------------------------------------------------------------------------
*/
.Item-Title {
  color: #fff;
  margin: 40px auto 20px; }
  @media (min-width: 450px) {
    .Item-Title {
      margin: 70px auto 50px; } }
  .Item-Title p {
    font-size: 24px;
    letter-spacing: 0.12em;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    margin-bottom: 10px; }
  .Item-Title h6 {
    font-size: 14px; }

.BackKida {
  background-image: url(../img/Recruit/kida-Back2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  height: auto;
  padding: 20px 0; }
  @media (min-width: 768px) {
    .BackKida {
      padding: 140px 0;
      background-image: url(../img/Recruit/kida-Back.jpg);
      background-position: right -200px top; } }
  @media (min-width: 1024px) {
    .BackKida {
      background-position: right -100px top; } }
  @media (min-width: 1224px) {
    .BackKida {
      background-position: right top; } }
  .BackKida .Towa8 {
    color: #fff; }
    .BackKida .Towa8 h2 {
      font-size: 24px;
      letter-spacing: 0.12em;
      line-height: 2em;
      margin-bottom: 50px;
      font-weight: bold; }
      @media (min-width: 450px) {
        .BackKida .Towa8 h2 {
          font-size: 28px; } }
    .BackKida .Towa8 p {
      width: 100%;
      font-size: 13px;
      text-align: justify;
      line-height: 2.2em; }
      @media (min-width: 768px) {
        .BackKida .Towa8 p {
          font-size: 15px;
          width: 55%; } }
    .BackKida .Towa8 h4 {
      font-size: 12px;
      margin-top: 30px;
      padding-bottom: 350px; }
      @media (min-width: 450px) {
        .BackKida .Towa8 h4 {
          margin-top: 60px;
          padding-bottom: 0px; } }
      .BackKida .Towa8 h4 img {
        width: 115px;
        height: auto;
        margin-left: 20px; }

/*
---------------------------------------------------------------------------------------------------------------------
日本の採用を変える仕事たち
---------------------------------------------------------------------------------------------------------------------
*/
.Jobs {
  color: #333;
  margin-bottom: 40px; }
  @media (min-width: 450px) {
    .Jobs {
      margin-bottom: 80px; } }
  .Jobs h3 {
    font-size: 24px;
    text-align: center;
    font-weight: bold;
    margin: 60px auto 40px; }
    @media (min-width: 450px) {
      .Jobs h3 {
        margin: 40px auto 40px; } }
  .Jobs .Jobs-Box {
    margin-bottom: 50px; }
    @media (min-width: 450px) {
      .Jobs .Jobs-Box {
        margin-bottom: 60px; } }
    .Jobs .Jobs-Box img {
      width: 100%;
      height: auto; }
    .Jobs .Jobs-Box h4 {
      font-size: 18px;
      font-weight: bold;
      margin: 14px auto; }
      @media (min-width: 450px) {
        .Jobs .Jobs-Box h4 {
          margin: 20px auto; } }
    .Jobs .Jobs-Box h5 {
      font-size: 13px;
      text-align: justify;
      line-height: 1.5em;
      margin-bottom: 10px; }
      @media (min-width: 450px) {
        .Jobs .Jobs-Box h5 {
          font-size: 15px;
          margin-bottom: 20px; } }
    .Jobs .Jobs-Box a {
      color: #666666;
      font-size: 12px;
      transition: .5s; }
      @media (min-width: 450px) {
        .Jobs .Jobs-Box a {
          font-size: 14px; } }
      .Jobs .Jobs-Box a:hover {
        text-decoration: none;
        color: #888; }
      .Jobs .Jobs-Box a img {
        width: 14px;
        height: auto;
        margin-top: -3px;
        margin-left: 8px; }

/*
---------------------------------------------------------------------------------------------------------------------
日本の採用を変えるリクライブチーム
---------------------------------------------------------------------------------------------------------------------
*/
.Member {
  margin: auto; }
  .Member .MemberBox {
    color: #fff;
    margin-bottom: 80px; }
    .Member .MemberBox img {
      width: 100%;
      height: auto;
      margin-bottom: 10px; }
      @media (min-width: 1224px) {
        .Member .MemberBox img {
          margin-bottom: 30px; } }
    .Member .MemberBox .MemberText {
      position: relative;
      margin-bottom: 300px; }
      .Member .MemberBox .MemberText h3 {
        font-weight: bold;
        font-size: 16px;
        margin-bottom: 10px; }
        @media (min-width: 1224px) {
          .Member .MemberBox .MemberText h3 {
            font-size: 18px;
            margin-bottom: 14px; } }
      .Member .MemberBox .MemberText h4 {
        font-weight: bold;
        font-size: 13px;
        margin-bottom: 10px;
        line-height: 1.4em; }
        @media (min-width: 1224px) {
          .Member .MemberBox .MemberText h4 {
            font-size: 15px; } }
      .Member .MemberBox .MemberText p {
        position: absolute;
        top: 80px;
        font-size: 11px;
        text-align: justify;
        line-height: 1.7em;
        color: #999999; }
        @media (min-width: 1224px) {
          .Member .MemberBox .MemberText p {
            font-size: 13px;
            top: 95px; } }

/*
---------------------------------------------------------------------------------------------------------------------
リクライブで頑張る仕組み
---------------------------------------------------------------------------------------------------------------------
*/
.LIFE {
  padding: 20px 0 100px; }
  .LIFE .Life-Box {
    color: #fff; }
    .LIFE .Life-Box img {
      width: 100%;
      height: auto; }
    .LIFE .Life-Box h3 {
      font-size: 15px;
      line-height: 1.5em;
      font-weight: bold;
      margin: 25px auto 15px; }
      @media (min-width: 1224px) {
        .LIFE .Life-Box h3 {
          font-size: 18px; } }
    .LIFE .Life-Box p {
      font-size: 12px;
      line-height: 1.5em;
      text-align: justify; }
      @media (min-width: 1224px) {
        .LIFE .Life-Box p {
          font-size: 14px; } }

/*
---------------------------------------------------------------------------------------------------------------------
働きやすい環境があります。
---------------------------------------------------------------------------------------------------------------------
*/
.Office {
  margin-bottom: 70px; }
  .Office img {
    width: 100%;
    height: auto; }
  .Office .PC img {
    display: none; }
    @media (min-width: 450px) {
      .Office .PC img {
        display: inherit; } }
  @media (min-width: 450px) {
    .Office .SP img {
      display: none; } }

/*
---------------------------------------------------------------------------------------------------------------------
募集要項
---------------------------------------------------------------------------------------------------------------------
*/
.Recruit {
  max-width: 1230px;
  width: 100%;
  margin: auto;
  padding: 60px 0 100px; }
  .Recruit .Recruit-Box h3 {
    font-size: 11px;
    border-bottom: 1px solid #333;
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 20px; }
    @media (min-width: 450px) {
      .Recruit .Recruit-Box h3 {
        font-size: 18px; } }
    .Recruit .Recruit-Box h3 .CArrow {
      float: right;
      margin-top: -1px; }
    .Recruit .Recruit-Box h3 img {
      width: 15px;
      height: auto; }
    .Recruit .Recruit-Box h3 a {
      transition: .5s;
      color: #111; }
    .Recruit .Recruit-Box h3 a:hover {
      text-decoration: none;
      color: #00A4E3; }

.Recruitment {
  padding: 50px 0 0;
  color: #111; }
  @media (min-width: 450px) {
    .Recruitment {
      padding: 100px 0 0; } }
  .Recruitment p {
    font-size: 13px;
    margin: 1px 5px 0 2px;
    float: left;
    font-weight: bold; }
    @media (min-width: 450px) {
      .Recruitment p {
        margin: 4px 10px 0 2px;
        font-size: 18px; } }
  .Recruitment h3 {
    font-size: 18px;
    border-bottom: 1px solid #333;
    font-weight: bold;
    padding-bottom: 10px; }
    @media (min-width: 450px) {
      .Recruitment h3 {
        font-size: 28px;
        padding-bottom: 20px; } }
  .Recruitment table {
    line-height: 1.6em;
    width: 100%;
    margin: 0px auto 0px;
    font-size: 13px; }
    @media (min-width: 450px) {
      .Recruitment table {
        font-size: 15px; } }
  .Recruitment table th {
    border-bottom: 1px solid #D3D3D3;
    width: 80px;
    padding-left: 10px;
    vertical-align: top;
    padding-top: 20px; }
    @media (min-width: 450px) {
      .Recruitment table th {
        width: 260px; } }
  .Recruitment table tr {
    border-bottom: 1px solid #D3D3D3; }
  .Recruitment table td {
    text-align: left;
    padding: 20px 10px; }
    .Recruitment table td a {
      color: #111;
      transition: .5s; }
      .Recruitment table td a:hover {
        text-decoration: none;
        color: #444; }

/*キャンペーンボタン*/
.Document-Btn {
  margin-top: 20px; }

.Campaign-Btn a {
  color: #fff;
  display: inline-block;
  width: 200px;
  line-height: 50px;
  text-align: center;
  border-radius: 5px;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  position: relative;
  font-size: 14px;
  font-weight: 400; }

.Campaign-Btn.Btn2 a {
  background: linear-gradient(to right, rgba(92, 187, 199, 0.99) 0%, #106ae5 100%);
  filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.16));
  transition: all 3s ease-out;
  transition: .5s;
  transform: scale(1); }

.Campaign-Btn.Btn2 a:hover {
  background: linear-gradient(to right, rgba(102, 197, 209, 0.99) 0%, #146eef 100%);
  color: #fff;
  transform: scale(1.035);
  text-decoration: none; }

.Campaign-Btn.Btn1 a:before, .Campaign-Btn.Btn2 a:before {
  content: "";
  position: absolute;
  top: 45%;
  right: 6px;
  width: 8px;
  height: 1px;
  background: #fff;
  transform: rotate(45deg); }

.Campaign-Btn.Btn1 a:after, .Campaign-Btn.Btn2 a:after {
  content: "";
  position: absolute;
  top: 55%;
  right: 6px;
  width: 8px;
  height: 1px;
  background: #fff;
  transform: rotate(-45deg); }

.tab_item {
  width: calc(95%/2);
  height: 70px;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 5px;
  line-height: 70px;
  font-size: 15px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  font-weight: bold;
  transition: all 0.2s ease;
  margin: 0 1.0%; }
  @media (min-width: 450px) {
    .tab_item {
      width: calc(90%/2);
      margin: 0 2.5%; } }

.tab_item:hover {
  opacity: 0.75; }

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none; }

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 10px 0;
  clear: both;
  overflow: hidden; }
  @media (min-width: 450px) {
    .tab_content {
      padding: 40px 40px 0; } }

/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block; }

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #333;
  color: #fff; }
