/*
 * @site-assets-manager-description: トップページ専用CSS
 * @site-assets-manager-public: true
 * @site-assets-manager-priority: 20
 * @site-assets-manager-scope: home
 * @site-assets-manager-updated-by: rest
 */

/* =========================================================
   site-home.css
   - トップページ専用CSS
   - site-main.cssから分離
========================================================= */

/* =========================================================
   02. トップページ固有設定
   - 固定ページタイトル非表示
   - Lightning側の余白を抑える
========================================================= */

.home .entry-title {
  display: none;
}

.home .site-body-container {
  max-width: none;
}

.home .main-section {
  width: 100%;
}

.home .arcx-hero > *,
.home .arcx-section > * {
  max-width: none !important;
}


/* =========================================================
   03. トップページ共通レイアウト
   - 各セクションの最大幅
   - 上下左右の余白
========================================================= */

.home .arcx-hero,
.home .arcx-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 84px 36px;
}

.home .arcx-hero {
  max-width: 1280px;
  padding-top: 82px;
  padding-bottom: 78px;
}


/* =========================================================
   04. ラベル・見出し
   - 英字ラベル
   - トップH1
   - セクションH2
   - カードH3
========================================================= */

.home .arcx-label {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #8A1F2D;
  font-weight: 700;
}

.home .arcx-hero h1 {
  max-width: 900px;
  margin: 0 auto;
  padding: 0;
  border: none;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: #111111;
}

.home .arcx-section h2 {
  margin: 0 0 36px;
  padding: 22px 0 16px;
  font-size: clamp(22px, 2.1vw, 28px);
  line-height: 1.42;
  color: #111111;
  border-top: 2px solid #22314F;
  border-bottom: 1px solid #DDD4C8;
}

.home .arcx-section h3 {
  margin: 0 0 18px;
  padding-bottom: 14px;
  font-size: 22px;
  line-height: 1.45;
  color: #1F2A44;
  border-bottom: 1px solid #E6DED2;
}


/* =========================================================
   05. 本文テキスト
   - トップページ本文
   - ファーストビューのリード文
========================================================= */

.home .arcx-hero p,
.home .arcx-section p {
  font-size: 17px;
  line-height: 1.95;
  color: #333333;
}

.home .arcx-lead {
  font-size: 19px !important;
  line-height: 1.95 !important;
  color: #1F2A44 !important;
  font-weight: 600;
}


/* =========================================================
   06. カード用グリッド・カード本体
   - テーマ別に読む
   - 関連サービス・運営会社
   - 2列カード表示
========================================================= */

.home .arcx-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  margin-top: 36px !important;
}

.home .arcx-grid-2 > .wp-block-group,
.home .arcx-grid-2 > * {
  max-width: none !important;
  margin: 0 !important;
}

.home .arcx-card {
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #E3DBD0;
  border-radius: 20px;
  padding: 36px 34px 34px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.045);
}

.home .arcx-card h3 {
  margin: 0 0 20px;
  padding-bottom: 14px;
  font-size: 22px;
  line-height: 1.45;
  color: #1F2A44;
  border-bottom: 1px solid #E6DED2;
}

.home .arcx-card p {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.9;
  color: #333333;
}

.home .arcx-card p + p {
  margin-top: 18px;
}

.home .arcx-card a {
  color: #8A1F2D;
  font-weight: 700;
  text-decoration: none;
}

.home .arcx-card a:hover {
  text-decoration: underline;
}


/* =========================================================
   07. メッセージ枠
   - サイトで扱うテーマ
   - 白背景の説明枠
========================================================= */

.home .arcx-message {
  background: #FFFFFF;
  border: 1px solid #E3DBD0;
  border-radius: 24px;
  padding: 58px 54px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.04);
}

.home .arcx-message h2 {
  margin-top: 0;
}


/* =========================================================
   08. 通常リンク
   - セクション内リンク色
========================================================= */

.home .arcx-section a {
  color: #8A1F2D;
}

/* =========================================================
   12. ファーストビュー構成
   - 上部中央タイトル
   - 下にテキスト＋画像の2カラム
   - 画像サイズ・角丸・影
========================================================= */

.home .arcx-hero-header {
  max-width: 980px;
  margin: 0 auto 58px;
  text-align: center;
}

.home .arcx-hero-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  align-items: center;
  gap: 56px;
}

.home .arcx-hero-columns .wp-block-column {
  min-width: 0;
  flex-basis: auto !important;
}

