@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");
/* ============================================================
   profile.scss
   - 薬局 / 病院 / 企業 プロフィール（アーカイブ／詳細）
   - BEM / モバイルファースト（min-width）
============================================================ */
/* ------------------------------------------------------------
  Page Title / Page Hero（Profile 用の色設定）
  ※ ページごとに異なるのは「アクセントカラー」と「背景色」の2色
------------------------------------------------------------ */
/* タイプ別のカラー定義
   - accent: ベースカラー（タイトル文字 / 下線 / ラベル / ボタン）
   - bg:     ページやカードエリアの背景色（薄い色）
*/
/* 薬局：pharmacy */
.page-title--pharmacy {
  --page-title-bg: #e9f7ff;
  --page-title-color: #00a0e9;
  background-image: radial-gradient(circle, #ffffff 1px, transparent 1px);
  background-size: 5px 5px;
}

.page-hero--pharmacy {
  --page-hero-bg: var(--bg-white);
  --page-hero-accent: #00a0e9;
  --page-hero-title-color: #00a0e9;
  --page-hero-text-color: #555555;
}

/* 病院：hospital */
.page-title--hospital {
  --page-title-bg: #eef3ff;
  --page-title-color: #2f54a3;
  background-image: radial-gradient(circle, #ffffff 1px, transparent 1px);
  background-size: 5px 5px;
}

.page-hero--hospital {
  --page-hero-bg: var(--bg-white);
  --page-hero-accent: #2f54a3;
  --page-hero-title-color: #2f54a3;
  --page-hero-text-color: #555555;
}

/* 企業：industry */
.page-title--industry {
  --page-title-bg: #fff7ec;
  --page-title-color: #d66a00;
  background-image: radial-gradient(circle, #ffffff 1px, transparent 1px);
  background-size: 5px 5px;
}

.page-hero--industry {
  --page-hero-bg: var(--bg-white);
  --page-hero-accent: #d66a00;
  --page-hero-title-color: #d66a00;
  --page-hero-text-color: #555555;
}

/* ------------------------------------------------------------
  Profile 共通カラー
------------------------------------------------------------ */
/* ============================================================
  アーカイブ：プロフィール一覧（薬局 / 病院 / 企業）
============================================================ */
.profile-archive {
  /* 共通のデフォルト値（タイプ別クラスで上書き） */
  --profile-bg: #f5f5f5;
  --profile-card-bg: #ffffff;
  --profile-card-border: #e5e5e5;
  --profile-accent: #999999;
  --profile-accent-text: var(--color-white);
  --profile-text-main: var(--color-text);
  --profile-text-muted: var(--color-muted);
  background: var(--profile-bg);
  padding-top: 4rem;
  padding-bottom: 8rem;
}
.profile-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;
}
.profile-archive__item {
  margin: 0;
}
.profile-archive__pagination {
  margin-top: 3.2rem;
}
.profile-archive__empty {
  text-align: center;
  font-size: 1.4rem;
  color: var(--profile-text-muted);
}
@media (min-width: 768px) {
  .profile-archive__list {
    -ms-grid-columns: minmax(0, 1fr) 2rem minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem 2rem;
  }
}

/* ============================================================
  プロフィールカード（アーカイブ用）
============================================================ */
.profile-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  overflow: hidden;
  background-color: var(--profile-card-bg);
  border: 1px solid var(--profile-card-border);
  border-radius: 4px;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  text-decoration: none;
  color: inherit;
  /* 上部の帯（業態ラベル） → アクセントカラー */
  /* ロゴ＋企業写真（横並び） */
  /* テキストエリア */
  /* 下部：ボタンのみ右寄せ → アクセントカラー */
}
.profile-card__head {
  padding: 0.6rem 1.2rem;
  background-color: var(--profile-accent);
}
.profile-card__label {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--profile-accent-text);
}
.profile-card__label--empty {
  visibility: hidden;
}
.profile-card__main {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 45%) 0 minmax(0, 55%);
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  gap: 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 1.2rem 1.6rem 0.8rem;
}
.profile-card__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 1.2rem;
}
.profile-card__logo img {
  display: block;
  max-width: 100%;
  height: auto;
}
.profile-card__logo-placeholder {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  font-size: 1.2rem;
  color: var(--profile-text-muted);
  border: 1px dashed var(--profile-card-border);
}
.profile-card__image {
  margin: 0;
}
.profile-card__image img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.profile-card__body {
  padding: 0.8rem 1.6rem 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;
  gap: 0.8rem;
}
.profile-card__title {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--profile-text-main);
}
.profile-card__text {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.7;
  color: var(--profile-text-muted);
}
.profile-card__footer {
  margin-top: 0.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.profile-card__button {
  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: 0.4rem 1.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 16px;
  background-color: var(--profile-accent);
  color: var(--profile-accent-text);
}

/* ============================================================
  タイプ別：背景色＆カードのアクセント色
  - section.profile-archive-[modifier] ごとに「2色だけ」上書き
============================================================ */
.profile-archive-pharmacy {
  --profile-bg: #e9f7ff;
  --profile-accent: #00a0e9;
}

.profile-archive-hospital {
  --profile-bg: #eef3ff;
  --profile-accent: #2f54a3;
}

.profile-archive-industry {
  --profile-bg: #fff7ec;
  --profile-accent: #d66a00;
}

/* ============================================================
  シングル：プロフィール詳細（薬局 / 病院 / 企業 共通）
============================================================ */
.profile-single {
  --profile-single-bg: #f5f5f5;
  --profile-single-accent: #999999;
  --profile-single-text-main: var(--color-text);
  --profile-single-text-muted: var(--color-muted);
  background-color: #ffffff;
  /* ヘッダー：業種バッジ＋企業名＋下線 */
  /* ヒーロー：ロゴ＋写真＋企業情報 */
  /* 募集要項セクション */
}
.profile-single__header {
  padding: 3.2rem 0 0;
}
.profile-single__badge {
  display: inline-block;
  margin: 0 0 0.8rem;
  padding: 0.3rem 1rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
  background-color: var(--profile-single-accent);
  border-radius: 16px;
}
.profile-single__title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: var(--profile-single-text-main);
}
.profile-single__underline {
  margin-top: 0.8rem;
  width: 100%;
  height: 3px;
  background-color: var(--profile-single-accent);
}
.profile-single__hero {
  padding: 3.2rem 0 4rem;
}
.profile-single__hero-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  margin-bottom: 2.4rem;
}
.profile-single__logo img {
  display: block;
  max-width: 260px;
  height: auto;
}
.profile-single__photo {
  margin: 0;
}
.profile-single__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.profile-single__summary {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.profile-single__summary-caption {
  margin: 0 0 0.8rem;
  font-size: 1.3rem;
  letter-spacing: 0.2em;
  color: var(--profile-single-text-main);
}
.profile-single__summary-text {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.9;
  color: var(--profile-single-text-main);
  text-align: left;
}
.profile-single__section--spec {
  background-color: var(--profile-single-bg);
  padding: 4rem 0 6rem;
}
.profile-single__section-title {
  margin: 0 0 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  background-color: var(--profile-single-accent);
  padding: 0.8rem 1.6rem;
}
.profile-single__table-wrap {
  background-color: #ffffff;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  border-radius: 2px;
  overflow: hidden;
}
.profile-single__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
}
.profile-single__table-row {
  border-top: 1px solid #e5e5e5;
}
.profile-single__table-row:first-child {
  border-top: none;
}
.profile-single__table-head {
  width: 26%;
  padding: 0.8rem 1.6rem;
  background-color: #f7f7f7;
  font-weight: 700;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}
