@charset "UTF-8";
/*
$c_main: #DB0000;
$c_sub: #E9A87D;
$c_accent: #E64D4D;
$c_btn: #FF7043;
$c_btn_hover: #F4511E;
$c_sns_line: #06C755;
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap&family=Oswald&display=swap");
/* ============================================================
   _editor-content.scss
   - 共通：エディタ出力スタイル
   - 対象：コラム本文 / 採用担当者インタビュー本文 など
   - ラッパー側で --editor-accent を必ず定義して使う
============================================================ */
/* ============================================================
   recruiter.scss
   - 採用担当者インタビュー（アーカイブ／詳細）
   - BEM / モバイルファースト（min-width）
============================================================ */
/* ============================================================
   Tokens
============================================================ */
/* ============================================================
   Page Title / Hero
============================================================ */
.page-title--recruiter {
  --page-title-bg: #E3F5FF;
  --page-title-color: #00AAFF;
  background-image: radial-gradient(circle, #ffffff 1px, transparent 1px);
  background-size: 5px 5px;
}

.page-title--recruiter .page-title__icon img {
  width: 86px;
}

.page-hero--recruiter {
  --page-hero-accent: #4DC4FF;
}

/* ============================================================
   Archive
============================================================ */
.recruiter-archive {
  --recruiter-bg: #E3F5FF;
  background-color: var(--recruiter-bg);
  padding-top: 4rem;
  padding-bottom: 8rem;
}
.recruiter-archive__empty {
  padding: 4rem 0;
  text-align: center;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  color: var(--color-muted);
}
.recruiter-archive__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2.4rem;
}
.recruiter-archive .c-common-btn {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .recruiter-archive {
    padding-top: 4.8rem;
    padding-bottom: 8.8rem;
  }
  .recruiter-archive__list {
    gap: 2.8rem;
  }
}

