﻿@charset "UTF-8";

.g-header .g-header__logo .g-header__logo-link .g-header__logo-link-img,
.g-header .g-header__logo .g-header__logo-link svg {
  max-width: 80px;
}

.g-hamburger .g-header__logo-link-img {
  display: none;
}

.g-hamburger .g-hamburger__body .list .nav-link:after {
  color: #fff;
}

.c-visual-simple__ttl {
  font-size: clamp(34px, 4.3vw, 48px) !important;
}

.c-visual-simple__bg:after {
  background: #00000054 !important;
}

/* Pricing cards */
.pricing-section {
  background-color: #f7f7f7;
  padding: 50px 0;
}

.pricing-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.pricing-card {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
  padding: 20px;
  position: relative;
  text-align: center;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.pricing-container .pricing-card {
  flex: 1;
  max-width: 400px;
  min-width: 300px;
}

.pricing-card:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transform: translateY(-10px);
}

.pricing-header {
  background-color: var(--kc);
  border-radius: 10px 10px 0 0;
  color: #fff;
  padding: 20px 0;
  position: relative;
}

.pricing-plan {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
}

.pricing-price {
  background-color: var(--kc);
  border-radius: 5px;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  margin: 10px 0;
  padding: 10px;
}

.pricing-description {
  color: #555;
  font-weight: bold;
  margin: 15px 0;
}

.pricing-features {
  list-style: none;
  margin: 20px 0;
  padding: 0;
  text-align: left;
}

.pricing-features li {
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
}

.pricing-features li::before {
  color: var(--kc);
  content: "✓";
  font-weight: bold;
  left: 0;
  position: absolute;
}

.badge {
  background-color: #ff4b4b;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 5px 10px;
  position: absolute;
  right: 10px;
  top: 10px;
}

/* Box accents */
.c-box-border {
  background-color: #fff;
  border: var(--border, 5px solid var(--scd));
  border-radius: 10px;
  margin-bottom: 20px;
  padding: 20px;
}

.fa-check-circle {
  color: #008000;
  margin-right: 10px;
}

/* Footer/order-made footer */
.company-link i {
  color: #fff;
  font-size: 0.8em;
  margin-left: 5px;
}

/* Common UI overrides */
.g-pagetop a {
  background: var(--kc);
}

.c-btn--contact {
  background: linear-gradient(to bottom, #ff7e00, #e06800) !important;
}

.p-common-texture::after {
  background-color: #b8ddff;
}

.c-headline-compact .c-headline-compact__ttl::first-letter {
  color: var(--kc);
}

.p-contact .g-form {
  border: 3px dashed var(--kc);
}

/* Sitemap */
.c-sitemap .nav-item a {
  background-color: var(--kc);
  border: 1px solid #333;
  color: #fff;
}

.c-sitemap .nav-item a::after {
  background-image: none;
}

.c-sitemap .nav-item a .c-btn-simple__icon,
.c-sitemap .nav-item a i {
  color: #fff;
}
body.lai-cursor--native #cursor,
body.lai-cursor--native #stalker {
  display: none;
}

/* Laiweb home renewal */
.lai-home-problems,
.lai-home-about,
.lai-home-reasons,
.lai-home-plans,
.lai-home-ai,
.lai-home-growth,
.lai-home-service-hub {
  position: relative;
}

.lai-home-problems .container,
.lai-home-about .container,
.lai-home-reasons .container,
.lai-home-plans .container,
.lai-home-ai .container,
.lai-home-growth .container,
.lai-home-service-hub .container {
  position: relative;
  z-index: 1;
}

.lai-home-problems {
  background:
    radial-gradient(
      circle at 12% 14%,
      rgba(var(--kc-rgb), 0.13),
      transparent 30%
    ),
    radial-gradient(
      circle at 88% 6%,
      rgba(var(--ac-rgb), 0.2),
      transparent 26%
    ),
    linear-gradient(180deg, #fff 0%, rgba(var(--sc-rgb), 0.07) 100%);
  overflow: hidden;
  z-index: 0;
}

.lai-home-problems::before {
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.08),
    rgba(var(--ac-rgb), 0.1)
  );
  border-radius: 42px;
  content: "";
  height: 180px;
  position: absolute;
  right: -70px;
  top: 120px;
  transform: rotate(18deg);
  width: 180px;
}

.lai-home-about,
.lai-home-plans {
  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(var(--ac-rgb), 0.1),
      transparent 26%
    ),
    linear-gradient(
      180deg,
      rgba(var(--sc-rgb), 0.08),
      rgba(var(--sc-rgb), 0.03)
    ),
    #f7fbff;
}

.lai-home-reasons {
  background:
    linear-gradient(
      90deg,
      rgba(var(--kc-rgb), 0.04),
      transparent 28%,
      rgba(var(--ac-rgb), 0.06)
    ),
    #fff;
}

.lai-home-service-hub {
  background:
    radial-gradient(
      circle at 86% 12%,
      rgba(var(--ac-rgb), 0.16),
      transparent 30%
    ),
    linear-gradient(180deg, #fff 0%, rgba(var(--sc-rgb), 0.05) 100%), #fff;
}

.lai-home-checklist {
  background: #fff;
  border: 1px solid rgba(var(--kc-rgb), 0.12);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.08);
  color: var(--fc);
  padding: 36px;
  position: relative;
  z-index: 2;
}

.lai-home-checklist ul {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lai-home-checklist li {
  align-items: flex-start;
  background: rgba(var(--sc-rgb), 0.05);
  border-radius: 14px;
  color: var(--fc);
  display: flex;
  gap: 12px;
  line-height: 1.65;
  margin-bottom: 0;
  padding: 14px 16px;
}

.lai-home-checklist li i {
  flex: 0 0 auto;
  margin-top: 0.32em;
}

.lai-home-answer {
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, var(--kc), var(--ac)) border-box;
  border: 2px solid transparent !important;
  border-radius: 28px;
  box-shadow: 0 22px 60px rgba(var(--bc-rgb), 0.12);
  padding: clamp(24px, 4vw, 40px);
  position: relative;
  z-index: 2;
}

.lai-home-card,
.lai-home-reason,
.lai-home-plan,
.lai-home-link-card {
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 24px;
  box-shadow: 0 18px 52px rgba(var(--bc-rgb), 0.1);
  height: 100%;
  min-height: 228px;
  padding: 28px;
  transition:
    box-shadow 0.24s ease,
    transform 0.24s ease;
}

.lai-home-card:hover,
.lai-home-reason:hover,
.lai-home-plan:hover,
.lai-home-link-card:hover,
.lai-home-service:hover {
  box-shadow: 0 26px 70px rgba(var(--bc-rgb), 0.16);
  transform: translateY(-4px);
}

.lai-home-card__icon {
  align-items: center;
  background:
    radial-gradient(
      circle at 30% 20%,
      rgba(255, 255, 255, 0.38),
      transparent 28%
    ),
    linear-gradient(135deg, var(--kc), var(--ac));
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 22px;
  height: 54px;
  justify-content: center;
  margin-bottom: 18px;
  width: 54px;
}

.lai-home-stat {
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(
        135deg,
        rgba(var(--kc-rgb), 0.28),
        rgba(var(--ac-rgb), 0.36)
      )
      border-box;
  border: 1px solid transparent;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(var(--bc-rgb), 0.1);
  height: 100%;
  padding: 20px 12px;
  text-align: center;
}

.lai-home-stat__num {
  color: var(--kc);
  display: block;
  font-family: Rubik, sans-serif;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 700;
  line-height: 1;
}

.lai-home-stat__txt {
  color: var(--fc);
  display: block;
  font-weight: 700;
  margin-top: 8px;
}

.lai-home-reason {
  background: linear-gradient(180deg, #fff 0%, rgba(var(--sc-rgb), 0.035) 100%);
  border-top: 0;
  min-height: 216px;
  overflow: hidden;
  position: relative;
}

.lai-home-reason::before {
  background: linear-gradient(135deg, var(--kc), var(--ac));
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.lai-home-reason__label {
  color: rgba(var(--bc-rgb), 0.1);
  font-family: Rubik, sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  right: 24px;
  top: 20px;
}

.lai-home-plan {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  position: relative;
  text-align: center;
}

.lai-home-plan--featured {
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, var(--kc), var(--ac)) border-box;
  border: 2px solid transparent;
  transform: translateY(-12px);
}

.lai-home-plan--featured:hover {
  transform: translateY(-16px);
}

.lai-home-plan__badge {
  background: linear-gradient(135deg, var(--ac), var(--acd));
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(var(--ac-rgb), 0.3);
  color: var(--bc);
  display: inline-block;
  font-size: 13px;
  font-weight: 900;
  margin: -6px auto 16px;
  padding: 7px 18px;
}

.lai-home-plan__price {
  color: var(--kc);
  font-weight: 700;
  margin: 18px 0;
}

.lai-home-plan__price span {
  font-family: Rubik, sans-serif;
  font-size: clamp(38px, 5vw, 56px);
  line-height: 1;
}

.lai-home-plan__list {
  list-style: none;
  margin: auto 0 0;
  padding: 0;
  text-align: left;
}

.lai-home-plan__list li {
  border-top: 1px solid rgba(var(--bc-rgb), 0.08);
  font-weight: 700;
  padding: 12px 0 12px 24px;
  position: relative;
}

.lai-home-plan__list li::before {
  color: var(--ac);
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  left: 0;
  position: absolute;
}

.lai-home-ai__panel {
  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(var(--ac-rgb), 0.28),
      transparent 24%
    ),
    linear-gradient(
      135deg,
      rgba(var(--kc-rgb), 0.09),
      rgba(var(--ac-rgb), 0.14)
    );
  border-radius: 30px;
  box-shadow: inset 0 0 0 1px rgba(var(--kc-rgb), 0.08);
  padding: clamp(28px, 5vw, 56px);
}

.lai-home-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.lai-home-tags span {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(var(--kc-rgb), 0.14);
  border-radius: 999px;
  color: var(--kc);
  font-weight: 700;
  padding: 8px 14px;
}

.lai-home-link-card + .lai-home-link-card {
  margin-top: 18px;
}

.lai-home-link-card a {
  color: var(--kc);
  font-weight: 700;
  text-decoration: none;
}

