@charset "UTF-8";

/* =========================================================
   Career Page Styles
   ========================================================= */

/* =========================================================
   Entry Page Styles (Career)
   ========================================================= */

.entryHero {
  padding: 60px 0 0;
}

.jobTitle {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.6;
}

.jobMeta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: -10px;
}

.tag {
  border: 1px solid #932d83;
  border-radius: 10px;
  color: #932d83;
  padding: 5px 12px;
  font-size: 14px;
  line-height: 1.0;
}

.jobListLink a {
  color: #932d83;
  font-size: 16px;
  text-decoration: underline;
}

.heroImages {
  display: flex;
  gap: 40px;
  margin-top: 30px;
}

.heroImages figure {
  width: 50%;
}

.heroImages img {
  width: 100%;
  height: auto;
  display: block;
}

.entryConcept {
  margin-top: 60px;
}

.conceptTitle {
  font-size: 26px;
  color: #932d83;
  border-bottom: 2px solid #932d83;
  padding-bottom: 10px;
  margin-bottom: 40px;
}

.conceptGrid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.conceptBlock {
  width: calc(50% - 20px);
  border-left: 6px solid #c895c1;
  padding-left: 15px;
}

.conceptBlock.full {
  width: 100%;
}

.conceptBlock h3 {
  font-size: 22px;
  color: #932d83;
  margin-bottom: -10px;
  line-height: 1.6;
}

.conceptBlock p {
  line-height: 1.9;
  font-size: 15px;
}

/* =========================================================
   Responsive
   ========================================================= */

@media screen and (max-width: 768px) {

  .entryHero {
    padding: 40px 0 20px;
  }

  .jobTitle {
    font-size: 20px;
  }

  .heroImages {
    flex-direction: column;
    gap: 20px;
  }

  .heroImages figure {
    width: 100%;
  }

  .conceptBlock {
    width: 100%;
  }

  .conceptTitle {
    font-size: 18px;
  }
}



/* =========================================================
   Corporate Sales Section
   ========================================================= */

.entrySection {
  margin-top: 80px;
}

.sectionTitle {
  font-size: 22px;
  color: #932d83;
  margin-bottom: 20px;
  border-bottom: 2px solid #932d83;
  /* padding-bottom: 10px; */
}

.salesLead {
  margin-bottom: 30px;
  line-height: 2;
}

.salesDetail {
  margin-bottom: 40px;
}

.salesBlock {
  margin-bottom: 25px;
}

.salesBlock h3 {
  color: #932d83;
  font-size: 16px;
  margin-bottom: -20px;
}

.jobSpec {
  margin-top: 40px;
}

.jobSpecList dd:last-child,
.jobSpecList dt:last-of-type {
  border-bottom: none;
}

/* Responsive */
@media screen and (max-width: 768px) {
  .sectionTitle {
    font-size: 18px;
  }

  .jobSpecList dt,
  .jobSpecList dd {
    padding: 12px;
  }
}




/* =========================================================
   Service Engineer Section
   ========================================================= */

.entryEngineer {
  margin-top: 80px;
}

.engineerLead {
  margin-bottom: 30px;
  line-height: 2;
}

.modelSchedule {
  margin-top: 20px;
}

.engineerDetail {
  margin-bottom: 40px;
}




/* =========================================================
   Company Information Section
   ========================================================= */

.entryCompany {
  margin-top: 80px;
}

.companyInfoList {
  display: grid;
  grid-template-columns: 260px 1fr;
  border: 1px solid #932d83;
  border-bottom: none;
}

.companyInfoList dt,
.companyInfoList dd {
  padding: 20px 24px;
  border-bottom: 1px solid #932d83;
  line-height: 1.8;
}

.companyInfoList dt {
  background: #f5eef4;
  font-weight: 600;
}

.companyInfoList dd {
  background: #fff;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .companyInfoList {
    grid-template-columns: 1fr;
  }

  .companyInfoList dt {
    border-bottom: none;
    background: #f5eef4;
    font-weight: 600;
  }

  .companyInfoList dd {
    border-top: none;
  }
}




/* =========================================================
   Layout Adjustment for PDF Precision
   ========================================================= */

/* 共通インナー幅（PDFレイアウト再現） */
.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* セクション間余白調整 */
.entryHero+.entryConcept {
  margin-top: 80px;
}

.entrySection {
  margin-top: 100px;
}

