/* ============================================================
   募集の詳細ページ ca-detail.css
   正本：ChatGPT 作成 detail-final.css（写しは detail-final_original.css）
   変えたのは次の3点だけ（見た目は変えない）：
   1) 全体・ヘッダーの指定を外した（サイト共通の ca-base.css のヘッダーを使う）
   2) ほかのページに影響しないよう、全部の指定に .ca-detail-page を付けた
   3) 正本に無い状態（締切間近・一時停止・募集終了）と終了のお知らせの指定を末尾に足した
   ============================================================ */
.ca-detail-page{--ca-max:1180px;--ca-shadow:0 12px 34px rgba(33,41,61,.05);line-height:1.75}
/* 正本の .ca-container（全体の指定と一緒に外れていたので戻した） */
.ca-detail-page .ca-container{
  width:min(var(--ca-max),calc(100% - 48px));
  margin-inline:auto;
}

.ca-detail-page .ca-breadcrumb{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:18px 0;
  color:var(--ca-sub);
  font-size:11px;
}
.ca-detail-page .ca-detail-hero{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:38px;
  padding:8px 0 38px;
  align-items:start;
}
.ca-detail-page .ca-detail-media{min-width:0}
.ca-detail-page .ca-detail-media__main{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  background:var(--ca-surface-2);
  aspect-ratio:4/3;
}
.ca-detail-page .ca-detail-media__main img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ca-detail-page .ca-status{
  position:absolute;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:6px;
  font-size:12px;
  font-weight:700;
}
.ca-detail-page .ca-status--open{
  color:#fff;
  background:var(--ca-accent);
}
.ca-detail-page .ca-detail-media__thumbs{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(118px,1fr);
  gap:10px;
  overflow-x:auto;
  padding-top:10px;
  scrollbar-width:thin;
}
.ca-detail-page .ca-detail-media__thumbs button{
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  border-radius:8px;
  overflow:hidden;
}
.ca-detail-page .ca-detail-media__thumbs img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.ca-detail-page /* 画像0枚のとき用 */
.ca-detail-media[data-count="0"] .ca-detail-media__main{
  background:
    linear-gradient(135deg,rgba(238,93,130,.08),rgba(93,145,238,.07)),
    #fff;
  border:1px solid var(--ca-line);
}
.ca-detail-page .ca-detail-media[data-count="0"] .ca-detail-media__main::before{
  content:"IMAGE";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#a0a7b3;
  font-size:13px;
  letter-spacing:.18em;
}
.ca-detail-page /* 1枚なら大きく1枚だけ。空のギャラリーを残さない */
.ca-detail-media[data-count="1"] .ca-detail-media__thumbs{display:none}
.ca-detail-page .ca-detail-summary{padding-top:3px}
.ca-detail-page .ca-detail-summary__eyebrow{
  display:flex;
  gap:8px;
  color:var(--ca-accent-dark);
  font-size:12px;
  font-weight:700;
  margin-bottom:9px;
}
.ca-detail-page .ca-detail-summary__eyebrow span+span::before{
  content:"・";
  margin-right:8px;
  color:var(--ca-line-strong);
}
.ca-detail-page .ca-detail-title{
  margin:0;
  font-size:34px;
  line-height:1.34;
  letter-spacing:.01em;
}
.ca-detail-page .ca-detail-catch{
  margin:10px 0 0;
  color:#3f4757;
  font-size:15px;
}
.ca-detail-page .ca-tag-list{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:16px;
}
.ca-detail-page .ca-tag-list span{
  padding:4px 8px;
  border-radius:5px;
  border:1px solid var(--ca-line);
  background:#fff;
  font-size:11px;
  line-height:1.4;
}
.ca-detail-page .ca-spec-grid{
  margin:24px 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--ca-line);
  border-left:1px solid var(--ca-line);
}
.ca-detail-page .ca-spec{
  margin:0;
  padding:14px 16px;
  border-right:1px solid var(--ca-line);
  border-bottom:1px solid var(--ca-line);
}
.ca-detail-page .ca-spec dt{
  font-size:11px;
  color:var(--ca-sub);
  margin-bottom:2px;
}
.ca-detail-page .ca-spec dd{
  margin:0;
  font-weight:700;
  font-size:14px;
}
.ca-detail-page .ca-deadline{
  margin-top:18px;
  padding:14px 16px;
  background:var(--ca-surface);
  border-left:3px solid var(--ca-accent);
}
.ca-detail-page .ca-deadline span{
  display:block;
  color:var(--ca-sub);
  font-size:11px;
  margin-bottom:2px;
}
.ca-detail-page .ca-deadline strong{
  font-size:15px;
  color:var(--ca-accent-dark);
}
.ca-detail-page .ca-detail-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.ca-detail-page .ca-detail-actions .ca-btn--primary{
  grid-column:1/-1;
}
.ca-detail-page .ca-btn{
  min-height:48px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.ca-detail-page .ca-btn--primary{
  color:#fff;
  border:1px solid var(--ca-accent);
  background:var(--ca-accent);
}
.ca-detail-page .ca-btn--primary:hover{background:var(--ca-accent-dark)}
.ca-detail-page .ca-btn--secondary{
  border:1px solid var(--ca-line-strong);
  background:#fff;
}
.ca-detail-page .ca-apply-note{
  margin:12px 0 0;
  color:var(--ca-sub);
  font-size:11px;
}
.ca-detail-page .ca-key-info{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--ca-line);
  border-bottom:1px solid var(--ca-line);
}
.ca-detail-page .ca-key-info__item{
  position:relative;
  padding:18px 20px;
}
.ca-detail-page .ca-key-info__item:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:18px;
  bottom:18px;
  width:1px;
  background:var(--ca-line);
}
.ca-detail-page .ca-key-info__label{
  display:block;
  font-size:11px;
  color:var(--ca-sub);
}
.ca-detail-page .ca-key-info__item strong{
  display:block;
  margin-top:3px;
  font-size:15px;
}
.ca-detail-page .ca-key-info__item small{
  display:block;
  margin-top:1px;
  color:var(--ca-sub);
}
.ca-detail-page .ca-detail-tabs{
  position:sticky;
  top:68px;
  z-index:20;
  display:flex;
  overflow-x:auto;
  margin-top:22px;
  background:#fff;
  border-bottom:1px solid var(--ca-line);
  scrollbar-width:none;
}
.ca-detail-page .ca-detail-tabs::-webkit-scrollbar{display:none}
.ca-detail-page .ca-detail-tabs a{
  flex:0 0 auto;
  padding:15px 17px 12px;
  border-bottom:2px solid transparent;
  color:#555e6d;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}
.ca-detail-page .ca-detail-tabs a:first-child{
  color:var(--ca-accent-dark);
  border-bottom-color:var(--ca-accent);
}
.ca-detail-page .ca-detail-body{
  max-width:900px;
  margin:0 auto;
}
.ca-detail-page .ca-section{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:34px;
  padding:54px 0;
  border-bottom:1px solid var(--ca-line);
}
.ca-detail-page .ca-section__heading p{
  margin:0 0 4px;
  color:var(--ca-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
.ca-detail-page .ca-section__heading h2{
  margin:0;
  font-size:21px;
  line-height:1.4;
}
.ca-detail-page .ca-copy p{
  margin:0 0 14px;
}
.ca-detail-page .ca-copy p:last-child{margin-bottom:0}
.ca-detail-page .ca-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.ca-detail-page .ca-feature{
  min-height:140px;
  padding:18px;
  background:#fff;
  border:1px solid var(--ca-line);
  border-radius:10px;
}
.ca-detail-page .ca-feature>span{
  color:var(--ca-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.ca-detail-page .ca-feature h3{
  margin:7px 0 6px;
  font-size:15px;
}
.ca-detail-page .ca-feature p{
  margin:0;
  color:#586173;
  font-size:13px;
}
.ca-detail-page .ca-inline-image{
  margin:22px 0 0;
}
.ca-detail-page .ca-inline-image img{
  width:100%;
  max-height:440px;
  object-fit:cover;
  border-radius:10px;
}
.ca-detail-page .ca-inline-image figcaption{
  color:var(--ca-sub);
  font-size:11px;
  margin-top:6px;
}
.ca-detail-page .ca-data-table dl{
  margin:0;
  border-top:1px solid var(--ca-line);
}
.ca-detail-page .ca-data-table dl>div{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  border-bottom:1px solid var(--ca-line);
}
.ca-detail-page .ca-data-table dt,.ca-detail-page .ca-data-table dd{
  margin:0;
  padding:14px 16px;
}
.ca-detail-page .ca-data-table dt{
  color:#616a7a;
  background:var(--ca-surface-2);
  font-size:12px;
  font-weight:700;
}
.ca-detail-page .ca-data-table dd{
  font-size:13px;
}
.ca-detail-page .ca-note{
  margin:14px 0 0;
  color:var(--ca-sub);
  font-size:11px;
}
.ca-detail-page .ca-flow{
  list-style:none;
  margin:0;
  padding:0;
}
.ca-detail-page .ca-flow li{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:16px;
  position:relative;
  padding:0 0 24px;
}
.ca-detail-page .ca-flow li:not(:last-child)::after{
  content:"";
  position:absolute;
  left:23px;
  top:36px;
  bottom:4px;
  width:1px;
  background:var(--ca-line-strong);
}
.ca-detail-page .ca-flow li>span{
  width:48px;
  height:32px;
  border-radius:6px;
  display:grid;
  place-items:center;
  background:var(--ca-accent-soft);
  color:var(--ca-accent-dark);
  font-size:11px;
  font-weight:800;
}
.ca-detail-page .ca-flow b{font-size:14px}
.ca-detail-page .ca-flow p{
  margin:3px 0 0;
  color:var(--ca-sub);
  font-size:13px;
}
.ca-detail-page .ca-organizer{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
}
.ca-detail-page .ca-organizer h3{margin:0 0 4px}
.ca-detail-page .ca-organizer p{margin:0;color:var(--ca-sub)}
.ca-detail-page .ca-verified-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.ca-detail-page .ca-verified-list span{
  padding:4px 8px;
  background:var(--ca-surface-2);
  border:1px solid var(--ca-line);
  border-radius:5px;
  font-size:11px;
}
.ca-detail-page .ca-text-link{
  flex:0 0 auto;
  color:var(--ca-accent-dark);
  font-size:12px;
  font-weight:700;
}
.ca-detail-page .ca-bottom-apply{
  margin:52px 0 0;
  padding:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  background:var(--ca-surface);
  border-radius:12px;
}
.ca-detail-page .ca-bottom-apply p{
  margin:0;
  color:var(--ca-sub);
  font-size:11px;
}
.ca-detail-page .ca-bottom-apply strong{
  display:block;
  margin-top:2px;
}
.ca-detail-page .ca-bottom-apply .ca-btn{min-width:220px}
.ca-detail-page .ca-detail-footer{
  padding:28px 0 60px;
  color:var(--ca-sub);
  font-size:11px;
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.ca-detail-page .ca-detail-footer a{text-decoration:underline}
.ca-detail-page .ca-mobile-apply{display:none}

@media(max-width:900px){
.ca-detail-page .ca-detail-hero{
    grid-template-columns:1fr;
    gap:22px;
  }
.ca-detail-page .ca-detail-summary{padding-top:0}
.ca-detail-page .ca-key-info{grid-template-columns:1fr 1fr}
.ca-detail-page .ca-key-info__item:nth-child(2)::after{display:none}
.ca-detail-page .ca-key-info__item:nth-child(-n+2){border-bottom:1px solid var(--ca-line)}
.ca-detail-page .ca-section{
    grid-template-columns:1fr;
    gap:18px;
  }
.ca-detail-page .ca-section__heading{
    display:flex;
    align-items:baseline;
    gap:10px;
  }
}

@media(max-width:640px){
.ca-detail-page .ca-container{
    width:min(100% - 28px,var(--ca-max));
  }
.ca-detail-page .ca-breadcrumb{
    padding:13px 0;
    font-size:10px;
  }
.ca-detail-page .ca-detail-hero{
    padding-top:0;
    padding-bottom:26px;
  }
.ca-detail-page .ca-detail-media{
    margin-left:-14px;
    margin-right:-14px;
  }
.ca-detail-page .ca-detail-media__main{
    border-radius:0;
    aspect-ratio:4/3;
  }
.ca-detail-page .ca-detail-media__thumbs{
    padding-inline:14px;
    grid-auto-columns:96px;
  }
.ca-detail-page .ca-status{
    top:12px;
    left:12px;
  }
.ca-detail-page .ca-detail-title{
    font-size:25px;
  }
.ca-detail-page .ca-detail-catch{
    font-size:14px;
  }
.ca-detail-page .ca-spec-grid{
    margin-top:18px;
  }
.ca-detail-page .ca-spec{
    padding:12px;
  }
.ca-detail-page .ca-spec dd{font-size:13px}
.ca-detail-page .ca-detail-actions{
    grid-template-columns:1fr 1fr;
  }
.ca-detail-page .ca-detail-actions .ca-btn--primary{
    display:none;
  }
.ca-detail-page .ca-key-info{
    margin-inline:-14px;
  }
.ca-detail-page .ca-key-info__item{
    padding:14px;
  }
.ca-detail-page .ca-detail-tabs{
    top:60px;
    margin-inline:-14px;
    padding-inline:8px;
  }
.ca-detail-page .ca-section{
    padding:38px 0;
  }
.ca-detail-page .ca-section__heading p{font-size:9px}
.ca-detail-page .ca-section__heading h2{font-size:19px}
.ca-detail-page .ca-feature-grid{
    grid-template-columns:1fr;
  }
.ca-detail-page .ca-data-table dl>div{
    grid-template-columns:118px minmax(0,1fr);
  }
.ca-detail-page .ca-data-table dt,.ca-detail-page .ca-data-table dd{
    padding:12px 10px;
  }
.ca-detail-page .ca-organizer{
    flex-direction:column;
  }
.ca-detail-page .ca-bottom-apply{
    display:none;
  }
.ca-detail-page .ca-detail-footer{
    padding-bottom:96px;
    flex-direction:column;
  }
.ca-detail-page .ca-mobile-apply{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:60;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);
    border-top:1px solid var(--ca-line);
    backdrop-filter:blur(10px);
  }
.ca-detail-page .ca-mobile-apply .ca-btn{
    width:100%;
  }
}


/* ---- 正本に無い状態の追加（形は .ca-status--open と同じ） ---- */
.ca-detail-page .ca-status--soon{color:#fff;background:#8a6a1f}
.ca-detail-page .ca-status--paused,.ca-detail-page .ca-status--closed{color:#fff;background:var(--ca-sub)}
.ca-detail-page .ca-detail-media--closed img{filter:saturate(.25)}
.ca-detail-page .ca-detail-notice{margin:0 0 18px;padding:14px 16px;background:var(--ca-surface-2);border-left:3px solid var(--ca-sub);font-size:13px}
.ca-detail-page .ca-detail-notice b{display:block}
.ca-detail-page .ca-detail-media__thumbs button[aria-current="true"]{outline:2px solid var(--ca-accent);outline-offset:-2px}
.ca-detail-page .ca-detail-tabs a.is-current{color:var(--ca-accent-dark);border-bottom-color:var(--ca-accent)}
.ca-detail-page .ca-detail-tabs a:first-child:not(.is-current){color:#555e6d;border-bottom-color:transparent}
.ca-detail-page .ca-detail-tabs.is-js a:first-child.is-current{color:var(--ca-accent-dark);border-bottom-color:var(--ca-accent)}
.ca-detail-page .ca-later{color:var(--ca-sub)}
.ca-detail-page .ca-data-table dd small{display:block;color:var(--ca-sub);font-size:11px;margin-top:2px}
.ca-detail-page .ca-btn[aria-pressed="true"]{border-color:var(--ca-accent);color:var(--ca-accent-dark);background:var(--ca-accent-soft)}
.ca-detail-page .ca-group-note{margin:12px 0 0;color:var(--ca-sub);font-size:11px}
.ca-detail-page .ca-media-links{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.ca-detail-page .ca-media-links a{display:inline-block;padding:6px 10px;border:1px solid var(--ca-line);border-radius:6px;font-size:12px}

/* 活動サポート・事務所からの補足（任意） */
.ca-detail-page .ca-support{margin-top:18px;padding:16px 18px;border:1px solid var(--ca-line);border-radius:10px}
.ca-detail-page .ca-support h3{margin:0 0 6px;font-size:15px}
.ca-detail-page .ca-support .ca-copy{margin:4px 0 0}

/* 活動スタイル（条件の印）・労働条件・掲載情報（設計書 v1.2 §5-4） */
.ca-detail-page .ca-style-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ca-detail-page .ca-style-list li{padding:6px 12px;border:1px solid var(--ca-line);border-radius:999px;font-size:14px}
.ca-detail-page .ca-listing-info{margin:28px 0 0;font-size:13px;color:var(--ca-muted, inherit)}
.ca-detail-page .ca-legal-notice{margin:0 0 6px}
.ca-detail-page .ca-org-contact{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:6px 0;font-size:14px}
.ca-detail-page .ca-org-contact dt{font-weight:700}
.ca-detail-page .ca-org-contact dd{margin:0}
.ca-detail-page .ca-org-self{margin:6px 0 0;font-size:13px}

/* グループ名（タイトルの下） */
.ca-detail-page .ca-detail-group{margin:-4px 0 10px;font-size:15px}
