
/* Recruit pages - unified with company/business/map design */
body.recruit-page{
  background:#fafafa !important;
}

body.recruit-page .page-title::before{
  content:"" !important;
}

body.recruit-page.page-saiyou1 .item1,
body.recruit-page.page-saiyou2 .item2,
body.recruit-page.page-saiyou3 .item3{
  border-color:rgba(44,103,176,.35) !important;
  background:linear-gradient(135deg,#e7f3ff,#cfe5f8) !important;
}

body.recruit-page .item-midashi{
  text-align:center !important;
  justify-content:center !important;
}

body.recruit-page .recruit-stack{
  display:grid;
  gap:22px;
}

body.recruit-page .recruit-lead-card,
body.recruit-page .recruit-message-card,
body.recruit-page .recruit-table-card{
  border:1px solid rgba(221,229,238,.95);
  border-radius:22px;
  background:linear-gradient(135deg,#ffffff,#f7faf1);
  box-shadow:0 10px 26px rgba(13,32,58,.06);
}

body.recruit-page .recruit-lead-card{
  padding:26px 28px;
  position:relative;
  overflow:hidden;
}

body.recruit-page .recruit-lead-card::after{
  content:"";
  position:absolute;
  right:-36px;
  top:-42px;
  width:140px;
  height:140px;
  border-radius:42px;
  background:linear-gradient(135deg,rgba(202,226,72,.24),rgba(45,199,205,.12));
  transform:rotate(12deg);
}

body.recruit-page .recruit-lead-card span{
  color:#8aaa2b;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.22em;
}

body.recruit-page .recruit-lead-card h2{
  margin:8px 0 12px;
  color:#17263f;
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:.08em;
}

body.recruit-page .recruit-lead-card p{
  margin:0;
  max-width:760px;
  color:#2d3b50;
  line-height:1.95;
  font-size:1rem;
}

body.recruit-page .recruit-lead-card.compact{
  padding:22px 26px;
}

body.recruit-page .recruit-link-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
  max-width:560px;
}

body.recruit-page .recruit-link-grid a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:64px;
  padding:14px 18px;
  border:1px solid rgba(184,213,64,.7);
  border-radius:18px;
  background:linear-gradient(135deg,#fffef4,#f0f7db);
  color:#17263f;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(13,32,58,.045);
}

body.recruit-page .recruit-link-grid a b{
  font-size:1rem;
  font-weight:900;
}

body.recruit-page .recruit-link-grid a small{
  color:#8aaa2b;
  font-size:.8rem;
  font-weight:900;
}

body.recruit-page .recruit-message-card{
  padding:24px 28px;
  position:relative;
}

body.recruit-page .recruit-card-label{
  color:#8aaa2b;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  margin-bottom:8px;
}

body.recruit-page .recruit-copy{
  color:#2d3b50;
  font-size:1rem;
  line-height:1.95;
}

body.recruit-page .recruit-copy br{
  line-height:1.4;
}

body.recruit-page .recruit-table-card{
  padding:24px 28px 28px;
}

body.recruit-page .recruit-table-wrap{
  margin-top:18px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:18px;
  border:1px solid rgba(221,229,238,.95);
}

body.recruit-page .recruit-table-wrap table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:none !important;
  background:#fff;
}

body.recruit-page .recruit-table-wrap td{
  border:none !important;
  border-bottom:1px solid rgba(221,229,238,.95) !important;
  color:#2d3b50;
  line-height:1.75;
  font-size:.96rem;
  vertical-align:top;
}

body.recruit-page .recruit-table-wrap tr:last-child td{
  border-bottom:none !important;
}