.lai-home-growth {
  background:
    radial-gradient(
      circle at 8% 14%,
      rgba(var(--kc-rgb), 0.7),
      transparent 28%
    ),
    linear-gradient(135deg, var(--bc), #06182b 72%);
  overflow: hidden;
  position: relative;
}

.lai-home-growth::after {
  background: radial-gradient(
    circle,
    rgba(var(--ac-rgb), 0.42),
    transparent 60%
  );
  content: "";
  height: 360px;
  position: absolute;
  right: -120px;
  top: -120px;
  width: 360px;
}

.lai-home-growth__btn {
  background: linear-gradient(135deg, var(--ac), var(--acd));
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
  color: var(--bc);
  display: block;
  font-weight: 700;
  padding: 18px 28px;
  position: relative;
  text-align: center;
  z-index: 1;
}

.lai-home-growth__btn:hover {
  color: var(--bc);
  opacity: 0.88;
}

.lai-home-service {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 16px 40px rgba(var(--bc-rgb), 0.08);
  color: var(--fc);
  display: block;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  transition:
    box-shadow 0.24s ease,
    transform 0.24s ease;
}

.lai-home-service:hover {
  color: var(--fc);
}

.lai-home-service__body {
  padding: 24px;
}

.lai-home-service__body span {
  color: var(--kc);
  display: block;
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.lai-home-service__body p {
  color: var(--kc);
  font-weight: 700;
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .lai-home-problems,
  .lai-home-about,
  .lai-home-reasons,
  .lai-home-plans,
  .lai-home-ai,
  .lai-home-growth,
  .lai-home-service-hub {
    overflow: hidden;
  }

  .lai-home-checklist {
    padding: 24px 18px;
  }

  .lai-home-card,
  .lai-home-reason,
  .lai-home-plan,
  .lai-home-link-card {
    padding: 22px;
  }

  .lai-home-card,
  .lai-home-reason {
    min-height: 0;
  }

  .lai-home-service {
    display: block;
  }

  .lai-home-plan--featured {
    transform: none;
  }

  .lai-home-plan--featured:hover {
    transform: translateY(-4px);
  }
}

/* ============================================================
   トップ「会社紹介・メッセージ」 メリハリ強調レイアウト
   色はテーマ変数(--kc 水色 / --ac ピンク / --fc 文字)を参照
   ============================================================ */
/* 巨大英字見出し */
.p-about__en {
  color: var(--kc);
  display: block;
  font-family: Rubik, sans-serif;
  font-size: clamp(56px, 16vw, 96px);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 0.95;
}

.p-about__en--ac {
  color: var(--ac);
}

@media (min-width: 992px) {
  .p-about__en {
    font-size: clamp(88px, 9vw, 150px);
  }
}

/* キャッチコピー */
.p-about__catch {
  color: var(--fc);
  font-size: clamp(22px, 2.6vw, 38px);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.55;
}

/* 本文リード */
.p-about__lead {
  color: var(--fc);
  font-size: 16px;
  line-height: 2;
}

/* アウトライン矢印ボタン（参考デザイン準拠） */
.p-about__btn {
  align-items: center;
  background: var(--kc);
  border: 1px solid var(--kc);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  gap: 32px;
  justify-content: space-between;
  min-width: 260px;
  padding: 17px 26px;
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.p-about__btn i {
  transition: transform 0.25s ease;
}

.p-about__btn:hover {
  background: var(--ac);
  border-color: var(--ac);
  color: #fff;
}

.p-about__btn:hover i {
  transform: translateX(4px);
}

/* 大画像＋オフセット装飾シェイプ（同心円テクスチャ入り） */
.p-about-visual {
  position: relative;
}

.p-about-visual__deco {
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.95),
    rgba(var(--ac-rgb), 0.95)
  );
  border-radius: 28px;
  display: block;
  inset: -28px -28px 28px 28px;
  position: absolute;
  z-index: 0;
}

.p-about-visual--rev .p-about-visual__deco {
  background: linear-gradient(
    135deg,
    rgba(var(--ac-rgb), 0.95),
    rgba(var(--kc-rgb), 0.95)
  );
  inset: -28px 28px 28px -28px;
}

.p-about-visual__img {
  position: relative;
  z-index: 1;
}

.p-about-visual__img .c-image__src {
  border-radius: 22px;
  box-shadow: 0 24px 50px rgba(var(--bc-rgb), 0.18);
}

@media (max-width: 991.98px) {
  .p-about-visual__deco {
    border-radius: 20px;
    inset: -16px -16px 16px 16px;
  }

  .p-about-visual--rev .p-about-visual__deco {
    inset: -16px 16px 16px -16px;
  }

  .p-about__btn {
    width: 100%;
  }
}

/* ボタン右の丸アイコン（◉） */
.p-about__btn-circle {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.p-about__btn-circle i {
  font-size: 8px;
}

/* ============================================================
   代表メッセージ（番号インデックス＋巨大英字＋淡色パネル大画像）
   ============================================================ */
.p-msg__index {
  align-items: center;
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
}

.p-msg__num {
  color: var(--ac);
  font-family: Rubik, sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.p-msg__line {
  background: var(--ac);
  height: 2px;
  width: 48px;
}

.p-msg__label {
  color: var(--fc);
  font-weight: 700;
}

.p-msg__visual {
  position: relative;
}

.p-msg__panel {
  background: rgba(var(--kc-rgb), 0.1);
  border-radius: 24px;
  display: block;
  inset: -56px 20px -24px -48px;
  position: absolute;
  z-index: 0;
}

.p-msg__img {
  position: relative;
  z-index: 1;
}

.p-msg__img .c-image__src {
  border-radius: 18px;
  box-shadow: 0 24px 50px rgba(var(--bc-rgb), 0.18);
}

@media (max-width: 991.98px) {
  .p-msg__panel {
    border-radius: 18px;
    inset: -24px 16px -20px -16px;
  }
}

/* ============================================================
   理念（濃色背景＋白見出し＋円形カード）
   背景は水色グラデ、キーテキストはピンク（--ac）
   ============================================================ */
.p-philosophy,
.p-recruit,
.p-sites {
  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(255, 255, 255, 0.14),
      transparent 22%
    ),
    radial-gradient(
      circle at 86% 12%,
      rgba(255, 255, 255, 0.1),
      transparent 20%
    ),
    linear-gradient(180deg, var(--kcd) 0%, var(--kc) 100%) !important;
  overflow: hidden;
  position: relative;
}

.p-philosophy__label {
  color: #fff;
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  opacity: 0.9;
}

.p-philosophy__mission {
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
  margin: 0;
}

/* 彩（イロ）強調：白文字＋ピンクの下線マーカー（水色背景でも読みやすく） */
.p-philosophy__accent {
  /* background-image: linear-gradient(var(--ac), var(--ac)); */
  background-position: 0 88%;
  background-repeat: no-repeat;
  background-size: 100% 0.2em;
  color: #fff;
  padding: 0 24px;
}

.p-philosophy__divider {
  background: rgba(255, 255, 255, 0.6);
  display: block;
  height: 2px;
  margin: 28px auto 0;
  width: 60px;
}

.p-philosophy__sublabel {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
  opacity: 0.85;
}

.p-philosophy__subttl {
  color: #fff;
  font-weight: 700;
  margin: 0;
}

.p-philosophy__circles {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  justify-content: center;
}

.p-philosophy__circle {
  align-items: center;
  aspect-ratio: 1;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, var(--kc), var(--ac)) border-box;
  border: 3px solid transparent;
  border-radius: 50%;
  box-shadow: 0 20px 50px rgba(var(--bc-rgb), 0.25);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 26px 22px;
  position: relative;
  text-align: center;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease;
  width: 260px;
}

.p-philosophy__circle:hover {
  box-shadow: 0 26px 60px rgba(var(--bc-rgb), 0.32);
  transform: translateY(-6px);
}

/* 背後の大きな番号（ウォーターマーク） */
.p-philosophy__circle-num {
  bottom: 6px;
  color: rgba(var(--kc-rgb), 0.08);
  font-family: Rubik, sans-serif;
  font-size: 66px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  right: 16px;
  z-index: 0;
}

.p-philosophy__circle-body {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}

.p-philosophy__circle-ttl {
  color: var(--ac);
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

.p-philosophy__circle-line {
  background: rgba(var(--ac-rgb), 0.4);
  display: block;
  height: 2px;
  margin: 10px auto;
  width: 32px;
}

.p-philosophy__circle-text {
  color: var(--fc);
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 575.98px) {
  .p-philosophy__circle {
    width: 240px;
  }
}

/* 理念セクションの導線ボタン（水色背景で映える白ボタン→ホバーでピンク） */
.p-philosophy__btn {
  align-items: center;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 10px;
  color: var(--kc);
  display: inline-flex;
  font-weight: 700;
  gap: 32px;
  justify-content: space-between;
  min-width: 260px;
  padding: 17px 26px;
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.p-philosophy__btn i {
  transition: transform 0.25s ease;
}

.p-philosophy__btn:hover {
  background: var(--ac);
  border-color: var(--ac);
  color: #fff;
}

.p-philosophy__btn:hover i {
  transform: translateX(4px);
}

@media (max-width: 575.98px) {
  .p-philosophy__btn {
    width: 100%;
  }
}

/* ============================================================
   会社概要（会社情報テーブル＋地図）
   ============================================================ */
.p-company__accent {
  background-image: linear-gradient(var(--ac), var(--ac));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 4px;
  padding-bottom: 8px;
}

.p-company__info {
  background: #fff;
  border: 1px solid rgba(var(--kc-rgb), 0.2);
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.08);
  padding: clamp(24px, 4vw, 40px);
}

.p-company__table {
  width: 100%;
}

.p-company__table th,
.p-company__table td {
  border-bottom: 1px solid rgba(var(--kc-rgb), 0.15);
  padding: 16px 4px;
  text-align: left;
  vertical-align: top;
}

.p-company__table tr:last-child th,
.p-company__table tr:last-child td {
  border-bottom: 0;
}

.p-company__table th {
  color: var(--kc);
  font-weight: 700;
  white-space: nowrap;
  width: 32%;
}

.p-company__map {
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.1);
  min-height: 360px;
  overflow: hidden;
}

.p-company__map iframe {
  border: 0;
  display: block;
  height: 100%;
  min-height: 360px;
  width: 100%;
}

/* ============================================================
   当社について ページ
   ============================================================ */
/* 「彩（イロ）」のグラデーション文字（インラインstyleを避ける共通クラス） */
.p-iro {
  background: linear-gradient(120deg, var(--kc), var(--ac));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ------------------------------------------------------------
   代表メッセージ（写真左・テキスト右／淡いピンクの円装飾）
   ------------------------------------------------------------ */
.p-message {
  overflow: hidden;
  position: relative;
}

.p-message::before {
  background: rgba(var(--kc-rgb), 0.12);
  border-radius: 50%;
  content: "";
  height: 200px;
  left: -70px;
  position: absolute;
  top: -50px;
  width: 200px;
  z-index: 0;
}

.p-message::after {
  background: rgba(var(--kc-rgb), 0.1);
  border-radius: 50%;
  bottom: 20px;
  content: "";
  height: 140px;
  position: absolute;
  right: -40px;
  width: 140px;
  z-index: 0;
}

.p-message > .container {
  position: relative;
  z-index: 1;
}

.p-message__photo {
  position: relative;
}

.p-message__photo::before {
  background: rgba(var(--kc-rgb), 0.1);
  border-radius: 50%;
  bottom: -26px;
  content: "";
  height: 120px;
  left: -26px;
  position: absolute;
  width: 120px;
  z-index: 0;
}

.p-message__photo .c-image {
  position: relative;
  z-index: 1;
}

.p-message__photo .c-image__src {
  border-radius: 14px;
  box-shadow: 0 24px 50px rgba(var(--bc-rgb), 0.18);
  padding-top: 135%;
}

.p-message__eyebrow {
  align-items: center;
  color: var(--fc);
  display: inline-flex;
  font-family: Rubik, sans-serif;
  font-weight: 700;
  gap: 12px;
}

.p-message__eyebrow::before {
  background: var(--kc);
  border-radius: 50%;
  content: "";
  flex: 0 0 auto;
  height: 12px;
  width: 12px;
}

.p-message__eyebrow-sub {
  color: var(--fc);
  display: block;
  font-weight: 700;
  margin-top: 6px;
  opacity: 0.7;
  padding-left: 24px;
}

/* ------------------------------------------------------------
   企業理念セクション
   ------------------------------------------------------------ */
.p-rinen {
  background:
    radial-gradient(
      circle at 88% 4%,
      rgba(var(--ac-rgb), 0.07),
      transparent 38%
    ),
    radial-gradient(
      circle at 4% 96%,
      rgba(var(--kc-rgb), 0.09),
      transparent 42%
    ),
    #f7fbff !important;
  overflow: hidden;
  position: relative;
}

/* Mission */
.p-rinen-mission {
  background:
    radial-gradient(
      circle at 10% 8%,
      rgba(255, 255, 255, 0.22),
      transparent 45%
    ),
    linear-gradient(135deg, var(--kcd) 0%, var(--kc) 100%);
  border-radius: 26px;
  box-shadow: 0 26px 60px rgba(var(--bc-rgb), 0.24);
  overflow: hidden;
  padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px);
  position: relative;
  text-align: center;
}

.p-rinen-mission__label {
  color: #fff;
  display: inline-block;
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: 0.14em;
  opacity: 0.92;
  position: relative;
  z-index: 1;
}

.p-rinen-mission__text {
  color: #fff;
  font-weight: 700;
  line-height: 1.7;
  margin: 16px 0 0;
  position: relative;
  z-index: 1;
}

/* Mission内の彩（イロ）：白文字＋ピンク下線マーカー */
.p-rinen__iro {
  background: linear-gradient(var(--ac), var(--ac)) no-repeat 0 90% / 100%
    0.16em;
  color: #fff;
  padding: 0 2px;
}

/* Vision カード */
.p-rinen-vision__card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 48px rgba(var(--bc-rgb), 0.1);
  height: 100%;
  overflow: hidden;
  padding: clamp(10px, 3.6vw, 44px);
  position: relative;
}