.profile-single__table-data {
  padding: 0.8rem 1.6rem;
  vertical-align: top;
  color: var(--profile-single-text-main);
}
.profile-single__link {
  color: var(--profile-single-accent);
  text-decoration: underline;
  word-break: break-all;
}
@media (min-width: 768px) {
  .profile-single__header {
    padding-top: 4rem;
    padding-bottom: 0;
  }
  .profile-single__title {
    font-size: 2.4rem;
  }
  .profile-single__hero {
    padding-top: 3.6rem;
    padding-bottom: 4.8rem;
  }
  .profile-single__hero-main {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 4rem;
    margin-bottom: 3.2rem;
  }
  .profile-single__logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
  }
  .profile-single__logo img {
    max-width: 320px;
  }
  .profile-single__photo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
  }
  .profile-single__photo img {
    max-width: none;
    width: 100%;
  }
  .profile-single__summary {
    max-width: none;
  }
  .profile-single__section--spec {
    padding-top: 5rem;
    padding-bottom: 7rem;
  }
  .profile-single__section-title {
    margin-bottom: 0;
    border-radius: 2px 2px 0 0;
  }
}

/* タイプ別：シングルページの背景色・アクセント色 */
.profile-single--pharmacy {
  --profile-single-bg: #e9f7ff;
  --profile-single-accent: #00a0e9;
}

.profile-single--hospital {
  --profile-single-bg: #eef3ff;
  --profile-single-accent: #2f54a3;
}

.profile-single--industry {
  --profile-single-bg: #fff7ec;
  --profile-single-accent: #d66a00;
}