body.recruit-page .recruit-table-wrap .lefttable{
  width:160px;
  background:linear-gradient(135deg,#f3f8e9,#edf5df) !important;
  color:#17263f;
  font-weight:900;
  padding:16px 18px !important;
  white-space:nowrap;
}

body.recruit-page .recruit-table-wrap .righttable{
  background:#fff !important;
  padding:16px 20px !important;
}

body.recruit-page .recruit-table-wrap a{
  color:#23659e;
  font-weight:900;
  text-decoration:none;
}

body.recruit-page .company-content-title{
  margin-bottom:16px !important;
}

@media (max-width:860px){
  body.recruit-page .recruit-link-grid{
    grid-template-columns:1fr;
  }

  body.recruit-page .recruit-lead-card,
  body.recruit-page .recruit-message-card,
  body.recruit-page .recruit-table-card{
    padding:22px 18px;
  }

  body.recruit-page .recruit-table-wrap table,
  body.recruit-page .recruit-table-wrap tbody,
  body.recruit-page .recruit-table-wrap tr,
  body.recruit-page .recruit-table-wrap td{
    display:block;
    width:100% !important;
  }

  body.recruit-page .recruit-table-wrap .lefttable{
    padding:14px 16px 8px !important;
    border-bottom:none !important;
  }

  body.recruit-page .recruit-table-wrap .righttable{
    padding:6px 16px 16px !important;
  }

  body.recruit-page .recruit-table-wrap tr{
    border-bottom:1px solid rgba(221,229,238,.95);
  }

  body.recruit-page .recruit-table-wrap tr:last-child{
    border-bottom:none;
  }
}


/* 2026-06-09: recruit message card visual variation */
body.recruit-page.page-saiyou1 .recruit-message-card{
  overflow:hidden;
  isolation:isolate;
  transition:transform .22s ease, box-shadow .22s ease;
}

body.recruit-page.page-saiyou1 .recruit-message-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(13,32,58,.09);
}

body.recruit-page.page-saiyou1 .recruit-message-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  border-radius:22px 0 0 22px;
  z-index:0;
}

body.recruit-page.page-saiyou1 .recruit-message-card::after{
  content:"";
  position:absolute;
  right:-44px;
  top:-48px;
  width:160px;
  height:160px;
  border-radius:46px;
  transform:rotate(14deg);
  z-index:0;
}

body.recruit-page.page-saiyou1 .recruit-message-card > *{
  position:relative;
  z-index:1;
}