/* 見出しデザインの精密化 */
.sectionTitle,
.conceptTitle {
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* タグの角丸と視認性調整 */
.tag {
  border-radius: 2px;
  background-color: #fff;
}

/* リストリンクの視認性向上 */
.jobListLink a:hover {
  opacity: 0.7;
}

/* 画像のシャドウ（PDF風） */
.heroImages img {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

/* 募集要項テーブル精密化 */

.jobSpecList dt {
  border-right: 1px solid #932d83;
}

.jobSpecList dt:nth-last-of-type(1),
.jobSpecList dd:last-of-type {
  border-bottom: none;
}

/* サービスエンジニアセクションの余白調整 */
.entryEngineer .jobSpec {
  margin-top: 60px;
}

/* 会社情報セクションの視覚バランス調整 */
.companyInfoList {
  margin-top: 30px;
}

/* 印刷時（PDF出力時）の最適化 */
@media print {
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .heroImages img {
    box-shadow: none;
  }

  a {
    text-decoration: none;
    color: #000;
  }
}



/* =========================================================
   JobSpec - PDF22 Correct Layout
   ========================================================= */

/* SP対応 */
@media screen and (max-width: 768px) {

  .jobSpecList dt,
  .jobSpecList dd {
    float: none;
    width: 100%;
    border-right: none;
  }

}




/* =========================================================
   JobSpec - PDF22 Final Correct Layout
   ========================================================= */

.jobSpecList {
  display: grid;
  grid-template-columns: 260px 1fr;
  border: 1px solid #932d83;
  border-bottom: none;
}

.jobSpecList dt {
  background: #f6eaf4;
  padding: 20px 24px;
  font-weight: 600;
  border-bottom: 1px solid #932d83;
  border-right: 1px solid #932d83;
}

.jobSpecList dd {
  padding: 20px 24px;
  line-height: 1.9;
  border-bottom: 1px solid #932d83;
  background: #fff;
}

/* 最終行の罫線処理 */
.jobSpecList dt:last-of-type,
.jobSpecList dd:last-of-type {
  border-bottom: none;
}

/* SP */
@media screen and (max-width: 768px) {

  .jobSpecList {
    grid-template-columns: 1fr;
  }

  .jobSpecList dt {
    border-right: none;
  }

}


/* =========================================
   2カラム（法人営業 / サービスエンジニア）
========================================= */

.entrySection.jobColumns .inner {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

.entrySection.jobColumns .jobColumn {
  width: 50%;
}

/* SP対応 */
@media screen and (max-width: 768px) {
  .entrySection.jobColumns .inner {
    flex-direction: column;
  }

  .entrySection.jobColumns .jobColumn {
    width: 100%;
  }
}

/* 求人タグの文字まわり調整 */
.jobMeta .tag {
  line-height: 1.2;
  padding: 6px 12px;
  border-radius: 4px;
}

/* =========================================
   表組みを横割りに変更
   dtの下にddが来る1列レイアウト
========================================= */

.jobSpecList,
.companyInfoList {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid #932d83;
  border-bottom: none;
}

.jobSpecList dt,
.companyInfoList dt {
  background: #f6eaf4;
  padding: 6px 24px;
  font-weight: 600;
  border-bottom: 1px solid #932d83;
  border-right: none;
}

.jobSpecList dd,
.companyInfoList dd {
  padding: 20px 24px;
  line-height: 1.9;
  background: #fff;
  border-bottom: 1px solid #932d83;
}

.jobSpecList dt:last-of-type,
.jobSpecList dd:last-of-type,
.companyInfoList dt:last-of-type,
.companyInfoList dd:last-of-type {
  border-bottom: none;
}

.jobSpecList,
.companyInfoList {
  border-bottom: none;
}

/* 最後の見出し行は下線なし */
.jobSpecList dt:last-of-type,
.companyInfoList dt:last-of-type {
  border-bottom: none;
}

/* 最後の内容行だけ下線を出す */
.jobSpecList dd:last-of-type,
.companyInfoList dd:last-of-type {
  border-bottom: 1px solid #932d83;
}

/* =========================================
   会社情報だけ縦割りに戻す
========================================= */

.companyInfoList {
  display: grid;
  grid-template-columns: 190px 1fr;
  border: 1px solid #932d83;
  border-bottom: none;
  margin-top: 30px;
}

.companyInfoList dt,
.companyInfoList dd {
  padding: 20px 24px;
  border-bottom: 1px solid #932d83;
  line-height: 1.8;
}

.companyInfoList dt {
  background: #f5eef4;
  font-weight: 600;
  border-right: 1px solid #932d83;
}

.companyInfoList dd {
  background: #fff;
}

/* 最後の行だけ下線を1本にする */
.companyInfoList dt:last-of-type {
  border-bottom: none;
}

.companyInfoList dd:last-of-type {
  border-bottom: 1px solid #932d83;
}

/* SPでは上下積み */
@media screen and (max-width: 768px) {
  .companyInfoList {
    grid-template-columns: 1fr;
  }

  .companyInfoList dt {
    border-right: none;
    border-bottom: none;
  }

  .companyInfoList dd {
    border-top: none;
  }
}

.companyInfoList dt:last-of-type {
  border-bottom: 1px solid #932d83;
}