.p-rinen-vision__card::before {
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.p-rinen-vision__card--welfare::before {
  background: linear-gradient(90deg, var(--ac), var(--acd));
}

.p-rinen-vision__card--clinic::before {
  background: linear-gradient(90deg, var(--kc), var(--kcd));
}

.p-rinen-vision__img .c-image__src {
  border-radius: 12px;
}

.p-rinen-vision__eyebrow {
  display: block;
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.p-rinen-vision__card--welfare .p-rinen-vision__eyebrow {
  color: var(--ac);
}

.p-rinen-vision__card--clinic .p-rinen-vision__eyebrow {
  color: var(--kc);
}

.p-rinen-vision__sub {
  color: var(--fc);
  display: block;
  font-weight: 700;
  margin-top: 4px;
}

.p-rinen-vision__lead {
  color: var(--fc);
  font-weight: 700;
  line-height: 1.8;
}

.p-rinen-vision__point {
  border-left: 3px solid rgba(var(--kc-rgb), 0.25);
  padding-left: 16px;
}

.p-rinen-vision__card--welfare .p-rinen-vision__point {
  border-left-color: rgba(var(--ac-rgb), 0.3);
}

.p-rinen-vision__point-ttl {
  color: var(--fc);
  font-weight: 700;
  line-height: 1.7;
  margin: 0;
}

.p-rinen-vision__point-desc {
  color: var(--fc);
  line-height: 1.9;
  margin: 4px 0 0;
}

.p-rinen-vision__body {
  color: var(--fc);
  line-height: 1.95;
  margin: 0;
}

/* Color */
.p-rinen-color {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 48px rgba(var(--bc-rgb), 0.08);
  padding: clamp(10px, 4vw, 48px);
}

.p-rinen-color__label {
  color: var(--kc);
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-rinen-color__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-rinen-color__item {
  align-items: center;
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.06),
    rgba(var(--ac-rgb), 0.06)
  );
  border-left: 4px solid;
  border-image: linear-gradient(180deg, var(--kc), var(--ac)) 1;
  border-radius: 4px 14px 14px 4px;
  display: flex;
  height: 100%;
  padding: 18px 22px;
}

.p-rinen-color__text {
  color: var(--fc);
  margin: 0;
}

/* 理念図（5領域） */
.p-rinen__diagram {
  margin: 0 auto;
  max-width: 900px;
}

.p-rinen__diagram img {
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.12);
  display: block;
  height: auto;
  width: 100%;
}

/* ------------------------------------------------------------
   下部導線
   ------------------------------------------------------------ */
.p-guide {
  background: #fff;
  border: 1px solid rgba(var(--kc-rgb), 0.16);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.08);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  padding: clamp(28px, 4vw, 44px);
  position: relative;
}

.p-guide::before {
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.p-guide--business::before {
  background: linear-gradient(90deg, var(--kc), var(--kcd));
}

.p-guide--recruit::before {
  background: linear-gradient(90deg, var(--ac), var(--acd));
}

.p-guide__label {
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}

.p-guide__ttl {
  color: var(--fc);
  margin: 0 0 12px;
}

.p-guide__text {
  color: var(--fc);
  line-height: 2;
  margin: 0 0 24px;
}

.p-guide__foot {
  margin-top: auto;
}

.p-guide__btn {
  align-items: center;
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  gap: 32px;
  justify-content: space-between;
  min-width: 260px;
  padding: 17px 26px;
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    transform 0.25s ease;
}

.p-guide__btn i {
  transition: transform 0.25s ease;
}

.p-guide__btn:hover i {
  transform: translateX(4px);
}

.p-guide__btn--business {
  background: var(--kc);
}

.p-guide__btn--business:hover {
  background: var(--kcd);
  color: #fff;
}

.p-guide__btn--recruit {
  background: var(--ac);
}

.p-guide__btn--recruit:hover {
  background: var(--acd);
  color: #fff;
}

@media (max-width: 991.98px) {
  .p-guide__btn {
    width: 100%;
  }
}

/* ============================================================
   事業内容 ページ
   ============================================================ */
.p-biz-media {
  position: relative;
}

.p-biz-media .c-image__src {
  border-radius: 16px;
}

.p-biz-media__chip {
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  left: 16px;
  padding: 6px 18px;
  position: absolute;
  top: 16px;
  z-index: 2;
}

.p-biz-media__chip--welfare {
  background: var(--ac);
}

.p-biz-media__chip--clinic {
  background: var(--kc);
}

.p-biz-keywords {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.p-biz-keyword {
  border-radius: 18px;
  flex: 1 1 220px;
  padding: clamp(24px, 3vw, 36px);
  text-align: center;
}

.p-biz-keyword--welfare {
  background: linear-gradient(
    135deg,
    rgba(var(--ac-rgb), 0.14),
    rgba(var(--ac-rgb), 0.05)
  );
}

.p-biz-keyword--health {
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.14),
    rgba(var(--kc-rgb), 0.05)
  );
}

.p-biz-keyword__en {
  display: block;
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}

.p-biz-keyword--welfare .p-biz-keyword__en {
  color: var(--ac);
}

.p-biz-keyword--health .p-biz-keyword__en {
  color: var(--kc);
}

.p-biz-keyword__head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
}

.p-biz-keyword__icon {
  line-height: 1;
}

.p-biz-keyword--welfare .p-biz-keyword__icon {
  color: var(--ac);
}

.p-biz-keyword--health .p-biz-keyword__icon {
  color: var(--kc);
}

.p-biz-keyword__ja {
  color: var(--fc);
  font-weight: 700;
}

.p-biz-keyword__desc {
  color: var(--fc);
  line-height: 1.8;
  margin: 12px 0 0;
}

.p-biz-keywords__plus {
  align-self: center;
  color: rgba(var(--fc-rgb), 0.4);
  font-family: Rubik, sans-serif;
  font-weight: 700;
}

.p-biz-service--welfare {
  background:
    radial-gradient(
      circle at 88% 6%,
      rgba(var(--ac-rgb), 0.1),
      transparent 42%
    ),
    linear-gradient(
      180deg,
      rgba(var(--ac-rgb), 0.06),
      rgba(var(--ac-rgb), 0.02)
    ) !important;
}

.p-biz-service--clinic {
  background:
    radial-gradient(
      circle at 12% 6%,
      rgba(var(--kc-rgb), 0.1),
      transparent 42%
    ),
    linear-gradient(
      180deg,
      rgba(var(--kc-rgb), 0.06),
      rgba(var(--kc-rgb), 0.02)
    ) !important;
}