body.recruit-page.page-saiyou1 .recruit-card-keyword{
  position:absolute;
  right:24px;
  top:22px;
  color:rgba(23,38,63,.18);
  font-size:1.7rem;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-tech{
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,249,255,.92) 58%,rgba(250,253,239,.95));
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-tech::before{
  background:linear-gradient(180deg,#55b8d8,#b9d84a);
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-tech::after{
  background:linear-gradient(135deg,rgba(90,190,220,.20),rgba(185,216,74,.14));
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-holiday{
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,252,232,.95) 54%,rgba(239,248,231,.96));
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-holiday::before{
  background:linear-gradient(180deg,#d7dc52,#8ecf9a);
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-holiday::after{
  background:
    radial-gradient(circle at 30% 30%,rgba(215,220,82,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 70% 70%,rgba(142,207,154,.18) 0 2px,transparent 3px);
  background-size:18px 18px;
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-mind{
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(245,249,252,.96) 52%,rgba(239,247,255,.92));
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-mind::before{
  background:linear-gradient(180deg,#17263f,#5db7d3);
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-mind::after{
  background:linear-gradient(135deg,rgba(23,38,63,.13),rgba(93,183,211,.12));
}

body.recruit-page.page-saiyou1 .recruit-message-card.theme-mind .recruit-card-keyword{
  color:rgba(23,38,63,.15);
}

body.recruit-page.page-saiyou1 .recruit-card-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:0 6px 14px rgba(13,32,58,.06);
  margin-bottom:12px;
}

body.recruit-page.page-saiyou1 .recruit-message-card .company-content-title{
  margin-right:145px !important;
}

@media (max-width:720px){
  body.recruit-page.page-saiyou1 .recruit-card-keyword{
    position:relative;
    right:auto;
    top:auto;
    margin:-2px 0 10px;
    font-size:1rem;
    color:rgba(23,38,63,.35) !important;
  }

  body.recruit-page.page-saiyou1 .recruit-message-card .company-content-title{
    margin-right:0 !important;
  }
}


/* 2026-06-09: remove duplicated table headings on saiyou2/3 */
body.recruit-page.page-saiyou2 .recruit-table-card.table-only,
body.recruit-page.page-saiyou3 .recruit-table-card.table-only{
  padding-top:20px !important;
}

body.recruit-page.page-saiyou2 .recruit-table-card.table-only .recruit-table-wrap,
body.recruit-page.page-saiyou3 .recruit-table-card.table-only .recruit-table-wrap{
  margin-top:0 !important;
}


/* 2026-09-23: saiyou1 lead card photo layout */
body.recruit-page.page-saiyou1 .recruit-lead-card--with-photo::after{
  z-index:0;
}
body.recruit-page.page-saiyou1 .recruit-lead-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(260px,.88fr);
  gap:22px;
  align-items:center;
}
body.recruit-page.page-saiyou1 .recruit-lead-copy{
  min-width:0;
}
body.recruit-page.page-saiyou1 .recruit-lead-card--with-photo p{
  max-width:none;
  font-size:.96rem;
  line-height:1.88;
}
body.recruit-page.page-saiyou1 .recruit-link-grid--compact{
  max-width:440px;
  gap:12px;
  margin-top:16px;
}
body.recruit-page.page-saiyou1 .recruit-link-grid--compact a{
  min-height:56px;
  padding:12px 16px;
}
body.recruit-page.page-saiyou1 .recruit-link-grid--compact a b{
  font-size:.96rem;
}
body.recruit-page.page-saiyou1 .recruit-link-grid--compact a small{
  font-size:.76rem;
}
body.recruit-page.page-saiyou1 .recruit-lead-photo{
  position:relative;
  margin-top:120px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(221,229,238,.95);
  background:#fff;
  box-shadow:0 10px 24px rgba(13,32,58,.06);
}
body.recruit-page.page-saiyou1 .recruit-lead-photo img{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
}
@media (max-width:860px){
  body.recruit-page.page-saiyou1 .recruit-lead-shell{
    grid-template-columns:1fr;
    gap:16px;
  }
  body.recruit-page.page-saiyou1 .recruit-lead-photo{
    order:2;
  }
  body.recruit-page.page-saiyou1 .recruit-link-grid--compact{
    max-width:none;
  }
}


/* 2026-09-24: saiyou1 募集要項リンクを本文・写真の下へ移動し2段表示に統一 */
body.recruit-page.page-saiyou1 .recruit-link-grid--below{
  width:100%;
  max-width:none;
  margin-top:26px;
  gap:16px;
}
body.recruit-page.page-saiyou1 .recruit-link-grid--below a{
  min-height:72px;
  padding:12px 18px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  text-align:center;
}
body.recruit-page.page-saiyou1 .recruit-link-grid--below a b{
  display:block;
  white-space:nowrap;
  font-size:1rem;
  line-height:1.35;
}
body.recruit-page.page-saiyou1 .recruit-link-grid--below a small{
  display:block;
  white-space:nowrap;
  font-size:.78rem;
  line-height:1.3;
}
@media (max-width:860px){
  body.recruit-page.page-saiyou1 .recruit-link-grid--below{
    margin-top:20px;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  body.recruit-page.page-saiyou1 .recruit-link-grid--below a{
    min-height:68px;
    padding:10px 8px;
  }
  body.recruit-page.page-saiyou1 .recruit-link-grid--below a b{
    font-size:.92rem;
  }
  body.recruit-page.page-saiyou1 .recruit-link-grid--below a small{
    font-size:.72rem;
  }
}
@media (max-width:430px){
  body.recruit-page.page-saiyou1 .recruit-link-grid--below{
    grid-template-columns:1fr;
  }
}