/* ============================================================
   Recruiter Hero
   - 担当者紹介（一覧・詳細 共通）
============================================================ */
.recruiter-hero {
  display: block;
  overflow: hidden;
  background-color: var(--bg-white);
  border-radius: 4px;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  color: inherit;
}
.recruiter-hero__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: 1.6rem;
  padding: 1.6rem;
}
.recruiter-hero__photo {
  margin: 0;
  overflow: hidden;
  background-color: #f3f3f3;
  border-radius: 4px;
  aspect-ratio: 1200/800;
}
.recruiter-hero__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.recruiter-hero__photo-placeholder {
  width: 100%;
  height: 100%;
  background-color: #e9eeee;
}
.recruiter-hero__panel {
  background-color: #FFFFFF;
  padding-top: 2rem;
  padding-right: 1.6rem;
  padding-bottom: 2rem;
  padding-left: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
}
.recruiter-hero__topline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  margin: 0;
}
.recruiter-hero__date {
  font-size: clamp(1rem, 0.926rem + 0.23vw, 1.2rem);
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
}
.recruiter-hero__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 0.6rem;
  padding-right: 1.2rem;
  padding-bottom: 0.6rem;
  padding-left: 1.2rem;
  border: 1px solid #4DC4FF;
  border-radius: 0;
  font-size: clamp(1rem, 0.926rem + 0.23vw, 1.2rem);
  font-weight: 700;
  color: #4DC4FF;
  background-color: transparent;
  white-space: nowrap;
}
.recruiter-hero__badge--pharmacy {
  border-color: #00a0e9;
  color: #00a0e9;
}
.recruiter-hero__badge--hospital {
  border-color: #00a86b;
  color: #00a86b;
}
.recruiter-hero__badge--industry {
  border-color: #7b61ff;
  color: #7b61ff;
}
.recruiter-hero__badge--default {
  border-color: #4DC4FF;
  color: #4DC4FF;
}
.recruiter-hero__lead {
  margin-top: 1.2rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  font-size: clamp(2.2rem, 1.982rem + 0.68vw, 2.8rem);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-text);
}
.recruiter-hero__company {
  margin-top: 1.2rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  font-size: clamp(1.6rem, 1.526rem + 0.23vw, 1.8rem);
  font-weight: 700;
  color: #00AAFF;
}
.recruiter-hero__name {
  margin: 0;
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.6;
}
.recruiter-hero__job, .recruiter-hero__univ {
  margin: 0;
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.6;
}
.recruiter-hero__btn {
  margin-top: 1.2rem;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media (min-width: 768px) {
  .recruiter-hero__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
  }
  .recruiter-hero__photo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58%;
            flex: 0 0 58%;
    width: 58%;
    border-radius: 0;
    aspect-ratio: auto;
    min-height: 28rem;
  }
  .recruiter-hero__panel {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
    padding-top: 2.8rem;
    padding-right: 3.2rem;
    padding-bottom: 2.8rem;
    padding-left: 3.2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* ============================================================
   Single Wrapper
============================================================ */
.recruiter-detail {
  background-color: var(--bg-white);
  padding-top: 3.2rem;
  padding-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .recruiter-detail {
    padding-top: 4rem;
    padding-bottom: 3.2rem;
  }
}

/* ============================================================
   Interview
============================================================ */
.recruiter-interview {
  --recruiter-bg: #D9F2F2;
  --recruiter-accent: #4DC4FF;
  --editor-accent: #4DC4FF;
  background-color: var(--recruiter-bg);
  padding-top: 2.4rem;
  padding-bottom: 7rem;
}
.recruiter-interview__title {
  margin: 0;
  font-size: clamp(2.2rem, 1.982rem + 0.68vw, 2.8rem);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: lowercase;
  color: #00AAAA;
  display: inline-block;
  padding-top: 0.6rem;
  padding-right: 1.2rem;
  padding-bottom: 0.6rem;
  padding-left: 1.2rem;
}
.recruiter-interview__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
  background-color: #ffffff;
  padding-top: 2.4rem;
  padding-right: 1.6rem;
  padding-bottom: 2.8rem;
  padding-left: 1.6rem;
}
.recruiter-interview__item {
  padding-bottom: 2.4rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.recruiter-interview__item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.recruiter-interview__question {
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0.8rem;
  margin-left: 0;
  font-size: clamp(1.6rem, 1.526rem + 0.23vw, 1.8rem);
  font-weight: 700;
  line-height: 1.8;
  color: #00AAAA;
  padding-left: 0;
}
.recruiter-interview__answer {
  line-height: 1.95;
  color: var(--color-text);
  /* ベーステキスト */
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  line-height: 1.9;
  color: var(--color-text);
  /* 段落 */
  /* ===== 見出し（H2〜H6） ===== */
  /* H2：帯＋左線 */
  /* H3：下線 */
  /* H4：左バー */
  /* H5：ラベル的な見出し */
  /* H6：点線ボーダー */
  /* ===== リスト ===== */
  /* ===== テーブル ===== */
  /* ===== 引用（blockquote） ===== */
  /* ===== リンク ===== */
  /* ===== 画像 ===== */
  /* ===== ページ分割ナビ（wp_link_pages） ===== */
}
.recruiter-interview__answer > *:first-child {
  margin-top: 0;
}
.recruiter-interview__answer p {
  margin: 0 0 1.8rem;
}
.recruiter-interview__answer h2,
.recruiter-interview__answer h3,
.recruiter-interview__answer h4,
.recruiter-interview__answer h5,
.recruiter-interview__answer h6 {
  margin: 3.2rem 0 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-text);
}
.recruiter-interview__answer h2 {
  font-size: clamp(1.6rem, 1.526rem + 0.23vw, 1.8rem);
  padding: 0.8rem 1.2rem;
  border-left: 4px solid var(--editor-accent);
  background-color: #f7f9ff;
}
.recruiter-interview__answer h3 {
  font-size: clamp(1.6rem, 1.526rem + 0.23vw, 1.8rem);
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--editor-accent);
}
.recruiter-interview__answer h4 {
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  position: relative;
  padding-left: 1.2rem;
}
.recruiter-interview__answer h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  width: 0.6rem;
  height: 2rem;
  border-radius: 999px;
  background-color: var(--editor-accent);
}
.recruiter-interview__answer h5 {
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  letter-spacing: 0.08em;
  color: var(--editor-accent);
}
.recruiter-interview__answer h6 {
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  color: var(--color-muted);
  border-left: 3px dashed var(--editor-accent);
  padding-left: 0.8rem;
}
.recruiter-interview__answer ul,
.recruiter-interview__answer ol {
  margin: 0 0 1.8rem 2rem;
  padding: 0;
  line-height: 1.8;
}
.recruiter-interview__answer ul {
  list-style-type: disc;
}
.recruiter-interview__answer ol {
  list-style-type: decimal;
}
.recruiter-interview__answer li::marker {
  color: var(--editor-accent);
  font-weight: 700;
}
.recruiter-interview__answer li {
  margin: 0 0 0.8rem;
}
.recruiter-interview__answer li ul,
.recruiter-interview__answer li ol {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
}
.recruiter-interview__answer li ul li,
.recruiter-interview__answer li ol li {
  font-size: 0.95em;
}
.recruiter-interview__answer li > p {
  margin-bottom: 0;
}
.recruiter-interview__answer table {
  width: 100%;
  margin: 0 0 2.4rem;
  border-collapse: collapse;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  /* SP：横スクロール */
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}
.recruiter-interview__answer thead,
.recruiter-interview__answer tbody {
  width: 100%;
}
.recruiter-interview__answer tr {
  border-bottom: 1px solid #e0e0e0;
}
.recruiter-interview__answer tr:last-child {
  border-bottom: none;
}
.recruiter-interview__answer th,
.recruiter-interview__answer td {
  padding: 0.8rem 1.2rem;
  text-align: left;
  vertical-align: top;
  border: 1px solid #e0e0e0;
  background-color: #ffffff;
}
.recruiter-interview__answer tbody > tr:first-child th,
.recruiter-interview__answer tbody > tr:first-child td,
.recruiter-interview__answer thead th,
.recruiter-interview__answer thead td {
  background-color: #f7f7f7;
  font-weight: 700;
  white-space: nowrap;
}
.recruiter-interview__answer td p,
.recruiter-interview__answer th p {
  margin: 0 0 0.4rem;
}
.recruiter-interview__answer td p:last-child,
.recruiter-interview__answer th p:last-child {
  margin-bottom: 0;
}
.recruiter-interview__answer table a {
  color: var(--editor-accent);
  text-decoration: underline;
}
.recruiter-interview__answer blockquote {
  margin: 2rem 0;
  padding: 1.6rem 1.6rem;
  border: 2px solid var(--editor-accent);
  border-radius: 6px;
  background-color: rgba(0, 0, 0, 0.03);
  color: var(--color-text);
}
.recruiter-interview__answer blockquote > *:last-child {
  margin-bottom: 0;
}
.recruiter-interview__answer blockquote p {
  margin: 0 0 1.2rem;
}
.recruiter-interview__answer blockquote p:last-child {
  margin-bottom: 0;
}
.recruiter-interview__answer a {
  color: var(--editor-accent);
  text-decoration: underline;
  word-break: break-all;
}
.recruiter-interview__answer img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 0 1.8rem;
}
.recruiter-interview__answer .editor-pages {
  margin-top: 2.4rem;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
}
.recruiter-interview__answer .editor-pages a {
  margin-right: 0.4rem;
  padding: 0.3rem 0.8rem;
  border-radius: 2px;
  border: 1px solid var(--editor-accent);
  text-decoration: none;
  color: var(--editor-accent);
}
.recruiter-interview__answer .editor-pages span {
  margin-right: 0.4rem;
  padding: 0.3rem 0.8rem;
  border-radius: 2px;
  background-color: var(--editor-accent);
  color: #ffffff;
}
@media (min-width: 768px) {
  .recruiter-interview__answer table {
    display: table;
    table-layout: auto;
    overflow-x: visible;
    white-space: normal;
    max-width: 100%;
  }
  .recruiter-interview__answer blockquote {
    padding: 2rem 2.2rem;
  }
}
.recruiter-interview__answer p {
  margin: 0 0 1.2rem;
}
.recruiter-interview__answer p:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .recruiter-interview {
    padding-top: 3.2rem;
    padding-bottom: 7.2rem;
  }
}