@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* ここに追記していく */

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
}
/*834px以下*/
@media screen and (max-width: 834px){
}
/*480px以下*/
@media screen and (max-width: 480px){
}


/* =========================================================
  ORCA Portal CSS（統合版：整形済み）
  - デザインCSS：#orca-home 内に限定
  - HOME（page-id-75）だけ：Cocoonの箱/余白/2カラム/記事フッター等を無効化
  - 角丸なし（フラット）
========================================================= */


/* =========================================================
  0) ORCA LP base
========================================================= */
#orca-home,
#orca-home *{ box-sizing:border-box; }

#orca-home{
  --ink:#0f172a;
  --muted:rgba(15,23,42,.70);
  --line:rgba(15,23,42,.12);

  --bg:#fbfaf7;
  --brand:#2563eb;
  --warm:#ff6b6b;
  --sun:#ffb020;
  --mint:#0f766e;

  color:var(--ink);
  letter-spacing:.01em;

  background:
    radial-gradient(900px 500px at 18% 8%, rgba(255,176,32,.16), transparent 55%),
    radial-gradient(900px 500px at 85% 18%, rgba(37,99,235,.12), transparent 55%),
    linear-gradient(180deg, #fff, var(--bg));

  /* 角丸なし */
  border-radius:0;
  overflow:hidden;
  isolation:isolate;

  width:100%;
  max-width:100%;
}

#orca-home a{ color:inherit; text-decoration:none; }
#orca-home img{ max-width:100%; height:auto; display:block; }
#orca-home h1,#orca-home h2,#orca-home h3,#orca-home p{ margin:0; }

#orca-home .orca-inner{
  width:min(1240px, 100%);
  max-width:100%;
  margin:0 auto;
  padding-left:min(4vw, 24px);
  padding-right:min(4vw, 24px);
}

#orca-home .orca-section{ padding:52px 0; }

#orca-home .orca-h2{
  font-size:clamp(22px, 2.1vw, 34px);
  line-height:1.2;
  font-weight:950;
  position:relative;
  padding-bottom:8px;
  margin-bottom:10px;
}
#orca-home .orca-h2::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:56px; height:3px; border-radius:999px;
  background:linear-gradient(90deg, var(--brand), var(--sun), var(--warm));
  opacity:.95;
}

#orca-home .orca-h3{ font-size:18px; font-weight:950; line-height:1.35; margin-bottom:6px; }
#orca-home .orca-p{ color:var(--muted); line-height:1.9; }

#orca-home .orca-head{ display:grid; gap:8px; margin-bottom:18px; }
#orca-home .orca-head--row{
  display:flex; align-items:flex-end; justify-content:space-between; gap:14px;
}
@media (max-width:820px){
  #orca-home .orca-head--row{ flex-direction:column; align-items:flex-start; }
}

#orca-home .orca-link{ color:var(--brand); font-weight:900; }
#orca-home .orca-link:hover{ text-decoration:underline; }


/* =========================================================
  1) Buttons
========================================================= */
#orca-home .orca-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45em;
  min-height:46px;
  padding:12px 16px;
  border-radius:999px;
  font-weight:950;
  border:1px solid transparent;
  white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
#orca-home .orca-btn:hover{ transform:translateY(-1px); }

#orca-home .orca-btn--primary{
  color:#fff;
  background:linear-gradient(135deg, var(--brand), #4b8bff);
  box-shadow:0 18px 34px rgba(37,99,235,.22), 0 0 0 4px rgba(255,176,32,.10);
}

/* secondaryは常に読める：白背景＋濃い文字 */
#orca-home .orca-btn--secondary{
  color:rgba(15,23,42,.92) !important;
  background:linear-gradient(180deg, #fff, #fffdf8) !important;
  border-color:rgba(15,23,42,.18) !important;
  box-shadow:0 12px 18px rgba(15,23,42,.06), 0 0 0 4px rgba(255,176,32,.08);
}
#orca-home .orca-hero .orca-btn--secondary,
#orca-home .orca-end  .orca-btn--secondary{
  color:rgba(15,23,42,.92) !important;
  background:#fff !important;
  border-color:rgba(255,255,255,.55) !important;
}


/* =========================================================
  2) HERO
========================================================= */
#orca-home .orca-full{ position:relative; }
#orca-home .orca-full::before{
  content:"";
  position:absolute; inset:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  z-index:0;
}

#orca-home .orca-hero{ padding:0; border-radius:0; }
#orca-home .orca-hero::before{
  background:
    linear-gradient(110deg, rgba(2,6,23,.86), rgba(2,6,23,.18)),
    var(--orca-bgimg);
  background-size:cover;
  background-position:center;
  border-radius:0;
}

#orca-home .orca-hero__inner{
  position:relative; z-index:1;
  min-height:680px;
  padding:clamp(22px, 4.4vw, 64px) 0;
  display:flex; flex-direction:column; justify-content:center;
  gap:12px;
  color:#fff;
}

#orca-home .orca-kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-weight:950; letter-spacing:.08em;
  opacity:.92;
}
#orca-home .orca-kicker::before{
  content:""; width:28px; height:2px; border-radius:999px;
  background:rgba(255,255,255,.72);
}

#orca-home .orca-hero__title{
  font-size:clamp(34px, 4.8vw, 64px);
  line-height:1.05;
  font-weight:950;
  max-width:20ch;
}
#orca-home .orca-hero__lead{ max-width:52ch; opacity:.96; }

#orca-home .orca-search{
  margin-top:10px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap:12px;
  align-items:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:12px;
  backdrop-filter: blur(10px);
}
#orca-home .orca-search__field{
  display:grid; gap:4px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
#orca-home .orca-search__label{ font-weight:950; }
#orca-home .orca-search__hint{ opacity:.86; font-size:13px; }
#orca-home .orca-search__btns{
  display:grid; grid-auto-flow:column; grid-auto-columns:max-content;
  gap:10px;
}
@media (max-width:820px){
  #orca-home .orca-search{ grid-template-columns:1fr; }
  #orca-home .orca-search__btns{ grid-auto-flow:row; grid-auto-columns:1fr; }
  #orca-home .orca-search__btns .orca-btn{ width:100%; }
}

#orca-home .orca-quick{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
#orca-home .orca-chip{
  display:inline-flex; align-items:center;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  color:rgba(255,255,255,.94);
  font-weight:900;
  backdrop-filter: blur(8px);
}

#orca-home .orca-trust{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  max-width:900px;
}
#orca-home .orca-trust__item{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  border-radius:16px;
  padding:12px;
  backdrop-filter: blur(10px);
}
#orca-home .orca-trust__num{ font-weight:950; font-size:18px; }
#orca-home .orca-trust__txt{ opacity:.92; font-size:13px; margin-top:2px; }
@media (max-width:820px){
  #orca-home .orca-trust{ grid-template-columns:1fr; }
}


/* =========================================================
  3) Sticky
========================================================= */
#orca-home .orca-sticky{
  position:sticky;
  top:10px;
  z-index:80;
  margin:0 auto;
}
.admin-bar #orca-home .orca-sticky{ top:42px; }

#orca-home .orca-sticky__inner{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  box-shadow:0 12px 28px rgba(15,23,42,.10);
  padding:10px 12px;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
}
#orca-home .orca-sticky__copy{
  display:flex; align-items:center; gap:10px;
  font-weight:950;
  color:rgba(15,23,42,.76);
}
#orca-home .orca-dot{
  width:10px; height:10px; border-radius:999px;
  background:var(--mint);
  box-shadow:0 0 0 4px rgba(15,118,110,.10);
}
#orca-home .orca-sticky__btns{
  display:grid; grid-auto-flow:column; grid-auto-columns:max-content;
  gap:10px;
}
@media (max-width:640px){
  #orca-home .orca-sticky__copy{ display:none; }
}


/* =========================================================
  4) Categories（p包み対応）
========================================================= */
#orca-home .orca-cats{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
}
#orca-home .orca-cats > br{ display:none !important; }
#orca-home .orca-cats > p{ margin:0 !important; padding:0 !important; }
#orca-home .orca-cats > p > .orca-cat{ width:100% !important; }

#orca-home .orca-cat{
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(15,23,42,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  box-shadow:0 18px 46px rgba(15,23,42,.10), 0 2px 0 rgba(255,176,32,.10) inset;
  display:grid;
  gap:6px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
#orca-home .orca-cat:hover{
  transform:translateY(-2px);
  border-color:rgba(37,99,235,.25);
  box-shadow:0 22px 54px rgba(15,23,42,.14);
}
#orca-home .orca-cat__t{ font-weight:950; }
#orca-home .orca-cat__s{
  font-size:13px;
  color:rgba(15,23,42,.70);
  word-break:keep-all;
  overflow-wrap:anywhere;
}
@media (max-width:980px){
  #orca-home .orca-cats{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width:640px){
  #orca-home .orca-cats{ grid-template-columns:1fr !important; }
}


/* =========================================================
  5) Jobs band + grid
========================================================= */
#orca-home .orca-jobsband{
  background:
    radial-gradient(900px 420px at 15% 15%, rgba(255,176,32,.14), transparent 60%),
    radial-gradient(900px 420px at 85% 20%, rgba(37,99,235,.10), transparent 60%),
    linear-gradient(180deg, #fff, #f5f7ff);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

#orca-home .orca-jobs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  width:100%;
}
@media (max-width:980px){
  #orca-home .orca-jobs{ grid-template-columns:1fr; }
}

#orca-home .orca-job{
  min-width:0;
  border:1px solid rgba(15,23,42,.10);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  box-shadow:0 18px 46px rgba(15,23,42,.10), 0 2px 0 rgba(255,176,32,.10) inset;
  overflow:hidden;
}

#orca-home .orca-job__media{
  display:block;
  position:relative;
  height:140px;
  overflow:hidden;
  background:#eee;
}
#orca-home .orca-job__media::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(2,6,23,.08), rgba(2,6,23,.35));
  pointer-events:none;
}
#orca-home .orca-job__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.05) contrast(1.02);
}

#orca-home .orca-job__body{
  padding:16px;
  display:grid;
  gap:10px;
}

#orca-home .orca-job__top{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:10px;
}
#orca-home .orca-job__t{
  font-size:16px;
  line-height:1.35;
  font-weight:950;
  min-width:0;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
#orca-home .orca-tag{
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,107,107,.14);
  color:#d94b4b;
  font-weight:950;
  font-size:12px;
  white-space:nowrap;
}

#orca-home .orca-job__meta{
  display:flex; flex-wrap:wrap; gap:8px;
  color:rgba(15,23,42,.70);
  font-weight:900;
  font-size:12px;
}

#orca-home .orca-job__btns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:6px;
}
@media (max-width:640px){
  #orca-home .orca-job__btns{ grid-template-columns:1fr; }
}

#orca-home .orca-more{ margin-top:16px; display:flex; justify-content:center; }


/* =========================================================
  6) Support
========================================================= */
#orca-home .orca-support{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
@media (max-width:980px){
  #orca-home .orca-support{ grid-template-columns:1fr; }
}