.home .arcx-hero-image {
  margin: 0;
}

.home .arcx-hero-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  aspect-ratio: 16 / 9;
  object-fit: cover !important;
  border-radius: 20px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   13. 最新記事セクション
   - 最新6件をカード表示
   - アイキャッチ画像・タイトル・日付・抜粋を表示
========================================================= */

.home .arcx-posts .wp-block-latest-posts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 32px;
  padding-left: 0;
}

.home .arcx-posts .wp-block-latest-posts li {
  list-style: none;
  background: #FFFFFF;
  border: 1px solid #E3DBD0;
  border-radius: 20px;
  padding: 0 0 28px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.045);
}

.home .arcx-posts .wp-block-latest-posts__featured-image {
  margin: 0 0 22px;
}

.home .arcx-posts .wp-block-latest-posts__featured-image a {
  display: block;
}

.home .arcx-posts .wp-block-latest-posts__featured-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.home .arcx-posts .wp-block-latest-posts li > a,
.home .arcx-posts .wp-block-latest-posts__post-title {
  display: block;
  padding: 0 28px;
  color: #1F2A44;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 700;
  text-decoration: none;
}

.home .arcx-posts .wp-block-latest-posts li > a:hover,
.home .arcx-posts .wp-block-latest-posts__post-title:hover {
  color: #8A1F2D;
  text-decoration: underline;
}

.home .arcx-posts .wp-block-latest-posts__post-date {
  display: block;
  margin-top: 12px;
  padding: 0 28px;
  color: #7A746C;
  font-size: 13px;
}

.home .arcx-posts .wp-block-latest-posts__post-excerpt {
  margin-top: 16px;
  padding: 0 28px;
  color: #333333;
  font-size: 15px;
  line-height: 1.8;
}

/* =========================================================
   19. トップページ内リンク・CTA表示
   - カード内リンクは小さなCTA風に表示
   - 主要導線はWordPress標準ボタン／VK Blocksボタンを優先
   - CSSで矢印は自作しない
========================================================= */

/* 19-1. カード内の通常リンクを小さなCTA風にする */
.home .arcx-card > p:last-child a {
  display: inline-flex;
  align-items: center;
  margin-top: 4px;
  padding: 10px 16px;
  border: 1px solid #D8D0C5;
  border-radius: 8px;
  background: #F7F3EC;
  color: #8A1F2D !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
}

.home .arcx-card > p:last-child a:hover {
  background: #8A1F2D;
  border-color: #8A1F2D;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* 19-2. ファーストビューのWordPress標準ボタン */
.home .arcx-hero .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  background: #1F2A44 !important;
  color: #FFFFFF !important;
  padding: 13px 24px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(31, 42, 68, 0.18);
}