.p-biz-service__eyebrow {
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.p-biz-service--welfare .p-biz-service__eyebrow {
  color: var(--ac);
}

.p-biz-service--clinic .p-biz-service__eyebrow {
  color: var(--kc);
}

.p-biz-service__facility {
  align-items: center;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  gap: 8px;
  padding: 6px 18px;
}

.p-biz-service--welfare .p-biz-service__facility {
  background: var(--ac);
}

.p-biz-service--clinic .p-biz-service__facility {
  background: var(--kc);
}

.p-biz-service__img .c-image__src {
  border-radius: 18px;
}

.p-biz-points {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.08);
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: clamp(22px, 3vw, 32px);
}

.p-biz-points li {
  color: var(--fc);
  line-height: 1.7;
  padding-left: 34px;
  position: relative;
}

.p-biz-points li::before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  left: 0;
  position: absolute;
  top: 2px;
}

.p-biz-service--welfare .p-biz-points li::before {
  color: var(--ac);
}

.p-biz-service--clinic .p-biz-points li::before {
  color: var(--kc);
}

.p-biz-clinic {
  background: #fff;
  border: 1px solid rgba(var(--kc-rgb), 0.16);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.08);
  height: 100%;
  overflow: hidden;
}

.p-biz-clinic__img .c-image__src {
  border-radius: 0;
}

.p-biz-clinic__body {
  padding: clamp(22px, 3vw, 32px);
}

.p-biz-clinic__name {
  color: var(--fc);
  margin: 0 0 12px;
}

.p-biz-clinic__text {
  color: var(--fc);
  line-height: 1.9;
  margin: 0 0 22px;
}

.p-biz-purpose {
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(var(--kc-rgb), 0.08),
      transparent 55%
    ),
    linear-gradient(
      180deg,
      rgba(var(--kc-rgb), 0.05),
      rgba(var(--ac-rgb), 0.04)
    ) !important;
  overflow: hidden;
  position: relative;
}

.p-biz-purpose__lead {
  color: var(--fc);
  font-weight: 700;
  line-height: 1.95;
}

.p-biz-purpose__points {
  display: grid;
  gap: 20px 8px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.p-biz-purpose__point {
  padding: 0 10px;
  position: relative;
  text-align: center;
}

.p-biz-purpose__point:not(:last-child)::after {
  border-right: 1px dashed rgba(var(--kc-rgb), 0.28);
  bottom: 12%;
  content: "";
  position: absolute;
  right: -4px;
  top: 12%;
}

.p-biz-purpose__point-icon {
  color: var(--kc);
  margin-bottom: 12px;
}

.p-biz-purpose__point-text {
  color: var(--fc);
  line-height: 1.7;
}

@media (max-width: 991.98px) {
  .p-biz-purpose__points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .p-biz-purpose__point:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .p-biz-purpose__points {
    grid-template-columns: 1fr;
  }
}

.p-biz-line-btn {
  align-items: center;
  background: var(--line);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  gap: 12px;
  justify-content: center;
  min-width: 260px;
  padding: 15px 24px;
  text-decoration: none;
  transition: opacity 0.25s ease;
}

.p-biz-line-btn:hover {
  color: #fff;
  opacity: 0.88;
}

@media (max-width: 991.98px) {
  .p-biz-line-btn {
    width: 100%;
  }
}

.p-biz-hero__media {
  position: relative;
}

.p-biz-hero__frame {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.p-biz-hero__frame .c-image__src {
  border-radius: 16px;
}

.p-biz-hero__badge {
  align-items: center;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(var(--bc-rgb), 0.2);
  color: #fff;
  display: flex;
  font-weight: 700;
  height: 76px;
  justify-content: center;
  position: absolute;
  width: 76px;
  z-index: 3;
}

.p-biz-hero__badge--welfare {
  background: var(--ac);
  left: -12px;
  top: -12px;
}

.p-biz-hero__badge--clinic {
  background: var(--kc);
}

@media (min-width: 768px) {
  .p-biz-hero__media {
    min-height: 440px;
    padding-bottom: 24px;
  }

  .p-biz-hero__item--welfare {
    width: 82%;
  }

  .p-biz-hero__item--clinic {
    bottom: 0;
    position: absolute;
    right: 0;
    width: 54%;
    z-index: 2;
  }

  .p-biz-hero__item--clinic .p-biz-hero__frame {
    border: 5px solid #fff;
    box-shadow: 0 20px 44px rgba(var(--bc-rgb), 0.16);
  }

  .p-biz-hero__badge--clinic {
    right: -14px;
    top: 24%;
  }
}

@media (max-width: 767.98px) {
  .p-biz-hero__item--clinic {
    margin-top: 16px;
  }

  .p-biz-hero__badge--clinic {
    right: -12px;
    top: -12px;
  }
}

/* ============================================================
   Business page refinement / Codex 2026-07-13
   メモ内容を保ったまま、事業内容ページの表示とレイアウトを調整
   ============================================================ */
#contents main .p-biz-hero__media,
#contents main .p-biz-keywords,
#contents main .p-biz-service,
#contents main .p-biz-purpose,
#contents main .p-biz-clinic,
#contents main .p-biz-points {
  --biz-radius: 8px;
}

/* Scroll animation can leave lower sections almost invisible on this page. */
#contents main .p-rinen .js-animate,
#contents main .p-biz-service .js-animate,
#contents main .p-biz-purpose .js-animate,
#contents main .p-guide.js-animate,
#contents main .p-guide .js-animate,
#contents main .c-box-border.js-animate,
#contents main .fly-in,
#contents main .fly-in2 {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

#contents main .c-section.c-section--wide {
  padding-top: clamp(72px, 7vw, 112px);
  padding-bottom: clamp(72px, 7vw, 112px);
}

#contents main > .c-section:first-child {
  padding-top: clamp(56px, 6vw, 92px);
  padding-bottom: clamp(64px, 6vw, 104px);
  background:
    linear-gradient(
      90deg,
      rgba(var(--kc-rgb), 0.035),
      rgba(255, 255, 255, 0) 44%
    ),
    #fff !important;
}

#contents main .p-about__catch {
  letter-spacing: 0.02em;
}

#contents main .p-about__lead {
  color: rgba(var(--fc-rgb), 0.82);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.05;
}

#contents main .p-biz-hero__media {
  min-height: 0;
  padding: clamp(10px, 1.6vw, 20px);
}

#contents main .p-biz-hero__media::before {
  background: linear-gradient(
    135deg,
    rgba(var(--ac-rgb), 0.12),
    rgba(var(--kc-rgb), 0.12)
  );
  border-radius: 8px;
  bottom: 0;
  content: "";
  left: 7%;
  position: absolute;
  right: 2%;
  top: 8%;
  z-index: 0;
}

#contents main .p-biz-hero__item {
  position: relative;
  z-index: 1;
}

#contents main .p-biz-hero__frame,
#contents main .p-biz-hero__frame .c-image__src,
#contents main .p-biz-service__img .c-image__src,
#contents main .p-biz-clinic,
#contents main .p-biz-clinic__img .c-image__src,
#contents main .c-box-border {
  border-radius: 8px !important;
}

#contents main .p-biz-hero__frame {
  box-shadow: 0 18px 48px rgba(var(--bc-rgb), 0.11);
}

#contents main .p-biz-hero__badge {
  border-radius: 999px;
  height: auto;
  min-width: 76px;
  padding: 10px 16px;
  width: auto;
}

#contents main .p-rinen {
  background: linear-gradient(
    115deg,
    rgba(var(--kc-rgb), 0.08),
    rgba(255, 255, 255, 0.92) 45%,
    rgba(var(--ac-rgb), 0.08)
  ) !important;
}

#contents main .p-rinen .p-company__accent {
  background: linear-gradient(transparent 66%, rgba(var(--ac-rgb), 0.18) 66%);
}

#contents main .p-biz-keywords {
  align-items: center;
  gap: clamp(14px, 2.2vw, 28px);
}

#contents main .p-biz-keyword {
  background: #fff;
  border: 1px solid rgba(var(--bc-rgb), 0.07);
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(var(--bc-rgb), 0.055);
  max-width: 390px;
  min-height: 160px;
}

#contents main .p-biz-keyword--welfare {
  border-top: 4px solid var(--ac);
}

#contents main .p-biz-keyword--health {
  border-top: 4px solid var(--kc);
}

#contents main .p-biz-keywords__plus {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(var(--bc-rgb), 0.08);
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(var(--bc-rgb), 0.08);
  display: inline-flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}

#contents main .p-biz-service {
  position: relative;
}

#contents main .p-biz-service::before {
  background: #fff;
  content: "";
  inset: clamp(28px, 4vw, 56px) 0 auto;
  height: 1px;
  opacity: 0.8;
  position: absolute;
}

#contents main .p-biz-service--welfare {
  background: linear-gradient(
    180deg,
    rgba(var(--ac-rgb), 0.075),
    rgba(255, 255, 255, 0.95) 42%,
    rgba(var(--ac-rgb), 0.035)
  ) !important;
}

#contents main .p-biz-service--clinic {
  background: linear-gradient(
    180deg,
    rgba(var(--kc-rgb), 0.075),
    rgba(255, 255, 255, 0.95) 42%,
    rgba(var(--kc-rgb), 0.035)
  ) !important;
}

#contents main .p-biz-service__eyebrow,
#contents main .wf-rubik {
  letter-spacing: 0.04em;
}

#contents main .p-biz-service__facility {
  border-radius: 999px;
  padding: 7px 18px;
}

#contents main .p-biz-service__img {
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.1);
}

#contents main .p-biz-points {
  border: 1px solid rgba(var(--bc-rgb), 0.07);
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(var(--bc-rgb), 0.06);
  gap: 10px;
}

#contents main .p-biz-points li {
  border-bottom: 1px solid rgba(var(--bc-rgb), 0.055);
  padding-bottom: 10px;
}

#contents main .p-biz-points li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

#contents main .p-biz-clinic {
  border: 1px solid rgba(var(--kc-rgb), 0.14);
  box-shadow: 0 16px 40px rgba(var(--bc-rgb), 0.07);
}

#contents main .p-biz-clinic__body {
  padding: clamp(22px, 2.6vw, 30px);
}

#contents main .p-biz-purpose {
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.95),
    rgba(var(--kc-rgb), 0.74)
  ) !important;
  color: #fff;
}