#orca-home .orca-support__item{
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  box-shadow:0 18px 46px rgba(15,23,42,.10), 0 2px 0 rgba(255,176,32,.10) inset;
  padding:16px;
}


/* =========================================================
  7) CTA
========================================================= */
#orca-home .orca-lpcta{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg, #ffffff, #eef2ff);
  padding:18px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  box-shadow:0 14px 26px rgba(15,23,42,.10);
}
#orca-home .orca-lpcta__btns{
  display:grid; grid-auto-flow:column; grid-auto-columns:max-content;
  gap:12px;
}
@media (max-width:980px){
  #orca-home .orca-lpcta{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  #orca-home .orca-lpcta__btns{ grid-auto-flow:row; grid-auto-columns:1fr; }
  #orca-home .orca-lpcta__btns .orca-btn{ width:100%; }
}


/* =========================================================
  8) End
========================================================= */
#orca-home .orca-end::before{
  background:
    linear-gradient(110deg, rgba(2,6,23,.88), rgba(2,6,23,.28)),
    var(--orca-bgimg);
  background-size:cover;
  background-position:center;
  border-radius:0;
}
#orca-home .orca-end__inner{
  position:relative; z-index:1;
  min-height:420px;
  padding:clamp(18px, 4vw, 54px) 0;
  display:flex; flex-direction:column; justify-content:center;
  gap:12px;
  color:#fff;
}
#orca-home .orca-end__title{
  font-size:clamp(22px, 3.2vw, 42px);
  line-height:1.1;
  font-weight:950;
  color:#fff !important;
  text-shadow:0 10px 24px rgba(0,0,0,.35);
}
#orca-home .orca-end__lead{ opacity:.95; max-width:52ch; }
#orca-home .orca-end__btns{
  display:grid; grid-auto-flow:column; grid-auto-columns:max-content;
  gap:12px;
  margin-top:6px;
}
@media (max-width:640px){
  #orca-home .orca-end__btns{ grid-auto-flow:row; grid-auto-columns:1fr; max-width:420px; }
  #orca-home .orca-end__btns .orca-btn{ width:100%; }
}


/* =========================================================
  HOME（page-id-75）だけ：Cocoonの箱/余白/2カラムを無効化（最小で確実）
========================================================= */

/* 1) WPログイン中：admin-barが作る上マージンを潰す */
html body.page-id-75.admin-bar{ margin-top:0 !important; }
html body.page-id-75.admin-bar #wpadminbar{
  position:fixed !important;
  top:0 !important; left:0 !important; right:0 !important;
}

/* 2) HOMEだけ：固定ページタイトルを消す */
body.page-id-75 .entry-title,
body.page-id-75 .page-title{ display:none !important; }

/* 3) HOMEだけ：ヘッダーを消す（LP専用） */
body.page-id-75 #header-container,
body.page-id-75 header{ display:none !important; }

/* 4) HOMEだけ：外側のレイアウト箱を1カラム化 */
body.page-id-75 #container,
body.page-id-75 .container,
body.page-id-75 #wrap,
body.page-id-75 .wrap,
body.page-id-75 #content,
body.page-id-75 #content-in,
body.page-id-75 .content,
body.page-id-75 .content-in,
body.page-id-75 .content-in.wrap,
body.page-id-75 #primary,
body.page-id-75 .site-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  display:block !important;
}

/* 5) HOMEだけ：main/entry-content の余白をゼロ */
body.page-id-75 main#main,
body.page-id-75 #main,
body.page-id-75 main#main.main,
body.page-id-75 #main.main,
body.page-id-75 .main,
body.page-id-75 article,
body.page-id-75 .entry-content{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;

  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
  flex:0 0 100% !important;
}

/* 6) HOMEだけ：サイドバーを物理削除 */
body.page-id-75 #sidebar,
body.page-id-75 .sidebar,
body.page-id-75 [id^="sidebar"]{
  display:none !important;
  width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* 7) HOMEだけ：#orca-home を上に詰める */
body.page-id-75 #orca-home{
  margin:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* 8) HOMEだけ：記事フッター（区切り線の原因）を消す */
body.page-id-75 footer.article-footer.entry-footer{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

/* 9) HOMEだけ：念のため最下部の段差を潰す */
body.page-id-75 article,
body.page-id-75 .entry,
body.page-id-75 .entry-content{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
/* ===== 「一人で探さなくていい。」の可読性アップ ===== */
#orca-home .orca-end__title{
  /* 白帯を消して、文字として見せる */
  background: rgba(0,0,0,.45);
  color:#fff !important;
  display:inline-block;
  padding:14px 18px;
  border-radius:12px;
  box-shadow:0 12px 26px rgba(0,0,0,.25);
  text-shadow:0 6px 18px rgba(0,0,0,.45);
}

/* リード文も少し持ち上げる（任意） */
#orca-home .orca-end__lead{
  color:rgba(255,255,255,.92);
  text-shadow:0 6px 18px rgba(0,0,0,.35);
}
/* 求人カード写真：グレー（オーバーレイ）を消す */
#orca-home .orca-job__media::after{
  background:none !important;
}
/* 求人カード画像：上に出るグレー帯（<br>由来）を消す */
#orca-home .orca-job__media{
  line-height:0 !important;  /* <br>の行高を無力化 */
  font-size:0 !important;    /* 念のため */
  padding:0 !important;
}

/* a直下に混入してる <br> を無効化 */
#orca-home .orca-job__media > br{
  display:none !important;
}

/* 画像を先頭にピタッと吸着 */
#orca-home .orca-job__img{
  display:block;
  margin:0 !important;
  vertical-align:top;
}

/* =========================================================
   ORCA：求人（WP Job Manager）UI 追加CSS（統合）
   - 既存style.cssは維持し、ここから追記
   - 影響範囲を「求人一覧(page-id-11)」「求人詳細(single-job_listing)」中心に限定
   ========================================================= */

/* =========================================================
   0) ヘッダー：左ロゴ／右メニュー（全ページ共通）
   ========================================================= */
#header-container{
  padding-top:10px !important;
  padding-bottom:10px !important;
}
#header-container .header-container-in{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding-left:18px;
  padding-right:18px;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
}
#header-container header#header{
  flex:0 0 auto !important;
  margin:0 !important;
}
#header-container nav#navi{
  flex:1 1 auto !important;
  margin-left:auto !important;
  text-align:right !important;
}
#header-container nav#navi .navi-in{
  display:flex !important;
  justify-content:flex-end !important;
}
#header-container nav#navi .navi-in > ul{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
#header-container nav#navi .navi-in a{
  display:inline-flex !important;
  align-items:center !important;
  padding:8px 10px !important;
  border-radius:10px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  color:inherit !important;
}
#header-container nav#navi .navi-in a:hover{
  background:rgba(0,0,0,.06) !important;
}
#header-container header#header img,
#header-container header#header .custom-logo,
#header-container header#header img.custom-logo{
  height:auto !important;
  width:auto !important;
  max-height:44px !important;
  max-width:280px !important;
  object-fit:contain !important;
  display:block !important;
}
#header-container header#header .custom-logo-link ~ .logo-text,
#header-container header#header .custom-logo-link + .logo-text{
  display:none !important;
}
@media (max-width: 680px){
  #header-container{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
  #header-container .header-container-in{
    padding-left:14px;
    padding-right:14px;
  }
  #header-container header#header img,
  #header-container header#header .custom-logo,
  #header-container header#header img.custom-logo{
    max-height:36px !important;
    max-width:240px !important;
  }
  #header-container nav#navi .navi-in > ul{
    gap:12px !important;
  }
}

/* =========================================================
   1) 求人一覧（WPJM） page-id-11
   ========================================================= */
body.page-id-11 ul.job_listings{
  border-top:0 !important;
}
body.page-id-11 ul.job_listings li.job_listing,
body.page-id-11 ul.job_listings li.no_job_listings_found{
  border-bottom:0 !important;
}
body.page-id-11 .entry-title,
body.page-id-11 .page-title{
  text-align:center !important;
  margin-bottom:18px !important;
}

/* =========================================================
   2) ORCA Job Card（WP Job Manager）
   ========================================================= */
