@charset "UTF-8";
/*--------------------------------------------------------
  Print Stylesheet
  - media="print" で読み込むため、既存CSSへの影響なし
---------------------------------------------------------*/

/* ページ設定 */
@page {
  size: A4;
  margin: 15mm 10mm;
}

/* 基本リセット */
body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* overflow: hidden の解除（コンテンツ切れ防止） */
html, body,
.wrapper,
.contents,
.contentsFull,
.BlockInr,
.cntsShowDetailMain,
.showDetailBlock,
.detailMainBlock,
.detailMainBlockInr,
.detailSideBlock,
.detailSideBlockInr,
.detailRecruitBlock,
.detailTreatmentInfo,
.tabBox,
.companyData,
.o_component-base,
.o_job_show,
.o_job_show--content-contents,
.detailBlockInner,
.detailBlockInnerContent {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* ヘッダー: fixed解除 → 1ページ目のみ表示 */
.header {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  border-bottom: 1px solid #ccc;
}

.header .logoBlock {
  width: 180px !important;
  max-width: 180px !important;
  height: auto !important;
  margin: 8px 0 !important;
  float: none !important;
}

.header .logoBlock img {
  width: 100% !important;
}

/* ナビゲーション・インタラクティブ要素を非表示 */
.header .navBlock,
.mbtnBox,
#switchNav,
#pageTopBtn,
#fb-root,
.topicSnsBox,
.jobShowTopicSnsBox {
  display: none !important;
}

/* コンテンツエリア */
.contents, .contentsFull {
  padding: 0 !important;
  margin: 0 auto !important;
}

.wrapper {
  padding-bottom: 0 !important;
}

/* レイアウト: 1カラムに変更 */
.cntsShowDetailMain {
  max-width: 100% !important;
  padding: 0 !important;
}

.cntsShowDetailMain .showDetailBlock {
  display: block !important;
}

.detailMainBlock {
  display: block !important;
  width: 100% !important;
}

.detailSideBlock {
  display: block !important;
  width: 100% !important;
  border-top: 2px solid #E5E5E5;
  margin-top: 20px;
  padding-top: 10px;
}

/* メイン画像 */
.detailMainBlock .detailImg img {
  max-width: 100% !important;
  height: auto !important;
}

/* メインブロック内の余白調整 */
.detailMainBlock .detailMainBlockInr {
  padding: 15px 0 !important;
}

.detailMainBlock h1 {
  font-size: 140% !important;
  margin-bottom: 10px !important;
}

/* 募集詳細の余白を縮小 */
.detailRecruitBlock .drbLead {
  margin: 20px 0 15px !important;
}

.detailRecruitBlock .drbPointBox {
  margin: 0 0 25px !important;
}

.detailRecruitBlock .drbPointBox h2 {
  margin-bottom: 10px !important;
}

.detailRecruitBlock .drbPointBox .detailImg {
  margin-bottom: 15px !important;
}

.detailRecruitBlock .detailTreatmentInfo {
  margin-top: 30px !important;
}

.detailRecruitBlock .detailTreatmentInfo h3 {
  margin-bottom: 8px !important;
}

.detailRecruitBlock .detailTreatmentInfo p {
  margin: 0 0 20px !important;
}

/* 応募ボタンを非表示 */
.entryRightNowBox,
.detailTreatmentInfoBtnBox,
.showBscBtn,
.entryRightNow {
  display: none !important;
}

/* Google Map を非表示 */
.detailRecruitMap {
  display: none !important;
}

/* MAPリンクを非表示 */
a.externalLink {
  display: none !important;
}

/* サイドブロック（会社情報） */
.detailSideBlock .companyImg img {
  max-width: 300px !important;
  height: auto !important;
}

.detailSideBlock .companyData {
  padding: 15px 0 !important;
}

.detailSideBlock .companyData h4 {
  margin: 15px 0 5px !important;
  font-size: 105% !important;
}

.companyWeb a {
  color: #333 !important;
  text-decoration: none !important;
}

/* その他の募集情報 */
.otherRecruitBlock {
  padding-top: 30px !important;
}

.otherRecruitBlock h2 {
  margin-bottom: 15px !important;
  font-size: 130% !important;
}

.otherRecruitBlock ul.result1ColumnBox li.result1Column {
  page-break-inside: avoid !important;
}

/* パンくずリスト */
.topicpathBlock {
  margin: 5px 0 !important;
  padding: 5px 0 !important;
  font-size: 80% !important;
}

/* フッター */
.footer {
  margin-top: 20px !important;
  padding-top: 15px !important;
  border-top: 1px solid #ccc;
  font-size: 85% !important;
}

.footer .footerNavi {
  display: none !important;
}

.footer .footerInfo img {
  max-width: 150px !important;
}

/* リンク表示（URL表示はしない、印刷では見にくいため） */
a {
  color: #333 !important;
  text-decoration: none !important;
}

/* ページ分割制御 */
.detailRecruitBlock .drbPointBox {
  page-break-inside: avoid !important;
}

.detailRecruitBlock .detailTreatmentInfo h3,
.detailSideBlock .companyData h4 {
  page-break-after: avoid !important;
}

.detailSideBlock {
  page-break-before: auto;
  page-break-inside: avoid !important;
}

img {
  page-break-inside: avoid !important;
}

/* プレビュー用要素を非表示 */
.previewBscBtnLink,
.previewRedText,
.previewshowBscBtn {
  display: none !important;
}

/*--------------------------------------------------------
  新テンプレート（o_job_show）対応
---------------------------------------------------------*/

/* ヘッダー: fixed/absolute 解除 */
.o_header {
  position: static !important;
  height: auto !important;
  box-shadow: none !important;
}

.o_header-nav,
.o_header-hamburger {
  display: none !important;
}

/* コンテナ余白調整 */
.container.no-top {
  padding-top: 0 !important;
}

.container.no-top.job-show {
  margin-top: 0 !important;
}

/* backdrop-filter 無効化（印刷時の描画問題を防止） */
.o_component-base,
.detailBlockInner {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: #fff !important;
}

/* detailBlockInner: position: relative を明示（blockLabel の基準点） */
.detailBlockInner {
  position: relative !important;
  border: 1px solid #ddd !important;
  padding: 60px 15px 20px !important;
  margin-bottom: 20px !important;
}

/* blockLabel: 黒背景・白文字を維持 */
.detailBlockInner .blockLabel {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  background-color: #000 !important;
  color: #fff !important;
  padding: 8px 20px !important;
  font-size: 16px !important;
  font-weight: bold !important;
  border-top-left-radius: 0 !important;
}

/* 募集情報・企業情報内のテキストを確実に黒色に */
.detailBlockInnerContent,
.detailBlockInnerContent h3,
.detailBlockInnerContent p,
.detailBlockInner .companyData,
.detailBlockInner .companyData h3,
.detailBlockInner .companyData p {
  color: #000 !important;
}

/* SVGアイコンの塗り色を黒に */
.detailBlockInnerContent svg path,
.detailBlockInner svg path {
  fill: #000 !important;
}

/* Font Awesomeアイコンの色を黒に */
.detailBlockInnerContent i,
.detailBlockInner .underLine i {
  color: #000 !important;
}

/* detailBlockInnerContent の余白調整 */
.detailBlockInnerContent {
  margin-bottom: 15px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #e2e2e2 !important;
}

.detailBlockInnerContent:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

/* content-contents の余白調整 */
.o_job_show--content-contents {
  padding: 15px 0 !important;
}

/* content-header / content-footer */
.o_job_show--content-header,
.o_job_show--content-footer {
  padding: 15px 0 !important;
}

.o_job_show--content-header h1,
.o_job_show--content-footer h3 {
  color: #000 !important;
}

/* プレビューバーを非表示 */
#preview-bar {
  display: none !important;
}