/* =================================
   サービスページ専用（/service）
   ※ 他ページに影響しないよう .page-slug-service でスコープ
================================= */
/* 100dvh をヘッダー・管理バー高さで差し引いたFV */
.page-slug-service .fv-service.page-section {
  min-height: calc(100dvh - (var(--header-h, 0px) + var(--adminbar-h, 0px)));
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  scroll-margin-top: var(--header-h, 0px); /* ページ内リンク対策 */
  padding: 0; /* いただいた padding:0 を反映 */
}
/* ログイン時の管理バー高さ（環境で32/46など調整可） */ :root {
  --adminbar-h: 0px;
}
body.admin-bar {
  --adminbar-h: 32px;
}
/* ===== FV 内部 ===== */
.page-slug-service .fv-service .fv-inner {
  max-width: 100vw;
  margin: 0 auto;
  text-align: center; /* いただいた .fv-inner { text-align:center; } を反映 */
}
.page-slug-service .page-title {
  margin: 0 auto var(--sp-12);
  font-size: clamp(2rem, 5vw, 3.2rem); /* 3.2rem 指定をレスポンシブに */
  font-weight: 500;
  font-family: 'Zen Kurenaido', sans-serif;
  color: var(--c-service); /* #338998 は tokens の --c-service を使用 */
}
.page-slug-service .service-lead {
  margin-bottom: 2.4rem;
}
.page-slug-service .service-lead p {
  font-size: var(--fz-500, 1.2rem); /* 既存トークンがなければ 1.2rem */
  margin-bottom: .4rem;
}
.page-slug-service p.service-pillars {
  font-size: 1.4rem;
  font-family: 'Zen Kurenaido', sans-serif;
  color: var(--c-service);
}
/* 行動エリア（ボタン群）
   ※ HTMLの既存クラス名に合わせて .service-buttons を採用 */
.page-slug-service .service-actions-lead {
  font-weight: 600;
  margin: 0 0 .5rem;
  color: var(--c-service);
}
.page-slug-service .service-buttons {
  display: flex;
  justify-content: center;
  gap: var(--sp-8, 2rem);
}
/* ==============================
   サービス一覧（カード）
   ※ 骨格は sections.css の .service-block 系を再利用
============================== */
.page-slug-service .service-list {
  display: grid;
  gap: 5rem; /* 必要なら var(--sp-12) に調整 */
  max-width: 960px;
  margin: 10rem auto; /* いただいた .service-list の中央寄せを統合 */
  justify-content: center;
  width: fit-content; /* いただいた fit-content を踏襲 */
}
.page-slug-service .service-card {
  background-color: var(--c-surface, #fff); /* 既存トークン優先 */
  padding: 3rem; /* いただいた .sticky-note padding と整合 */
}
.page-slug-service .service-pillars-label {
  margin: 0 0 .8rem 2rem;
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-family: 'Zen Kurenaido', sans-serif;
  color: var(--c-service);
}
.page-slug-service h2.service-heading {
  color: var(--c-service);
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 2rem;
}
.page-slug-service h3.service-subheading {
  margin-top: 3rem; /* いただいた指定を優先 */
  margin-bottom: 2rem;
  color: var(--c-service);
  font-size: 1.6rem;
  font-weight: 400;
}
.page-slug-service p.service-summary {
  line-height: 1.6;
  margin-bottom: .4rem;
  padding-left: 1.2rem; /* いただいた padding-left を反映 */
}
/* リスト（カード内だけに限定） */
.page-slug-service .service-card ul {
  list-style: square inside; /* inside + square（ご指定を統合） */
  padding-left: 1rem; /* inside時の読みやすさ用 */
}
.page-slug-service .service-card li {
  margin-bottom: 1rem; /* いただいた .service-points li を汎用化 */
  line-height: 1.9;
}
.page-slug-service .service-card li strong {
  font-weight: 500;
}
.page-slug-service p.service-point-desc {
  margin: .4rem .2rem;
}

/* セクション間の余白（ID指定の明示ニーズに対応） */
.page-slug-service section#strategy, .page-slug-service section#creative {
  margin-bottom: 10rem;
}
/* ==============================
   細かな調整
============================== */
@media (max-width: 599px) {
  .page-slug-service .service-actions-lead {
    text-align: center;
  }
  .page-slug-service .service-card .btn {
    width: 100%;
    text-align: center;
  }
}
/* 動きが苦手な人向け */
@media (prefers-reduced-motion: reduce) {
  .page-slug-service .service-buttons .btn, .page-slug-service .service-card .btn {
    transition: none;
  }
}
.fv-inner {
  text-align: center;
}
.service-lead {
  margin-bottom: 2rem;
}
.service-lead p {
  font-size: 1.2rem;
  margin-bottom: 0.2rem;
}
p.service-pillars {
  font-size: 1.4rem;
  font-family: 'Zen Kurenaido', sans-serif;
  color: #338998;
}
.service-list {
  width: fit-content;
  max-width: 760px;
  margin: auto;
}
.service-card {
  background-color: #ffffff;
}
.service-pillars-label {
    font-size: 2.4rem;
    font-family: 'Zen Kurenaido';
    color: #ffffff;
    background-color: #338998;
    width: fit-content;
}
h3.service-subheading {
    margin-top: 3.2rem;
    margin-bottom: 1.6rem;
}
.service-points li {
  margin-bottom: 1rem;
}
.service-points strong {
    font-weight: 500;
    font-size: 1.1rem;
}

.sticky-note h2 {
  margin-bottom: 2rem;
}
p.service-point-desc {
  margin: 0.4rem 0.2rem;
}
.sticky-note ul {
  list-style-type: square;
  list-style-position: inside;
  padding-left: 1rem;
}
section#strategy, section#creative {
  margin-bottom: 10rem;
}

p.service-summary {
    margin-top: 2rem;
}

.service-list .sticky-note {
    padding: 1.6rem 1rem;
    margin-top: 0;
}
ul.service-results {
    margin-bottom: 0;
}

.service-list {
    margin-bottom: 10rem;
}

.service-block {
	scroll-margin-top: var(--header-h, 80px);
}

@media (max-width: 767px) {
	
	.fullheight-section {
		min-height: 100vh;}
	
	h1.page-title.char-animate {
    font-size: 2.4rem;
}
	
	.service-lead p {
    font-size: 1rem;
}
	
	.container {
    padding-inline: .6rem;
}
	
    .hero-buttons {
        flex-wrap: nowrap;
        gap: .8rem;
    }
	
	.btn-highlight {
    padding: .8rem .6rem;
}
    .service-pillars-label {
        font-size: 1.6rem;
        padding: .4rem;
    }
	
    .service-list .sticky-note {
        padding: .8rem .4rem .8rem .8rem;
    }
    .sticky-note ul {
        list-style-position: outside;
    }
	p.service-summary {
    margin-top: 1rem;
}
	h3.service-subheading {
    margin-top: 2.4rem;
    margin-bottom: 1.2rem;
}
	
	.service-results li {
    margin: .4rem 0;
}
	section#strategy, section#creative {
    margin-bottom: 5rem;
}
}

.cta-block.text-center.mt-4 {
    margin-top: 2rem;
}
.d-flex.flex-column.flex-sm-row.gap-3.justify-content-center {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