.orca-jobcard{
  list-style:none;
  margin:0 0 16px;
  padding:0;
}
.orca-jobcard__inner{
  display:block;
  padding:18px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  text-decoration:none !important;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  outline:none !important;
}
.orca-jobcard__inner:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(0,0,0,.10) !important;
  border-color: transparent !important;
}
.orca-jobcard__inner,
.orca-jobcard__inner *{
  text-decoration:none !important;
}
.orca-jobcard__head{
  display:flex;
  gap:18px;
  align-items:stretch;
  margin-bottom:10px;
}
.orca-jobcard__thumb{
  width:48%;
  flex:0 0 48%;
  min-height:190px;
  border-radius:18px;
  overflow:hidden;
  background: rgba(0,0,0,.05);
}
.orca-jobcard__thumbImg{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.orca-jobcard__thumbPlaceholder{
  width:100%;
  height:100%;
  background:
    radial-gradient(1200px 400px at 30% 20%, rgba(0,0,0,.06), transparent 55%),
    radial-gradient(800px 300px at 70% 60%, rgba(0,0,0,.06), transparent 60%),
    linear-gradient(135deg, rgba(0,0,0,.03), rgba(0,0,0,.08));
}
.orca-jobcard__main{
  width:52%;
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.orca-jobcard__titleRow{
  display:flex;
  gap:10px;
  align-items:flex-start;
  justify-content:space-between;
}
.orca-jobcard__title{
  margin:0;
  font-size:18px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.01em;
}
.orca-jobcard__company{
  margin-top:6px;
  font-size:13px;
  opacity:.85;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.orca-jobcard__salary,
.orca-jobcard__location,
.orca-jobcard__workhours,
.orca-jobcard__shift,
.orca-jobcard__workdays{
  margin-top:7px;
  font-size:15px;
  line-height:1.3;
  opacity:.92;
  display:flex;
  gap:6px;
  align-items:flex-start;
}
.orca-jobcard__features{
  margin:12px 0 0;
  padding:10px 10px;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  border-radius:14px;
  background:#f2f7ff;
  border:1px solid #cfe0ff;
}
.orca-jobcard__chip{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  font-size:13px;
  line-height:1;
  font-weight:900;
}
.orca-jobcard__chip--feature{
  background:#2b6cff !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 6px 16px rgba(43,108,255,.22) !important;
}
.orca-jobcard__chip--more{
  background:#fff !important;
  color:#2b6cff !important;
  border:2px dashed #2b6cff !important;
  box-shadow:none !important;
}
.orca-jobcard__badge{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  border:0 !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(0,0,0,.14) !important;
}
.orca-jobcard__badge.is-fulltime{ background:#18a957 !important; }
.orca-jobcard__badge.is-contract{ background:#ffb200 !important; color:#2b1a00 !important; }
.orca-jobcard__badge.is-temp{ background:#ff4d1a !important; }
.orca-jobcard__badge.is-part{ background:#6b5cff !important; }

.orca-jobcard__meta{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(0,0,0,.08);
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-end;
}
.orca-jobcard__metaList{
  margin:0;
  padding:0;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  list-style:none;
}
.orca-jobcard__date{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  opacity:.8;
}
.orca-jobcard__cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:900;
  opacity:.92;
  white-space:nowrap;
}
.orca-jobcard__ctaText{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
}

@media (max-width: 680px){
  .orca-jobcard__head{
    flex-direction:column;
    align-items:flex-start;
  }
  .orca-jobcard__thumb{
    width:100%;
    flex:0 0 auto;
    min-height:200px;
  }
  .orca-jobcard__main{ width:100%; }
}
@media (max-width: 640px){
  .orca-jobcard__meta{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* =========================================================
   3) 求人詳細（single-job_listing）
   ========================================================= */

/* h1ヒーロー */
body.single-job_listing .entry-header{
  margin: 10px 0 14px;
  padding: 14px 14px 0;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,0));
}
body.single-job_listing h1.entry-title{
  margin: 0;
  padding: 16px 16px 16px 18px;
  border-radius: 20px;
  font-weight: 950;
  letter-spacing: .02em;
  line-height: 1.22;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
  position: relative;
  overflow: hidden;
  word-break: break-word;
}
body.single-job_listing h1.entry-title::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:10px;
  background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.06));
}
body.single-job_listing h1.entry-title::after{
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width:220px;
  height:220px;
  border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(0,0,0,.09), rgba(0,0,0,0) 60%);
  pointer-events:none;
}
@media (min-width: 900px){
  body.single-job_listing h1.entry-title{ font-size: 30px; }
}
@media (max-width: 899px){
  body.single-job_listing .entry-header{ padding: 10px 10px 0; }
  body.single-job_listing h1.entry-title{ font-size: 22px; padding: 14px 14px 14px 16px; }
}

/* 上部CTA */
.orca-job-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin:16px 0 12px;
}
.orca-job-cta__primary,
.orca-job-cta__secondary,
.orca-job-cta__tel{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  text-decoration:none !important;
  font-weight:900;
  line-height:1;
  min-height:44px;
  border:1px solid rgba(0,0,0,.12);
}
.orca-job-cta__primary{
  background: #ff0000; !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 12px 26px rgba(0,0,0,.14);
}
.orca-job-cta__tel{
  background:#fff !important;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.orca-job-cta__secondary{ background:transparent !important; }
@media (max-width: 640px){
  .orca-job-cta__primary,
  .orca-job-cta__secondary,
  .orca-job-cta__tel{
    flex:1 1 160px;
  }
}

/* 3点サマリー */
.orca-job-summary{
  margin: 10px 0 14px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.orca-job-summary__item{
  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
  min-width: 0;
}
.orca-job-summary__k{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  color: rgba(0,0,0,.55);
  margin-bottom: 4px;
}
.orca-job-summary__v{
  font-size: 13px;
  font-weight: 900;
  color: rgba(0,0,0,.88);
  line-height: 1.45;
  word-break: break-word;
}
@media (max-width: 900px){
  .orca-job-summary{ grid-template-columns: 1fr; }
}

/* ポイント圧縮UI（旧スタイル - 新しいギャラリースタイルに置き換え済み）
.job-acf-top{ margin: 18px 0 22px; }
.job-acf-top__wrap{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap: 16px;
  padding: 14px;
  border-radius: 18px;
  background:#fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}
.job-acf-top__media{
  border-radius: 16px;
  overflow:hidden;
  background:#f3f4f6;
  aspect-ratio: 4 / 3;
}
.job-acf-top__img{ width:100%; height:100%; object-fit:cover; display:block; }
.job-acf-top__title{
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .02em;
}
.job-acf-top__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
.job-acf-top__item{
  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
}
.job-acf-top__k{
  font-size: 11px;
  font-weight: 800;
  color: rgba(0,0,0,.55);
  margin-bottom: 4px;
  letter-spacing: .02em;
}
.job-acf-top__v{
  font-size: 13px;
  font-weight: 800;
  color: rgba(0,0,0,.88);
  line-height: 1.45;
  word-break: break-word;
}
.job-acf-top__details{
  margin-top: 12px;
  border-radius: 14px;
  border: 1px dashed rgba(0,0,0,.18);
  background: rgba(0,0,0,.02);
  overflow:hidden;
}
.job-acf-top__summary{
  cursor:pointer;
  user-select:none;
  font-weight:900;
  font-size:13px;
  padding:10px 12px;
  list-style:none;
}
.job-acf-top__summary::-webkit-details-marker{ display:none; }
.job-acf-top__summary::after{
  content:"＋";
  float:right;
  font-weight:900;
  opacity:.7;
}
.job-acf-top__details[open] .job-acf-top__summary::after{ content:"－"; }
.job-acf-top__dl{ padding: 10px 12px 12px; }
.job-acf-top__row{
  display:grid;
  grid-template-columns: 150px 1fr;
  gap:10px;
  padding:8px 0;
  border-top:1px solid rgba(0,0,0,.06);
}
.job-acf-top__row:first-child{ border-top:0; }
.job-acf-top__dt{
  font-weight:900;
  font-size:12px;
  color: rgba(0,0,0,.62);
}
.job-acf-top__dd{
  margin:0;
  font-size:13px;
  color: rgba(0,0,0,.85);
  line-height:1.6;
  word-break: break-word;
}
@media (max-width: 900px){
  .job-acf-top__wrap{ grid-template-columns: 1fr; }
  .job-acf-top__media{ aspect-ratio: 16 / 9; }
  .job-acf-top__grid{ grid-template-columns: 1fr; }
  .job-acf-top__row{ grid-template-columns: 1fr; gap:4px; }
}
*/

/* 本文・会社ブロック幅（全幅表示に変更） */
body.single-job_listing .entry-content,
body.single-job_listing .entry-content.cf,
body.single-job_listing .main .entry-content,
body.single-job_listing article .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  line-height: 1.85;
}

/* 内部コンテンツの最大幅を制御（テキストコンテンツのみ） */
body.single-job_listing .entry-content > .orca-desc,
body.single-job_listing .entry-content > .company,
body.single-job_listing .entry-content > p,
body.single-job_listing .entry-content > ul,
body.single-job_listing .entry-content > ol,
body.single-job_listing .entry-content > h2,
body.single-job_listing .entry-content > h3,
body.single-job_listing .entry-content > .job_application {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px;
  padding-right: 20px;
}

/* 旧WPJM本文は非表示（orca-descに置き換え） */
body.single-job_listing .single_job_listing .job_description{
  display:none !important;
}

/* 本文カード（orca-desc） */
.orca-desc{
  max-width: 920px;
  margin: 16px auto 0;
}
.orca-jobsec{
  margin: 12px 0;
  padding: 14px 16px;
  border-radius: 18px;
  background:#fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.orca-jobsec__title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  font-size:16px;
  font-weight:950;
  letter-spacing:.02em;
}
.orca-jobsec__title::before{
  content:"";
  width:28px;
  height:28px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.08);
  flex:0 0 auto;
  font-size:16px;
  line-height:1;
}
/* 1:お仕事内容 2:ポイント 3:おすすめ 4:応募の流れ（順番想定） */
.orca-desc .orca-jobsec:nth-of-type(1) .orca-jobsec__title::before{ content:"🧰"; }
.orca-desc .orca-jobsec:nth-of-type(2) .orca-jobsec__title::before{ content:"✅"; }
.orca-desc .orca-jobsec:nth-of-type(3) .orca-jobsec__title::before{ content:"🙋"; }
.orca-desc .orca-jobsec:nth-of-type(4) .orca-jobsec__title::before{ content:"➡️"; }

.orca-jobsec p{ margin:0 0 10px; line-height:1.85; }
.orca-jobsec ul{ list-style:none; margin: 8px 0 0; padding:0; }
.orca-jobsec li{
  position:relative;
  padding-left:26px;
  line-height:1.8;
  margin:6px 0;
}
.orca-jobsec li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  font-weight:900;
  opacity:.7;
}
/* 応募の流れ（4番目のカードのみ） */
.orca-desc .orca-jobsec:nth-of-type(4) ul{ counter-reset: step; margin-top:10px; }
.orca-desc .orca-jobsec:nth-of-type(4) li{
  counter-increment: step;
  border-left:2px solid rgba(0,0,0,.10);
  padding-left:48px;
  margin:10px 0 10px 12px;
}
.orca-desc .orca-jobsec:nth-of-type(4) li::before{
  content: counter(step);
  width:26px;
  height:26px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  opacity:1;
  background: rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.10);
  left:-13px;
  top:0;
}

/* 応募フォーム枠 */
.job-apply-form{
  max-width: 920px;
  margin: 24px auto 0;
  padding: 22px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  background:#fff;
}
.job-apply-form__title{
  margin:0 0 14px;
  font-size:18px;
  font-weight:900;
}

/* CF7：求人詳細のフォームだけ */
body.single-job_listing #job-apply-form .wpcf7{
  max-width: 920px;
  margin: 0 auto;
}
body.single-job_listing #job-apply-form .wpcf7 form{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:20px;
  padding:22px;
  box-shadow: 0 18px 42px rgba(0,0,0,.10);
}
body.single-job_listing #job-apply-form .wpcf7 label{
  display:block;
  font-weight:900;
  font-size:13px;
  color:rgba(0,0,0,.85);
  margin:0 0 6px;
}
body.single-job_listing #job-apply-form .wpcf7 input[type="text"],
body.single-job_listing #job-apply-form .wpcf7 input[type="tel"],
body.single-job_listing #job-apply-form .wpcf7 input[type="email"],
body.single-job_listing #job-apply-form .wpcf7 input[type="number"],
body.single-job_listing #job-apply-form .wpcf7 select,
body.single-job_listing #job-apply-form .wpcf7 textarea{
  width:100%;
  box-sizing:border-box;
  padding:13px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  box-shadow: 0 8px 18px rgba(0,0,0,.04);
  outline:none;
}
body.single-job_listing #job-apply-form .wpcf7 input:focus,
body.single-job_listing #job-apply-form .wpcf7 select:focus,
body.single-job_listing #job-apply-form .wpcf7 textarea:focus{
  border-color: rgba(0,0,0,.28);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
body.single-job_listing #job-apply-form .wpcf7 textarea{
  min-height:140px;
  resize:vertical;
}
body.single-job_listing #job-apply-form .wpcf7 ::placeholder{ opacity:.55; }

/* 必須バッジ（やさしい・高視認性） */
#job-apply-form .req{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  line-height:1;
  background:#fff1f2;
  color:#9f1239;
  border:1px solid #fecdd3;
}

/* エラー */
body.single-job_listing #job-apply-form .wpcf7-not-valid-tip{
  font-size:12px;
  margin-top:6px;
}
body.single-job_listing #job-apply-form .wpcf7-response-output{
  margin:16px 0 0;
  border-radius:12px;
}
body.single-job_listing #job-apply-form .wpcf7-acceptance{
  display:block;
  margin-top:8px;
  padding:10px 12px;
  border-radius:12px;
  background: rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.10);
}