#contents main .p-biz-purpose .u-font-kc,
#contents main .p-biz-purpose h2,
#contents main .p-biz-purpose p,
#contents main .p-biz-purpose .p-biz-purpose__lead,
#contents main .p-biz-purpose .p-biz-purpose__point-text {
  color: #fff !important;
}

#contents main .p-biz-purpose .p-iro {
  color: #fff !important;
  background: linear-gradient(transparent 62%, rgba(255, 255, 255, 0.22) 62%);
}

#contents main .p-biz-purpose__points {
  gap: 14px;
}

#contents main .p-biz-purpose__point {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  padding: 24px 16px;
}

#contents main .p-biz-purpose__point:not(:last-child)::after {
  display: none;
}

#contents main .p-biz-purpose__point-icon {
  color: #fff;
  opacity: 0.88;
}

#contents main a.c-link .c-box-border {
  background: #fff;
  box-shadow: 0 12px 32px rgba(var(--bc-rgb), 0.055);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

#contents main a.c-link:hover .c-box-border {
  box-shadow: 0 18px 42px rgba(var(--bc-rgb), 0.09);
  transform: translateY(-4px);
}

#contents main .p-guide {
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.07);
}

#contents main .p-guide__btn,
#contents main .p-biz-line-btn {
  border-radius: 8px;
}

@media (min-width: 992px) {
  #contents main .p-biz-service .row.align-items-center {
    --bs-gutter-x: clamp(4rem, 6vw, 7rem);
  }

  #contents
    main
    .p-biz-service--welfare
    .row.align-items-center
    > div:first-child,
  #contents
    main
    .p-biz-service--clinic
    .row.align-items-center
    > div:first-child {
    max-width: 570px;
  }
}

@media (max-width: 991.98px) {
  #contents main .c-section.c-section--wide {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  #contents main .p-biz-keywords__plus {
    height: 42px;
    width: 42px;
  }

  #contents main .p-biz-purpose__points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  #contents main .p-biz-purpose__points {
    grid-template-columns: 1fr;
  }

  #contents main .p-biz-hero__badge {
    min-width: 64px;
    padding: 8px 14px;
  }
}

/* ============================================================
   Business page structure remake / Codex 2026-07-13
   生成デザイン案に寄せた page/business.php 用スタイル
   ============================================================ */
.p-business-page {
  --biz-blue: var(--kc, #12a0e9);
  --biz-pink: var(--ac, #ff6287);
  --biz-cyan: #17b7c8;
  --biz-ink: var(--fc, #110000);
  --biz-muted: rgba(var(--fc-rgb), 0.68);
  --biz-line: rgba(var(--bc-rgb), 0.08);
  --biz-shadow: 0 18px 46px rgba(var(--bc-rgb), 0.075);
  --biz-radius: 8px;
  background: #fff;
}

.p-business-page main .js-animate,
.p-business-page main .fly-in,
.p-business-page main .fly-in2 {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.p-business-page .c-section.c-section--wide {
  padding-top: clamp(72px, 7vw, 110px);
  padding-bottom: clamp(72px, 7vw, 110px);
}

.p-business-label {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 0 14px;
}

.p-business-label--blue {
  color: var(--biz-blue);
}
.p-business-label--pink {
  color: var(--biz-pink);
}

.p-business-section-title {
  color: var(--biz-ink);
  font-size: clamp(2.6rem, 2.5vw, 4rem);
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0 0 18px;
}

.p-business-text {
  color: var(--biz-muted);
  font-size: clamp(1.6rem, 1.05vw, 1.6rem);
  font-weight: 500;
  letter-spacing: 0;
  margin: 0 0 20px;
}

.p-business-text--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.p-business-photo {
  margin: 0;
  position: relative;
}

.p-business-photo .c-image__src {
  border-radius: var(--biz-radius);
  overflow: hidden;
}

.p-business-hero {
  background:
    radial-gradient(
      circle at 92% 20%,
      rgba(var(--kc-rgb), 0.08),
      transparent 28%
    ),
    linear-gradient(
      110deg,
      #fff 0%,
      #fff 62%,
      rgba(var(--kc-rgb), 0.035) 62%,
      rgba(var(--ac-rgb), 0.035) 100%
    ) !important;
  position: relative;
}

.p-business-hero::after {
  background: linear-gradient(
    120deg,
    rgba(var(--kc-rgb), 0),
    rgba(var(--kc-rgb), 0.15),
    rgba(var(--ac-rgb), 0)
  );
  bottom: 22%;
  content: "";
  height: 1px;
  left: -8%;
  opacity: 0.75;
  position: absolute;
  right: -8%;
  transform: rotate(-10deg);
}

.p-business-hero .container {
  position: relative;
  z-index: 1;
}

.p-business-hero__title {
  color: var(--biz-ink);
  font-size: clamp(3.4rem, 4.2vw, 6.2rem);
  letter-spacing: 0.04em;
  line-height: 1.15;
  margin: 0 0 28px;
  padding-bottom: 20px;
  position: relative;
}

.p-business-hero__title::after {
  background: var(--biz-blue);
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  width: 54px;
}

.p-business-hero__catch {
  color: var(--biz-ink);
  font-size: clamp(2.3rem, 2.2vw, 3.6rem);
  letter-spacing: 0;
  line-height: 1.65;
  margin: 0 0 26px;
}

.p-business-hero__visual {
  min-height: 430px;
  position: relative;
}

.p-business-hero__visual::before {
  background: linear-gradient(
    135deg,
    rgba(var(--ac-rgb), 0.1),
    rgba(var(--kc-rgb), 0.1)
  );
  border-radius: var(--biz-radius);
  bottom: 44px;
  content: "";
  left: 18%;
  position: absolute;
  right: 3%;
  top: 44px;
}

.p-business-hero__photo {
  background: #fff;
  border-radius: var(--biz-radius);
  box-shadow: var(--biz-shadow);
  overflow: visible;
  position: absolute;
}

.p-business-hero__photo .c-image__src {
  border: 1px solid rgba(255, 255, 255, 0.9);
}

.p-business-hero__photo--welfare {
  left: 5%;
  top: 0;
  width: 58%;
}

.p-business-hero__photo--clinic {
  bottom: 18px;
  right: 0;
  width: 58%;
}

.p-business-photo__badge {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(var(--bc-rgb), 0.12);
  display: inline-flex;
  font-size: 1.8rem;
  font-weight: 700;
  justify-content: center;
  min-height: 72px;
  min-width: 72px;
  padding: 14px;
  position: absolute;
  z-index: 3;
}

.p-business-photo__badge--pink {
  border: 2px solid rgba(var(--ac-rgb), 0.58);
  color: var(--biz-pink);
  left: -32px;
  top: 44px;
}

.p-business-photo__badge--blue {
  border: 2px solid rgba(var(--kc-rgb), 0.58);
  color: var(--biz-blue);
  right: -34px;
  top: 42px;
}

.p-business-overview {
  background: #fff !important;
  position: relative;
}

.p-business-overview::before {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--kc-rgb), 0.08),
    transparent
  );
  content: "";
  height: 1px;
  left: 6%;
  position: absolute;
  right: 6%;
  top: 0;
}

.p-business-relation {
  align-items: center;
  display: grid;
  gap: clamp(16px, 2vw, 28px);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin-left: auto;
  margin-right: auto;
}

.p-business-relation__item {
  background: #fff;
  border: 1px solid var(--biz-line);
  border-radius: var(--biz-radius);
  box-shadow: 0 14px 38px rgba(var(--bc-rgb), 0.045);
  min-height: 150px;
  padding: clamp(24px, 3vw, 34px);
}

.p-business-relation__item--welfare {
  border-color: rgba(var(--ac-rgb), 0.32);
}

.p-business-relation__item--health {
  border-color: rgba(var(--kc-rgb), 0.32);
}

.p-business-relation__head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-bottom: 12px;
}

.p-business-relation__head i,
.p-business-relation__head h3 {
  font-size: clamp(2rem, 2vw, 2.6rem);
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.p-business-relation__item--welfare .p-business-relation__head {
  color: var(--biz-pink);
}

.p-business-relation__item--health .p-business-relation__head {
  color: var(--biz-blue);
}

.p-business-relation__item p {
  color: var(--biz-muted);
  font-size: 1.6rem;
  line-height: 1.9;
  margin: 0;
  text-align: center;
}

.p-business-relation__plus {
  align-items: center;
  background: #fff;
  border: 1px solid var(--biz-line);
  border-radius: 50%;
  color: rgba(var(--fc-rgb), 0.38);
  display: flex;
  font-size: 3rem;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.p-business-service {
  background: #fff !important;
  padding-top: clamp(40px, 4vw, 72px) !important;
  padding-bottom: clamp(18px, 3vw, 42px) !important;
}

.p-business-service--welfare {
  background: linear-gradient(
    180deg,
    rgba(var(--ac-rgb), 0.045),
    #fff 46%
  ) !important;
}

.p-business-service--clinic {
  background: linear-gradient(
    180deg,
    rgba(var(--kc-rgb), 0.045),
    #fff 46%
  ) !important;
}

.p-business-service-card {
  border-radius: var(--biz-radius);
}

.p-business-service-card--welfare {
  background: linear-gradient(
    135deg,
    rgba(var(--ac-rgb), 0.075),
    rgba(255, 255, 255, 0.96) 55%
  );
}

.p-business-service-card--clinic {
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.075),
    rgba(255, 255, 255, 0.96) 55%
  );
}

.p-business-service-card__title {
  color: var(--biz-ink);
  font-size: clamp(2.4rem, 2.2vw, 3.2rem);
  line-height: 1.45;
  margin: 0 0 14px;
}

.p-business-facility {
  background: var(--biz-pink);
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 22px;
  padding: 9px 18px;
}

.p-business-service-card__catch {
  font-size: clamp(2rem, 1.8vw, 2.8rem);
  line-height: 1.65;
  margin: 0 0 24px;
}

.p-business-service-card__catch--pink {
  color: var(--biz-pink);
}
.p-business-service-card__catch--blue {
  color: var(--biz-blue);
}

.p-business-service-card__photo {
  box-shadow: var(--biz-shadow);
  margin-bottom: 20px;
}