.home .arcx-hero .wp-block-button__link:hover {
  background: #8A1F2D !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* 19-3. 最新記事下の「すべての記事を見る」 */
.home .arcx-posts > p:last-child a {
  display: inline-flex;
  align-items: center;
  margin-top: 30px;
  border-radius: 8px;
  background: #1F2A44 !important;
  color: #FFFFFF !important;
  padding: 13px 24px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(31, 42, 68, 0.18);
}

.home .arcx-posts > p:last-child a:hover {
  background: #8A1F2D !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* 29. トップページCTA色の最終調整 */
.home .arcx-hero .wp-block-button__link,
.home .arcx-posts > p:last-child a {
  background: #1f2a44 !important;
  background-color: #1f2a44 !important;
  border-color: #1f2a44 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(31, 42, 68, 0.18) !important;
  opacity: 1 !important;
  filter: none !important;
}

.home .arcx-hero .wp-block-button__link:hover,
.home .arcx-hero .wp-block-button__link:focus,
.home .arcx-posts > p:last-child a:hover,
.home .arcx-posts > p:last-child a:focus {
  background: #2d3b5f !important;
  background-color: #2d3b5f !important;
  border-color: #2d3b5f !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(45, 59, 95, 0.18) !important;
  opacity: 1 !important;
  filter: none !important;
}

.home .arcx-card > p:last-child > a,
.home .arcx-card .wp-block-paragraph:last-child > a {
  background: #9f2031 !important;
  background-color: #9f2031 !important;
  border-color: #9f2031 !important;
  color: #ffffff !important;
}

.home .arcx-card > p:last-child > a:hover,
.home .arcx-card > p:last-child > a:focus,
.home .arcx-card .wp-block-paragraph:last-child > a:hover,
.home .arcx-card .wp-block-paragraph:last-child > a:focus {
  background: #7f1827 !important;
  background-color: #7f1827 !important;
  border-color: #7f1827 !important;
  color: #ffffff !important;
}

/* 104. トップページレスポンシブ */
.home .arcx-hero h1,
.home .arcx-section h2,
.home .arcx-card h3 {
	letter-spacing: 0 !important;
	text-wrap: balance;
	overflow-wrap: anywhere;
	word-break: normal;
}

.home .arcx-hero .wp-block-button__link,
.home .arcx-posts > p:last-child a,
.home .arcx-card > p:last-child > a,
.home .arcx-card .wp-block-paragraph:last-child > a {
	min-height: 46px;
	align-items: center;
	justify-content: center;
	text-align: center;
	white-space: normal;
	line-height: 1.35 !important;
}

@media (max-width: 960px) {
	.home .arcx-hero {
		padding-top: 58px !important;
		padding-bottom: 62px !important;
	}

	.home .arcx-hero-header {
		margin-bottom: 34px !important;
		text-align: left !important;
	}

	.home .arcx-hero h1 {
		max-width: 760px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		font-size: clamp(28px, 5vw, 40px) !important;
		line-height: 1.24 !important;
	}

	.home .arcx-hero-columns {
		display: block !important;
	}

	.home .arcx-hero-columns .wp-block-column:first-child {
		margin-bottom: 34px !important;
	}
}

@media (max-width: 768px) {
	.home .site-body-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.home .arcx-hero,
	.home .arcx-section {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.home .arcx-hero {
		padding-top: 50px !important;
		padding-bottom: 54px !important;
	}

	.home .arcx-label {
		margin-bottom: 16px !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
	}

	.home .arcx-hero h1 {
		font-size: clamp(25px, 6.8vw, 31px) !important;
		line-height: 1.24 !important;
	}

	.home .arcx-lead {
		font-size: 17px !important;
		line-height: 1.8 !important;
	}

	.home .arcx-hero p,
	.home .arcx-section p {
		font-size: 15.5px !important;
		line-height: 1.85 !important;
	}

	.home .arcx-hero-image img {
		border-radius: 14px !important;
		box-shadow: 0 14px 30px rgba(31, 42, 68, 0.08) !important;
	}

	.home .arcx-section {
		padding-top: 46px !important;
		padding-bottom: 46px !important;
	}

	.home .arcx-section h2 {
		margin-bottom: 24px !important;
		padding-top: 18px !important;
		padding-bottom: 13px !important;
		font-size: clamp(22px, 5.8vw, 26px) !important;
		line-height: 1.35 !important;
	}

	.home .arcx-card {
		padding: 28px 22px 26px !important;
		border-radius: 14px !important;
	}

	.home .arcx-card h3 {
		font-size: 20px !important;
		line-height: 1.4 !important;
	}

	.home .arcx-card > p:last-child > a,
	.home .arcx-card .wp-block-paragraph:last-child > a {
		width: 100%;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}

@media (max-width: 420px) {
  .home .arcx-hero,
  .home .arcx-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .home .arcx-hero h1 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  .home .arcx-lead {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  .home .arcx-hero p,
  .home .arcx-section p {
    font-size: 14.5px !important;
    line-height: 1.8 !important;
  }

  .home .arcx-section h2 {
    font-size: 23px !important;
  }
}

/* =========================================================
   30. トップページ構造安定化
   - セクション幅、メッセージ枠、関連サービスカードの横幅を固定
   - 管理しやすい最終上書きとして配置
========================================================= */
.home .arcx-section {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.home .arcx-hero {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  box-sizing: border-box !important;
}

.home .site-body-container,
.home .main-section,
.home .arcx-card,
.home .arcx-message,
.home .arcx-service-card {
  box-sizing: border-box;
}

.home .arcx-section.arcx-message {
  max-width: 980px !important;
  box-sizing: border-box;
}

.home .arcx-section.home .arcx-message {
  width: min(100%, 1108px) !important;
  max-width: 1108px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.home .arcx-service-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.home .arcx-service-grid > .arcx-service-card,
.home .arcx-service-grid > .wp-block-group {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.home .arcx-service-card,
.home .arcx-service-card > * {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.home .arcx-service-card h3.wp-block-heading,
.home .arcx-service-card h3,
.home .arcx-service-card .vk_button_link_caption {
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.home .arcx-service-card .wp-block-vk-blocks-button,
.home .arcx-service-card .vk_button,
.home .arcx-service-card .vk_button_link {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

@media (max-width: 991px) {
  .home .arcx-service-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .home .arcx-hero,
  .home .arcx-section,
  .home .arcx-hero-columns,
  .home .arcx-hero-columns .wp-block-column {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .home .arcx-hero-header,
  .home .arcx-hero h1,
  .home .arcx-lead,
  .home .arcx-hero p,
  .home .arcx-hero-image,
  .home .arcx-hero .wp-block-buttons {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .home .arcx-hero h1,
  .home .arcx-hero p,
  .home .arcx-section p {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
    line-break: anywhere;
  }

  .home .arcx-section.arcx-message {
    max-width: calc(100% - 32px) !important;
  }

  .home .arcx-section.home .arcx-message {
    width: 100% !important;
  }
}
/* 104-1. スマホの2列カードを1列にする */
@media (max-width: 768px) {
  .home .arcx-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
/* 104-2. スマホの最新記事を1列にする */
@media (max-width: 768px) {
  .home .arcx-posts .wp-block-latest-posts {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
/* 31-1. 関連サービスカードのボタン崩れ防止 */
.home .arcx-service-card {
  display: flex !important;
  flex-direction: column !important;
}

.home .arcx-service-card .wp-block-vk-blocks-button {
  margin-top: auto !important;
}

.home .arcx-service-card .vk_button_link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 12px 18px !important;
  box-sizing: border-box !important;
}

.home .arcx-service-card .vk_button_link_caption {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
}

.home .arcx-service-card .vk_button_link_txt {
  min-width: 0 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

.home .arcx-service-card .vk_button_link_after {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
}

@media (min-width: 992px) {
  .home .arcx-service-card .vk_button_link_txt {
    white-space: nowrap !important;
    font-size: 15px !important;
  }
}
/* 31-2. 関連サービスカードの見た目を整える */
.home .arcx-service-grid {
  gap: 28px !important;
  margin-top: 30px !important;
}

.home .arcx-service-card {
  padding: 30px 30px 28px !important;
  border-radius: 16px !important;
  border-color: #E0D7CB !important;
  box-shadow: 0 14px 34px rgba(31, 42, 68, 0.055) !important;
}

.home .arcx-service-card .arcx-service-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 104px !important;
  margin: 0 0 28px !important;
}

.home .arcx-service-card .arcx-service-logo img {
  display: block !important;
  width: auto !important;
  max-width: 86% !important;
  max-height: 88px !important;
  object-fit: contain !important;
}

.home .arcx-service-card .arcx-service-logo-bzlog img {
  height: 70px !important;
  max-width: 260px !important;
  max-height: 70px !important;
}

.home .arcx-service-card .arcx-service-logo-zukai img {
  height: 66px !important;
  max-width: 270px !important;
  max-height: 66px !important;
}

.home .arcx-service-card .arcx-service-logo-arctangent img {
  height: auto !important;
  width: 235px !important;
  max-width: 235px !important;
  max-height: 82px !important;
}

.home .arcx-service-logo-arctangent img {
  max-height: 96px !important;
}

.home .arcx-service-card h3.wp-block-heading,
.home .arcx-service-card h3 {
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  font-size: 21px !important;
  line-height: 1.42 !important;
}

.home .arcx-service-card p {
  font-size: 15.5px !important;
  line-height: 1.85 !important;
}

.home .arcx-service-card .vk_button_link {
  min-height: 52px !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .home .arcx-service-card {
    padding: 26px 22px 24px !important;
  }

  .home .arcx-service-card .arcx-service-logo {
    height: 88px !important;
    margin-bottom: 22px !important;
  }

  .home .arcx-service-card .arcx-service-logo img {
    max-height: 74px !important;
  }

  .home .arcx-service-card .arcx-service-logo-bzlog img {
    height: 62px !important;
    max-width: 235px !important;
    max-height: 62px !important;
  }

  .home .arcx-service-card .arcx-service-logo-zukai img {
    height: 58px !important;
    max-width: 245px !important;
    max-height: 58px !important;
  }

  .home .arcx-service-card .arcx-service-logo-arctangent img {
    width: 215px !important;
    max-width: 215px !important;
    max-height: 74px !important;
  }
}
/* 31-3. 関連サービスの正式名称を読みやすく表示 */
.home .arcx-service-card h3.wp-block-heading,
.home .arcx-service-card h3 {
  text-align: center !important;
  font-size: clamp(19px, 1.35vw, 21px) !important;
  line-height: 1.45 !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

@media (min-width: 992px) {
  .home .arcx-service-card h3.wp-block-heading,
  .home .arcx-service-card h3 {
    min-height: 62px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 768px) {
  .home .arcx-service-card h3.wp-block-heading,
  .home .arcx-service-card h3 {
    text-align: left !important;
    font-size: 20px !important;
  }
}

/* 32. トップページ検索・タグ導線 */
.home .arcx-keyword-section .arcx-search-panel {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
	margin: 30px 0 22px;
}

.home .arcx-keyword-section .arcx-search-panel input[type="search"] {
	flex: 1 1 320px;
	min-width: 0;
	min-height: 50px;
	border: 1px solid #d8d0c4;
	border-radius: 8px;
	background: #ffffff;
	color: #1f2a44;
	font-size: 16px;
	line-height: 1.5;
	padding: 0 20px;
	box-shadow: 0 8px 20px rgba(31, 42, 68, 0.06);
}

.home .arcx-keyword-section .arcx-search-panel input[type="search"]::placeholder {
	color: #7d8490;
}

.home .arcx-keyword-section .arcx-search-panel button {
	flex: 0 0 auto;
	min-height: 50px;
	border: 1px solid #1f2a44;
	border-radius: 8px;
	background: #1f2a44;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	padding: 0 26px;
	box-shadow: 0 10px 24px rgba(31, 42, 68, 0.18);
	cursor: pointer;
}

.home .arcx-keyword-section .arcx-search-panel button:hover,
.home .arcx-keyword-section .arcx-search-panel button:focus-visible {
	background: #2d3b5f;
	border-color: #2d3b5f;
}

.home .arcx-keyword-section .arcx-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.home .arcx-keyword-section .arcx-tag-list a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	border: 1px solid #d8d0c4;
	border-radius: 999px;
	background: #ffffff;
	color: #1f2a44;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
	padding: 8px 15px;
	box-shadow: 0 8px 20px rgba(31, 42, 68, 0.05);
}

.home .arcx-keyword-section .arcx-tag-list a:hover,
.home .arcx-keyword-section .arcx-tag-list a:focus-visible {
	border-color: #9f2031;
	color: #9f2031;
	text-decoration: none;
}

@media (max-width: 640px) {
	.home .arcx-keyword-section .arcx-search-panel {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.home .arcx-keyword-section .arcx-search-panel input[type="search"],
	.home .arcx-keyword-section .arcx-search-panel button {
		width: 100%;
	}
}

/* 33. 関連メディアおすすめ記事 */
.home .arcx-related-media-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 32px;
}

.home .arcx-related-media-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	padding-top: 22px;
}

.home .arcx-related-media-logo {
	display: flex;
	align-items: center;
	min-height: 42px;
	margin: 0 0 18px;
}

.home .arcx-related-media-logo img {
	display: block;
	width: auto;
	height: auto;
	max-width: 178px;
	max-height: 40px;
	object-fit: contain;
}

.home .arcx-related-media-logo-text {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	color: #1f2a44;
	font-weight: 800;
	line-height: 1.35;
}

.home .arcx-related-media-logo-text strong {
	font-size: 18px;
	letter-spacing: 0;
}

.home .arcx-related-media-logo-text span {
	font-size: 12px;
	color: #9f2031;
}

.home .arcx-related-media-thumb {
	margin: 0 -30px 22px;
	border-top: 1px solid #e6ded2;
	border-bottom: 1px solid #e6ded2;
	background: #f7f3ec;
}

.home .arcx-related-media-thumb img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.home .arcx-related-media-card h3 {
	margin-bottom: 16px;
}

.home .arcx-related-media-card p {
	margin-bottom: 0;
}

.home .arcx-related-media-card p:last-child {
	width: 100% !important;
	max-width: none !important;
	margin-top: auto;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-top: 22px;
	align-self: stretch;
}

.home .arcx-related-media-card p:last-child a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	min-height: 52px;
	box-sizing: border-box;
	text-align: center;
}

@media (max-width: 960px) {
	.home .arcx-related-media-grid {
		grid-template-columns: 1fr;
	}
}