/* 送信ボタン */
body.single-job_listing #job-apply-form .wpcf7 input[type="submit"]{
  width:100%;
  border:0;
  border-radius:16px;
  padding:16px 18px;
  font-weight:950;
  cursor:pointer;
  background:#ff0000;
  color:#fff;
  letter-spacing:.02em;
  box-shadow: 0 22px 48px rgba(0,0,0,.18);
}
body.single-job_listing #job-apply-form .wpcf7 input[type="submit"]:hover{
  transform: translateY(-1px);
}

/* スマホ固定CTA */
body.single-job_listing .job-sticky-cta{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 9999;
  display:flex;
  gap:10px;
}
body.single-job_listing .job-sticky-cta a{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 12px;
  border-radius:14px;
  text-decoration:none !important;
  font-weight:900;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.10);
}
body.single-job_listing .job-sticky-cta__apply{
  background:#111 !important;
  color:#fff !important;
  border:0 !important;
}
@media (min-width: 960px){
  body.single-job_listing .job-sticky-cta{ display:none; }
}


/* =========================================================
   ORCA Hero: 検索欄（実入力）視認性UP
   ========================================================= */
#orca-home .orca-search__field{
  display:block;
  padding:12px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  background: #fff;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}

#orca-home .orca-search__label{
  display:block;
  color:#111;
  font-weight:800;
  font-size:13px;
  margin:0 0 6px;
}

#orca-home .orca-search__input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#111;
  font-size:15px;
  line-height:1.6;
  padding:2px 0;
}

#orca-home .orca-search__input::placeholder{
  color:rgba(17,17,17,.55);
}

/* 入力中のフォーカスが分かりやすい */
#orca-home .orca-search__field:focus-within{
  border-color:rgba(0,0,0,.28);
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}



/* =========================================================
   ORCA: 相談フォーム（CF7）デザイン
   前提：固定ページ本文でフォームを .orca-consult で包む
   ========================================================= */
.orca-consult{
  padding: 24px 14px;
  border-radius: 18px;
  background: #f6f7fb;
}

/* form card */
.orca-consult .wpcf7{
  max-width: 860px;
  margin: 0 auto;
  background:#fff;
  border:1px solid #e6e8ee;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(17,24,39,.06);
  padding: 22px 18px;
}

.orca-consult .wpcf7-form > p{
  margin: 0 0 14px;
}

/* label */
.orca-consult .wpcf7-form label{
  display:block;
  font-weight:700;
  font-size:14px;
  color:#111827;
  margin-bottom:6px;
}

/* inputs */
.orca-consult input[type="text"],
.orca-consult input[type="email"],
.orca-consult input[type="tel"],
.orca-consult select,
.orca-consult textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e6e8ee;
  background:#fff;
  border-radius:12px;
  padding:12px 12px;
  font-size:15px;
  color:#111827;
  outline:none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.orca-consult textarea{
  min-height:160px;
  resize:vertical;
  line-height:1.6;
}

.orca-consult input::placeholder,
.orca-consult textarea::placeholder{
  color:#9aa3b2;
}

/* focus */
.orca-consult input:focus,
.orca-consult select:focus,
.orca-consult textarea:focus{
  border-color:#1f6feb;
  box-shadow:0 0 0 4px rgba(31,111,235,.12);
}

.orca-consult hr{
  border:none;
  border-top:1px solid #e6e8ee;
  margin:18px 0;
}

/* radio / checkbox wrap */
.orca-consult .wpcf7-form-control.wpcf7-radio,
.orca-consult .wpcf7-form-control.wpcf7-checkbox{
  display:flex;
  flex-wrap:wrap;
  gap:10px 10px;
  margin-top:10px;
}

.orca-consult .wpcf7-list-item{
  margin:0;
}

/* chip */
.orca-consult .wpcf7-list-item label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid #e6e8ee;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  user-select:none;
  line-height:1;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* chip hover */
.orca-consult .wpcf7-list-item label:hover{
  border-color: rgba(31,111,235,.35);
  box-shadow: 0 0 0 3px rgba(31,111,235,.08);
}

/* input within chip */
.orca-consult .wpcf7-list-item label input{
  margin: 0;
  width: 16px;
  height: 16px;
  transform: translateY(0.5px);
}

/* ===== 選択中の見た目（CSSだけで出来る範囲） ===== */
.orca-consult .wpcf7-list-item input:checked{
  accent-color: #1f6feb;
}

/* label:has を使えるブラウザではチップを強調 */
.orca-consult .wpcf7-list-item label:has(input:checked){
  border-color: rgba(31,111,235,.55);
  box-shadow: 0 0 0 3px rgba(31,111,235,.10);
  background: rgba(31,111,235,.06);
}

/* select の見た目を少し整える（Cocoon側の癖対策） */
.orca-consult select{
  appearance:auto;
}

/* acceptance（同意） */
.orca-consult .wpcf7-acceptance{
  display:block;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid #e6e8ee;
  border-radius: 12px;
  background: #fff;
}

.orca-consult .wpcf7-acceptance label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  margin:0;
}

.orca-consult .wpcf7-acceptance input{
  width:18px;
  height:18px;
}

/* submit */
.orca-consult input[type="submit"]{
  width:100%;
  border:none;
  border-radius:14px;
  padding:14px 16px;
  font-weight:800;
  font-size:15px;
  background:#1f6feb;
  color:#fff;
  cursor:pointer;
  box-shadow:0 10px 18px rgba(31,111,235,.18);
  transition: transform .08s ease, filter .15s ease, box-shadow .15s ease;
  margin-top: 10px;
}

.orca-consult input[type="submit"]:hover{
  filter: brightness(1.02);
  box-shadow: 0 12px 22px rgba(31,111,235,.22);
}

.orca-consult input[type="submit"]:active{
  transform: translateY(1px);
}

/* validation */
.orca-consult .wpcf7-not-valid-tip{
  margin-top: 8px;
  color: #e11d48;
  font-weight: 800;
  font-size: 13px;
}

.orca-consult .wpcf7-response-output{
  margin: 16px 0 0 !important;
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 800;
}

/* spinning */
.orca-consult .wpcf7-spinner{
  display: block;
  margin: 10px auto 0;
}

/* mobile */
@media (max-width: 640px){
  .orca-consult{ padding: 16px 10px; }
  .orca-consult .wpcf7{ padding: 18px 14px; }
  .orca-consult .wpcf7-list-item label{ padding: 9px 11px; }
}



/* =========================================================
   ORCA FAQ Page
   - scoped: .orca-faq
   ========================================================= */
.orca-faq{
  --orca-faq-bg:#f6f7fb;
  --orca-faq-card:#ffffff;
  --orca-faq-text:#0f172a;
  --orca-faq-muted:#64748b;
  --orca-faq-line:rgba(15, 23, 42, .10);
  --orca-faq-accent:#2563eb;
  --orca-faq-accent2:#0ea5e9;
  color:var(--orca-faq-text);
}

.orca-faq a{ text-decoration:none; }
.orca-faq a:hover{ text-decoration:underline; }

.orca-faq__hero{
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.10));
  border:1px solid var(--orca-faq-line);
  border-radius:18px;
  padding:22px 18px;
  margin:0 0 14px;
}

.orca-faq__kicker{
  display:inline-block;
  font-size:12px;
  letter-spacing:.12em;
  font-weight:800;
  color:var(--orca-faq-accent);
  background: rgba(37,99,235,.10);
  padding:6px 10px;
  border-radius:999px;
  margin:0 0 10px;
}

.orca-faq__title{
  font-size:28px;
  line-height:1.2;
  margin:0 0 8px;
}

.orca-faq__lead{
  margin:0 0 14px;
  color:var(--orca-faq-muted);
  line-height:1.8;
}

.orca-faq__cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}

.orca-faq__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  border:1px solid var(--orca-faq-line);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  line-height:1.4;
  vertical-align:middle;
  text-decoration:none !important;
}

.orca-faq__btn:active{ transform: translateY(1px); }

.orca-faq__btn--primary{
  background: linear-gradient(135deg, var(--orca-faq-accent), var(--orca-faq-accent2));
  color:#fff !important;
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 10px 26px rgba(37,99,235,.18);
}
.orca-faq__btn--primary:hover{
  text-decoration:none;
  box-shadow: 0 14px 34px rgba(37,99,235,.22);
}

.orca-faq__btn--ghost{
  background: rgba(255,255,255,.75);
  color: var(--orca-faq-text);
}
.orca-faq__btn--ghost:hover{ text-decoration:none; }

.orca-faq__nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:12px;
  border:1px solid var(--orca-faq-line);
  border-radius:16px;
  background: rgba(246,247,251,.7);
  margin:0 0 18px;
}

.orca-faq__nav a{
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--orca-faq-line);
  background:#fff;
  color: var(--orca-faq-text);
  font-weight:700;
  font-size:14px;
}
.orca-faq__nav a:hover{
  text-decoration:none;
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 10px 22px rgba(2,6,23,.06);
}

.orca-faq__section{
  margin:18px 0 26px;
}

.orca-faq__h{
  font-size:18px;
  margin:0 0 10px;
  padding:10px 12px;
  border-left: 4px solid var(--orca-faq-accent);
  background: rgba(37,99,235,.06);
  border-radius:12px;
}

.orca-faq__item{
  background: var(--orca-faq-card);
  border:1px solid var(--orca-faq-line);
  border-radius:16px;
  padding:0;
  margin:10px 0;
  overflow:hidden;
  box-shadow: 0 10px 24px rgba(2,6,23,.05);
}

.orca-faq__item summary{
  list-style:none;
  cursor:pointer;
  padding:14px 14px;
  font-weight:800;
  line-height:1.55;
  position:relative;
}
.orca-faq__item summary::-webkit-details-marker{ display:none; }

.orca-faq__item summary::after{
  content:"＋";
  position:absolute;
  right:14px;
  top:12px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--orca-faq-line);
  background: rgba(246,247,251,.8);
  color: var(--orca-faq-text);
  font-weight:900;
}

.orca-faq__item[open] summary{
  background: rgba(37,99,235,.06);
}
.orca-faq__item[open] summary::after{
  content:"－";
  border-color: rgba(37,99,235,.35);
}

.orca-faq__q{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:10px;
  margin-right:10px;
  background: rgba(37,99,235,.12);
  color: var(--orca-faq-accent);
  font-weight:900;
}

.orca-faq__a{
  padding:0 14px 14px;
  border-top:1px solid var(--orca-faq-line);
}
.orca-faq__a p{
  margin:12px 0 0;
  line-height:1.9;
  color: var(--orca-faq-text);
}
.orca-faq__aMark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:10px;
  margin-right:10px;
  background: rgba(14,165,233,.14);
  color: #0284c7;
  font-weight:900;
}

.orca-faq__steps{
  margin:10px 0 0;
  padding-left: 1.2em;
  color: var(--orca-faq-text);
}
.orca-faq__steps li{
  margin:6px 0;
  line-height:1.8;
}