.p-business-check-list {
  background: #fff;
  border: 1px solid var(--biz-line);
  border-radius: var(--biz-radius);
  box-shadow: 0 14px 34px rgba(var(--bc-rgb), 0.055);
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: clamp(22px, 2.5vw, 30px);
}

.p-business-check-list li {
  color: rgba(var(--fc-rgb), 0.78);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.75;
  padding-left: 30px;
  position: relative;
}

.p-business-check-list li::before {
  align-items: center;
  border-radius: 50%;
  color: #fff;
  content: "\f00c";
  display: flex;
  font-family: "Font Awesome 5 Free";
  font-size: 1.6rem;
  font-weight: 900;
  height: 17px;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 5px;
  width: 17px;
}

.p-business-check-list--pink li::before {
  background: var(--biz-pink);
}
.p-business-check-list--blue li::before {
  background: var(--biz-blue);
}

.p-business-check-list--compact {
  margin-top: 22px;
}

.p-business-service-card__btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.p-business-btn {
  align-items: center;
  border-radius: var(--biz-radius);
  color: #fff;
  display: inline-flex;
  font-size: 1.6rem;
  font-weight: 700;
  gap: 12px;
  justify-content: center;
  line-height: 1.3;
  min-height: 48px;
  min-width: 230px;
  padding: 14px 22px;
  text-decoration: none;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    opacity 0.24s ease;
}

.p-business-btn:hover {
  color: #fff;
  opacity: 0.92;
  transform: translateY(-2px);
}

.p-business-btn--pink {
  background: var(--biz-pink);
  box-shadow: 0 12px 26px rgba(var(--ac-rgb), 0.22);
}

.p-business-btn--blue {
  background: var(--biz-blue);
  box-shadow: 0 12px 26px rgba(var(--kc-rgb), 0.2);
}

.p-business-btn--cyan {
  background: var(--biz-cyan);
  box-shadow: 0 12px 26px rgba(23, 183, 200, 0.2);
}

.p-business-clinics {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-business-clinic-card {
  background: #fff;
  border: 1px solid rgba(var(--kc-rgb), 0.25);
  border-radius: var(--biz-radius);
  box-shadow: 0 14px 36px rgba(var(--bc-rgb), 0.055);
  overflow: hidden;
}

.p-business-clinic-card__photo .c-image__src {
  border-radius: var(--biz-radius) var(--biz-radius) 0 0;
}

.p-business-clinic-card__body {
  padding: clamp(20px, 2.2vw, 26px);
}

.p-business-clinic-card h3 {
  color: var(--biz-ink);
  font-size: clamp(1.8rem, 1.5vw, 2.1rem);
  font-weight: 700;
  line-height: 1.55;
  margin: 0 0 12px;
}

.p-business-clinic-card p {
  color: var(--biz-muted);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.85;
  margin: 0 0 18px;
}

.p-business-clinic-card .p-business-btn {
  min-width: 100%;
}

.p-business-purpose {
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.13),
    rgba(var(--kc-rgb), 0.045)
  ) !important;
  color: var(--biz-ink);
}

.p-business-purpose__title {
  color: var(--biz-ink);
  font-size: clamp(1.8rem, 1.7vw, 2.4rem);
  line-height: 1.5;
  margin: 0 0 18px;
}

.p-business-purpose__catch {
  color: var(--biz-ink);
  font-size: clamp(2.4rem, 2.4vw, 3.8rem);
  letter-spacing: 0;
  line-height: 1.65;
  margin: 0 0 34px;
}

.p-business-purpose__body {
  color: rgba(var(--fc-rgb), 0.78);
  margin: 0 auto;
}

.p-business-purpose__body p {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.05;
  margin: 0 0 16px;
}

.p-business-purpose__body p:last-child {
  margin-bottom: 0;
}

.p-business-sites {
  background: #fff !important;
}

.p-business-site-card {
  align-items: center;
  background: #fff;
  border: 1px solid var(--biz-line);
  border-radius: var(--biz-radius);
  box-shadow: 0 12px 34px rgba(var(--bc-rgb), 0.045);
  color: var(--biz-ink);
  display: grid;
  gap: 18px;
  grid-template-columns: 120px minmax(0, 1fr);
  height: 100%;
  padding: 18px;
  text-decoration: none;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease;
}

.p-business-site-card:hover {
  color: var(--biz-ink);
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.08);
  transform: translateY(-4px);
}

.p-business-site-card--pink {
  border-color: rgba(var(--ac-rgb), 0.28);
}
.p-business-site-card--blue {
  border-color: rgba(var(--kc-rgb), 0.28);
}

.p-business-site-card__photo .c-image__src {
  border-radius: var(--biz-radius);
}

.p-business-site-card h3 {
  color: var(--biz-ink);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 8px;
}

.p-business-site-card p {
  color: var(--biz-muted);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
  margin: 0 0 10px;
}

.p-business-site-card span {
  color: var(--biz-blue);
  font-size: 1.6rem;
  font-weight: 700;
}

.p-business-site-card--pink span {
  color: var(--biz-pink);
}

.p-business-bottom-guide {
  padding-top: 0 !important;
  background: #fff !important;
}

.p-business-guide-card {
  background: #fff;
  border: 1px solid var(--biz-line);
  border-radius: var(--biz-radius);
  box-shadow: 0 14px 38px rgba(var(--bc-rgb), 0.055);
  height: 100%;
  padding: clamp(28px, 3vw, 38px);
  text-align: center;
}

.p-business-guide-card--blue {
  border-top: 4px solid var(--biz-blue);
}
.p-business-guide-card--pink {
  border-top: 4px solid var(--biz-pink);
}

.p-business-guide-card h2 {
  color: var(--biz-ink);
  font-size: clamp(2.1rem, 1.8vw, 2.6rem);
  font-weight: 700;
  margin: 0 0 14px;
}

.p-business-guide-card p:not(.p-business-label) {
  color: var(--biz-muted);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.85;
  margin: 0 auto 24px;
}

@media (max-width: 1199.98px) {
  .p-business-hero__visual {
    min-height: 380px;
  }
}