.orca-faq__miniCta{
  margin-top:10px !important;
}
.orca-faq__inlineBtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(37,99,235,.30);
  color: var(--orca-faq-accent);
  font-weight:800;
  background: rgba(37,99,235,.06);
}
.orca-faq__inlineBtn:hover{
  text-decoration:none;
  box-shadow: 0 12px 26px rgba(37,99,235,.12);
}

.orca-faq__bottom{
  margin:22px 0 6px;
}
.orca-faq__panel{
  border-radius:18px;
  padding:18px 16px;
  border:1px solid var(--orca-faq-line);
  background: linear-gradient(135deg, rgba(2,6,23,.02), rgba(37,99,235,.06));
}
.orca-faq__panelTitle{
  margin:0 0 8px;
  font-size:18px;
}
.orca-faq__panelText{
  margin:0;
  color: var(--orca-faq-muted);
  line-height:1.9;
}

/* mobile */
@media (max-width: 640px){
  .orca-faq__title{ font-size:24px; }
  .orca-faq__hero{ padding:18px 14px; }
  .orca-faq__nav{ padding:10px; }
  .orca-faq__nav a{ width:100%; justify-content:center; }
}



/* ============================
   ORCA 派遣登録ページ
============================ */
.orca-reg{
  --accent:#2563eb;
  --accent2:#0ea5e9;
  --line:rgba(15,23,42,.1);
  --bg:#f8fafc;
}

.orca-reg__hero{
  padding:24px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(14,165,233,.1));
  border:1px solid var(--line);
  margin-bottom:24px;
}

.orca-reg__title{
  font-size:28px;
  margin:8px 0;
}

.orca-reg__lead{
  color:#64748b;
}

/* CTA（ここが崩れていた原因：中に勝手に<p>が入る対策は下で） */
.orca-reg__cta{
  display:flex;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
  align-items:center;
}

.orca-reg__btn{
  padding:12px 16px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  line-height:1.4;
  vertical-align:middle;
}

.orca-reg__btn--primary{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;
}

.orca-reg__btn--ghost{
  border:1px solid var(--line);
  background:#fff;
  color:#0f172a;
}

.orca-reg__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}

.orca-reg__card{
  border:1px solid var(--line);
  padding:16px;
  border-radius:14px;
  background:#fff;
}
.orca-reg__card h4{
  margin:6px 0 6px;
}

.orca-reg__steps{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.orca-reg__step{
  display:flex;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.orca-reg__stepNum{
  width:34px;
  height:34px;
  background:var(--accent);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

.orca-reg__faqItem{
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:10px;
  background:#fff;
}

.orca-reg__panel{
  padding:20px;
  border-radius:18px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(2,6,23,.02),rgba(37,99,235,.06));
}

/* ============================
   FIX: Cocoonの見出し装飾がorca-reg内に乗るのを無効化
============================ */
.orca-reg h2,
.orca-reg h3,
.orca-reg h4{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ヒーロー内のタイトル帯（白背景・左線など）を消す */
.orca-reg__hero .orca-reg__title{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 8px 0 8px !important;
}

/* ============================
   FIX: .orca-reg__cta 内に勝手に入る <p> がレイアウトを壊す問題
============================ */
.orca-reg__cta p{
  margin: 0 !important;
  padding: 0 !important;
}

/* 空のpは消す */
.orca-reg__cta > p:empty{
  display:none !important;
}

/* pがラッパーになっても崩れないように、p自体をflex化 */
.orca-reg__cta > p{
  display:flex;
}

/* p配下のaも見た目統一 */
.orca-reg__cta > p > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}

/* brが混ざっても邪魔なので無効化 */
.orca-reg__cta br{
  display:none !important;
}



/* =========================================================
   ORCA 企業向けページ（掲載をお考えの企業様へ）
   scoped: .orca-biz
   ========================================================= */
.orca-biz{
  --text:#0f172a;
  --muted:#64748b;
  --line:rgba(15,23,42,.10);
  --accent:#2563eb;
  --accent2:#0ea5e9;
  color:var(--text);
}

.orca-biz a{ text-decoration:none; }
.orca-biz a:hover{ text-decoration:underline; }

/* aタグの干渉を完全に防ぐ */
.orca-biz__btn,
.orca-biz__btn:link,
.orca-biz__btn:visited,
.orca-biz__btn:hover,
.orca-biz__btn:active{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  line-height:1.4 !important;
}

.orca-biz__hero{
  padding:24px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.10));
  margin:0 0 18px;
}

.orca-biz__kicker{
  display:inline-block;
  font-size:12px;
  letter-spacing:.12em;
  font-weight:900;
  color:var(--accent);
  background: rgba(37,99,235,.10);
  padding:6px 10px;
  border-radius:999px;
  margin:0 0 10px;
}

.orca-biz__title{
  font-size:28px;
  line-height:1.2;
  margin:0 0 8px;
}

.orca-biz__lead{
  margin:0 0 12px;
  color:var(--muted);
  line-height:1.9;
}

.orca-biz__cta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.orca-biz__btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 16px !important;
  border-radius:14px;
  font-weight:800;
  border:1px solid var(--line);
  transition: transform .12s ease, box-shadow .12s ease;
  line-height:1.4 !important;
  vertical-align:middle !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
}
.orca-biz__btn:active{ transform: translateY(1px); }

.orca-biz__btn--primary{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff !important;
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 12px 28px rgba(37,99,235,.18);
}
.orca-biz__btn--primary:hover{ text-decoration:none; }

.orca-biz__btn--ghost{
  background: rgba(255,255,255,.80);
  color: var(--text);
}
.orca-biz__btn--ghost:hover{ text-decoration:none; }

.orca-biz__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.orca-biz__badge{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-size:13px;
  font-weight:800;
  color:var(--text);
}

.orca-biz__section{
  margin:18px 0 26px;
}

.orca-biz__h{
  font-size:18px;
  margin:0 0 10px;
  padding:10px 12px;
  border-left:4px solid var(--accent);
  background: rgba(37,99,235,.06);
  border-radius:12px;
}

.orca-biz__pain{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
}

.orca-biz__painItem{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 14px;
  box-shadow: 0 10px 22px rgba(2,6,23,.05);
  line-height:1.7;
}

.orca-biz__note{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(37,99,235,.25);
  background: rgba(37,99,235,.06);
  color: var(--text);
  font-weight:700;
  line-height:1.8;
}

.orca-biz__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}

.orca-biz__card{
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  background:#fff;
  box-shadow: 0 12px 26px rgba(2,6,23,.06);
}

.orca-biz__icon{
  font-size:22px;
  margin-bottom:6px;
}

.orca-biz__card h4{
  margin:0 0 6px;
  font-size:16px;
}
.orca-biz__card p{
  margin:0;
  color:var(--muted);
  line-height:1.9;
}

.orca-biz__steps{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.orca-biz__step{
  display:flex;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow: 0 10px 22px rgba(2,6,23,.05);
}

.orca-biz__stepNum{
  width:36px;
  height:36px;
  border-radius:999px;
  background: var(--accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  flex:0 0 auto;
}

.orca-biz__step h4{ margin:0 0 4px; }
.orca-biz__step p{ margin:0; color:var(--muted); line-height:1.9; }

.orca-biz__list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.orca-biz__listItem{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
  line-height:1.8;
}

.orca-biz__small{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.8;
}

/* details FAQ */
.orca-biz__item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  margin:10px 0;
  overflow:hidden;
  box-shadow: 0 10px 22px rgba(2,6,23,.05);
}
.orca-biz__item summary{
  list-style:none;
  cursor:pointer;
  padding:14px 14px;
  font-weight:900;
  line-height:1.55;
  position:relative;
}
.orca-biz__item summary::-webkit-details-marker{ display:none; }

.orca-biz__item summary::after{
  content:"＋";
  position:absolute;
  right:14px;
  top:12px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(246,247,251,.85);
  font-weight:900;
}

.orca-biz__item[open] summary{
  background: rgba(37,99,235,.06);
}
.orca-biz__item[open] summary::after{
  content:"－";
  border-color: rgba(37,99,235,.35);
}

.orca-biz__q{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:10px;
  margin-right:10px;
  background: rgba(37,99,235,.12);
  color: var(--accent);
  font-weight:900;
}

.orca-biz__a{
  padding:0 14px 14px;
  border-top:1px solid var(--line);
}
.orca-biz__a p{
  margin:12px 0 0;
  line-height:1.9;
  color: var(--text);
}
.orca-biz__aMark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:10px;
  margin-right:10px;
  background: rgba(14,165,233,.14);
  color: #0284c7;
  font-weight:900;
}

/* bottom */
.orca-biz__bottom{ margin:22px 0 6px; }
.orca-biz__panel{
  border-radius:18px;
  padding:18px 16px;
  border:1px solid var(--line);
  background: linear-gradient(135deg, rgba(2,6,23,.02), rgba(37,99,235,.06));
}
.orca-biz__panelTitle{
  margin:0 0 8px;
  font-size:18px;
}
.orca-biz__panelText{
  margin:0;
  color:var(--muted);
  line-height:1.9;
}

@media (max-width: 640px){
  .orca-biz__title{ font-size:24px; }
  .orca-biz__hero{ padding:18px 14px; }
  .orca-biz__btn{ width:100%; }
}


/* =========================================================
   ORCA：お問い合わせページ（統一デザイン / 企業掲載ページに寄せる）
   scope: .orca-contact-page
   - 角丸18 / 薄い線 / 青系グラデのヒーロー
   - カード積層 + 見出しバー + フォームを白カード化
========================================================= */

.orca-contact-page{
  --accent:#2563eb;
  --accent2:#0ea5e9;
  --ink:#0f172a;
  --muted:#64748b;
  --line:rgba(15,23,42,.10);
  --bg:#f8fafc;

  color:var(--ink);
}

/* 全体の最大幅（企業ページっぽく） */
.orca-contact-page{
  max-width: 980px;
  margin: 0 auto;
}

/* 余白と段差を揃える */
.orca-contact-page section{
  margin: 0 0 16px;
}

/* ---------- Hero（上の青い帯） ---------- */
.orca-contact-page .orca-contact-hero{
  padding: 24px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.10));
  border: 1px solid var(--line);
  margin: 0 0 18px;
}

.orca-contact-page .orca-contact-hero__title{
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.25;
  font-weight: 900;
}

.orca-contact-page .orca-contact-hero__lead{
  margin: 0;
  color: var(--muted);
  line-height: 1.9;
}

/* ---------- Card共通 ---------- */
.orca-contact-page .orca-contact-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 10px 24px rgba(2,6,23,.05);
}

/* 見出しバー（企業ページの帯っぽく） */
.orca-contact-page .orca-contact-card__head{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(15,23,42,.03);
  border: 1px solid rgba(15,23,42,.06);
  margin: 0 0 12px;
}

.orca-contact-page .orca-contact-card__title{
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 900;
}