@media (max-width: 991.98px) {
  .p-business-page .c-section.c-section--wide {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .p-business-hero__visual {
    min-height: auto;
  }

  .p-business-hero__visual::before {
    inset: 18px 0 18px 10%;
  }

  .p-business-hero__photo {
    position: relative;
  }

  .p-business-hero__photo--welfare,
  .p-business-hero__photo--clinic {
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 82%;
  }

  .p-business-hero__photo--clinic {
    margin-left: auto;
    margin-top: 18px;
  }

  .p-business-relation {
    grid-template-columns: 1fr;
  }

  .p-business-relation__plus {
    justify-self: center;
  }

  .p-business-clinics {
    grid-template-columns: 1fr;
  }

  .p-business-site-card {
    grid-template-columns: 110px minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  .p-business-hero__title {
    font-size: 3.2rem;
  }

  .p-business-hero__catch,
  .p-business-service-card__catch,
  .p-business-purpose__catch {
    line-height: 1.55;
  }

  .p-business-hero__photo--welfare,
  .p-business-hero__photo--clinic {
    width: 100%;
  }

  .p-business-photo__badge {
    font-size: 1.6rem;
    min-height: 58px;
    min-width: 58px;
  }

  .p-business-photo__badge--pink {
    left: 12px;
    top: 12px;
  }

  .p-business-photo__badge--blue {
    right: 12px;
    top: 12px;
  }

  .p-business-service-card {
    padding: 26px 18px;
  }

  .p-business-site-card {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Business page reproduction tuning / Codex 2026-07-13
   生成カンプにさらに近づけるための最終寄せ
   ============================================================ */
.p-business-page .p-business-photo.c-image {
  line-height: 1;
  overflow: visible;
}

.p-business-page .p-business-photo.c-image .c-image__src {
  display: block;
  width: 100%;
}

.p-business-page .p-business-hero {
  min-height: 640px;
  padding-top: clamp(70px, 7vw, 122px) !important;
  padding-bottom: clamp(72px, 7vw, 120px) !important;
}

.p-business-page .p-business-hero .row {
  align-items: center !important;
}

.p-business-page .p-business-hero__title {
  font-size: clamp(4.2rem, 5vw, 6.8rem);
  margin-bottom: 26px;
}

.p-business-page .p-business-hero__catch {
  font-size: clamp(2.4rem, 2.25vw, 3.5rem);
  line-height: 1.72;
  margin-bottom: 28px;
}

.p-business-page .p-business-hero__visual {
  min-height: 500px;
}

.p-business-page .p-business-hero__visual::before {
  background: linear-gradient(
    135deg,
    rgba(var(--ac-rgb), 0.11),
    rgba(var(--kc-rgb), 0.12)
  );
  bottom: 70px;
  left: 23%;
  right: 0;
  top: 74px;
}

.p-business-page .p-business-hero__photo--welfare {
  left: 3%;
  top: 0;
  width: 55%;
}

.p-business-page .p-business-hero__photo--clinic {
  bottom: 22px;
  right: 0;
  width: 56%;
}

.p-business-page .p-business-hero__photo .c-image__src {
  min-height: 260px;
}

.p-business-page .p-business-photo__badge--pink {
  left: -38px;
  top: 58px;
}

.p-business-page .p-business-photo__badge--blue {
  right: -36px;
  top: 54px;
}

.p-business-page .p-business-relation__item {
  min-height: 150px;
  padding: 28px 34px;
}

.p-business-page .p-business-service-card--welfare {
  background: linear-gradient(
    105deg,
    rgba(var(--ac-rgb), 0.105),
    rgba(255, 255, 255, 0.98) 58%
  );
}

.p-business-page .p-business-service-card--clinic {
  background: linear-gradient(
    105deg,
    rgba(var(--kc-rgb), 0.105),
    rgba(255, 255, 255, 0.98) 58%
  );
}

.p-business-page .p-business-service-card__photo {
  margin-bottom: 24px;
}

.p-business-page .p-business-service-card--welfare .p-business-check-list {
  margin-left: auto;
}

.p-business-page .p-business-service-card__btn-wrap {
  justify-content: flex-end;
  padding-right: calc(50% - 520px);
}

.p-business-page .p-business-clinics {
  align-items: stretch;
  gap: 28px;
}

.p-business-page .p-business-clinic-card__photo .c-image__src {
  min-height: 190px;
}

.p-business-page .p-business-clinic-card__body {
  padding: 24px 24px 26px;
}

.p-business-page .p-business-purpose {
  padding-top: clamp(78px, 7vw, 110px) !important;
  padding-bottom: clamp(78px, 7vw, 110px) !important;
}

.p-business-page .p-business-sites {
  padding-top: clamp(82px, 7vw, 116px) !important;
  padding-bottom: clamp(54px, 5vw, 82px) !important;
}

.p-business-page .p-business-site-card {
  grid-template-columns: 132px minmax(0, 1fr);
  padding: 20px;
}

.p-business-page .p-business-site-card__photo .c-image__src {
  min-height: 96px;
}

.p-business-page .p-business-bottom-guide {
  padding-bottom: clamp(80px, 7vw, 112px) !important;
}

.p-business-page .p-business-guide-card {
  min-height: 224px;
}

@media (min-width: 992px) {
  .p-business-page .p-business-hero .col-lg-5 {
    width: 43%;
  }

  .p-business-page .p-business-hero .col-lg-7 {
    width: 57%;
  }

  .p-business-page
    .p-business-service-card--welfare
    .row
    > .col-lg-6:first-child {
    width: 47%;
  }

  .p-business-page
    .p-business-service-card--welfare
    .row
    > .col-lg-6:last-child {
    width: 53%;
  }

  .p-business-page .p-business-service-card--clinic .row > .col-lg-5 {
    width: 42%;
  }

  .p-business-page .p-business-service-card--clinic .row > .col-lg-7 {
    width: 58%;
  }
}

@media (max-width: 991.98px) {
  .p-business-page .p-business-hero {
    min-height: 0;
  }

  .p-business-page .p-business-hero__visual {
    min-height: auto;
  }
}

/* ============================================================
   Business page screenshot priority / Codex 2026-07-13
   メモよりスクショ再現を優先する最終上書き
   ============================================================ */
.p-business-page--screenshot {
  background: #fff;
}

.p-business-page--screenshot .c-section.c-section--wide {
  padding-top: clamp(76px, 7vw, 118px);
  padding-bottom: clamp(76px, 7vw, 118px);
}

.p-business-page--screenshot .p-business-hero {
  background:
    radial-gradient(
      circle at 82% 20%,
      rgba(var(--kc-rgb), 0.055),
      transparent 25%
    ),
    linear-gradient(
      90deg,
      rgba(var(--kc-rgb), 0.035),
      #fff 22%,
      #fff 74%,
      rgba(var(--kc-rgb), 0.035)
    ) !important;
  min-height: 690px;
}

.p-business-page--screenshot .p-business-hero__title {
  font-size: clamp(4.6rem, 5.2vw, 7.2rem);
  margin-bottom: 28px;
}

.p-business-page--screenshot .p-business-hero__catch {
  font-size: clamp(2.45rem, 2vw, 3.6rem);
  line-height: 1.72;
}

.p-business-page--screenshot .p-business-hero__visual {
  min-height: 520px;
}

.p-business-page--screenshot .p-business-hero__visual::before {
  background: linear-gradient(
    135deg,
    rgba(var(--ac-rgb), 0.12),
    rgba(var(--kc-rgb), 0.12)
  );
  bottom: 76px;
  left: 20%;
  right: 5%;
  top: 68px;
}

.p-business-page--screenshot .p-business-hero__photo--welfare {
  left: 4%;
  top: 0;
  width: 56%;
}

.p-business-page--screenshot .p-business-hero__photo--clinic {
  bottom: 14px;
  right: 0;
  width: 56%;
}

.p-business-page--screenshot .p-business-hero__photo .c-image__src {
  min-height: 282px;
}

.p-business-page--screenshot .p-business-photo__badge {
  background: #fff;
  box-shadow: 0 14px 34px rgba(var(--bc-rgb), 0.1);
}

.p-business-page--screenshot .p-business-overview {
  padding-top: clamp(94px, 8vw, 138px) !important;
  padding-bottom: clamp(90px, 8vw, 132px) !important;
}

.p-business-page--screenshot .p-business-relation__item {
  min-height: 156px;
  padding: 30px 36px;
}

.p-business-page--screenshot .p-business-service--welfare {
  background: linear-gradient(
    180deg,
    rgba(var(--ac-rgb), 0.055),
    rgba(var(--ac-rgb), 0.025)
  ) !important;
}

.p-business-page--screenshot .p-business-service--clinic {
  background: linear-gradient(
    180deg,
    rgba(var(--kc-rgb), 0.065),
    rgba(var(--kc-rgb), 0.028)
  ) !important;
}

.p-business-page--screenshot .p-business-service-card {
  padding: clamp(20px, 5.2vw, 20px);
}

.p-business-page--screenshot .p-business-service-card--welfare {
  background: linear-gradient(
    110deg,
    rgba(var(--ac-rgb), 0.115),
    rgba(255, 255, 255, 0.98) 54%
  );
}

.p-business-page--screenshot .p-business-service-card--clinic {
  background: linear-gradient(
    110deg,
    rgba(var(--kc-rgb), 0.12),
    rgba(255, 255, 255, 0.98) 54%
  );
}

.p-business-page--screenshot .p-business-service-card__title {
  font-size: clamp(2.5rem, 2.35vw, 3.4rem);
}

.p-business-page--screenshot .p-business-service-card__photo .c-image__src {
  min-height: 326px;
}

.p-business-page--screenshot .p-business-check-list {
  box-shadow: 0 18px 44px rgba(var(--bc-rgb), 0.055);
  padding: 28px 32px;
}

.p-business-page--screenshot .p-business-check-list--plain {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.p-business-page--screenshot .p-business-check-list--plain li {
  font-size: 1.6rem;
}

.p-business-page--screenshot .p-business-service-card__btn-wrap {
  justify-content: center;
  margin-top: 24px;
  padding-right: 0;
}

.p-business-page--screenshot .p-business-clinics {
  gap: 28px;
}

.p-business-page--screenshot .p-business-clinic-card {
  border-color: rgba(var(--kc-rgb), 0.24);
}

.p-business-page--screenshot .p-business-clinic-card__photo .c-image__src {
  min-height: 208px;
}

.p-business-page--screenshot .p-business-purpose {
  background: linear-gradient(
    135deg,
    rgba(var(--kc-rgb), 0.16),
    rgba(var(--kc-rgb), 0.055)
  ) !important;
  padding-top: clamp(82px, 7vw, 116px) !important;
  padding-bottom: clamp(82px, 7vw, 116px) !important;
}

.p-business-page--screenshot .p-business-purpose__body p {
  font-size: 1.6rem;
  line-height: 2.05;
}

.p-business-page--screenshot .p-business-sites {
  padding-top: clamp(86px, 7vw, 122px) !important;
  padding-bottom: clamp(58px, 5vw, 86px) !important;
}

.p-business-page--screenshot .p-business-site-card {
  grid-template-columns: 132px minmax(0, 1fr);
  min-height: 162px;
}

.p-business-page--screenshot .p-business-site-card__photo .c-image__src {
  min-height: 100px;
}

.p-business-page--screenshot .p-business-bottom-guide {
  padding-bottom: clamp(88px, 7vw, 124px) !important;
}

@media (min-width: 992px) {
  .p-business-page--screenshot .p-business-hero .col-lg-5 {
    width: 44%;
  }

  .p-business-page--screenshot .p-business-hero .col-lg-7 {
    width: 56%;
  }

  .p-business-page--screenshot
    .p-business-service-card--welfare
    .row
    > .col-lg-6:first-child {
    width: 44%;
  }

  .p-business-page--screenshot
    .p-business-service-card--welfare
    .row
    > .col-lg-6:last-child {
    width: 56%;
  }

  .p-business-page--screenshot
    .p-business-service-card--clinic
    .row
    > .col-lg-5 {
    width: 41%;
  }

  .p-business-page--screenshot
    .p-business-service-card--clinic
    .row
    > .col-lg-7 {
    width: 59%;
  }
}

@media (max-width: 991.98px) {
  .p-business-page--screenshot .p-business-hero {
    min-height: 0;
  }

  .p-business-page--screenshot .p-business-hero__visual {
    min-height: auto;
  }

  .p-business-page--screenshot .p-business-hero__photo .c-image__src,
  .p-business-page--screenshot .p-business-service-card__photo .c-image__src,
  .p-business-page--screenshot .p-business-clinic-card__photo .c-image__src,
  .p-business-page--screenshot .p-business-site-card__photo .c-image__src {
    min-height: 0;
  }

  .p-business-page--screenshot .p-business-check-list--plain {
    margin-bottom: 24px;
  }

  .p-business-page--screenshot .p-business-site-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  .p-business-page--screenshot .p-business-site-card {
    grid-template-columns: 1fr;
  }
}
/* Recruit archive / Codex 2026-07-13 */
.p-recruit-modern {
  --recruit-blue: #0c8ee8;
  --recruit-blue-dark: #0064bd;
  --recruit-line: #06c755;
  --recruit-line-dark: #00b94c;
  --recruit-pink: #f35b87;
  --recruit-blue-soft: #eef9ff;
  --recruit-navy: #082348;
  --recruit-text: #33435c;
  --recruit-border: rgba(12, 142, 232, 0.18);
  color: var(--recruit-text);
  font-size: 16px;
  letter-spacing: 0;
  overflow: hidden;
}

.p-recruit-modern .container {
  --bs-gutter-x: 44px;
}

.p-recruit-modern .row {
  --bs-gutter-x: 42px;
}

.p-recruit-modern a {
  text-decoration: none;
}

.p-recruit-modern p {
  font-size: 16px;
  line-height: 2;
}

.p-recruit-kicker {
  color: var(--recruit-blue);
  font-family: var(--font-en, inherit);
  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

.p-recruit-hero {
  background:
    linear-gradient(
      120deg,
      rgba(238, 249, 255, 0.92),
      rgba(255, 255, 255, 0.82) 48%,
      rgba(255, 241, 246, 0.72)
    ),
    #fff;
  padding: 64px 0;
  position: relative;
}

.p-recruit-hero::before {
  background: linear-gradient(
    90deg,
    rgba(12, 142, 232, 0.14),
    rgba(243, 91, 135, 0.14)
  );
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.p-recruit-hero .row {
  align-items: center !important;
}

.p-recruit-hero__title,
.p-recruit-section__title {
  color: var(--recruit-navy);
  font-weight: 800;
  letter-spacing: 0;
}

.p-recruit-hero__title {
  font-size: clamp(46px, 4.4vw, 66px);
  line-height: 1.22;
  margin-bottom: 30px;
  padding-left: 34px;
  position: relative;
}

.p-recruit-hero__title::before {
  background: var(--recruit-blue);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  top: 50%;
  width: 22px;
}

.p-recruit-hero__lead {
  color: var(--recruit-navy);
  font-size: clamp(30px, 2.75vw, 36px) !important;
  font-weight: 800;
  line-height: 1.55 !important;
  margin-bottom: 28px;
}

.p-recruit-hero__text {
  font-weight: 500;
  line-height: 2.05 !important;
  margin-bottom: 34px;
}

.p-recruit-hero__actions {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 14px;
}

.p-recruit-btn {
  align-items: center;
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(8, 35, 72, 0.16);
  color: #fff !important;
  display: inline-flex;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.5;
  min-height: 58px;
  padding: 15px 30px;
  width: 330px;
}

.p-recruit-btn::after {
  content: "\f061";
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free";
  font-size: 16px;
  font-weight: 900;
  margin-left: 12px;
}

.p-recruit-btn--blue {
  background: linear-gradient(
    135deg,
    var(--recruit-blue),
    var(--recruit-blue-dark)
  );
}

.p-recruit-btn--line {
  background: linear-gradient(
    135deg,
    var(--recruit-line),
    var(--recruit-line-dark)
  );
  box-shadow: 0 16px 34px rgba(6, 199, 85, 0.2);
}

.p-recruit-hero__visual {
  align-items: center;
  display: flex;
  min-height: 0;
  position: relative;
}

.p-recruit-photo {
  margin: 0;
}

.p-recruit-photo--main,
.p-recruit-photo--single {
  position: relative;
  width: 100%;
  z-index: 2;
}

.p-recruit-photo__img,
.p-recruit-collage__item span,
.p-recruit-work-card__photo span {
  background-color: #e8f4fb;
  background-position: center;
  background-size: cover;
  display: block;
}

.p-recruit-photo__img {
  aspect-ratio: 16 / 9.8;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 8px;
  box-shadow: 0 24px 54px rgba(8, 35, 72, 0.16);
}

.p-recruit-section {
  padding: 64px 0;
}

.p-recruit-section__title {
  font-size: clamp(34px, 3vw, 36px);
  line-height: 1.4;
  margin-bottom: 22px;
}

.p-recruit-section__lead {
  color: var(--recruit-navy);
  font-size: clamp(28px, 2.45vw, 38px) !important;
  font-weight: 800;
  line-height: 1.65 !important;
  margin-bottom: 24px;
}

.p-recruit-section__body {
  margin-bottom: 0;
}

.p-recruit-heading {
  margin-bottom: 48px;
}

.p-recruit-message {
  background: transparent;
  padding-top: 64px;
  padding-bottom: 64px;
}

.p-recruit-message .row {
  justify-content: center;
}

.p-recruit-message .col-lg-6 {
  text-align: center;
}

.p-recruit-message .p-recruit-text {
  background: linear-gradient(135deg, #23a7e6, #0b8ed8);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgba(12, 142, 232, 0.18);
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  padding: 30px 38px;
}

.p-recruit-message .p-recruit-text p {
  color: #fff;
  font-weight: 700;
  margin-bottom: 14px;
}

.p-recruit-message .p-recruit-text p:last-child {
  margin-bottom: 0;
}

.p-recruit-feature {
  background: linear-gradient(180deg, #f7fcff, #fff);
  padding-top: 64px;
  padding-bottom: 64px;
}

.p-recruit-point-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--recruit-border);
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(8, 35, 72, 0.06);
  height: 100%;
  min-height: 238px;
  padding: 34px 26px 30px;
  position: relative;
}

.p-recruit-point-card__num {
  color: rgba(12, 142, 232, 0.22);
  font-size: 28px;
  font-weight: 800;
  position: absolute;
  right: 20px;
  top: 16px;
}

.p-recruit-point-card i {
  align-items: center;
  background: linear-gradient(
    135deg,
    rgba(12, 142, 232, 0.1),
    rgba(243, 91, 135, 0.1)
  );
  border-radius: 50%;
  color: var(--recruit-blue);
  display: flex;
  font-size: 24px;
  height: 60px;
  justify-content: center;
  margin-bottom: 24px;
  width: 60px;
}

.p-recruit-point-card h3 {
  color: var(--recruit-navy);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.55;
  margin-bottom: 16px;
}

.p-recruit-point-card p {
  font-size: 16px;
  line-height: 1.85;
  margin-bottom: 0;
}

.p-recruit-person {
  background: linear-gradient(
    135deg,
    rgba(255, 241, 246, 0.74),
    rgba(238, 249, 255, 0.8)
  );
  padding-top: 64px;
  padding-bottom: 64px;
}

.p-recruit-person__box {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(8, 35, 72, 0.07);
  padding: clamp(52px, 5vw, 76px) clamp(54px, 6vw, 92px);
}

.p-recruit-check {
  display: grid;
  gap: 20px 48px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-recruit-check li {
  color: var(--recruit-navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.9;
  padding-left: 38px;
  position: relative;
}

.p-recruit-check li::before {
  align-items: center;
  background: var(--recruit-pink);
  border-radius: 50%;
  color: #fff;
  content: "\f00c";
  display: flex;
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free";
  font-size: 16px;
  font-weight: 900;
  height: 24px;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 4px;
  width: 24px;
}

.p-recruit-environment {
  background: #fff;
  padding-top: 64px;
  padding-bottom: 64px;
}

.p-recruit-collage {
  display: grid;
  gap: 20px;
  grid-template-columns: 1.08fr 0.92fr;
}

.p-recruit-collage__item {
  background: var(--recruit-blue-soft);
  border-radius: 8px;
  box-shadow: 0 20px 46px rgba(8, 35, 72, 0.12);
  margin: 0;
  overflow: hidden;
}

.p-recruit-collage__item--large {
  grid-row: span 2;
}

.p-recruit-collage__item span {
  aspect-ratio: 4 / 3;
}

.p-recruit-collage__item--large span {
  aspect-ratio: 4 / 5;
  height: 100%;
}

.p-recruit-work {
  background: linear-gradient(180deg, #f7fcff, #fff);
  padding-top: 64px;
  padding-bottom: 64px;
}

.p-recruit-work-card {
  background: #fff;
  border: 1px solid var(--recruit-border);
  border-radius: 8px;
  box-shadow: 0 22px 48px rgba(8, 35, 72, 0.1);
  height: 100%;
  overflow: hidden;
}

.p-recruit-work-card--welfare {
  border-color: rgba(243, 91, 135, 0.24);
}

.p-recruit-work-card__photo {
  margin: 0;
}

.p-recruit-work-card__photo span {
  aspect-ratio: 16 / 8.8;
}

.p-recruit-work-card__body {
  padding: 34px 38px 40px;
  text-align: center;
}

.p-recruit-work-card__label {
  color: var(--recruit-blue);
  font-size: 16px !important;
  font-weight: 800;
  line-height: 1.65 !important;
  margin-bottom: 12px;
}

.p-recruit-work-card--welfare .p-recruit-work-card__label {
  color: var(--recruit-pink);
}

.p-recruit-work-card h3 {
  color: var(--recruit-navy);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.55;
  margin-bottom: 16px;
}

.p-recruit-work-card p:last-child {
  margin-bottom: 0;
}

.p-recruit-list {
  padding-top: 64px !important;
}

@media (min-width: 992px) {
  .p-recruit-hero .col-lg-6:first-child {
    flex: 0 0 45%;
    width: 45%;
  }

  .p-recruit-hero .col-lg-6:last-child {
    flex: 0 0 55%;
    width: 55%;
  }

  .p-recruit-photo--main,
  .p-recruit-photo--single {
    margin-left: auto;
    width: 92%;
  }

  .p-recruit-message .col-lg-6:first-child {
    flex: 0 0 68%;
    width: 68%;
  }

  .p-recruit-environment .col-lg-5 {
    flex: 0 0 42%;
    width: 42%;
  }

  .p-recruit-environment .col-lg-7 {
    flex: 0 0 58%;
    width: 58%;
  }
}

@media (max-width: 991.98px) {
  .p-recruit-modern {
    font-size: 14px;
  }

  .p-recruit-modern .container {
    --bs-gutter-x: 30px;
  }

  .p-recruit-modern .row {
    --bs-gutter-x: 24px;
  }

  .p-recruit-modern p,
  .p-recruit-kicker,
  .p-recruit-btn,
  .p-recruit-point-card p,
  .p-recruit-check li,
  .p-recruit-work-card__label {
    font-size: 14px !important;
  }

  .p-recruit-hero,
  .p-recruit-section,
  .p-recruit-message,
  .p-recruit-feature,
  .p-recruit-person,
  .p-recruit-environment,
  .p-recruit-work {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .p-recruit-hero__visual,
  .p-recruit-collage {
    margin-top: 30px;
  }

  .p-recruit-point-card,
  .p-recruit-work-card {
    margin-bottom: 20px;
  }

  .p-recruit-check {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .p-recruit-modern .container {
    --bs-gutter-x: 26px;
  }

  .p-recruit-hero__title {
    font-size: 36px;
  }

  .p-recruit-hero__lead,
  .p-recruit-section__lead {
    font-size: 24px !important;
  }

  .p-recruit-section__title {
    font-size: 28px;
  }

  .p-recruit-btn,
  .p-recruit-hero__actions .p-recruit-btn {
    width: 100%;
  }

  .p-recruit-message .p-recruit-text,
  .p-recruit-person__box,
  .p-recruit-work-card__body {
    padding: 24px 20px;
  }

  .p-recruit-collage {
    grid-template-columns: 1fr;
  }

  .p-recruit-collage__item--large {
    grid-row: auto;
  }

  .p-recruit-collage__item--large span {
    aspect-ratio: 4 / 3;
  }

  .p-recruit-point-card {
    min-height: 0;
  }

  .p-recruit-hero,
  .p-recruit-section,
  .p-recruit-message,
  .p-recruit-feature,
  .p-recruit-person,
  .p-recruit-environment,
  .p-recruit-work {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .p-recruit-list {
    padding-top: 32px !important;
  }
  .g-footer-rich__nav ul {
    row-gap: 0 !important;
  }
}