.orca-contact-page .orca-contact-card__text{
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.9;
}

/* 見出し split（右に電話を置く） */
.orca-contact-page .orca-contact-card__head--split{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
@media (max-width: 640px){
  .orca-contact-page .orca-contact-card__head--split{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ---------- 企業誘導（強調カード） ---------- */
.orca-contact-page .orca-contact-card--alert{
  background: linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,1));
  border-color: rgba(37,99,235,.18);
}

.orca-contact-page .orca-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(37,99,235,.10);
  color: var(--accent);
}

/* CTA */
.orca-contact-page .orca-contact-card__cta{ margin: 12px 0 0; }

/* ボタン（企業ページの primary/ghost に寄せる） */
.orca-contact-page .orca-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 900;
  text-decoration:none !important;
  border: 1px solid var(--line);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.orca-contact-page .orca-btn:active{ transform: translateY(1px); }

.orca-contact-page .orca-btn--primary{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff !important;
  border-color: rgba(37,99,235,.30);
  box-shadow: 0 10px 26px rgba(37,99,235,.18);
}
.orca-contact-page .orca-btn--primary:hover{
  filter: brightness(1.02);
  box-shadow: 0 14px 34px rgba(37,99,235,.22);
}

/* ---------- リスト（読みやすく） ---------- */
.orca-contact-page .orca-list{
  margin: 0;
  padding-left: 1.2em;
  color: var(--ink);
}
.orca-contact-page .orca-list li{
  margin: 8px 0;
  line-height: 1.85;
}

/* ---------- 右上の電話ミニ ---------- */
.orca-contact-page .orca-contact-mini{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--line);
  white-space: nowrap;
}
.orca-contact-page .orca-contact-mini__label{
  font-size: 12px;
  font-weight: 900;
  color: var(--muted);
}
.orca-contact-page .orca-contact-mini__tel{
  font-weight: 900;
  text-decoration:none !important;
  color: var(--accent);
}

/* ---------- CF7 フォーム（.orca-consult と同じ思想で統一） ---------- */
/* 既存の .orca-consult と近いUI（角丸/線/フォーカス/送信ボタン）に寄せる */
.orca-contact-page .orca-contact-form .wpcf7{
  margin-top: 10px;
}
.orca-contact-page .orca-contact-form .wpcf7 form{
  background:#fff;
  border: 1px solid #e6e8ee;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(17,24,39,.06);
  padding: 18px;
}

.orca-contact-page .orca-contact-form .wpcf7 form p{
  margin: 0 0 14px;
}

.orca-contact-page .orca-contact-form .wpcf7 label{
  display:block;
  font-weight: 800;
  font-size: 14px;
  color: var(--ink);
  margin-bottom: 6px;
}

.orca-contact-page .orca-contact-form input[type="text"],
.orca-contact-page .orca-contact-form input[type="email"],
.orca-contact-page .orca-contact-form input[type="tel"],
.orca-contact-page .orca-contact-form select,
.orca-contact-page .orca-contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border: 1px solid #e6e8ee;
  background:#fff;
  border-radius: 12px;
  padding: 12px 12px;
  font-size: 15px;
  color: var(--ink);
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.orca-contact-page .orca-contact-form textarea{
  min-height: 160px;
  resize: vertical;
  line-height: 1.6;
}
.orca-contact-page .orca-contact-form input::placeholder,
.orca-contact-page .orca-contact-form textarea::placeholder{
  color:#9aa3b2;
}

/* focus（.orca-consult と合わせて青リング） */
.orca-contact-page .orca-contact-form input:focus,
.orca-contact-page .orca-contact-form select:focus,
.orca-contact-page .orca-contact-form textarea:focus{
  border-color:#1f6feb;
  box-shadow: 0 0 0 4px rgba(31,111,235,.12);
}

/* 送信ボタン（企業ページのprimaryに統一） */
.orca-contact-page .orca-contact-form input[type="submit"]{
  width:100%;
  border:none;
  border-radius: 14px;
  padding: 14px 16px;
  font-weight: 900;
  font-size: 15px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff;
  cursor:pointer;
  box-shadow: 0 10px 18px rgba(37,99,235,.18);
  transition: transform .08s ease, filter .15s ease, box-shadow .15s ease;
}
.orca-contact-page .orca-contact-form input[type="submit"]:hover{
  filter: brightness(1.02);
  box-shadow: 0 12px 22px rgba(37,99,235,.22);
}
.orca-contact-page .orca-contact-form input[type="submit"]:active{
  transform: translateY(1px);
}

/* バリデーション */
.orca-contact-page .orca-contact-form .wpcf7-not-valid-tip{
  margin-top: 8px;
  color: #e11d48;
  font-weight: 900;
  font-size: 13px;
}
.orca-contact-page .orca-contact-form .wpcf7-response-output{
  margin: 16px 0 0 !important;
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 900;
}

/* モバイル最適化 */
@media (max-width: 640px){
  .orca-contact-page .orca-contact-hero{ padding: 18px 14px; }
  .orca-contact-page .orca-contact-hero__title{ font-size: 24px; }
  .orca-contact-page .orca-contact-card{ padding: 16px; }
  .orca-contact-page .orca-contact-form .wpcf7 form{ padding: 16px 14px; }
}


/* =========================================================
   ORCA：プライバシーポリシー（企業ページに寄せる）
   scope: .orca-privacy
========================================================= */
.orca-privacy{
  --accent:#2563eb;
  --accent2:#0ea5e9;
  --ink:#0f172a;
  --muted:#64748b;
  --line:rgba(15,23,42,.10);
  --bg:#f8fafc;

  max-width: 980px;
  margin: 0 auto;
  padding: 8px 0 28px;
  color: var(--ink);
}

/* H1をヒーロー風に */
.orca-privacy h1{
  margin: 0 0 16px;
  padding: 22px 22px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.10));
  border: 1px solid var(--line);
  font-size: 28px;
  line-height: 1.25;
  font-weight: 900;
}

/* 本文カード */
.orca-privacy p,
.orca-privacy ul,
.orca-privacy ol{
  line-height: 1.95;
  color: var(--muted);
}

/* セクション見出し（カード内バーっぽく） */
.orca-privacy h2{
  margin: 18px 0 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(15,23,42,.03);
  border: 1px solid rgba(15,23,42,.06);
  font-size: 18px;
  line-height: 1.35;
  font-weight: 900;
  color: var(--ink);
}

/* 外枠をカード化（div直下のコンテンツ全体が綺麗に見える） */
.orca-privacy{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(2,6,23,.05);
  padding: 18px;
}

/* H1だけは"外側の帯"にしたいので、カードから少しはみ出す風 */
.orca-privacy h1{
  margin: -18px -18px 16px;
  border-radius: 18px 18px 16px 16px;
}

/* リスト */
.orca-privacy ul,
.orca-privacy ol{
  margin: 8px 0 12px;
  padding-left: 1.2em;
}
.orca-privacy li{
  margin: 8px 0;
  line-height: 1.9;
  color: var(--ink);
}

/* リンク */
.orca-privacy a{
  color: var(--accent);
  text-decoration: none;
  font-weight: 800;
}
.orca-privacy a:hover{
  text-decoration: underline;
}

/* 連絡先ブロック（最後の住所電話）を見やすく */
.orca-privacy p:last-of-type{
  margin-top: 18px;
}

/* スマホ調整 */
@media (max-width: 640px){
  .orca-privacy{
    padding: 16px 14px 22px;
    border-radius: 16px;
  }
  .orca-privacy h1{
    font-size: 24px;
    padding: 18px 14px 16px;
    margin: -16px -14px 14px;
  }
  .orca-privacy h2{
    font-size: 17px;
  }
}

/* =========================================================
   求人応募ボタンを非表示
========================================================= */
.job_application.application {
  display: none !important;
}

/* =========================================================
   求人詳細ページ：画像ギャラリー（スライダー＋ライトボックス）
========================================================= */

/* 求人詳細ページの全体的なpadding/marginを削除 */
body.single-job_listing .main,
body.single-job_listing .article,
body.single-job_listing .entry {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ギャラリーコンテナ */
.job-gallery {
  background: #fff;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  border-left: none; /* 左右のボーダーを削除 */
  border-right: none;
  border-radius: 0; /* 角丸を削除して完全にフィット */
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04); /* 影を控えめに */
  margin: 0 0 20px 0; /* 左右の余白を完全に削除 */
  max-width: 100%; /* 最大幅を100%に */
  width: 100%;
}

/* メイン画像エリア */
.job-gallery__main {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #f8fafc;
  overflow: hidden;
}

.job-gallery__main-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  cursor: zoom-in;
  transition: transform 0.3s ease;
}

.job-gallery__main-img:hover {
  transform: scale(1.02);
}

/* ナビゲーションボタン */
.job-gallery__nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  padding: 0 12px;
}

.job-gallery__prev,
.job-gallery__next {
  pointer-events: auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(15, 23, 42, 0.1);
  color: #0f172a;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}

.job-gallery__prev:hover,
.job-gallery__next:hover {
  background: #fff;
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.2);
}

.job-gallery__prev:active,
.job-gallery__next:active {
  transform: scale(0.95);
}

/* サムネイルエリア */
.job-gallery__thumbs {
  display: flex;
  gap: 8px;
  padding: 12px;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.job-gallery__thumbs::-webkit-scrollbar {
  height: 6px;
}

.job-gallery__thumbs::-webkit-scrollbar-track {
  background: #e2e8f0;
  border-radius: 3px;
}

.job-gallery__thumbs::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 3px;
}

.job-gallery__thumb {
  flex-shrink: 0;
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  opacity: 0.6;
}

.job-gallery__thumb:hover {
  opacity: 1;
  transform: translateY(-2px);
}

.job-gallery__thumb--active {
  border-color: #2563eb;
  opacity: 1;
  box-shadow: 0 4px 8px rgba(37, 99, 235, 0.2);
}

/* ライトボックス */
.job-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.job-lightbox--active {
  opacity: 1;
}

.job-lightbox__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.92);
  cursor: zoom-out;
}

.job-lightbox__content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.job-lightbox__img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.job-lightbox__close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
}

.job-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.1);
}

.job-lightbox__prev,
.job-lightbox__next {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
}

.job-lightbox__prev:hover,
.job-lightbox__next:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.1);
}

.job-lightbox__counter {
  position: absolute;
  bottom: -45px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* モバイル最適化 */
@media (max-width: 768px) {
  .job-gallery__main {
    aspect-ratio: 16 / 9;
  }
  
  .job-gallery__prev,
  .job-gallery__next {
    width: 36px;
    height: 36px;
    font-size: 24px;
  }
  
  .job-gallery__thumb {
    width: 70px;
    height: 52px;
  }
  
  .job-lightbox__prev,
  .job-lightbox__next {
    width: 40px;
    height: 40px;
    font-size: 28px;
  }
  
  .job-lightbox__close {
    width: 40px;
    height: 40px;
    font-size: 28px;
  }
  
  .job-lightbox__content {
    gap: 10px;
  }
}

/* 求人詳細セクション全体の読みやすさ向上 */
.job-acf-top__wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0;
  margin: 0;
}

.job-acf-top__media {
  width: 100%;
  margin: 0;
  padding: 0; /* 余白を完全に削除 */
}

.job-acf-top__main {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 20px;
}

/* タイトルセクションの見た目向上 */
.job-acf-top__title {
  font-size: 22px;
  font-weight: 900;
  color: #0f172a;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e2e8f0;
}

/* グリッド項目の余白とデザイン */
.job-acf-top__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 12px;
}

.job-acf-top__item {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  transition: background 0.15s ease;
}

.job-acf-top__item:hover {
  background: #f1f5f9;
}

.job-acf-top__k {
  font-size: 13px;
  font-weight: 800;
  color: #64748b;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

.job-acf-top__v {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.5;
}

/* CTAボタンエリア */
.orca-job-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 20px 0;
  padding: 18px 20px;
  max-width: 100%;
  width: 100%;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(14, 165, 233, 0.05));
  border: 1px solid rgba(37, 99, 235, 0.15);
  border-radius: 16px;
}

.orca-job-cta__primary {
  flex: 1;
  min-width: 200px;
  padding: 14px 20px;
  background: linear-gradient(135deg, #2563eb, #0ea5e9);
  color: #fff !important;
  font-weight: 900;
  font-size: 16px;
  text-align: center;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.2);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  text-decoration: none !important;
}

.orca-job-cta__primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(37, 99, 235, 0.28);
}

.orca-job-cta__tel {
  flex: 1;
  min-width: 180px;
  padding: 14px 20px;
  background: #fff;
  color: #2563eb !important;
  font-weight: 900;
  font-size: 16px;
  text-align: center;
  border: 2px solid #2563eb;
  border-radius: 12px;
  transition: all 0.15s ease;
  text-decoration: none !important;
}

.orca-job-cta__tel:hover {
  background: #eff6ff;
  transform: translateY(-2px);
}

.orca-job-cta__secondary {
  flex: 1;
  min-width: 180px;
  padding: 14px 20px;
  background: #f1f5f9;
  color: #0f172a !important;
  font-weight: 900;
  font-size: 16px;
  text-align: center;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  transition: all 0.15s ease;
  text-decoration: none !important;
}

.orca-job-cta__secondary:hover {
  background: #e2e8f0;
  transform: translateY(-2px);
}

/* サマリーセクション */
.orca-job-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
  margin: 24px 0;
  padding: 20px;
  max-width: 100%;
  width: 100%;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}

.orca-job-summary__item {
  padding: 14px;
  background: #f8fafc;
  border-radius: 10px;
  border-left: 4px solid #2563eb;
}

.orca-job-summary__k {
  font-size: 13px;
  font-weight: 800;
  color: #64748b;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.orca-job-summary__v {
  font-size: 18px;
  font-weight: 900;
  color: #0f172a;
  line-height: 1.4;
}

/* モバイル最適化 */
@media (max-width: 640px) {
  .orca-job-cta {
    flex-direction: column;
    margin: 20px 0;
    padding: 16px;
  }
  
  .orca-job-cta__primary,
  .orca-job-cta__tel,
  .orca-job-cta__secondary {
    width: 100%;
    min-width: auto;
  }
  
  .orca-job-summary {
    grid-template-columns: 1fr;
    margin: 24px 0;
    padding: 16px;
  }
  
  .job-acf-top__grid {
    grid-template-columns: 1fr;
  }
  
  .job-acf-top__media {
    padding: 0; /* モバイルでも余白なし */
  }
  
  .job-acf-top__main {
    padding: 0 16px;
  }
  
  body.single-job_listing .entry-content > .orca-desc,
  body.single-job_listing .entry-content > .company,
  body.single-job_listing .entry-content > p,
  body.single-job_listing .entry-content > ul,
  body.single-job_listing .entry-content > ol,
  body.single-job_listing .entry-content > h2,
  body.single-job_listing .entry-content > h3,
  body.single-job_listing .entry-content > .job_application {
    padding-left: 16px;
    padding-right: 16px;
  }
  
  .job-gallery {
    border-radius: 0; /* モバイルでも角丸なし */
    border-left: none; /* 左右のボーダーを削除 */
    border-right: none;
  }
}


/* =========================================================
   ORCA：求人詳細（single-job_listing） デザイン整形 v2
   - 目的：上部の情報密度を整理／余白・角丸・見出しを統一／画像の見え方を改善
   - 追記専用（既存CSSを壊さないため、下で上書き）
========================================================= */

/* ページ背景と最大幅 */
body.single-job_listing{
  background:#f6f7fb;
}

body.single-job_listing #content,
body.single-job_listing #content-in,
body.single-job_listing #main,
body.single-job_listing main#main{
  background:transparent !important;
}

body.single-job_listing .main,
body.single-job_listing #main{
  max-width: 1120px;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left: min(4vw, 22px) !important;
  padding-right: min(4vw, 22px) !important;
}

/* 余白が詰まりすぎるケースの保険 */
body.single-job_listing .entry-content{
  padding-bottom: 34px !important;
}

/* -------- 上部：タイトル周り -------- */
body.single-job_listing .entry-header{
  max-width: 1120px;
  margin: 14px auto 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.single-job_listing h1.entry-title{
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.10) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
}

/* タイトル左の縦バーをブランド寄りに */
body.single-job_listing h1.entry-title::before{
  background: linear-gradient(180deg, rgba(37,99,235,.55), rgba(37,99,235,.10)) !important;
}

/* -------- 上部CTA：見た目とタップ性 -------- */
.orca-job-cta{
  margin: 14px 0 10px !important;
}

.orca-job-cta__primary,
.orca-job-cta__secondary,
.orca-job-cta__tel{
  border-radius: 16px !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
}

.orca-job-cta__secondary{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.14) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.08) !important;
}

.orca-job-cta__secondary:hover,
.orca-job-cta__tel:hover{
  transform: translateY(-1px);
}

/* -------- 3点サマリー：カード感を揃える -------- */
.orca-job-summary{
  border-radius: 18px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.06) !important;
  margin-top: 12px !important;
}

.orca-job-summary__item{
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.08) !important;
}

/* -------- 画像：重複して見える「上の大きい画像」を消す（Cocoonのアイキャッチ保険） --------
   ※ギャラリー（.job-gallery）がある前提で、よくあるアイキャッチ要素だけ非表示にします。
   ※もし本文内の画像まで消えたら、下のブロックをコメントアウトしてください。
*/
body.single-job_listing .eye-catch,
body.single-job_listing .eyecatch,
body.single-job_listing .entry-header-thumbnail,
body.single-job_listing .entry-header .eye-catch{
  display:none !important;
}

/* -------- ギャラリー：カード化＆見やすいサイズ -------- */
.job-gallery{
  max-width: 1120px;
  margin: 12px auto 18px !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.08) !important;
  overflow: hidden;
}

.job-gallery__main{
  aspect-ratio: 16 / 9;
  background: #eef2ff;
}

@media (min-width: 960px){
  .job-gallery__main{ aspect-ratio: 16 / 9; }
}

/* ナビ矢印：背景を少しだけ薄く */
.job-gallery__prev,
.job-gallery__next{
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(15,23,42,.10) !important;
}

/* サムネ：少し大きく＆押しやすく */
.job-gallery__thumb{
  width: 92px !important;
  height: 66px !important;
  border-radius: 10px !important;
}

/* -------- 「この求人のポイント」周り：見出しとカードを統一 -------- */
body.single-job_listing .entry-content h2{
  max-width: 1120px;
  margin: 22px auto 10px !important;
  padding: 0 4px !important;
  font-size: 18px;
  font-weight: 950;
}

body.single-job_listing .entry-content h2::after{
  content:"";
  display:block;
  width: 56px;
  height: 3px;
  margin-top: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(37,99,235,.95), rgba(255,176,32,.95));
}

/* 「ポイント」の中のテーブル/リストが崩れるのを避けつつ整える */
body.single-job_listing .entry-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius: 16px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  box-shadow:0 12px 26px rgba(15,23,42,.05);
}

body.single-job_listing .entry-content table th,
body.single-job_listing .entry-content table td{
  padding: 12px 12px;
  border-top:1px solid rgba(15,23,42,.08);
  vertical-align: top;
}

body.single-job_listing .entry-content table tr:first-child th,
body.single-job_listing .entry-content table tr:first-child td{
  border-top:0;
}

body.single-job_listing .entry-content table th{
  width: 28%;
  background: rgba(15,23,42,.02);
  font-weight: 900;
}

/* -------- 本文カード群（orca-desc）を少しリッチに -------- */
.orca-jobsec{
  border-radius: 18px !important;
  border-color: rgba(15,23,42,.10) !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.06) !important;
}

/* -------- 応募フォーム：上の見出しを統一＆余白を少し詰める -------- */
.job-apply-form{
  box-shadow: 0 18px 44px rgba(15,23,42,.08);
}

body.single-job_listing #job-apply-form .wpcf7 form{
  box-shadow: 0 18px 44px rgba(15,23,42,.10) !important;
}

/* =========================================================
   ORCA 求人詳細：幅統一＆背景（白カード）復活パッチ
   - 横幅がバラバラ問題を解消
   - 背景が消えた感を戻す（白い土台）
   - CTAが上に詰まるのを緩和
========================================================= */

/* ① まず「透明化した背景」を戻す（上書き） */
body.single-job_listing #content,
body.single-job_listing #content-in,
body.single-job_listing #main,
body.single-job_listing main#main{
  background: unset !important;
}

/* ② 統一幅：この値だけで全体の横幅が揃う */
body.single-job_listing{
  --orca-job-max: 1040px;
  --orca-job-pad: min(4vw, 22px);
}

/* main の幅は広げすぎない（“バラバラ感”の原因を潰す） */
body.single-job_listing .main,
body.single-job_listing #main{
  max-width: none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ③ 白い土台（ページ内カード）を作る：ここが「背景なくなった」対策 */
body.single-job_listing .entry-content{
  max-width: var(--orca-job-max) !important;
  margin: 14px auto 34px !important;
  padding: 18px var(--orca-job-pad) 26px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.08) !important;
}

/* ④ タイトル・ギャラリー・サマリーも同じ横幅に統一 */
body.single-job_listing .entry-header,
body.single-job_listing h1.entry-title,
body.single-job_listing .job-gallery,
body.single-job_listing .orca-job-summary,
body.single-job_listing .job-apply-form{
  max-width: var(--orca-job-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* タイトルはカードの外に見えるとバラつくので幅だけ揃えておく */
body.single-job_listing .entry-header{
  padding-left: var(--orca-job-pad) !important;
  padding-right: var(--orca-job-pad) !important;
}

/* ⑤ CTAが「上に行った」感：詰まりを解消して“落ち着く位置”に */
.orca-job-cta{
  max-width: var(--orca-job-max) !important;
  margin: 18px auto 12px !important;
  padding-left: var(--orca-job-pad) !important;
  padding-right: var(--orca-job-pad) !important;
}

/* CTAボタンの高さ/角丸は維持しつつ、過剰な浮き（transform）があるとズレて見えるので抑える */
.orca-job-cta__secondary:hover,
.orca-job-cta__tel:hover{
  transform: none !important;
}

/* ⑥ ギャラリーをカードっぽく、でも幅は統一 */
.job-gallery{
  border-radius: 18px !important;
  overflow: hidden;
}

/* ⑦ セクション見出しはカード内にいるので、左右のズレを作らない */
body.single-job_listing .entry-content h2{
  max-width: none !important;
  margin: 22px 0 10px !important;
  padding: 0 !important;
}

/* ⑧ もし「上の大きい画像」を消したせいで違和感なら、ここで復活させる
   （前のCSSで非表示にした要素がある場合に“見えるように戻す”）
   ※ ここは必要ならON。今はOFF（コメントのまま）でOK。
*/
/*
body.single-job_listing .eye-catch,
body.single-job_listing .eyecatch,
body.single-job_listing .entry-header-thumbnail,
body.single-job_listing .entry-header .eye-catch{
  display:block !important;
}
*/
/* =========================================================
   求人ポイント（job-acf-top）をカード化＋job-gallery幅に統一
========================================================= */

/* job-gallery と同じ幅で揃える（共通変数が無くても同幅になる） */
.job-acf-top__main{
  max-width: 1120px;            /* job-galleryが1120なら一致 */
  margin: 14px auto 18px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15,23,42,.08);
  overflow: hidden;             /* 角丸を効かせる */
}

/* もし job-gallery 側が max-width:1120px 以外に変わっても追従したい場合は、
   次の1行を “後で” 有効化（job-galleryのmax-widthが明示されている前提）
*/
/* .job-acf-top__main{ max-width: inherit; } */

/* ヘッダー（見出し） */
.job-acf-top__head{
  padding: 16px 18px 10px;
  border-bottom: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,0));
}

.job-acf-top__title{
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .02em;
}

/* ポイントのグリッド */
.job-acf-top__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 18px 16px;
}

@media (min-width: 820px){
  .job-acf-top__grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
}

/* 1アイテムを小カード化 */
.job-acf-top__item{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px;
  background: #fff;
  padding: 12px 12px;
  box-shadow: 0 10px 22px rgba(15,23,42,.06);
}

.job-acf-top__k{
  font-size: 12px;
  font-weight: 800;
  color: rgba(15,23,42,.70);
  line-height: 1.2;
  margin-bottom: 6px;
}

.job-acf-top__v{
  font-size: 15px;
  font-weight: 900;
  color: rgba(15,23,42,.92);
  line-height: 1.35;
  word-break: break-word;
}

/* 詳細（details）をカード内に自然に馴染ませる */
.job-acf-top__details{
  border-top: 1px solid rgba(15,23,42,.08);
  padding: 10px 18px 16px;
  background: rgba(15,23,42,.02);
}

.job-acf-top__summary{
  list-style: none;
  cursor: pointer;
  user-select: none;
  font-weight: 900;
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 10px 22px rgba(15,23,42,.06);
}

/* デフォルトの三角を消して、右側に「＋/－」を出す */
.job-acf-top__summary::-webkit-details-marker{ display:none; }

.job-acf-top__summary::after{
  content: "＋";
  float: right;
  font-weight: 900;
  opacity: .75;
}

.job-acf-top__details[open] > .job-acf-top__summary::after{
  content: "－";
}

/* 開いた中身（dl）を“表っぽく”整える */
.job-acf-top__dl{
  margin: 12px 0 0;
  padding: 0;
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px;
  overflow: hidden;
}

.job-acf-top__row{
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  padding: 12px 14px;
  border-top: 1px solid rgba(15,23,42,.08);
}

.job-acf-top__row:first-child{
  border-top: 0;
}

.job-acf-top__dt{
  margin: 0;
  font-weight: 900;
  font-size: 13px;
  color: rgba(15,23,42,.76);
}

.job-acf-top__dd{
  margin: 0;
  font-weight: 700;
  font-size: 14px;
  color: rgba(15,23,42,.92);
  line-height: 1.55;
  word-break: break-word;
}

@media (max-width: 520px){
  .job-acf-top__row{
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .job-acf-top__dt{
    font-size: 12px;
  }
}
/* =========================================================
   ORCA：求人詳細 横幅を全部1040に統一（最終上書き）
   ※ style.css の一番下に追記
========================================================= */

body.single-job_listing{
  --orca-job-max: 1040px;
  --orca-job-pad: min(4vw, 22px);
}

/* 1) job-gallery を 1040 に固定 */
body.single-job_listing .job-gallery{
  max-width: var(--orca-job-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2) ACFトップ（この求人のポイント）も 1040 に */
body.single-job_listing .job-acf-top__main{
  max-width: var(--orca-job-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 3) タイトル・CTA・サマリー・フォーム・各セクションも 1040 に揃える */
body.single-job_listing .entry-header,
body.single-job_listing h1.entry-title,
body.single-job_listing .orca-job-cta,
body.single-job_listing .orca-job-summary,
body.single-job_listing .job-apply-form,
body.single-job_listing .orca-jobsec{
  max-width: var(--orca-job-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 4) 中身の左右パディング（1040の中で気持ちよく） */
body.single-job_listing .entry-header,
body.single-job_listing .orca-job-cta{
  padding-left: var(--orca-job-pad) !important;
  padding-right: var(--orca-job-pad) !important;
}

/* 5) 本文全体も「1040の白い土台」にまとめる（背景が消えた問題対策） */
body.single-job_listing .entry-content{
  max-width: var(--orca-job-max) !important;
  margin: 14px auto 34px !important;
  padding: 18px var(--orca-job-pad) 26px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.08) !important;
}

/* 6) main側の余計な max-width/padding が残ってても崩れないように無効化 */
body.single-job_listing .main,
body.single-job_listing #main{
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* =========================================================
   ORCA：求人詳細 1040px統一（meta/company/orca-desc 追加）
========================================================= */

body.single-job_listing ul.job-listing-meta.meta,
body.single-job_listing .company,
body.single-job_listing .orca-desc{
  max-width: var(--orca-job-max, 1040px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* meta が ul なのに中に div が入ってて崩れやすいので、見た目を安定させる保険 */
body.single-job_listing ul.job-listing-meta.meta{
  padding-left: 0 !important;
}

/* orca-desc をカードっぽく整えたい場合（既に整ってるなら消してOK） */
body.single-job_listing .orca-desc{
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(15,23,42,.06);
  padding: 16px var(--orca-job-pad, 22px);
}
/* =========================================================
   ORCA：応募フォーム（job-apply-form）入れ子解消＆1040カード統一
========================================================= */

/* 外側：1040のカード（これだけカードにする） */
body.single-job_listing #job-apply-form.job-apply-form{
  max-width: var(--orca-job-max, 1040px) !important;
  margin: 18px auto 26px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.08) !important;
  overflow: hidden; /* タイトル帯の角丸が効く */
  padding: 0 !important; /* 中で管理 */
}

/* タイトル：カードのヘッダー化 */
body.single-job_listing #job-apply-form .job-apply-form__title{
  margin: 0 !important;
  padding: 16px 18px 12px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  background: linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,0)) !important;
}

/* wpcf7の箱：余計な背景/枠/影を全部消して “中身” にする */
body.single-job_listing #job-apply-form .wpcf7{
  margin: 0 !important;
  padding: 14px 18px 18px !important; /* カードのボディ */
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* formもフラット化（入れ子カードを消す本丸） */
body.single-job_listing #job-apply-form .wpcf7 form{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* pの謎の <br> で縦が間延びするので抑える */
body.single-job_listing #job-apply-form .wpcf7 p{
  margin: 0 0 12px !important;
}
body.single-job_listing #job-apply-form .wpcf7 p > br{
  display: none !important;
}

/* ラベル・必須の見た目を揃える */
body.single-job_listing #job-apply-form .wpcf7 label{
  display: inline-block;
  font-weight: 800;
  margin: 0 0 6px;
}
body.single-job_listing #job-apply-form .wpcf7 .req{
  display: inline-block;
  margin-left: 6px;
  font-size: 12px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(37,99,235,.10);
  color: rgba(37,99,235,.95);
}

/* 入力UIを統一（角丸・高さ・枠） */
body.single-job_listing #job-apply-form .wpcf7 input[type="text"],
body.single-job_listing #job-apply-form .wpcf7 input[type="tel"],
body.single-job_listing #job-apply-form .wpcf7 input[type="email"],
body.single-job_listing #job-apply-form .wpcf7 input[type="number"],
body.single-job_listing #job-apply-form .wpcf7 select,
body.single-job_listing #job-apply-form .wpcf7 textarea{
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  border-radius: 14px !important;
  padding: 12px 12px !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.04) !important;
  background: #fff !important;
}

body.single-job_listing #job-apply-form .wpcf7 textarea{
  min-height: 140px;
}

/* 同意チェックは行間を整える */
body.single-job_listing #job-apply-form .wpcf7 .wpcf7-acceptance{
  display: block;
}
body.single-job_listing #job-apply-form .wpcf7 .wpcf7-acceptance label{
  font-weight: 700;
}
body.single-job_listing #job-apply-form .wpcf7 .wpcf7-acceptance input[type="checkbox"]{
  transform: translateY(1px);
  margin-right: 8px;
}

/* 送信ボタンをカードのフッターっぽく */
body.single-job_listing #job-apply-form .wpcf7 input[type="submit"]{
  width: 100% !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  font-weight: 900 !important;
  border: 0 !important;
  box-shadow: 0 16px 34px rgba(37,99,235,.18) !important;
}

/* disabled状態でも見た目が死なないように（CF7は同意前にdisabledのことがある） */
body.single-job_listing #job-apply-form .wpcf7 input[type="submit"][disabled]{
  opacity: .55;
  cursor: not-allowed;
}
/* 求人カード同士の間隔を少し広げる */
ul.job_listings li.job_listing.orca-jobcard{
  margin: 0 0 8px;      /* 下だけ余白（好みで 12〜28px） */
  border-bottom: none;   /* 仕切り線が要らなければ */
}
/* =========================================================
   ヘッダーナビ メニュー切り替え
   - PC（769px以上）  : menu-pc のみ表示、menu-mobile は非表示
   - モバイル（768px以下）: nav#navi ごと非表示（アコーディオンメニューがあるため）
   Cocoon親テーマの高詳細度ルール (#header-container nav#navi .navi-in > ul)
   を上書きするため、nav要素ごと非表示にする
========================================================= */

/* PC：モバイル用メニューを非表示 */
@media (min-width: 769px) {
  #header-container nav#navi .navi-in > ul.menu-mobile,
  #header-container nav#navi .navi-in ul.menu-mobile {
    display: none !important;
  }
}

/* モバイル：ナビごと非表示（アコーディオンで代替） */
@media (max-width: 768px) {
  #header-container nav#navi {
    display: none !important;
  }
}