/*
Theme Name: Arkhe Child
Theme URI: https://2office.jp/
Description: Child theme for Arkhe
Author: 2nd Office
Version: 1.3.0
Template: arkhe
Text Domain: arkhe-child
*/

/* =========================================================
   Root
========================================================= */
:root {
  --color-navy: #16263d;
  --color-navy-dark: #0e1a2a;
  --color-navy-soft: #304764;
  --color-accent: #9a8872;

  --color-white: #ffffff;
  --color-bg: #ffffff;
  --color-bg-soft: #f8f9fb;
  --color-bg-deep: #f3f5f8;

  --color-text: #1f2430;
  --color-text-soft: #606875;
  --color-text-light: #7a8290;

  --color-border: #e3e8ef;
  --color-line: #edf1f5;

  --shadow-sm: 0 10px 28px rgba(15, 28, 45, 0.05);
  --shadow-md: 0 20px 48px rgba(15, 28, 45, 0.08);
  --shadow-lg: 0 28px 70px rgba(15, 28, 45, 0.11);

  --radius-xs: 10px;
  --radius-sm: 14px;
  --radius-md: 18px;
  --radius-lg: 26px;

  --container: 1260px;
  --container-narrow: 840px;

  --section-space: 96px;
  --section-space-sm: 72px;
}

/* =========================================================
   Base
========================================================= */
html {
  scroll-behavior: smooth;
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family:
    "Century Gothic",
    "Avenir Next",
    "Avenir",
    "Futura",
    "Trebuchet MS",
    "Helvetica Neue",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
textarea,
select,
button {
  font: inherit;
  font-family:
    "Century Gothic",
    "Avenir Next",
    "Avenir",
    "Futura",
    "Trebuchet MS",
    "Helvetica Neue",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
}

button {
  cursor: pointer;
}

svg {
  vertical-align: middle;
}

/* =========================================================
   Arkhe header / front page adjustments
========================================================= */
.home .c-pageTitle,
.home .p-pageTitle,
.home .page_title,
.home .c-pageHeader,
.home .p-breadcrumb,
.home .c-breadcrumb,
.home .breadcrumb,
.home .p-topicPath,
.home .c-entryHeader,
.home .post_content > .wp-block-post-title,
.home .entry-header {
  display: none !important;
}

.home .l-mainContent__inner,
.home .l-content,
.home .l-container {
  max-width: none;
}

.home .l-mainContent__body {
  padding-top: 0;
}

.home .entryContent,
.home .entry-content {
  max-width: none;
}

.home .wp-block-group,
.home .wp-block-cover,
.home .wp-block-columns {
  margin-top: 0;
  margin-bottom: 0;
}

/* =========================================================
   Typography
========================================================= */
h1,
h2,
h3,
.c-hero-title,
.c-profile-title,
.c-cta-title,
.c-contact-title,
.c-heading__title,
.wp-block-heading,
.c-card__title,
.p-top-steps__title {
  font-family:
    "Century Gothic",
    "Avenir Next",
    "Avenir",
    "Futura",
    "Trebuchet MS",
    "Helvetica Neue",
    "Hiragino Sans",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--color-navy-dark);
}

p {
  margin: 0 0 1.2em;
}

.c-heading {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 54px;
}

.c-heading__eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.c-heading__title {
  margin: 0 0 16px;
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1.42;
}

.c-heading__lead {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 16px;
  line-height: 1.9;
}

/* =========================================================
   Layout
========================================================= */
.p-front-page {
  overflow: hidden;
}

.l-container-2office {
  width: min(calc(100% - 56px), var(--container));
  margin: 0 auto;
}

.c-section {
  padding: var(--section-space) 0;
}

.c-section--sm {
  padding: var(--section-space-sm) 0;
}

.c-section--bg {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

/* =========================================================
   Buttons
========================================================= */
.c-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition: 0.25s ease;
  cursor: pointer;
  white-space: nowrap;
}

.c-btn--primary {
  background: linear-gradient(180deg, #20344f 0%, #16263d 100%);
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 14px 32px rgba(15, 28, 45, 0.12);
}

.c-btn--primary:hover {
  background: linear-gradient(180deg, #274060 0%, #19314c 100%);
  transform: translateY(-1px);
}

.c-btn--secondary {
  background: var(--color-white);
  color: var(--color-navy);
  border-color: #cfd7e1;
  box-shadow: 0 6px 18px rgba(15, 28, 45, 0.04);
}

.c-btn--secondary:hover {
  border-color: var(--color-navy);
  color: var(--color-navy-dark);
  transform: translateY(-1px);
}

/* =========================================================
   Card
========================================================= */
.c-card {
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: 16px;
  padding: 26px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  min-height: 100%;
}

.c-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(15, 28, 45, 0.07);
}

.c-card__title {
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--color-navy-dark);
}

.c-card__text {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.9;
}

/* =========================================================
   Icon
========================================================= */
.c-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  min-width: 60px;
  min-height: 60px;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
  border: 1px solid var(--color-line);
  margin-bottom: 20px;
  line-height: 1;
  font-size: 0;
}

.c-icon,
svg.c-icon,
.c-icon-wrap > svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  flex: 0 0 28px !important;
  color: var(--color-navy);
}

svg.c-icon path[stroke],
svg.c-icon rect[stroke],
svg.c-icon circle[stroke],
svg.c-icon line[stroke],
svg.c-icon polyline[stroke],
svg.c-icon polygon[stroke] {
  stroke-width: 2.1 !important;
}

/* =========================================================
   Home white paper layout
========================================================= */
body.home {
  background: #eef2f5 !important;
}

.home .l-mainContent__body {
  background: #eef2f5 !important;
  padding: 6px 0 32px !important;
}

.home .entryContent,
.home .entry-content {
  width: min(calc(100% - 72px), 1280px) !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  background: #ffffff !important;
  border: 1px solid #e4ebf1 !important;
  border-radius: 32px !important;
  box-shadow: 0 22px 60px rgba(15, 28, 45, 0.06) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.home .entryContent > section,
.home .entry-content > section {
  position: relative;
}

.home .entryContent > section + section,
.home .entry-content > section + section {
  border-top: 1px solid #f1f4f7;
}

@media (min-width: 961px) {
  body.home #header .l-header__body {
    width: min(100% - 72px, 1280px) !important;
  }

  .home .l-container-2office {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   Hero
========================================================= */
.p-top-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(48, 71, 100, 0.07), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%) !important;
  padding: 34px 0 40px !important;
}

.p-top-hero::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(15, 28, 45, 0.08) 20%, rgba(15, 28, 45, 0.08) 80%, transparent 100%);
}

.p-top-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, 0.98fr);
  gap: 52px;
  align-items: center;
}

.p-top-hero__copy {
  max-width: 660px;
  position: relative;
  z-index: 2;
}

.p-top-hero__eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.c-hero-title {
  margin: 0 0 14px;
  font-size: clamp(24px, 2.9vw, 36px);
  line-height: 1.1;
  letter-spacing: 0.003em;
  max-width: 10.8em;
}

.c-hero-title__line {
  display: block;
}

@media (min-width: 961px) {
  .c-hero-title__line {
    white-space: nowrap;
  }
}

.p-top-hero__lead {
  margin: 0 0 18px;
  max-width: 560px;
  font-size: 15px;
  color: var(--color-text-soft);
  line-height: 1.82;
}

.p-top-hero .c-btn-group {
  gap: 12px;
  margin-bottom: 10px;
}

.p-top-hero .c-btn {
  min-height: 50px;
  padding: 0 22px;
}

.p-top-hero__note {
  margin-top: 10px;
  font-size: 14px;
  color: var(--color-text-soft);
  line-height: 1.8;
}

.p-top-hero__points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.p-top-hero__points li {
  padding: 8px 12px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-white);
  font-size: 12px;
  font-weight: 700;
  color: var(--color-navy);
  box-shadow: 0 4px 12px rgba(15, 28, 45, 0.03);
}

.p-top-hero__visual {
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 1;
}

.p-top-hero__card {
  width: 100%;
  max-width: 400px;
  position: relative;
  background: rgba(255, 255, 255, 0.99);
  border: 1px solid var(--color-border);
  border-radius: 26px;
  padding: 14px;
  box-shadow: var(--shadow-lg);
  margin-left: auto;
  margin-right: 0;
}

.p-top-hero__frame {
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(15, 28, 45, 0.06);
  border-radius: 18px;
  pointer-events: none;
}

.p-top-hero__photo {
  position: relative;
  aspect-ratio: 4 / 4.8;
  border-radius: 18px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(23, 40, 63, 0.08), rgba(48, 71, 100, 0.06)),
    #edf2f7;
  border: 1px solid rgba(23, 40, 63, 0.08);
}

.p-top-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-top-hero__photo-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-navy-soft);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  padding: 20px;
}

.p-top-hero__badge {
  position: absolute;
  left: -8px;
  bottom: 14px;
  min-width: 180px;
  padding: 11px 13px;
  border-radius: 16px;
  background: linear-gradient(180deg, #20344f 0%, #16263d 100%);
  color: var(--color-white);
  box-shadow: var(--shadow-md);
}

.p-top-hero__badge strong {
  display: block;
  font-size: 18px;
  line-height: 1.05;
  margin-bottom: 4px;
}

.p-top-hero__badge span {
  font-size: 10.5px;
  line-height: 1.4;
  opacity: 0.92;
}

/* =========================================================
   Hero trust
========================================================= */
.p-top-trust {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
  justify-content: flex-start;
}

.p-top-trust__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 54px;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f8f8f6 0%, #f2f3f1 100%);
  border: 1px solid #e6e3dc;
  box-shadow: none;
  white-space: nowrap;
}

.p-top-trust__item::before {
  content: "✦";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #b9a27f;
  font-size: 11px;
  line-height: 1;
  border-radius: 50%;
  background: #fcfaf6;
  border: 1px solid #e9dfd1;
}

.p-top-trust__item strong,
.p-top-trust__item span {
  display: inline;
  margin: 0;
  line-height: 1.5;
}

.p-top-trust__item strong {
  color: #2c3b50;
  font-size: 13px;
  font-weight: 700;
}

.p-top-trust__item span {
  color: #6b7480;
  font-size: 12px;
  font-weight: 500;
}

.p-top-trust__item strong::after {
  content: "｜";
  margin: 0 6px 0 8px;
  color: #c6ccd3;
  font-weight: 400;
}

.p-top-trust__item br {
  display: none;
}

/* =========================================================
   Grids
========================================================= */
.p-top-issues__grid,
.p-top-services__grid,
.p-top-reasons__grid,
.p-top-steps__grid,
.p-top-consults__grid {
  display: grid;
  gap: 20px;
}

.p-top-issues__grid,
.p-top-services__grid,
.p-top-reasons__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* =========================================================
   Services
========================================================= */
#services.c-section,
.p-top-services,
.p-top-services__section {
  padding-top: 60px;
  padding-bottom: 64px;
}

#services .c-heading {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

#services .c-heading__eyebrow {
  margin-bottom: 12px;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: #aa9276;
}

#services .c-heading__title {
  margin: 0 0 12px;
  font-size: clamp(24px, 2.5vw, 32px);
  line-height: 1.38;
}

#services .c-heading__lead {
  max-width: 700px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.9;
  color: #69727e;
}

.p-top-services__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.p-top-services__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 320px;
  padding: 28px 26px 24px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfcfb 100%);
  border: 1px solid #eceff3;
  box-shadow: 0 10px 26px rgba(15, 28, 45, 0.045);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.p-top-services__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15, 28, 45, 0.07);
  border-color: #e3e8ef;
}

.p-top-services__card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, #b89d7c 0%, #415674 100%);
  opacity: .9;
}

.p-top-services__card .c-icon-wrap {
  width: 58px;
  height: 58px;
  min-width: 58px;
  min-height: 58px;
  border-radius: 16px;
  margin-bottom: 18px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
  border: 1px solid #e6ecf2;
  box-shadow: none;
}

.p-top-services__card .c-icon,
.p-top-services__card svg.c-icon,
.p-top-services__card .c-icon-wrap > svg {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  flex: 0 0 28px !important;
}

.p-top-services__card .c-card__title {
  margin: 0 0 12px;
  font-size: 24px;
  line-height: 1.42;
  color: #142235;
}

.p-top-services__card .c-card__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  color: #66707d;
}

.p-top-services__link {
  margin-top: auto;
  padding-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #23364d;
  font-size: 13px;
  font-weight: 700;
  opacity: .92;
}

.p-top-services__link:hover {
  opacity: 1;
  transform: translateX(2px);
}

.p-top-services__card .c-card__text + .p-top-services__link,
.p-top-services__card p + .p-top-services__link {
  border-top: 1px solid #f1f4f7;
}

.p-top-services__card br {
  display: none;
}

/* =========================================================
   Reasons
========================================================= */
.p-top-reasons__card {
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

.p-top-reasons__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(180deg, #20344f 0%, #16263d 100%);
  color: var(--color-white);
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 16px;
}

/* =========================================================
   Flow
========================================================= */
.p-top-flow {
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: 28px;
  padding: 34px;
  box-shadow: var(--shadow-md);
}

.p-top-steps__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.p-top-steps__card {
  background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
  border: 1px solid var(--color-line);
  border-radius: 18px;
  padding: 28px 20px;
  min-height: 100%;
}

.p-top-steps__no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 38px;
  margin-bottom: 16px;
  padding: 0 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, #20344f 0%, #16263d 100%);
  color: var(--color-white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.p-top-steps__title {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.45;
  color: var(--color-navy-dark);
}

.p-top-steps__text {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.85;
}

/* =========================================================
   Profile
========================================================= */
.p-top-profile {
  background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
  padding-top: 60px;
  padding-bottom: 64px;
}

.p-top-profile__grid {
  display: grid;
  grid-template-columns: 0.86fr 1.14fr;
  gap: 62px;
  align-items: center;
}

.p-top-profile__photo {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(23, 40, 63, 0.08), rgba(48, 71, 100, 0.06)),
    #edf2f7;
  border: 1px solid rgba(23, 40, 63, 0.08);
  box-shadow: var(--shadow-sm);
}

.p-top-profile__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-top-profile__photo-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-navy-soft);
  font-weight: 700;
  text-align: center;
  padding: 20px;
}

.c-profile-title {
  margin: 0 0 18px;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.45;
}

.p-top-profile__text {
  margin: 0 0 14px;
  color: var(--color-text-soft);
  font-size: 16px;
  line-height: 1.95;
}

.p-top-profile__points {
  display: grid;
  gap: 12px;
  margin: 28px 0 30px;
}

.p-top-profile__point {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--color-line);
}

.p-top-profile__point:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.p-top-profile__point strong {
  min-width: 92px;
  color: var(--color-navy-dark);
  font-size: 14px;
}

.p-top-profile__point span {
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.8;
}

/* =========================================================
   Consult chips
========================================================= */
.p-top-consults__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-top-consults__item {
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: 16px;
  padding: 20px 20px;
  font-size: 15px;
  color: var(--color-text-soft);
  box-shadow: var(--shadow-sm);
  line-height: 1.85;
}

/* =========================================================
   CTA
========================================================= */
.p-top-cta {
  padding: 60px 0 64px;
  background: linear-gradient(135deg, #16263d 0%, #223652 100%);
  color: var(--color-white);
}

.p-top-cta__box {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.c-cta-title {
  margin: 0 0 16px;
  font-size: clamp(26px, 3.2vw, 36px);
  color: var(--color-white);
}

.p-top-cta__lead {
  margin: 0 auto 28px;
  max-width: 720px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  line-height: 1.9;
}

.p-top-cta .c-heading__eyebrow {
  color: rgba(255, 255, 255, 0.75);
}

.p-top-cta .c-btn-group {
  justify-content: center;
}

.p-top-cta .c-btn--primary {
  background: var(--color-white);
  color: var(--color-navy-dark);
  border-color: rgba(255, 255, 255, 0.14);
}

.p-top-cta .c-btn--primary:hover {
  background: #f2f5f8;
}

.p-top-cta .c-btn--secondary {
  background: transparent;
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow: none;
}

.p-top-cta .c-btn--secondary:hover {
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--color-white);
}

/* =========================================================
   Contact
========================================================= */
.p-top-contact {
  background: #fbfcfd;
  padding-top: 60px;
  padding-bottom: 64px;
}

.p-top-contact__grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 28px;
  align-items: start;
}

.p-top-contact__info,
.p-top-contact__form {
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: 20px;
  padding: 30px;
  box-shadow: var(--shadow-sm);
}

.c-contact-title {
  margin: 0 0 16px;
  font-size: 24px;
}

.p-top-contact__text {
  margin: 0 0 14px;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.9;
}

.p-top-contact__list {
  margin: 20px 0 0;
  padding-left: 18px;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 1.9;
}

.p-top-contact__list li + li {
  margin-top: 6px;
}

.c-form-note {
  margin-bottom: 20px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f5f7fa;
  color: var(--color-navy);
  font-size: 14px;
  font-weight: 700;
}

.c-form-row {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}

.c-form-group {
  display: grid;
  gap: 8px;
}

.c-form-group label {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-navy-dark);
}

.c-form-group input,
.c-form-group textarea,
.c-form-group select {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  font-size: 15px;
  color: var(--color-text);
  background: var(--color-white);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.c-form-group input:focus,
.c-form-group textarea:focus,
.c-form-group select:focus {
  border-color: var(--color-navy-soft);
  box-shadow: 0 0 0 4px rgba(48, 71, 100, 0.08);
}

.c-form-group textarea {
  min-height: 160px;
  resize: vertical;
}

/* =========================================================
   Header tuning for 2office / Arkhe
========================================================= */
#header.l-header {
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(22, 38, 61, 0.08);
  box-shadow: 0 8px 28px rgba(15, 28, 45, 0.04);
}

#header .l-header__body {
  width: min(100% - 32px, 1240px);
  min-height: 64px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 24px;
}

#header .l-header__left,
#header .l-header__center,
#header .l-header__right {
  min-width: 0;
}

#header .l-header__logo {
  margin: 0;
  line-height: 1;
}

#header .c-headLogo {
  display: inline-flex;
  align-items: center;
  color: #16263d;
  font-family:
    "Century Gothic",
    "Avenir Next",
    "Avenir",
    "Futura",
    "Trebuchet MS",
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.015em;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

#header .c-headLogo:hover {
  opacity: 0.82;
  transform: translateY(-1px);
}

#header .c-gnavWrap {
  display: flex;
  align-items: center;
}

#header .c-gnav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#header .c-gnav__li {
  display: flex;
  align-items: center;
}

#header .c-gnav__a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 12px;
  color: #24364d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  border-radius: 10px;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

#header .c-gnav__a:hover {
  background: rgba(22, 38, 61, 0.06);
  color: #16263d;
  transform: translateY(-1px);
}

#header .btn-cta .c-gnav__a {
  min-height: 42px;
  padding: 0 15px;
  margin-left: 8px;
  background: linear-gradient(180deg, #223752 0%, #16263d 100%);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(15, 28, 45, 0.10);
}

#header .btn-cta .c-gnav__a:hover {
  background: linear-gradient(180deg, #294262 0%, #1a2f4b 100%);
  color: #ffffff;
  transform: translateY(-1px);
}

#header .btn-cta .__mainText {
  letter-spacing: 0.01em;
}

#header .l-header__searchBtn .c-iconBtn,
#header .l-header__drawerBtn .c-iconBtn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(22, 38, 61, 0.04);
  transition: background-color 0.25s ease, transform 0.25s ease;
}

#header .l-header__searchBtn .c-iconBtn:hover,
#header .l-header__drawerBtn .c-iconBtn:hover {
  background: rgba(22, 38, 61, 0.09);
  transform: translateY(-1px);
}

#header .l-header__drawerBtn .c-iconBtn__icon svg,
#header .l-header__searchBtn .c-iconBtn__icon svg {
  width: 20px;
  height: 20px;
}

#header.is-fixed,
#header[data-pcfix="1"],
#header[data-spfix="1"] {
  background: rgba(255, 255, 255, 0.94);
}

.p-drawer {
  background: rgba(15, 28, 45, 0.42);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.p-drawer__inner {
  background: #ffffff;
}

.p-drawer__body {
  padding: 24px 22px 28px;
}

.c-drawerNav {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-drawerNav__li + .c-drawerNav__li {
  border-top: 1px solid rgba(22, 38, 61, 0.08);
}

.c-drawerNav__a {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 4px;
  color: #1f1f1f;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.c-drawerNav .btn-cta .c-drawerNav__a,
.c-drawerNav__li.btn-cta .c-drawerNav__a {
  margin-top: 10px;
  justify-content: center;
  min-height: 50px;
  border-radius: 999px;
  background: linear-gradient(180deg, #223752 0%, #16263d 100%);
  color: #ffffff;
  border: none;
}

/* =========================================================
   Inner Pages
========================================================= */
body.page:not(.home) {
  background: #eef2f5;
}

.page:not(.home) .l-mainContent__body {
  background: #eef2f5;
  padding: 18px 0 42px;
}

.page:not(.home) .entryContent,
.page:not(.home) .entry-content {
  width: min(calc(100% - 28px), 1180px);
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e4ebf1;
  border-radius: 30px;
  box-shadow: 0 18px 48px rgba(15, 28, 45, .06);
}

.page:not(.home) .entry-content {
  padding: 0 40px 44px;
  overflow: hidden;
}

.page:not(.home) .entry-header,
.page:not(.home) .c-pageHeader,
.page:not(.home) .c-pageTitleArea {
  padding: 34px 40px 14px;
  margin: 0;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  border-bottom: 1px solid #eef2f6;
}

.page:not(.home) .entry-title,
.page:not(.home) .c-pageTitle,
.page:not(.home) .archive-title {
  margin: 0;
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.22;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: #16263d;
}

.page:not(.home) .entry-header p,
.page:not(.home) .c-pageHeader p,
.page:not(.home) .c-pageTitleArea p {
  margin: 10px 0 0;
  color: #66707d;
  font-size: 14px;
  line-height: 1.8;
}

.page:not(.home) .entry-content h2,
.page:not(.home) .entry-content .wp-block-heading {
  margin: 0 0 14px;
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.34;
  letter-spacing: -0.01em;
  font-weight: 700;
  color: #16263d;
}

.page:not(.home) .entry-content h3 {
  margin: 28px 0 12px;
  font-size: clamp(20px, 1.9vw, 25px);
  line-height: 1.42;
  font-weight: 700;
  color: #1b3048;
}

.page:not(.home) .entry-content h4 {
  margin: 24px 0 10px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  color: #24364d;
}

.page:not(.home) .entry-content p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.95;
  color: #5f6976;
}

.page:not(.home) .entry-content strong {
  color: #16263d;
  font-weight: 700;
}

.page:not(.home) .entry-content > * + * {
  margin-top: 22px;
}

.page:not(.home) .entry-content > .wp-block-group,
.page:not(.home) .entry-content > section {
  padding: 32px 34px;
  border: 1px solid #e7edf3;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 28, 45, .04);
}

.page:not(.home) .entry-content > .wp-block-columns {
  gap: 18px;
  align-items: stretch;
}

.page:not(.home) .entry-content > .wp-block-columns > .wp-block-column {
  position: relative;
  padding: 28px 24px 24px;
  border: 1px solid #e7edf3;
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  box-shadow: 0 10px 28px rgba(15, 28, 45, .04);
}

.page:not(.home) .entry-content > .wp-block-columns > .wp-block-column::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #b89d7c 0%, #415674 100%);
}

.page:not(.home) .entry-content table,
.page:not(.home) .wp-block-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid #dfe8f0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(15, 28, 45, .035);
}

.page:not(.home) .entry-content th,
.page:not(.home) .entry-content td,
.page:not(.home) .wp-block-table th,
.page:not(.home) .wp-block-table td {
  padding: 16px 18px;
  border-bottom: 1px solid #e8eef4;
  font-size: 15px;
  line-height: 1.8;
  vertical-align: top;
}

.page:not(.home) .entry-content th,
.page:not(.home) .wp-block-table th {
  width: 28%;
  background: #f4f7fa;
  color: #16263d;
  font-weight: 700;
  white-space: nowrap;
}

.page:not(.home) .entry-content ul,
.page:not(.home) .entry-content ol {
  margin: 0 0 18px;
  padding-left: 1.35em;
}

.page:not(.home) .entry-content li {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.9;
  color: #5f6976;
}

.page:not(.home) .entry-content blockquote,
.page:not(.home) .entry-content .wp-block-quote {
  margin: 22px 0;
  padding: 22px 24px;
  border-left: 4px solid #415674;
  border-radius: 18px;
  background: linear-gradient(180deg, #f8fbfd 0%, #f3f7fa 100%);
  box-shadow: none;
}

.page:not(.home) .entry-content .wp-block-image img,
.page:not(.home) .entry-content figure img {
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(15, 28, 45, .07);
}

.page:not(.home) .entry-content .wp-block-buttons {
  gap: 12px;
  margin-top: 20px;
}

.page:not(.home) .entry-content .wp-block-button__link,
.page:not(.home) .entry-content .c-btn {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.page:not(.home) .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.page:not(.home) .entry-content .c-btn--primary {
  background: linear-gradient(180deg, #223752 0%, #16263d 100%);
  color: #fff;
  box-shadow: 0 10px 22px rgba(15, 28, 45, .12);
}

.page:not(.home) .entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.page:not(.home) .entry-content .c-btn--secondary {
  background: #fff;
  color: #24364d;
  border: 1px solid #d7e0e8;
  box-shadow: none;
}

.page:not(.home) .wpcf7 form,
.page:not(.home) form {
  background: #f9fbfc;
  border: 1px solid #e6edf4;
  border-radius: 24px;
  padding: 28px 28px 24px;
}

.page:not(.home) input[type="text"],
.page:not(.home) input[type="email"],
.page:not(.home) input[type="tel"],
.page:not(.home) input[type="url"],
.page:not(.home) input[type="number"],
.page:not(.home) select,
.page:not(.home) textarea {
  width: 100%;
  border: 1px solid #d8e1ea;
  border-radius: 14px;
  background: #fff;
  color: #24364d;
  font-size: 15px;
  line-height: 1.6;
  padding: 14px 16px;
  box-shadow: none;
}

.page:not(.home) textarea {
  min-height: 140px;
  resize: vertical;
}

.page:not(.home) input[type="submit"],
.page:not(.home) button[type="submit"] {
  min-height: 52px;
  padding: 0 24px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(180deg, #223752 0%, #16263d 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(15, 28, 45, .12);
}

.page:not(.home) .entry-content .has-background {
  border-radius: 22px;
}

/* =========================================================
   Utility
========================================================= */
.p-front-page .c-btn,
.p-front-page .c-card,
.p-front-page .p-top-steps__card,
.p-front-page .p-top-contact__info,
.p-front-page .p-top-contact__form {
  box-sizing: border-box;
}

.p-front-page .c-btn:focus-visible,
.p-front-page a:focus-visible,
.p-front-page button:focus-visible,
.p-front-page input:focus-visible,
.p-front-page textarea:focus-visible,
.p-front-page select:focus-visible {
  outline: 2px solid rgba(48, 71, 100, 0.35);
  outline-offset: 2px;
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 1180px) {
  .p-top-hero__grid,
  .p-top-profile__grid,
  .p-top-contact__grid {
    grid-template-columns: 1fr;
  }

  .p-top-hero__copy {
    max-width: none;
  }

  .p-top-hero__card {
    max-width: 620px;
    margin: 0 auto;
  }

  .p-top-profile__photo {
    max-width: 520px;
  }

  .p-top-steps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  :root {
    --section-space: 76px;
    --section-space-sm: 58px;
  }

  .l-container-2office {
    width: min(calc(100% - 28px), var(--container));
  }

  .c-heading {
    margin-bottom: 42px;
  }

  .home .l-mainContent__body {
    padding: 12px 0 24px;
  }

  .home .entryContent,
  .home .entry-content {
    width: min(calc(100% - 28px), 100%);
    padding-left: 24px;
    padding-right: 24px;
    border-radius: 24px;
    box-sizing: border-box;
  }

  .home .l-container-2office {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .p-top-hero {
    padding: 28px 0 32px;
  }

  .p-top-issues__grid,
  .p-top-services__grid,
  .p-top-reasons__grid,
  .p-top-consults__grid,
  .p-top-steps__grid {
    grid-template-columns: 1fr;
  }

  .p-top-flow {
    padding: 22px;
  }

  .p-top-hero__badge {
    position: static;
    margin-top: 12px;
  }

  .c-hero-title {
    max-width: none;
    font-size: clamp(24px, 4.8vw, 32px);
    line-height: 1.18;
  }

  .c-hero-title__line {
    display: inline;
    white-space: normal;
  }

  .c-hero-title__line + .c-hero-title__line::before {
    content: " ";
  }

  .p-top-hero__lead {
    font-size: 15px;
  }

  .p-top-trust {
    margin-top: 18px;
    gap: 10px;
  }

  .p-top-trust__item {
    min-height: 50px;
    padding: 10px 16px;
    white-space: normal;
    border-radius: 18px;
  }

  .p-top-trust__item strong,
  .p-top-trust__item span {
    font-size: 12px;
  }

  #services.c-section,
  .p-top-services,
  .p-top-services__section,
  .p-top-profile,
  .p-top-cta,
  .p-top-contact {
    padding-top: 48px;
    padding-bottom: 52px;
  }

  #services .c-heading {
    margin-bottom: 30px;
  }

  .p-top-services__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .p-top-services__card {
    min-height: auto;
    padding: 24px 22px 22px;
  }

  .p-top-services__card .c-card__title {
    font-size: 22px;
  }

  #header .l-header__body {
    grid-template-columns: 42px 1fr 42px;
    min-height: 68px;
    width: min(100% - 24px, 1180px);
    column-gap: 16px;
  }

  #header .l-header__center {
    display: flex;
    justify-content: center;
  }

  #header .c-headLogo {
    font-size: 19px;
  }

  #header .c-gnavWrap {
    display: none;
  }

  .page:not(.home) .l-mainContent__body {
    padding: 14px 0 28px;
  }

  .page:not(.home) .entryContent,
  .page:not(.home) .entry-content {
    width: min(calc(100% - 20px), 100%);
    border-radius: 22px;
  }

  .page:not(.home) .entry-header,
  .page:not(.home) .c-pageHeader,
  .page:not(.home) .c-pageTitleArea {
    padding: 28px 24px 12px;
  }

  .page:not(.home) .entry-content {
    padding: 0 24px 30px;
  }

  .page:not(.home) .entry-content > .wp-block-group,
  .page:not(.home) .entry-content > section {
    padding: 26px 22px;
    border-radius: 20px;
  }

  .page:not(.home) .entry-content > .wp-block-columns {
    gap: 14px;
  }

  .page:not(.home) .entry-content > .wp-block-columns > .wp-block-column {
    padding: 24px 20px 20px;
    border-radius: 18px;
  }

  .page:not(.home) .entry-content th,
  .page:not(.home) .entry-content td,
  .page:not(.home) .wp-block-table th,
  .page:not(.home) .wp-block-table td {
    padding: 14px 14px;
    font-size: 14px;
  }
}

@media (max-width: 560px) {
  .l-container-2office {
    width: min(calc(100% - 20px), var(--container));
  }

  body.home,
  .home .l-mainContent__body {
    background: #f1f4f7;
  }

  .home .entryContent,
  .home .entry-content {
    width: min(calc(100% - 16px), 100%);
    padding-left: 16px;
    padding-right: 16px;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 28, 45, 0.05);
    box-sizing: border-box;
  }

  .c-btn {
    width: 100%;
  }

  .c-btn-group {
    flex-direction: column;
  }

  .c-card,
  .p-top-steps__card,
  .p-top-contact__info,
  .p-top-contact__form {
    padding: 22px;
  }

  .p-top-hero {
    padding: 22px 0 26px;
  }

  .p-top-hero__card {
    max-width: 100%;
    padding: 12px;
    border-radius: 22px;
  }

  .p-top-hero__frame {
    border-radius: 16px;
  }

  .p-top-hero__photo {
    border-radius: 16px;
  }

  .c-hero-title {
    font-size: 24px;
    line-height: 1.22;
  }

  .c-heading__title,
  .c-profile-title,
  .c-cta-title,
  .c-contact-title {
    font-size: 22px;
  }

  .p-top-hero__lead {
    font-size: 14px;
    line-height: 1.78;
  }

  .p-top-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 16px;
  }

  .p-top-trust__item {
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border-radius: 16px;
  }

  .p-top-trust__item::before {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    font-size: 10px;
  }

  .p-top-trust__item strong::after {
    margin: 0 4px 0 6px;
  }

  #services.c-section,
  .p-top-services,
  .p-top-services__section,
  .p-top-profile,
  .p-top-cta,
  .p-top-contact {
    padding-top: 40px;
    padding-bottom: 44px;
  }

  #services .c-heading__title {
    font-size: 22px;
    line-height: 1.42;
  }

  #services .c-heading__lead {
    font-size: 14px;
    line-height: 1.82;
  }

  .p-top-services__card {
    padding: 22px 18px 20px;
    border-radius: 16px;
  }

  .p-top-services__card .c-icon-wrap {
    width: 54px;
    height: 54px;
    min-width: 54px;
    min-height: 54px;
    margin-bottom: 16px;
  }

  .p-top-services__card .c-icon,
  .p-top-services__card svg.c-icon,
  .p-top-services__card .c-icon-wrap > svg {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
    flex: 0 0 26px !important;
  }

  .p-top-services__card .c-card__title {
    font-size: 20px;
  }

  .p-top-services__card .c-card__text {
    font-size: 14px;
    line-height: 1.8;
  }

  .p-top-services__link {
    padding-top: 16px;
    font-size: 12px;
  }

  #header .l-header__body {
    width: min(100% - 16px, 100%);
    min-height: 64px;
  }

  #header .c-headLogo {
    font-size: 18px;
  }

  #header .l-header__drawerBtn .c-iconBtn,
  #header .l-header__searchBtn .c-iconBtn {
    width: 38px;
    height: 38px;
  }

  #header .l-header__drawerBtn .c-iconBtn__icon svg,
  #header .l-header__searchBtn .c-iconBtn__icon svg {
    width: 18px;
    height: 18px;
  }

  .p-drawer__body {
    padding: 18px 16px 24px;
  }

  .c-drawerNav__a {
    min-height: 50px;
    font-size: 14px;
  }

  body.page:not(.home),
  .page:not(.home) .l-mainContent__body {
    background: #f1f4f7;
  }

  .page:not(.home) .entryContent,
  .page:not(.home) .entry-content {
    width: min(calc(100% - 12px), 100%);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 28, 45, .05);
  }

  .page:not(.home) .entry-header,
  .page:not(.home) .c-pageHeader,
  .page:not(.home) .c-pageTitleArea {
    padding: 22px 18px 10px;
  }

  .page:not(.home) .entry-content {
    padding: 0 18px 24px;
  }

  .page:not(.home) .entry-title,
  .page:not(.home) .c-pageTitle,
  .page:not(.home) .archive-title {
    font-size: 26px;
    line-height: 1.26;
  }

  .page:not(.home) .entry-content h2,
  .page:not(.home) .entry-content .wp-block-heading {
    font-size: 22px;
    line-height: 1.4;
  }

  .page:not(.home) .entry-content h3 {
    font-size: 18px;
  }

  .page:not(.home) .entry-content p,
  .page:not(.home) .entry-content li {
    font-size: 14px;
    line-height: 1.85;
  }

  .page:not(.home) .entry-content > .wp-block-group,
  .page:not(.home) .entry-content > section {
    padding: 22px 16px;
    border-radius: 16px;
  }

  .page:not(.home) .entry-content > .wp-block-columns {
    gap: 12px;
  }

  .page:not(.home) .entry-content > .wp-block-columns > .wp-block-column {
    padding: 20px 16px 18px;
  }

  .page:not(.home) .entry-content th,
  .page:not(.home) .wp-block-table th {
    width: auto;
    white-space: normal;
  }

  .page:not(.home) .entry-content table,
  .page:not(.home) .wp-block-table table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .page:not(.home) .wpcf7 form,
  .page:not(.home) form {
    padding: 22px 16px 18px;
    border-radius: 18px;
  }

  .page:not(.home) .entry-content .wp-block-button__link,
  .page:not(.home) .entry-content .c-btn,
  .page:not(.home) input[type="submit"],
  .page:not(.home) button[type="submit"] {
    width: 100%;
    justify-content: center;
  }
}
/* =========================================================
   Cases page - After 4領域をわかりやすく
   /cases/ 専用
========================================================= */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) {
  padding: 38px 34px !important;
  background: linear-gradient(180deg, #fbfcfd 0%, #f6f9fc 100%) !important;
  border: 1px solid #e5edf4 !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 34px rgba(15, 28, 45, 0.05) !important;
}

body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) > .wp-block-group__inner-container {
  max-width: none !important;
}

/* セクション見出し */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) > .wp-block-group__inner-container > h3.wp-block-heading {
  margin: 0 0 26px !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.32 !important;
  letter-spacing: -0.01em !important;
  color: #16263d !important;
  text-align: left !important;
}

/* 4領域のグリッド */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 0 !important;
}

body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column {
  position: relative !important;
  padding: 24px 22px 20px !important;
  background: #ffffff !important;
  border: 1px solid #dfe8f0 !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 26px rgba(15, 28, 45, 0.045) !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

/* 左のアクセントライン */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, #b89d7c 0%, #415674 100%) !important;
}

/* カード番号 */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column::after {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #f3f7fb !important;
  color: #7e8ea1 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  border: 1px solid #e1e9f0 !important;
}

body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(1)::after { content: "01"; }
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(2)::after { content: "02"; }
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(3)::after { content: "03"; }
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(4)::after { content: "04"; }

/* 4領域タイトル */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column h4.wp-block-heading {
  margin: 0 0 14px !important;
  padding-right: 44px !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  color: #16263d !important;
  letter-spacing: -0.01em !important;
}

/* 箇条書き */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column ul.wp-block-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column ul.wp-block-list li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 0 0 18px !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: #5f6976 !important;
}

body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column ul.wp-block-list li + li {
  margin-top: 8px !important;
}

body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column ul.wp-block-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.72em !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #9a8872 !important;
  box-shadow: 0 0 0 4px rgba(154, 136, 114, 0.12) !important;
}

/* タイトル別に少しだけ識別しやすく */
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(1) h4.wp-block-heading { color: #173a63 !important; }
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(2) h4.wp-block-heading { color: #1d4d46 !important; }
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(3) h4.wp-block-heading { color: #7a4f16 !important; }
body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column:nth-child(4) h4.wp-block-heading { color: #4b3f78 !important; }

/* タブレット */
@media (max-width: 960px) {
  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) {
    padding: 30px 24px !important;
    border-radius: 22px !important;
  }

  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column {
    padding: 22px 20px 18px !important;
    border-radius: 18px !important;
  }

  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column h4.wp-block-heading {
    font-size: 20px !important;
  }
}

/* スマホ */
@media (max-width: 560px) {
  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) {
    padding: 24px 16px !important;
    border-radius: 18px !important;
  }

  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) > .wp-block-group__inner-container > h3.wp-block-heading {
    margin-bottom: 18px !important;
    font-size: 22px !important;
  }

  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column {
    padding: 20px 16px 16px !important;
  }

  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column h4.wp-block-heading {
    font-size: 18px !important;
    padding-right: 40px !important;
  }

  body.page-id-232 .entry-content > section.wp-block-group:nth-of-type(4) .wp-block-column ul.wp-block-list li {
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
}
/* =========================================================
   Plan / About
   成果カード風のブロック整理CSS
   plan: page-id-297
   about: page-id-234
========================================================= */


/* ---------------------------------------------------------
   1) 料金・プラン /plan/
--------------------------------------------------------- */

/* 各セクションを大きな整理カードに */
.page-id-297 .entry-content > .wp-block-group{
  padding:38px 34px 34px !important;
  border:1px solid #e5edf4 !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#fbfcfd 0%,#f6f9fc 100%) !important;
  box-shadow:0 14px 34px rgba(15,28,45,.05) !important;
}

.page-id-297 .entry-content > .wp-block-group + .wp-block-group{
  margin-top:24px !important;
}

/* セクション見出し */
.page-id-297 .entry-content .section-title,
.page-id-297 .entry-content > .wp-block-group > .wp-block-heading{
  margin:0 0 18px !important;
  font-size:clamp(24px,2.2vw,30px) !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#16263d !important;
  letter-spacing:-0.01em !important;
}

/* 導入文 */
.page-id-297 .entry-content > .wp-block-group > p{
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:1.9 !important;
  color:#5f6976 !important;
}

/* 料金カード群 */
.page-id-297 .entry-content .pricing-section .wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
  margin-top:18px !important;
}

.page-id-297 .entry-content .pricing-section .wp-block-column{
  position:relative !important;
  margin:0 !important;
  min-width:0 !important;
  padding:28px 24px 22px !important;
  border:1px solid #dfe8f0 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(15,28,45,.045) !important;
  overflow:hidden !important;
}

.page-id-297 .entry-content .pricing-section .wp-block-column::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:22px !important;
  bottom:22px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

/* カードタイトル */
.page-id-297 .entry-content .pricing-section .wp-block-column h3,
.page-id-297 .entry-content .pricing-section .wp-block-column h4,
.page-id-297 .entry-content .pricing-section .wp-block-column .wp-block-heading{
  margin:0 0 14px !important;
  font-size:22px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:#16263d !important;
}

/* 価格っぽく見せたい強調 */
.page-id-297 .entry-content .pricing-section .wp-block-column strong{
  color:#16263d !important;
  font-weight:700 !important;
}

.page-id-297 .entry-content .pricing-section .wp-block-column p{
  margin:0 0 12px !important;
  font-size:14px !important;
  line-height:1.85 !important;
  color:#5f6976 !important;
}

/* プランの箇条書き */
.page-id-297 .entry-content .plan-feats,
.page-id-297 .entry-content .pricing-section ul.wp-block-list{
  list-style:none !important;
  margin:14px 0 0 !important;
  padding:0 !important;
}

.page-id-297 .entry-content .plan-feats li,
.page-id-297 .entry-content .pricing-section ul.wp-block-list li{
  position:relative !important;
  margin:0 0 10px !important;
  padding-left:18px !important;
  font-size:14px !important;
  line-height:1.9 !important;
  color:#5f6976 !important;
}

.page-id-297 .entry-content .plan-feats li::before,
.page-id-297 .entry-content .pricing-section ul.wp-block-list li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.72em !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#9a8872 !important;
  box-shadow:0 0 0 4px rgba(154,136,114,.12) !important;
}

/* オプション一覧もカード風に */
.page-id-297 .entry-content > .wp-block-group:nth-of-type(2) ul,
.page-id-297 .entry-content > .wp-block-group:nth-of-type(2) ol{
  list-style:none !important;
  margin:16px 0 0 !important;
  padding:0 !important;
}

.page-id-297 .entry-content > .wp-block-group:nth-of-type(2) li{
  position:relative !important;
  margin:0 0 12px !important;
  padding:16px 18px 16px 44px !important;
  border:1px solid #e3ebf2 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(15,28,45,.03) !important;
  font-size:14px !important;
  line-height:1.85 !important;
  color:#5f6976 !important;
}

.page-id-297 .entry-content > .wp-block-group:nth-of-type(2) li::before{
  content:"+" !important;
  position:absolute !important;
  left:16px !important;
  top:15px !important;
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  background:#f3f7fb !important;
  color:#415674 !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:18px !important;
  text-align:center !important;
}

/* 導入の流れ */
.page-id-297 .entry-content > .wp-block-group:nth-of-type(3) ol{
  counter-reset:planFlow !important;
  list-style:none !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  display:grid !important;
  gap:14px !important;
}

.page-id-297 .entry-content > .wp-block-group:nth-of-type(3) ol > li{
  counter-increment:planFlow !important;
  position:relative !important;
  margin:0 !important;
  padding:18px 20px 18px 68px !important;
  border:1px solid #e3ebf2 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(15,28,45,.03) !important;
  font-size:14px !important;
  line-height:1.9 !important;
  color:#5f6976 !important;
}

.page-id-297 .entry-content > .wp-block-group:nth-of-type(3) ol > li::before{
  content:counter(planFlow, decimal-leading-zero) !important;
  position:absolute !important;
  left:18px !important;
  top:16px !important;
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  background:#f3f7fb !important;
  color:#415674 !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:34px !important;
  text-align:center !important;
}

/* FAQ */
.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) > * + *{
  margin-top:14px !important;
}

.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) h3,
.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) h4,
.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) .wp-block-heading{
  position:relative !important;
  margin:0 !important;
  padding:18px 22px 18px 54px !important;
  border:1px solid #dfe8f0 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(15,28,45,.03) !important;
  font-size:18px !important;
  line-height:1.6 !important;
  color:#16263d !important;
}

.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) h3::before,
.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) h4::before,
.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) .wp-block-heading::before{
  content:"Q" !important;
  position:absolute !important;
  left:18px !important;
  top:17px !important;
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  background:#16263d !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:24px !important;
  text-align:center !important;
}

.page-id-297 .entry-content > .wp-block-group:nth-of-type(4) p{
  margin:10px 0 0 !important;
  padding:0 0 0 14px !important;
  font-size:14px !important;
  line-height:1.9 !important;
  color:#5f6976 !important;
}

/* ボタン */
.page-id-297 .entry-content .wp-block-buttons{
  margin-top:20px !important;
  gap:12px !important;
}


/* ---------------------------------------------------------
   2) 会社概要 /about-2/
--------------------------------------------------------- */

/* h2区切りを見やすく */
.page-id-234 .entry-content h2,
.page-id-234 .entry-content .wp-block-heading{
  color:#16263d !important;
}

/* カラムを2枚カード化 */
.page-id-234 .entry-content .wp-block-columns{
  display:grid !important;
  grid-template-columns:minmax(320px,.94fr) minmax(0,1.06fr) !important;
  gap:20px !important;
  align-items:stretch !important;
  margin-top:20px !important;
}

.page-id-234 .entry-content .wp-block-columns > .wp-block-column{
  position:relative !important;
  margin:0 !important;
  min-width:0 !important;
  padding:30px 24px 24px !important;
  border:1px solid #dfe8f0 !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 10px 28px rgba(15,28,45,.045) !important;
  overflow:hidden !important;
}

.page-id-234 .entry-content .wp-block-columns > .wp-block-column::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:22px !important;
  bottom:22px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

/* プロフィール系見出し */
.page-id-234 .entry-content .wp-block-columns > .wp-block-column h3,
.page-id-234 .entry-content .wp-block-columns > .wp-block-column h4,
.page-id-234 .entry-content .wp-block-columns > .wp-block-column .wp-block-heading{
  margin:0 0 14px !important;
  font-size:22px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:#16263d !important;
}

.page-id-234 .entry-content .wp-block-columns > .wp-block-column p{
  margin:0 0 12px !important;
  font-size:14px !important;
  line-height:1.95 !important;
  color:#5f6976 !important;
}

/* 画像 */
.page-id-234 .entry-content figure{
  margin:0 0 18px !important;
}

.page-id-234 .entry-content figure img{
  border-radius:20px !important;
  box-shadow:0 12px 32px rgba(15,28,45,.07) !important;
}

/* 会社情報リストを情報カード化 */
.page-id-234 .entry-content ul.wp-block-list{
  list-style:none !important;
  margin:16px 0 0 !important;
  padding:0 !important;
}

.page-id-234 .entry-content ul.wp-block-list > li{
  position:relative !important;
  margin:0 0 10px !important;
  padding:14px 16px 14px 38px !important;
  border:1px solid #e3ebf2 !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 4px 14px rgba(15,28,45,.025) !important;
  font-size:14px !important;
  line-height:1.85 !important;
  color:#5f6976 !important;
}

.page-id-234 .entry-content ul.wp-block-list > li::before{
  content:"" !important;
  position:absolute !important;
  left:16px !important;
  top:1.15em !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#415674 !important;
  box-shadow:0 0 0 4px rgba(65,86,116,.12) !important;
}

.page-id-234 .entry-content ul.wp-block-list > li strong{
  color:#16263d !important;
  font-weight:700 !important;
}

/* ボタン周り */
.page-id-234 .entry-content .wp-block-buttons{
  margin-top:18px !important;
  gap:12px !important;
}


/* ---------------------------------------------------------
   3) 共通レスポンシブ
--------------------------------------------------------- */
@media (max-width:960px){

  .page-id-297 .entry-content > .wp-block-group{
    padding:30px 24px 26px !important;
    border-radius:22px !important;
  }

  .page-id-297 .entry-content .pricing-section .wp-block-columns{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .page-id-297 .entry-content .pricing-section .wp-block-column{
    padding:24px 20px 18px !important;
    border-radius:18px !important;
  }

  .page-id-297 .entry-content .pricing-section .wp-block-column h3,
  .page-id-297 .entry-content .pricing-section .wp-block-column h4,
  .page-id-297 .entry-content .pricing-section .wp-block-column .wp-block-heading{
    font-size:20px !important;
  }

  .page-id-297 .entry-content > .wp-block-group:nth-of-type(3) ol > li{
    padding:16px 18px 16px 62px !important;
    border-radius:16px !important;
  }

  .page-id-297 .entry-content > .wp-block-group:nth-of-type(4) h3,
  .page-id-297 .entry-content > .wp-block-group:nth-of-type(4) h4,
  .page-id-297 .entry-content > .wp-block-group:nth-of-type(4) .wp-block-heading{
    padding:16px 18px 16px 50px !important;
    font-size:17px !important;
    border-radius:16px !important;
  }


  .page-id-234 .entry-content .wp-block-columns{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .page-id-234 .entry-content .wp-block-columns > .wp-block-column{
    padding:24px 20px 20px !important;
    border-radius:20px !important;
  }

  .page-id-234 .entry-content .wp-block-columns > .wp-block-column h3,
  .page-id-234 .entry-content .wp-block-columns > .wp-block-column h4,
  .page-id-234 .entry-content .wp-block-columns > .wp-block-column .wp-block-heading{
    font-size:20px !important;
  }
}

@media (max-width:560px){

  .page-id-297 .entry-content > .wp-block-group{
    padding:24px 16px 20px !important;
    border-radius:18px !important;
  }

  .page-id-297 .entry-content .section-title,
  .page-id-297 .entry-content > .wp-block-group > .wp-block-heading{
    font-size:22px !important;
  }

  .page-id-297 .entry-content .pricing-section .wp-block-column{
    padding:20px 16px 16px !important;
    border-radius:16px !important;
  }

  .page-id-297 .entry-content .pricing-section .wp-block-column h3,
  .page-id-297 .entry-content .pricing-section .wp-block-column h4,
  .page-id-297 .entry-content .pricing-section .wp-block-column .wp-block-heading{
    font-size:18px !important;
  }

  .page-id-297 .entry-content .plan-feats li,
  .page-id-297 .entry-content .pricing-section ul.wp-block-list li,
  .page-id-297 .entry-content > .wp-block-group:nth-of-type(2) li,
  .page-id-297 .entry-content > .wp-block-group:nth-of-type(3) ol > li,
  .page-id-297 .entry-content > .wp-block-group:nth-of-type(4) p{
    font-size:13px !important;
  }


  .page-id-234 .entry-content .wp-block-columns > .wp-block-column{
    padding:20px 16px 16px !important;
    border-radius:18px !important;
  }

  .page-id-234 .entry-content .wp-block-columns > .wp-block-column h3,
  .page-id-234 .entry-content .wp-block-columns > .wp-block-column h4,
  .page-id-234 .entry-content .wp-block-columns > .wp-block-column .wp-block-heading{
    font-size:18px !important;
  }

  .page-id-234 .entry-content ul.wp-block-list > li{
    padding:13px 14px 13px 34px !important;
    font-size:13px !important;
    border-radius:12px !important;
  }
}
/* =========================================================
   /plan/ 価格の文字だけもっと強くする版
========================================================= */

/* 価格行そのものを強調 */
.page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p,
.page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p,
.page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p{
  margin:0 0 16px !important;
  font-size:clamp(26px,2.4vw,34px) !important;
  line-height:1.28 !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  color:#16263d !important;
  font-family:"Century Gothic","Avenir Next","Avenir","Futura","Trebuchet MS","Helvetica Neue","Hiragino Sans","Yu Gothic","Meiryo",sans-serif !important;
}

/* 価格行内の strong / b / em をさらに強く */
.page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p strong,
.page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p strong,
.page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p strong,
.page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p b,
.page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p b,
.page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p b,
.page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p em,
.page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p em,
.page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p em{
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:800 !important;
  font-style:normal !important;
  color:#16263d !important;
}

/* 価格の補足（〜 / 以上 / 税別など）が混ざっても弱くなりすぎないように */
.page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p small,
.page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p small,
.page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p small{
  font-size:.62em !important;
  font-weight:700 !important;
  color:#415674 !important;
}

/* 価格行の直後に来る説明文は少し引く */
.page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p + p,
.page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p + p,
.page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p + p{
  margin-top:-2px !important;
  font-size:13px !important;
  line-height:1.8 !important;
  color:#6a7481 !important;
}

/* 既存の strong 強調より価格側を優先 */
.page-id-297 .entry-content .pricing-section .wp-block-column strong{
  color:inherit !important;
}

/* tablet */
@media (max-width:960px){
  .page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p,
  .page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p,
  .page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p{
    font-size:clamp(22px,4.5vw,28px) !important;
    margin:0 0 14px !important;
  }
}

/* mobile */
@media (max-width:560px){
  .page-id-297 .entry-content .pricing-section .wp-block-column > h3 + p,
  .page-id-297 .entry-content .pricing-section .wp-block-column > h4 + p,
  .page-id-297 .entry-content .pricing-section .wp-block-column > .wp-block-heading + p{
    font-size:24px !important;
    line-height:1.3 !important;
  }
}
/* =========================================================
   /about-2/ 会社情報を2列の定義リスト風にする版
========================================================= */

/* 会社情報全体を1つの情報ボックスに */
.page-id-234 .entry-content ul.wp-block-list{
  margin:18px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  border:1px solid #dfe8f0 !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(15,28,45,.035) !important;
}

/* 1行ごとを「定義リスト風」の2列に */
.page-id-234 .entry-content ul.wp-block-list > li{
  display:grid !important;
  grid-template-columns:160px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  margin:0 !important;
  padding:16px 20px !important;
  border:none !important;
  border-bottom:1px solid #e8eef4 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#5f6976 !important;
  font-size:14px !important;
  line-height:1.85 !important;
}

/* 最終行の罫線は消す */
.page-id-234 .entry-content ul.wp-block-list > li:last-child{
  border-bottom:none !important;
}

/* 以前の丸ドット装飾を無効化 */
.page-id-234 .entry-content ul.wp-block-list > li::before{
  content:none !important;
  display:none !important;
}

/* 左側ラベル */
.page-id-234 .entry-content ul.wp-block-list > li strong{
  display:block !important;
  margin:0 !important;
  color:#16263d !important;
  font-size:13px !important;
  line-height:1.7 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}

/* strong の後ろに本文が続く形でも読みやすく */
.page-id-234 .entry-content ul.wp-block-list > li strong + *{
  margin-top:0 !important;
}

/* li内にリンクがある場合 */
.page-id-234 .entry-content ul.wp-block-list > li a{
  color:#415674 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(65,86,116,.25) !important;
}

/* もし li が単純なテキストだけで、strong がない場合でも破綻しにくくする保険 */
.page-id-234 .entry-content ul.wp-block-list > li:not(:has(strong)){
  display:block !important;
  padding:16px 20px !important;
}

/* tablet */
@media (max-width:960px){
  .page-id-234 .entry-content ul.wp-block-list > li{
    grid-template-columns:132px minmax(0,1fr) !important;
    gap:14px !important;
    padding:15px 18px !important;
  }
}

/* mobile */
@media (max-width:560px){
  .page-id-234 .entry-content ul.wp-block-list{
    border-radius:16px !important;
  }

  .page-id-234 .entry-content ul.wp-block-list > li{
    grid-template-columns:1fr !important;
    gap:6px !important;
    padding:14px 14px !important;
    font-size:13px !important;
    line-height:1.8 !important;
  }

  .page-id-234 .entry-content ul.wp-block-list > li strong{
    font-size:12px !important;
    color:#415674 !important;
    white-space:normal !important;
  }
}
/* =========================================================
   /plan/ 各プランカードの番号バッジをもっと目立たせる版
========================================================= */

/* バッジ分の余白を確保 */
.page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column{
  padding-top:30px !important;
  padding-right:88px !important;
  overflow:visible !important;
}

/* 番号バッジ本体 */
.page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column::after{
  position:absolute !important;
  right:18px !important;
  top:16px !important;
  width:56px !important;
  height:56px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:"Century Gothic","Avenir Next","Avenir","Futura","Helvetica Neue",sans-serif !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.14) !important;
  box-shadow:
    0 14px 28px rgba(15,28,45,.16),
    0 0 0 6px rgba(255,255,255,.88) !important;
  z-index:2 !important;
}

/* 01 */
.page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column:nth-child(1)::after{
  content:"01" !important;
  background:linear-gradient(180deg,#31527a 0%,#16263d 100%) !important;
}

/* 02 */
.page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column:nth-child(2)::after{
  content:"02" !important;
  background:linear-gradient(180deg,#3f6c62 0%,#1d4d46 100%) !important;
}

/* 03 */
.page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column:nth-child(3)::after{
  content:"03" !important;
  background:linear-gradient(180deg,#a3772f 0%,#7a4f16 100%) !important;
}

/* 04 */
.page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column:nth-child(4)::after{
  content:"04" !important;
  background:linear-gradient(180deg,#685a98 0%,#4b3f78 100%) !important;
}

/* タイトル周りとの距離を少し整える */
.page-id-297 .entry-content .pricing-section .wp-block-column h3,
.page-id-297 .entry-content .pricing-section .wp-block-column h4,
.page-id-297 .entry-content .pricing-section .wp-block-column .wp-block-heading{
  margin-right:8px !important;
}

/* カード上部の印象を少しだけ締める */
.page-id-297 .entry-content .pricing-section .wp-block-column::before{
  top:20px !important;
  bottom:20px !important;
}

/* tablet */
@media (max-width:960px){
  .page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column{
    padding-top:28px !important;
    padding-right:76px !important;
  }

  .page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column::after{
    right:16px !important;
    top:14px !important;
    width:50px !important;
    height:50px !important;
    border-radius:16px !important;
    font-size:15px !important;
    box-shadow:
      0 12px 24px rgba(15,28,45,.15),
      0 0 0 5px rgba(255,255,255,.84) !important;
  }
}

/* mobile */
@media (max-width:560px){
  .page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column{
    padding-top:24px !important;
    padding-right:66px !important;
  }

  .page-id-297 .entry-content .pricing-section .wp-block-columns > .wp-block-column::after{
    right:14px !important;
    top:12px !important;
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
    font-size:13px !important;
    letter-spacing:.06em !important;
    box-shadow:
      0 10px 18px rgba(15,28,45,.14),
      0 0 0 4px rgba(255,255,255,.82) !important;
  }
}
/* =========================================================
   /about-2/ 会社情報を「高級感のある会社概要カード」に寄せる版
========================================================= */

/* 会社情報全体を1つの上質なパネルに */
.page-id-234 .entry-content ul.wp-block-list{
  margin:20px 0 0 !important;
  padding:18px !important;
  list-style:none !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  border:1px solid #dfe8f0 !important;
  border-radius:26px !important;
  background:
    linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 16px 40px rgba(15,28,45,.05) !important;
  overflow:hidden !important;
}

/* 各情報を独立カードに */
.page-id-234 .entry-content ul.wp-block-list > li{
  display:block !important;
  margin:0 !important;
  padding:18px 18px 16px !important;
  border:none !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 100%) !important;
  box-shadow:
    inset 0 0 0 1px #e6edf4,
    0 8px 20px rgba(15,28,45,.03) !important;
  color:#5f6976 !important;
  font-size:14px !important;
  line-height:1.9 !important;
}

/* 以前の表風・罫線風指定を解除 */
.page-id-234 .entry-content ul.wp-block-list > li::before{
  content:none !important;
  display:none !important;
}

/* ラベルチップ */
.page-id-234 .entry-content ul.wp-block-list > li strong{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 0 10px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:#f2f6fa !important;
  color:#415674 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  white-space:normal !important;
  box-shadow:inset 0 0 0 1px #dde6ee !important;
}

/* strongの後ろに続く本文を自然に見せる */
.page-id-234 .entry-content ul.wp-block-list > li strong + *{
  margin-top:0 !important;
}

/* li内リンク */
.page-id-234 .entry-content ul.wp-block-list > li a{
  color:#415674 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(65,86,116,.24) !important;
}

/* 会社名と事業は広く見せる */
.page-id-234 .entry-content ul.wp-block-list > li:first-child,
.page-id-234 .entry-content ul.wp-block-list > li:last-child{
  grid-column:1 / -1 !important;
}

/* 最後の事業欄は少しだけ余裕を増やす */
.page-id-234 .entry-content ul.wp-block-list > li:last-child{
  padding-top:20px !important;
  padding-bottom:18px !important;
}

/* 全体の上質感を少し追加 */
.page-id-234 .entry-content h2 + ul.wp-block-list,
.page-id-234 .entry-content .wp-block-heading + ul.wp-block-list{
  position:relative !important;
}

.page-id-234 .entry-content h2 + ul.wp-block-list::before,
.page-id-234 .entry-content .wp-block-heading + ul.wp-block-list::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:20px !important;
  bottom:20px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

/* tablet */
@media (max-width:960px){
  .page-id-234 .entry-content ul.wp-block-list{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:22px !important;
  }

  .page-id-234 .entry-content ul.wp-block-list > li{
    padding:16px 16px 14px !important;
    border-radius:16px !important;
  }
}

/* mobile */
@media (max-width:560px){
  .page-id-234 .entry-content ul.wp-block-list{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:18px !important;
  }

  .page-id-234 .entry-content ul.wp-block-list > li,
  .page-id-234 .entry-content ul.wp-block-list > li:first-child,
  .page-id-234 .entry-content ul.wp-block-list > li:last-child{
    grid-column:auto !important;
  }

  .page-id-234 .entry-content ul.wp-block-list > li{
    padding:14px 14px 13px !important;
    font-size:13px !important;
    line-height:1.85 !important;
    border-radius:14px !important;
  }

  .page-id-234 .entry-content ul.wp-block-list > li strong{
    margin-bottom:8px !important;
    font-size:11px !important;
    padding:6px 9px !important;
  }

  .page-id-234 .entry-content h2 + ul.wp-block-list::before,
  .page-id-234 .entry-content .wp-block-heading + ul.wp-block-list::before{
    top:14px !important;
    bottom:14px !important;
  }
}
/* =========================================================
   FIX OVERRIDES
   /plan/ と /about-2/ に強く当てる修正版
========================================================= */


/* =========================================================
   1) /plan/ 4プランカードを確実にカード化
========================================================= */

/* 4カラム親 */
body.page-id-297 .pricing-section .wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
  margin-top:20px !important;
}

/* 各カード */
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column{
  position:relative !important;
  margin:0 !important;
  min-width:0 !important;
  padding:30px 88px 22px 24px !important;
  border:1px solid #dfe8f0 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(15,28,45,.045) !important;
  overflow:visible !important;
}

/* 左アクセント */
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:20px !important;
  bottom:20px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

/* 番号バッジを強制表示 */
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(1)::after,
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(2)::after,
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(3)::after,
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(4)::after{
  position:absolute !important;
  right:18px !important;
  top:16px !important;
  width:56px !important;
  height:56px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:"Century Gothic","Avenir Next","Avenir","Futura","Helvetica Neue",sans-serif !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.14) !important;
  box-shadow:0 14px 28px rgba(15,28,45,.16),0 0 0 6px rgba(255,255,255,.88) !important;
  z-index:3 !important;
}

body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(1)::after{
  content:"01" !important;
  background:linear-gradient(180deg,#31527a 0%,#16263d 100%) !important;
}
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(2)::after{
  content:"02" !important;
  background:linear-gradient(180deg,#3f6c62 0%,#1d4d46 100%) !important;
}
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(3)::after{
  content:"03" !important;
  background:linear-gradient(180deg,#a3772f 0%,#7a4f16 100%) !important;
}
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column:nth-child(4)::after{
  content:"04" !important;
  background:linear-gradient(180deg,#685a98 0%,#4b3f78 100%) !important;
}

/* 見出し */
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h3,
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h4,
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column .wp-block-heading{
  margin:0 8px 14px 0 !important;
  font-size:22px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:#16263d !important;
}

/* リスト */
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column ul{
  list-style:none !important;
  margin:14px 0 0 !important;
  padding:0 !important;
}
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column li{
  position:relative !important;
  margin:0 0 10px !important;
  padding-left:18px !important;
  font-size:14px !important;
  line-height:1.9 !important;
  color:#5f6976 !important;
}
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.72em !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#9a8872 !important;
  box-shadow:0 0 0 4px rgba(154,136,114,.12) !important;
}

/* 価格行を強く */
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column p{
  color:#5f6976 !important;
}
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h3 + p,
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h4 + p,
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column .wp-block-heading + p{
  margin:0 0 16px !important;
  font-size:clamp(26px,2.4vw,34px) !important;
  line-height:1.28 !important;
  font-weight:800 !important;
  letter-spacing:-0.015em !important;
  color:#16263d !important;
  font-family:"Avenir Next","Helvetica Neue","Century Gothic","Hiragino Sans","Yu Gothic","Meiryo",sans-serif !important;
}

/* もし価格が最後の p の場合も拾う保険 */
body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column p:last-child{
  margin-top:14px !important;
  font-size:24px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  color:#16263d !important;
}

/* =========================================================
   2) /about-2/ 代表プロフィールを確実に「写真左・経歴右」に
========================================================= */

/* 代表プロフィールっぽい最初の columns を1枚カード化 */
body.page-id-234 .c-postContent .wp-block-columns:first-of-type,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type,
body.page-id-234 .entry-content .wp-block-columns:first-of-type{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  gap:28px !important;
  align-items:center !important;
  margin-top:22px !important;
  padding:30px 30px 28px !important;
  border:1px solid #dfe8f0 !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 14px 34px rgba(15,28,45,.05) !important;
  overflow:hidden !important;
  position:relative !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type::before,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type::before,
body.page-id-234 .entry-content .wp-block-columns:first-of-type::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:24px !important;
  bottom:24px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column{
  margin:0 !important;
  min-width:0 !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column::before,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column::before,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column::before{
  content:none !important;
}

/* 左：写真 */
body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:first-child,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:first-child,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:first-child{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:first-child figure,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:first-child figure,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:first-child figure{
  width:100% !important;
  max-width:260px !important;
  margin:0 auto !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:first-child img,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:first-child img,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:first-child img{
  display:block !important;
  width:100% !important;
  aspect-ratio:1 / 1.15 !important;
  object-fit:cover !important;
  border-radius:24px !important;
  box-shadow:0 16px 36px rgba(15,28,45,.10) !important;
}

/* 右：本文 */
body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child h3,
body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child h4,
body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-heading,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child h3,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child h4,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-heading,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child h3,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child h4,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-heading{
  margin:0 0 10px !important;
  font-size:clamp(26px,2.4vw,34px) !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  color:#16263d !important;
  letter-spacing:-0.015em !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child h3::after,
body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child h4::after,
body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-heading::after,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child h3::after,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child h4::after,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-heading::after,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child h3::after,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child h4::after,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-heading::after{
  content:"" !important;
  display:block !important;
  width:52px !important;
  height:3px !important;
  margin-top:12px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#b89d7c 0%,#415674 100%) !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child p:first-of-type,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child p:first-of-type,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child p:first-of-type{
  margin:0 0 12px !important;
  font-size:15px !important;
  line-height:1.9 !important;
  color:#415674 !important;
  font-weight:600 !important;
}

body.page-id-234 .c-postContent .wp-block-columns:first-of-type > .wp-block-column:last-child p,
body.page-id-234 .p-page__content .wp-block-columns:first-of-type > .wp-block-column:last-child p,
body.page-id-234 .entry-content .wp-block-columns:first-of-type > .wp-block-column:last-child p{
  margin:0 0 10px !important;
  font-size:15px !important;
  line-height:1.95 !important;
  color:#5f6976 !important;
}

/* =========================================================
   3) /about-2/ 会社情報を高級感カードに確実に変更
========================================================= */

body.page-id-234 .c-postContent ul.wp-block-list:last-of-type,
body.page-id-234 .p-page__content ul.wp-block-list:last-of-type,
body.page-id-234 .entry-content ul.wp-block-list:last-of-type{
  margin:20px 0 0 !important;
  padding:18px !important;
  list-style:none !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  border:1px solid #dfe8f0 !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 16px 40px rgba(15,28,45,.05) !important;
  overflow:hidden !important;
  position:relative !important;
}

body.page-id-234 .c-postContent ul.wp-block-list:last-of-type::before,
body.page-id-234 .p-page__content ul.wp-block-list:last-of-type::before,
body.page-id-234 .entry-content ul.wp-block-list:last-of-type::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:20px !important;
  bottom:20px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li,
body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li,
body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li{
  display:block !important;
  margin:0 !important;
  padding:18px 18px 16px !important;
  border:none !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 100%) !important;
  box-shadow:inset 0 0 0 1px #e6edf4,0 8px 20px rgba(15,28,45,.03) !important;
  color:#5f6976 !important;
  font-size:14px !important;
  line-height:1.9 !important;
}

body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li::before,
body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li::before,
body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li::before{
  content:none !important;
}

body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li strong,
body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li strong,
body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li strong{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 0 10px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:#f2f6fa !important;
  color:#415674 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  box-shadow:inset 0 0 0 1px #dde6ee !important;
}

body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li:first-child,
body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li:last-child,
body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li:first-child,
body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li:last-child,
body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li:first-child,
body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li:last-child{
  grid-column:1 / -1 !important;
}

/* =========================================================
   4) レスポンシブ
========================================================= */
@media (max-width:960px){
  body.page-id-297 .pricing-section .wp-block-columns{
    grid-template-columns:1fr !important;
  }
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column{
    padding:28px 76px 18px 20px !important;
  }
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column::after{
    right:16px !important;
    top:14px !important;
    width:50px !important;
    height:50px !important;
    font-size:15px !important;
    border-radius:16px !important;
  }

  body.page-id-234 .c-postContent .wp-block-columns:first-of-type,
  body.page-id-234 .p-page__content .wp-block-columns:first-of-type,
  body.page-id-234 .entry-content .wp-block-columns:first-of-type{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:22px !important;
    padding:24px !important;
    border-radius:22px !important;
  }

  body.page-id-234 .c-postContent ul.wp-block-list:last-of-type,
  body.page-id-234 .p-page__content ul.wp-block-list:last-of-type,
  body.page-id-234 .entry-content ul.wp-block-list:last-of-type{
    grid-template-columns:1fr 1fr !important;
    padding:14px !important;
    border-radius:22px !important;
  }
}

@media (max-width:560px){
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column{
    padding:24px 66px 16px 16px !important;
    border-radius:16px !important;
  }
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column::after{
    right:14px !important;
    top:12px !important;
    width:44px !important;
    height:44px !important;
    font-size:13px !important;
    border-radius:14px !important;
  }
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h3,
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h4,
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column .wp-block-heading{
    font-size:18px !important;
  }
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h3 + p,
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column h4 + p,
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column .wp-block-heading + p,
  body.page-id-297 .pricing-section .wp-block-columns > .wp-block-column p:last-child{
    font-size:24px !important;
  }

  body.page-id-234 .c-postContent .wp-block-columns:first-of-type,
  body.page-id-234 .p-page__content .wp-block-columns:first-of-type,
  body.page-id-234 .entry-content .wp-block-columns:first-of-type{
    grid-template-columns:1fr !important;
    gap:16px !important;
    padding:20px 16px 18px !important;
    border-radius:18px !important;
  }

  body.page-id-234 .c-postContent ul.wp-block-list:last-of-type,
  body.page-id-234 .p-page__content ul.wp-block-list:last-of-type,
  body.page-id-234 .entry-content ul.wp-block-list:last-of-type{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:18px !important;
  }

  body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li,
  body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li,
  body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li,
  body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li:first-child,
  body.page-id-234 .c-postContent ul.wp-block-list:last-of-type > li:last-child,
  body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li:first-child,
  body.page-id-234 .p-page__content ul.wp-block-list:last-of-type > li:last-child,
  body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li:first-child,
  body.page-id-234 .entry-content ul.wp-block-list:last-of-type > li:last-child{
    grid-column:auto !important;
  }
}
/* =========================================================
   TOP PAGE REFINEMENT
   mock-based premium calm version
   append at bottom of style.css
========================================================= */


/* ---------------------------------
   0) top page base
--------------------------------- */
body.home{
  background:#eef2f5 !important;
}

body.home #header .l-header__body{
  width:min(calc(100% - 72px),1240px) !important;
}

.home .l-mainContent__body{
  background:#eef2f5 !important;
  padding:8px 0 34px !important;
}

.home .entryContent,
.home .entry-content{
  width:min(calc(100% - 72px),1240px) !important;
  margin:0 auto !important;
  padding-left:34px !important;
  padding-right:34px !important;
  background:#fff !important;
  border:1px solid #e5ebf1 !important;
  border-radius:34px !important;
  box-shadow:0 24px 60px rgba(15,28,45,.06) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.home .l-container-2office{
  width:100% !important;
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}


/* ---------------------------------
   1) hero
--------------------------------- */
.home .p-top-hero{
  padding-top:24px !important;
  padding-bottom:26px !important;
}

.home .p-top-hero__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
  gap:44px !important;
  align-items:center !important;
}

.home .p-top-hero__copy{
  max-width:650px !important;
}

.home .c-hero-title{
  max-width:11em !important;
  margin:0 0 14px !important;
  font-size:clamp(40px,4.2vw,56px) !important;
  line-height:1.12 !important;
  letter-spacing:-0.03em !important;
  font-weight:700 !important;
  color:#16263d !important;
}

.home .p-top-hero__lead{
  max-width:590px !important;
  margin:0 0 16px !important;
  font-size:15px !important;
  line-height:1.95 !important;
  color:#5d6774 !important;
}

.home .p-top-hero p{
  color:#5d6774 !important;
}

.home .p-top-hero .wp-block-buttons{
  gap:12px !important;
  margin-top:18px !important;
  margin-bottom:0 !important;
}

.home .p-top-hero .wp-block-button__link,
.home .p-top-hero .c-btn{
  min-height:52px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}

.home .p-top-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.home .p-top-hero .c-btn--primary{
  background:linear-gradient(180deg,#223752 0%,#16263d 100%) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(15,28,45,.13) !important;
}

.home .p-top-hero .wp-block-button.is-style-outline .wp-block-button__link,
.home .p-top-hero .c-btn--secondary{
  background:#fff !important;
  color:#223752 !important;
  border:1px solid #d8e1ea !important;
  box-shadow:none !important;
}


/* ---------------------------------
   2) hero chips / trust row
--------------------------------- */
.home .p-top-trust{
  margin-top:16px !important;
}

.home .p-top-trust ul,
.home .p-top-trust .wp-block-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.home .p-top-trust li{
  margin:0 !important;
  padding:9px 14px !important;
  border:1px solid #e1e8ef !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%) !important;
  box-shadow:0 6px 16px rgba(15,28,45,.035) !important;
  color:#415674 !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}


/* ---------------------------------
   3) hero right profile card
--------------------------------- */
.home .p-top-hero__card{
  position:relative !important;
  max-width:410px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  padding:22px 22px 18px !important;
  border:1px solid #dfe7ef !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 20px 46px rgba(15,28,45,.08) !important;
}

.home .p-top-hero__card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:24px !important;
  bottom:24px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

.home .p-top-hero__card img{
  display:block !important;
  width:100% !important;
  border-radius:22px !important;
  box-shadow:0 14px 30px rgba(15,28,45,.10) !important;
}

.home .p-top-hero__card h3,
.home .p-top-hero__card h4,
.home .p-top-hero__card .wp-block-heading{
  margin:16px 0 8px !important;
  font-size:24px !important;
  line-height:1.35 !important;
  letter-spacing:-0.02em !important;
  color:#16263d !important;
}

.home .p-top-hero__card p{
  margin:0 0 10px !important;
  font-size:14px !important;
  line-height:1.85 !important;
  color:#5f6976 !important;
}

.home .p-top-hero__card strong{
  color:#16263d !important;
  font-weight:700 !important;
}

.home .p-top-hero__card ul{
  list-style:none !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  display:grid !important;
  gap:10px !important;
}

.home .p-top-hero__card li{
  position:relative !important;
  margin:0 !important;
  padding:12px 14px 12px 38px !important;
  border:1px solid #e5edf4 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 6px 16px rgba(15,28,45,.03) !important;
  font-size:13px !important;
  line-height:1.75 !important;
  color:#5f6976 !important;
}

.home .p-top-hero__card li::before{
  content:"" !important;
  position:absolute !important;
  left:16px !important;
  top:1.05em !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#415674 !important;
  box-shadow:0 0 0 4px rgba(65,86,116,.12) !important;
}


/* ---------------------------------
   4) section spacing
--------------------------------- */
.home .p-top-services,
.home .p-top-profile,
.home .p-top-cta,
.home .p-top-contact{
  padding-top:50px !important;
  padding-bottom:52px !important;
}

.home .p-top-services .c-heading__title,
.home .p-top-profile .c-profile-title,
.home .p-top-cta .c-cta-title,
.home .p-top-contact .c-contact-title{
  margin:0 0 12px !important;
  font-size:clamp(28px,2.6vw,38px) !important;
  line-height:1.22 !important;
  letter-spacing:-0.02em !important;
  color:#16263d !important;
}

.home .p-top-services .c-heading__lead,
.home .p-top-profile .c-profile-lead,
.home .p-top-cta .c-cta-lead,
.home .p-top-contact .c-contact-lead,
.home .p-top-services p,
.home .p-top-profile p,
.home .p-top-cta p,
.home .p-top-contact p{
  color:#5f6976 !important;
}


/* ---------------------------------
   5) service / reason / step cards
--------------------------------- */
.home .p-top-services .wp-block-columns,
.home .p-top-steps .wp-block-columns,
.home .p-top-reasons .wp-block-columns,
.home .p-top-services__grid{
  gap:18px !important;
  align-items:stretch !important;
}

.home .p-top-services .wp-block-columns > .wp-block-column,
.home .p-top-steps .wp-block-columns > .wp-block-column,
.home .p-top-reasons .wp-block-columns > .wp-block-column,
.home .p-top-services .c-card{
  position:relative !important;
  padding:24px 22px 22px !important;
  border:1px solid #e3ebf2 !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 12px 28px rgba(15,28,45,.04) !important;
  min-height:100% !important;
  overflow:hidden !important;
}

.home .p-top-services .wp-block-columns > .wp-block-column::before,
.home .p-top-steps .wp-block-columns > .wp-block-column::before,
.home .p-top-reasons .wp-block-columns > .wp-block-column::before,
.home .p-top-services .c-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:22px !important;
  bottom:22px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

.home .p-top-services h3,
.home .p-top-services h4,
.home .p-top-steps h3,
.home .p-top-steps h4,
.home .p-top-reasons h3,
.home .p-top-reasons h4,
.home .p-top-services .c-card__title{
  margin:0 0 12px !important;
  font-size:22px !important;
  line-height:1.45 !important;
  color:#16263d !important;
}

.home .p-top-services a[href*="#contact"],
.home .p-top-steps a[href*="#contact"],
.home .p-top-reasons a[href*="#contact"]{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-top:10px !important;
  color:#223752 !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}


/* ---------------------------------
   6) profile section
--------------------------------- */
.home .p-top-profile .wp-block-columns,
.home .p-top-profile__grid{
  display:grid !important;
  grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr) !important;
  gap:28px !important;
  align-items:center !important;
}

.home .p-top-profile figure{
  margin:0 !important;
}

.home .p-top-profile img{
  display:block !important;
  width:100% !important;
  border-radius:28px !important;
  box-shadow:0 16px 36px rgba(15,28,45,.09) !important;
}

.home .p-top-profile .wp-block-columns > .wp-block-column:last-child,
.home .p-top-profile__content{
  padding:6px 0 !important;
}

.home .p-top-profile h2 + p,
.home .p-top-profile .c-profile-title + p{
  max-width:700px !important;
}

.home .p-top-profile ul,
.home .p-top-profile .wp-block-list{
  list-style:none !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  display:grid !important;
  gap:10px !important;
}

.home .p-top-profile li{
  position:relative !important;
  margin:0 !important;
  padding:13px 14px 13px 40px !important;
  border:1px solid #e3ebf2 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(15,28,45,.03) !important;
  font-size:14px !important;
  line-height:1.8 !important;
  color:#5f6976 !important;
}

.home .p-top-profile li::before{
  content:"" !important;
  position:absolute !important;
  left:16px !important;
  top:1.08em !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#415674 !important;
  box-shadow:0 0 0 4px rgba(65,86,116,.12) !important;
}

.home .p-top-profile .wp-block-button__link,
.home .p-top-profile .c-btn{
  min-height:50px !important;
  padding:0 22px !important;
  border-radius:999px !important;
}


/* ---------------------------------
   7) final contact / cta section
--------------------------------- */
.home .p-top-contact,
.home .p-top-cta{
  position:relative !important;
}

.home .p-top-contact .c-contact__inner,
.home .p-top-cta .c-cta__inner,
.home .p-top-contact .wp-block-group,
.home .p-top-cta .wp-block-group{
  padding:34px 32px !important;
  border:1px solid #dfe7ef !important;
  border-radius:30px !important;
  background:linear-gradient(180deg,#16263d 0%,#1d314c 100%) !important;
  box-shadow:0 20px 40px rgba(15,28,45,.10) !important;
}

.home .p-top-contact .c-contact-title,
.home .p-top-cta .c-cta-title,
.home .p-top-contact .wp-block-heading,
.home .p-top-cta .wp-block-heading,
.home .p-top-contact p,
.home .p-top-cta p{
  color:#fff !important;
}

.home .p-top-contact .wp-block-button__link,
.home .p-top-cta .wp-block-button__link{
  min-height:52px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#16263d !important;
  font-weight:700 !important;
  box-shadow:none !important;
}


/* ---------------------------------
   8) tablet
--------------------------------- */
@media (max-width:960px){
  body.home #header .l-header__body{
    width:min(calc(100% - 28px),100%) !important;
  }

  .home .entryContent,
  .home .entry-content{
    width:min(calc(100% - 28px),100%) !important;
    padding-left:24px !important;
    padding-right:24px !important;
    border-radius:24px !important;
  }

  .home .p-top-hero{
    padding-top:22px !important;
    padding-bottom:24px !important;
  }

  .home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .home .c-hero-title{
    font-size:clamp(34px,6vw,44px) !important;
    line-height:1.16 !important;
  }

  .home .p-top-hero__card{
    max-width:100% !important;
  }

  .home .p-top-services,
  .home .p-top-profile,
  .home .p-top-cta,
  .home .p-top-contact{
    padding-top:42px !important;
    padding-bottom:44px !important;
  }

  .home .p-top-profile .wp-block-columns,
  .home .p-top-profile__grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .home .p-top-contact .c-contact__inner,
  .home .p-top-cta .c-cta__inner,
  .home .p-top-contact .wp-block-group,
  .home .p-top-cta .wp-block-group{
    padding:28px 24px !important;
    border-radius:24px !important;
  }
}


/* ---------------------------------
   9) mobile
--------------------------------- */
@media (max-width:560px){
  .home .l-mainContent__body{
    padding:6px 0 24px !important;
  }

  .home .entryContent,
  .home .entry-content{
    width:min(calc(100% - 14px),100%) !important;
    padding-left:16px !important;
    padding-right:16px !important;
    border-radius:18px !important;
  }

  .home .c-hero-title{
    font-size:30px !important;
    line-height:1.18 !important;
  }

  .home .p-top-hero__lead{
    font-size:14px !important;
    line-height:1.85 !important;
  }

  .home .p-top-trust li{
    white-space:normal !important;
    font-size:11px !important;
    padding:8px 12px !important;
  }

  .home .p-top-hero__card{
    padding:18px 16px 14px !important;
    border-radius:20px !important;
  }

  .home .p-top-hero__card h3,
  .home .p-top-hero__card h4,
  .home .p-top-hero__card .wp-block-heading{
    font-size:20px !important;
  }

  .home .p-top-services h3,
  .home .p-top-services h4,
  .home .p-top-steps h3,
  .home .p-top-steps h4,
  .home .p-top-reasons h3,
  .home .p-top-reasons h4{
    font-size:18px !important;
  }

  .home .p-top-contact .c-contact__inner,
  .home .p-top-cta .c-cta__inner,
  .home .p-top-contact .wp-block-group,
  .home .p-top-cta .wp-block-group{
    padding:22px 16px !important;
    border-radius:18px !important;
  }
}
/* =========================================================
   TOP PAGE PATCH
   横長化 / 余白再設計 / 見出し＆写真比率修正
   ※ 既存トップCSSのさらに一番下へ追記
========================================================= */

/* ---------------------------------
   1) 外側の白カードをもっと大きく・静かに見せる
--------------------------------- */
body.home #header .l-header__body{
  width:min(calc(100% - 88px),1320px) !important;
}

.home .l-mainContent__body{
  padding:18px 0 42px !important;
}

.home .entryContent,
.home .entry-content{
  width:min(calc(100% - 88px),1320px) !important;
  margin:0 auto !important;
  padding-left:44px !important;
  padding-right:44px !important;
  border-radius:36px !important;
  box-shadow:0 28px 70px rgba(15,28,45,.06) !important;
}

/* ---------------------------------
   2) ヒーロー全体を横長寄りに再設計
--------------------------------- */
.home .p-top-hero{
  padding-top:30px !important;
  padding-bottom:18px !important;
}

.home .p-top-hero__grid{
  grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr) !important;
  gap:56px !important;
  align-items:center !important;
}

.home .p-top-hero__copy{
  max-width:720px !important;
}

/* ---------------------------------
   3) 見出しを大きくして、2行で見せやすくする
--------------------------------- */
.home .c-hero-title{
  max-width:10.6em !important;
  margin:0 0 16px !important;
  font-size:clamp(46px,5vw,64px) !important;
  line-height:1.14 !important;
  letter-spacing:-0.025em !important;
  font-weight:700 !important;
}

.home .p-top-hero__lead{
  max-width:620px !important;
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:1.92 !important;
}

/* ---------------------------------
   4) CTAとチップを横方向に整理
--------------------------------- */
.home .p-top-hero .wp-block-buttons{
  gap:14px !important;
  margin-top:18px !important;
  margin-bottom:0 !important;
}

.home .p-top-trust{
  margin-top:18px !important;
}

.home .p-top-trust ul,
.home .p-top-trust .wp-block-list{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  align-items:center !important;
  overflow-x:auto !important;
  padding-bottom:2px !important;
}

.home .p-top-trust li{
  flex:0 0 auto !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%) !important;
  border:1px solid #e0e8ef !important;
  box-shadow:0 6px 16px rgba(15,28,45,.035) !important;
  color:#415674 !important;
}

/* ---------------------------------
   5) 右プロフィールカードを小さくではなく
      “横全体に対して適正”にする
--------------------------------- */
.home .p-top-hero__card{
  max-width:380px !important;
  padding:18px 18px 16px !important;
  border-radius:26px !important;
  margin-left:auto !important;
  margin-right:0 !important;
}

.home .p-top-hero__card::before{
  top:20px !important;
  bottom:20px !important;
}

/* 画像比率を縦に伸ばしすぎない */
.home .p-top-hero__card figure,
.home .p-top-hero__card .wp-block-image{
  margin:0 !important;
}

.home .p-top-hero__card img{
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  border-radius:20px !important;
}

/* カード内テキストを少し締める */
.home .p-top-hero__card h3,
.home .p-top-hero__card h4,
.home .p-top-hero__card .wp-block-heading{
  margin:14px 0 8px !important;
  font-size:22px !important;
  line-height:1.34 !important;
}

.home .p-top-hero__card p{
  font-size:13px !important;
  line-height:1.78 !important;
}

.home .p-top-hero__card ul{
  margin-top:12px !important;
  gap:8px !important;
}

.home .p-top-hero__card li{
  padding:10px 12px 10px 34px !important;
  font-size:12px !important;
  line-height:1.7 !important;
  border-radius:14px !important;
}

/* ---------------------------------
   6) 「こんなお悩みはありませんか」へ早くつなぐ
--------------------------------- */
.home .p-top-services,
.home .p-top-reasons,
.home .p-top-steps,
.home .p-top-profile,
.home .p-top-cta,
.home .p-top-contact{
  padding-top:42px !important;
  padding-bottom:46px !important;
}

/* ヒーロー直下の最初のセクションはさらに詰める */
.home .p-top-hero + .p-top-services,
.home .p-top-trust + .p-top-services{
  margin-top:6px !important;
  padding-top:28px !important;
}

/* ---------------------------------
   7) 課題カードを横並びの印象に寄せる
--------------------------------- */
.home .p-top-services .wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.home .p-top-services .wp-block-columns > .wp-block-column{
  padding:22px 18px 18px !important;
  border-radius:18px !important;
}

.home .p-top-services h3,
.home .p-top-services h4{
  font-size:19px !important;
  line-height:1.42 !important;
  margin:0 0 10px !important;
}

.home .p-top-services .wp-block-columns > .wp-block-column p{
  font-size:13px !important;
  line-height:1.8 !important;
}

/* ---------------------------------
   8) 見出し上の小ラベルをモック寄りに整理
--------------------------------- */
.home .p-top-hero > p:first-child,
.home .p-top-services > p:first-child,
.home .p-top-profile > p:first-child,
.home .p-top-cta > p:first-child,
.home .p-top-contact > p:first-child{
  margin:0 0 10px !important;
  font-size:11px !important;
  line-height:1.4 !important;
  letter-spacing:.08em !important;
  font-weight:700 !important;
  color:#8a7760 !important;
  text-transform:none !important;
}

/* ---------------------------------
   9) タブレット
--------------------------------- */
@media (max-width:960px){
  body.home #header .l-header__body{
    width:min(calc(100% - 32px),100%) !important;
  }

  .home .entryContent,
  .home .entry-content{
    width:min(calc(100% - 32px),100%) !important;
    padding-left:24px !important;
    padding-right:24px !important;
    border-radius:24px !important;
  }

  .home .p-top-hero{
    padding-top:24px !important;
    padding-bottom:18px !important;
  }

  .home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .home .c-hero-title{
    font-size:clamp(38px,6vw,50px) !important;
    max-width:11em !important;
  }

  .home .p-top-hero__copy{
    max-width:none !important;
  }

  .home .p-top-trust ul,
  .home .p-top-trust .wp-block-list{
    flex-wrap:wrap !important;
    overflow:visible !important;
  }

  .home .p-top-services .wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ---------------------------------
   10) スマホ
--------------------------------- */
@media (max-width:560px){
  .home .entryContent,
  .home .entry-content{
    width:min(calc(100% - 16px),100%) !important;
    padding-left:16px !important;
    padding-right:16px !important;
    border-radius:18px !important;
  }

  .home .c-hero-title{
    font-size:32px !important;
    line-height:1.18 !important;
  }

  .home .p-top-hero__lead{
    font-size:14px !important;
    line-height:1.84 !important;
  }

  .home .p-top-hero__card{
    max-width:100% !important;
    padding:16px !important;
    border-radius:20px !important;
  }

  .home .p-top-services .wp-block-columns{
    grid-template-columns:1fr !important;
  }

  .home .p-top-trust li{
    white-space:normal !important;
  }
}
/* =========================================================
   TOP HERO FIX PATCH
   余白を増やす / 見出しを適正化 / 横長化
========================================================= */

/* 外側余白をしっかり取る */
body.home #header .l-header__body{
  width:min(calc(100% - 120px),1260px) !important;
}

.home .l-mainContent__body{
  padding:24px 0 44px !important;
}

.home .entryContent,
.home .entry-content{
  width:min(calc(100% - 120px),1260px) !important;
  margin:0 auto !important;
  padding-left:52px !important;
  padding-right:52px !important;
  border-radius:36px !important;
  box-shadow:0 26px 64px rgba(15,28,45,.06) !important;
}

/* ヒーロー全体の横長化 */
.home .p-top-hero{
  padding-top:34px !important;
  padding-bottom:18px !important;
}

.home .p-top-hero__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr) !important;
  gap:64px !important;
  align-items:center !important;
}

.home .p-top-hero__copy{
  max-width:760px !important;
}

/* 見出しを大きすぎない自然なサイズに戻す */
.home .c-hero-title{
  max-width:13.5ch !important;
  margin:0 0 18px !important;
  font-size:clamp(36px,3.8vw,52px) !important;
  line-height:1.18 !important;
  letter-spacing:-0.02em !important;
  font-weight:700 !important;
}

/* 手動改行が残っていても desktop では消す */
.home .c-hero-title br{
  display:none !important;
}

.home .p-top-hero__lead{
  max-width:620px !important;
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:1.92 !important;
}

/* ボタンまわり */
.home .p-top-hero .wp-block-buttons{
  gap:14px !important;
  margin-top:18px !important;
  margin-bottom:0 !important;
}

/* チップを横一列寄りに */
.home .p-top-trust{
  margin-top:18px !important;
}

.home .p-top-trust ul,
.home .p-top-trust .wp-block-list{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  align-items:center !important;
  overflow-x:auto !important;
  padding-bottom:2px !important;
}

.home .p-top-trust li{
  flex:0 0 auto !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

/* 右写真カード */
.home .p-top-hero__card{
  max-width:360px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  padding:16px !important;
  border-radius:24px !important;
}

.home .p-top-hero__card img{
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  border-radius:18px !important;
}

.home .p-top-hero__card h3,
.home .p-top-hero__card h4,
.home .p-top-hero__card .wp-block-heading{
  margin:12px 0 8px !important;
  font-size:20px !important;
  line-height:1.35 !important;
}

.home .p-top-hero__card p{
  font-size:13px !important;
  line-height:1.75 !important;
}

/* ヒーロー直下の最初のセクションを近づける */
.home .p-top-services{
  padding-top:28px !important;
}

/* 「こんなお悩みはありませんか」の4カードは横感を優先 */
.home .p-top-services .wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.home .p-top-services .wp-block-columns > .wp-block-column{
  padding:20px 18px 18px !important;
  border-radius:18px !important;
}

.home .p-top-services h3,
.home .p-top-services h4{
  font-size:18px !important;
  line-height:1.42 !important;
  margin:0 0 10px !important;
}

.home .p-top-services .wp-block-columns > .wp-block-column p{
  font-size:13px !important;
  line-height:1.8 !important;
}

/* tablet */
@media (max-width:960px){
  body.home #header .l-header__body{
    width:min(calc(100% - 32px),100%) !important;
  }

  .home .entryContent,
  .home .entry-content{
    width:min(calc(100% - 32px),100%) !important;
    padding-left:24px !important;
    padding-right:24px !important;
    border-radius:24px !important;
  }

  .home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .home .c-hero-title{
    font-size:clamp(34px,6vw,44px) !important;
    max-width:12.5ch !important;
  }

  .home .p-top-trust ul,
  .home .p-top-trust .wp-block-list{
    flex-wrap:wrap !important;
    overflow:visible !important;
  }

  .home .p-top-services .wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* mobile */
@media (max-width:560px){
  .home .entryContent,
  .home .entry-content{
    width:min(calc(100% - 16px),100%) !important;
    padding-left:16px !important;
    padding-right:16px !important;
    border-radius:18px !important;
  }

  .home .c-hero-title{
    font-size:30px !important;
    line-height:1.2 !important;
    max-width:none !important;
  }

  .home .c-hero-title br{
    display:inline !important;
  }

  .home .p-top-hero__card{
    max-width:100% !important;
  }

  .home .p-top-services .wp-block-columns{
    grid-template-columns:1fr !important;
  }

  .home .p-top-trust li{
    white-space:normal !important;
  }
}
/* =========================================
   FRONT PAGE LAYOUT FIX
   余白が小さい根本原因への対策
========================================= */

body.home{
  background:#eef2f5 !important;
}

/* 外側のグレー面の中で、白カードを置くためのシェル */
body.home .p-front-page__shell{
  width:min(calc(100% - 96px), 1480px) !important;
  margin:0 auto !important;
  padding:24px 0 48px !important;
  box-sizing:border-box !important;
}

/* 白カード本体 */
body.home .p-front-page__card{
  background:#ffffff !important;
  border:1px solid #e4ebf1 !important;
  border-radius:36px !important;
  box-shadow:0 24px 64px rgba(15,28,45,.06) !important;
  padding:42px 48px 56px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* 各セクション間の縦余白 */
body.home .p-front-page__card > section + section{
  margin-top:48px !important;
}

/* ヒーロー */
body.home .p-top-hero{
  padding:0 !important;
}

body.home .p-top-hero__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.14fr) minmax(320px,380px) !important;
  gap:56px !important;
  align-items:center !important;
}

body.home .p-top-hero__copy{
  max-width:680px !important;
}

body.home .c-hero-title{
  max-width:11.5ch !important;
  margin:0 0 14px !important;
  font-size:clamp(34px,3.4vw,50px) !important;
  line-height:1.16 !important;
  letter-spacing:-0.02em !important;
  font-weight:700 !important;
  color:#16263d !important;
}

body.home .c-hero-title br{
  display:none !important;
}

body.home .p-top-hero__lead{
  max-width:620px !important;
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:1.9 !important;
  color:#5f6976 !important;
}

/* ヒーロー下のチップ */
body.home .p-top-trust{
  margin-top:18px !important;
}

body.home .p-top-trust ul,
body.home .p-top-trust .wp-block-list{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  overflow-x:auto !important;
  margin:0 !important;
  padding:0 !important 0 2px !important;
  list-style:none !important;
}

body.home .p-top-trust li{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:10px 16px !important;
  border:1px solid #dfe8ef !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%) !important;
  color:#415674 !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  box-shadow:0 6px 16px rgba(15,28,45,.035) !important;
}

/* 右写真カード */
body.home .p-top-hero__card{
  max-width:380px !important;
  margin-left:auto !important;
  padding:18px 18px 16px !important;
  border:1px solid #dfe7ef !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%) !important;
  box-shadow:0 18px 42px rgba(15,28,45,.08) !important;
}

body.home .p-top-hero__card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  border-radius:20px !important;
}

body.home .p-top-hero__card h3,
body.home .p-top-hero__card h4,
body.home .p-top-hero__card .wp-block-heading{
  margin:14px 0 8px !important;
  font-size:22px !important;
  line-height:1.34 !important;
  color:#16263d !important;
}

body.home .p-top-hero__card p{
  font-size:13px !important;
  line-height:1.78 !important;
  color:#5f6976 !important;
}

/* 4カラム系セクションは横長に見せる */
body.home #issues .wp-block-columns,
body.home #services .wp-block-columns,
body.home #reasons .wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

body.home #issues .wp-block-columns > .wp-block-column,
body.home #services .wp-block-columns > .wp-block-column,
body.home #reasons .wp-block-columns > .wp-block-column{
  padding:24px 20px 20px !important;
  border:1px solid #e4ebf1 !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%) !important;
  box-shadow:0 10px 24px rgba(15,28,45,.04) !important;
}

/* セクション見出し */
body.home #issues h2,
body.home #services h2,
body.home #reasons h2,
body.home #profile h2,
body.home #contact h2{
  margin:0 0 12px !important;
  font-size:clamp(28px,2.4vw,38px) !important;
  line-height:1.2 !important;
  letter-spacing:-0.02em !important;
  color:#16263d !important;
}

@media (max-width: 960px){
  body.home .p-front-page__shell{
    width:min(calc(100% - 32px), 100%) !important;
    padding:16px 0 32px !important;
  }

  body.home .p-front-page__card{
    padding:28px 24px 36px !important;
    border-radius:24px !important;
  }

  body.home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body.home #issues .wp-block-columns,
  body.home #services .wp-block-columns,
  body.home #reasons .wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body.home .c-hero-title{
    font-size:clamp(30px,5.2vw,42px) !important;
    max-width:none !important;
  }
}

@media (max-width: 560px){
  body.home .p-front-page__shell{
    width:min(calc(100% - 16px), 100%) !important;
  }

  body.home .p-front-page__card{
    padding:22px 16px 28px !important;
    border-radius:18px !important;
  }

  body.home #issues .wp-block-columns,
  body.home #services .wp-block-columns,
  body.home #reasons .wp-block-columns{
    grid-template-columns:1fr !important;
  }

  body.home .c-hero-title{
    font-size:28px !important;
    line-height:1.18 !important;
  }
}
/* =========================================
   TOP HERO BALANCE PATCH
   写真を小さく / キャッチを明朝体へ
========================================= */

/* ヒーロー全体の左右バランスを左寄りにする */
body.home .p-top-hero__grid{
  grid-template-columns:minmax(0,1.22fr) minmax(260px,320px) !important;
  gap:64px !important;
  align-items:center !important;
}

/* 左コピー領域を主役に */
body.home .p-top-hero__copy{
  max-width:720px !important;
}

/* キャッチを明朝体へ変更 */
body.home .c-hero-title{
  margin:0 0 18px !important;
  max-width:11.8ch !important;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "BIZ UDPMincho",
    "MS PMincho",
    serif !important;
  font-size:clamp(32px,3.2vw,46px) !important;
  line-height:1.34 !important;
  letter-spacing:.02em !important;
  font-weight:500 !important;
  color:#16263d !important;
}

/* 手動改行が残っていても不格好になりにくくする */
body.home .c-hero-title br{
  display:none !important;
}

/* リード文は少し上品に */
body.home .p-top-hero__lead{
  max-width:620px !important;
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:2.0 !important;
  color:#5f6976 !important;
}

/* 右写真カードを小さく */
body.home .p-top-hero__card{
  max-width:300px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  padding:14px 14px 12px !important;
  border-radius:22px !important;
  box-shadow:0 14px 30px rgba(15,28,45,.07) !important;
}

/* 写真自体も一段小さく、縦長を抑える */
body.home .p-top-hero__card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  border-radius:16px !important;
}

/* 写真下のテキストを少し控えめに */
body.home .p-top-hero__card h2,
body.home .p-top-hero__card h3,
body.home .p-top-hero__card h4,
body.home .p-top-hero__card .wp-block-heading{
  margin:12px 0 6px !important;
  font-size:20px !important;
  line-height:1.35 !important;
  color:#16263d !important;
}

body.home .p-top-hero__card p{
  margin:0 0 8px !important;
  font-size:12px !important;
  line-height:1.75 !important;
  color:#5f6976 !important;
}

body.home .p-top-hero__card ul{
  margin:10px 0 0 !important;
  gap:8px !important;
}

body.home .p-top-hero__card li{
  padding:9px 10px 9px 30px !important;
  font-size:11px !important;
  line-height:1.65 !important;
  border-radius:12px !important;
}

body.home .p-top-hero__card li::before{
  left:12px !important;
  width:7px !important;
  height:7px !important;
}

/* チップを少しだけ上品に */
body.home .p-top-trust{
  margin-top:20px !important;
}

body.home .p-top-trust li{
  padding:10px 15px !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

/* PCで白カード内の見え方を少しゆったり */
body.home .p-front-page__card{
  padding-top:46px !important;
  padding-left:52px !important;
  padding-right:52px !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body.home .c-hero-title{
    max-width:none !important;
    font-size:clamp(30px,4.8vw,40px) !important;
    line-height:1.36 !important;
  }

  body.home .p-top-hero__card{
    max-width:320px !important;
    margin-left:0 !important;
  }

  body.home .p-front-page__card{
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .c-hero-title{
    font-size:28px !important;
    line-height:1.42 !important;
    letter-spacing:.015em !important;
  }

  body.home .p-top-hero__lead{
    font-size:14px !important;
    line-height:1.9 !important;
  }

  body.home .p-top-hero__card{
    max-width:100% !important;
    padding:14px !important;
  }

  body.home .p-front-page__card{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
/* =========================================================
   TOP PAGE STAGE-2 PATCH
   - キャッチを細めの明朝体に
   - 写真をさらに引いて余白勝ちに
   - チップとボタンをモック寄りに
   append at bottom of style.css
========================================================= */

/* ------------------------------
   0) 全体の白カード余白を少し広げる
------------------------------ */
body.home .p-front-page__shell{
  width:min(calc(100% - 112px), 1500px) !important;
  padding:28px 0 56px !important;
}

body.home .p-front-page__card{
  padding:52px 60px 62px !important;
  border-radius:38px !important;
  box-shadow:0 28px 72px rgba(15,28,45,.06) !important;
}

/* ヒーロー直下が詰まって見えないよう微調整 */
body.home .p-front-page__card > section + section{
  margin-top:54px !important;
}

/* ------------------------------
   1) ヒーロー全体の比率
   左を主役 / 右写真は補足に
------------------------------ */
body.home .p-top-hero{
  padding:0 !important;
}

body.home .p-top-hero__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.34fr) minmax(240px,290px) !important;
  gap:78px !important;
  align-items:center !important;
}

body.home .p-top-hero__copy{
  max-width:760px !important;
}

/* ------------------------------
   2) キャッチを細め・上品な明朝へ
------------------------------ */
body.home .c-hero-title{
  max-width:12.2ch !important;
  margin:0 0 20px !important;
  font-family:
    "YuMincho",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "BIZ UDPMincho",
    "Noto Serif JP",
    serif !important;
  font-size:clamp(30px,3vw,42px) !important;
  line-height:1.52 !important;
  letter-spacing:.035em !important;
  font-weight:400 !important;
  color:#16263d !important;
  text-wrap:pretty !important;
  -webkit-font-smoothing:antialiased !important;
  font-feature-settings:"palt" 1 !important;
}

body.home .c-hero-title br{
  display:none !important;
}

body.home .p-top-hero__lead{
  max-width:640px !important;
  margin:0 0 20px !important;
  font-size:15px !important;
  line-height:2.05 !important;
  letter-spacing:.01em !important;
  color:#5f6976 !important;
}

/* 小ラベルも少し繊細に */
body.home .c-eyebrow{
  margin:0 0 14px !important;
  font-size:11px !important;
  line-height:1.4 !important;
  letter-spacing:.12em !important;
  font-weight:700 !important;
  color:#8f7a5f !important;
}

/* ------------------------------
   3) ボタンをモック寄りに
   主ボタン: 細身で上品
   副ボタン: 白地の輪郭
------------------------------ */
body.home .p-top-hero .wp-block-buttons{
  gap:14px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  align-items:center !important;
}

body.home .p-top-hero .wp-block-button{
  margin:0 !important;
}

body.home .p-top-hero .wp-block-button__link{
  min-height:50px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  font-size:13px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:700 !important;
  text-decoration:none !important;
  transition:all .25s ease !important;
  box-sizing:border-box !important;
}

body.home .p-top-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:linear-gradient(180deg,#223752 0%,#16263d 100%) !important;
  color:#fff !important;
  border:1px solid rgba(20,38,61,.18) !important;
  box-shadow:0 10px 22px rgba(15,28,45,.10) !important;
}

body.home .p-top-hero .wp-block-button.is-style-outline .wp-block-button__link{
  background:#fff !important;
  color:#223752 !important;
  border:1px solid #d8e2eb !important;
  box-shadow:0 4px 12px rgba(15,28,45,.025) !important;
}

/* ------------------------------
   4) チップをモック寄りに
   小さめ・軽め・上品な横並び
------------------------------ */
body.home .p-top-trust{
  margin-top:22px !important;
}

body.home .p-top-trust ul,
body.home .p-top-trust .wp-block-list{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 0 2px !important;
  overflow-x:auto !important;
  list-style:none !important;
  scrollbar-width:none !important;
}

body.home .p-top-trust ul::-webkit-scrollbar,
body.home .p-top-trust .wp-block-list::-webkit-scrollbar{
  display:none !important;
}

body.home .p-top-trust li{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:10px 15px !important;
  border:1px solid #dfe7ee !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 100%) !important;
  box-shadow:0 6px 14px rgba(15,28,45,.03) !important;
  color:#4b5f79 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  letter-spacing:.02em !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

/* ------------------------------
   5) 右写真カードをさらに引く
   余白勝ちの見え方へ
------------------------------ */
body.home .p-top-hero__card{
  position:relative !important;
  max-width:276px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  padding:12px 12px 10px !important;
  border:1px solid #e1e8ef !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  box-shadow:0 14px 30px rgba(15,28,45,.055) !important;
}

body.home .p-top-hero__card::before{
  top:18px !important;
  bottom:18px !important;
  width:3px !important;
  background:linear-gradient(180deg,#b89d7c 0%,#415674 100%) !important;
}

body.home .p-top-hero__card figure,
body.home .p-top-hero__card .wp-block-image{
  margin:0 !important;
}

body.home .p-top-hero__card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  border-radius:15px !important;
  box-shadow:0 10px 22px rgba(15,28,45,.08) !important;
}

body.home .p-top-hero__card h2,
body.home .p-top-hero__card h3,
body.home .p-top-hero__card h4,
body.home .p-top-hero__card .wp-block-heading{
  margin:10px 0 5px !important;
  font-size:18px !important;
  line-height:1.38 !important;
  letter-spacing:.01em !important;
  color:#16263d !important;
}

body.home .p-top-hero__card p{
  margin:0 0 8px !important;
  font-size:11px !important;
  line-height:1.7 !important;
  color:#607080 !important;
}

body.home .p-top-hero__card ul{
  margin:8px 0 0 !important;
  padding:0 !important;
  display:grid !important;
  gap:7px !important;
  list-style:none !important;
}

body.home .p-top-hero__card li{
  margin:0 !important;
  padding:8px 9px 8px 28px !important;
  border:1px solid #e5edf4 !important;
  border-radius:11px !important;
  background:#fff !important;
  box-shadow:0 4px 10px rgba(15,28,45,.02) !important;
  font-size:10.5px !important;
  line-height:1.62 !important;
  color:#607080 !important;
}

body.home .p-top-hero__card li::before{
  left:11px !important;
  top:1.02em !important;
  width:6px !important;
  height:6px !important;
  box-shadow:0 0 0 3px rgba(65,86,116,.10) !important;
}

/* ------------------------------
   6) ヒーロー下のセクション開始を
   ほんの少し整える
------------------------------ */
body.home .p-top-issues{
  padding-top:4px !important;
}

body.home .p-top-issues .c-section-title,
body.home .p-top-services .c-section-title,
body.home .p-top-reasons .c-section-title,
body.home .p-top-profile .c-section-title,
body.home .p-top-contact .c-section-title{
  letter-spacing:.01em !important;
}

/* ------------------------------
   7) 代表紹介本体との見え方差を
   ヒーロー側だけ軽く保つ
------------------------------ */
body.home .p-top-profile__grid{
  gap:34px !important;
}

body.home .p-top-profile .c-profile-role{
  margin:0 0 14px !important;
  font-size:14px !important;
  line-height:1.8 !important;
  color:#5f6976 !important;
}

/* ------------------------------
   8) tablet
------------------------------ */
@media (max-width:960px){
  body.home .p-front-page__shell{
    width:min(calc(100% - 36px), 100%) !important;
    padding:18px 0 38px !important;
  }

  body.home .p-front-page__card{
    padding:34px 28px 42px !important;
    border-radius:26px !important;
  }

  body.home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  body.home .p-top-hero__copy{
    max-width:none !important;
  }

  body.home .c-hero-title{
    max-width:none !important;
    font-size:clamp(28px,4.4vw,38px) !important;
    line-height:1.5 !important;
  }

  body.home .p-top-hero__lead{
    max-width:none !important;
    font-size:14px !important;
    line-height:1.95 !important;
  }

  body.home .p-top-trust ul,
  body.home .p-top-trust .wp-block-list{
    flex-wrap:wrap !important;
    overflow:visible !important;
  }

  body.home .p-top-hero__card{
    max-width:300px !important;
    margin-left:0 !important;
  }

  body.home .p-top-hero .wp-block-button__link{
    min-height:48px !important;
    padding:0 18px !important;
    font-size:12px !important;
  }
}

/* ------------------------------
   9) mobile
------------------------------ */
@media (max-width:560px){
  body.home .p-front-page__shell{
    width:min(calc(100% - 16px),100%) !important;
    padding:10px 0 24px !important;
  }

  body.home .p-front-page__card{
    padding:24px 18px 30px !important;
    border-radius:18px !important;
  }

  body.home .p-top-hero__grid{
    gap:24px !important;
  }

  body.home .c-hero-title{
    font-size:26px !important;
    line-height:1.56 !important;
    letter-spacing:.025em !important;
  }

  body.home .p-top-hero__lead{
    font-size:14px !important;
    line-height:1.9 !important;
  }

  body.home .p-top-hero .wp-block-buttons{
    gap:10px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  body.home .p-top-hero .wp-block-button__link{
    min-height:46px !important;
    padding:0 17px !important;
    font-size:12px !important;
  }

  body.home .p-top-trust{
    margin-top:18px !important;
  }

  body.home .p-top-trust li{
    white-space:normal !important;
    font-size:11px !important;
    padding:9px 13px !important;
  }

  body.home .p-top-hero__card{
    max-width:100% !important;
    padding:12px !important;
    border-radius:18px !important;
  }

  body.home .p-top-hero__card img{
    border-radius:13px !important;
  }

  body.home .p-top-hero__card h2,
  body.home .p-top-hero__card h3,
  body.home .p-top-hero__card h4,
  body.home .p-top-hero__card .wp-block-heading{
    font-size:17px !important;
  }

  body.home .p-top-hero__card p{
    font-size:11px !important;
  }

  body.home .p-top-hero__card li{
    font-size:10px !important;
    padding:8px 8px 8px 26px !important;
  }
}
/* =========================================================
   HERO PHOTO MOCK PATCH
   - 写真の外側に細い濃色ライン
   - 白フチをしっかり出す
   - 濃紺ネームプレートを画像上に重ねる
   - 白背景と影を強化
========================================================= */

/* ヒーロー右カード全体 */
body.home .p-top-hero__card{
  position:relative !important;
  max-width:290px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  padding:12px !important;
  border-radius:28px !important;
  background:#ffffff !important;
  border:1px solid rgba(20,38,61,.10) !important;
  box-shadow:
    0 18px 40px rgba(15,28,45,.10),
    0 4px 12px rgba(15,28,45,.05) !important;
  overflow:visible !important;
}

/* 左アクセント線は今回は消す */
body.home .p-top-hero__card::before{
  display:none !important;
}

/* 写真の枠 */
body.home .p-top-hero__card figure,
body.home .p-top-hero__card .wp-block-image{
  position:relative !important;
  margin:0 !important;
  padding:10px !important;
  border-radius:24px !important;
  background:#ffffff !important;
  box-shadow:
    inset 0 0 0 1px rgba(22,38,61,.22),
    0 10px 24px rgba(15,28,45,.06) !important;
}

/* 写真そのもの */
body.home .p-top-hero__card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  border-radius:18px !important;
  background:#f7f8fa !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.85) !important;
}

/* ネームプレートのために見出しと段落を画像上に重ねる */
body.home .p-top-hero__card h2,
body.home .p-top-hero__card h3,
body.home .p-top-hero__card h4,
body.home .p-top-hero__card .wp-block-heading{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:54px !important;
  z-index:3 !important;
  margin:0 !important;
  padding:16px 18px 0 !important;
  border-radius:16px 16px 0 0 !important;
  background:linear-gradient(180deg,#1f3553 0%,#16263d 100%) !important;
  color:#ffffff !important;
  font-size:13px !important;
  line-height:1.35 !important;
  letter-spacing:.03em !important;
  font-weight:700 !important;
  box-shadow:
    0 14px 24px rgba(15,28,45,.18) !important;
}

/* 名前行 */
body.home .p-top-hero__card h2 + p,
body.home .p-top-hero__card h3 + p,
body.home .p-top-hero__card h4 + p,
body.home .p-top-hero__card .wp-block-heading + p{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  z-index:3 !important;
  margin:0 !important;
  padding:0 18px 16px !important;
  border-radius:0 0 16px 16px !important;
  background:linear-gradient(180deg,#1f3553 0%,#16263d 100%) !important;
  color:#ffffff !important;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "BIZ UDPMincho",
    serif !important;
  font-size:18px !important;
  line-height:1.3 !important;
  letter-spacing:.06em !important;
  font-weight:700 !important;
  box-shadow:
    0 14px 24px rgba(15,28,45,.18) !important;
}

/* h2とpの継ぎ目を自然に */
body.home .p-top-hero__card h2 + p::before,
body.home .p-top-hero__card h3 + p::before,
body.home .p-top-hero__card h4 + p::before,
body.home .p-top-hero__card .wp-block-heading + p::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:-1px !important;
  height:1px !important;
  background:rgba(255,255,255,.08) !important;
}

/* ヒーロー内の箇条書きは今回は消して、写真＋ネームを主役化 */
body.home .p-top-hero__card ul{
  display:none !important;
}

/* 写真カードを少し上に見せる */
body.home .p-top-hero__card{
  transform:translateY(-2px) !important;
}

/* ヒーロー全体の比率も少し微調整 */
body.home .p-top-hero__grid{
  grid-template-columns:minmax(0,1.36fr) minmax(250px,300px) !important;
  gap:76px !important;
  align-items:center !important;
}

/* キャッチを少しだけ繊細に保つ */
body.home .c-hero-title{
  max-width:12.4ch !important;
  font-size:clamp(30px,3vw,41px) !important;
  line-height:1.56 !important;
  letter-spacing:.04em !important;
  font-weight:400 !important;
}

/* 白カード全体の影も少しだけ上品に */
body.home .p-front-page__card{
  background:#ffffff !important;
  box-shadow:
    0 30px 72px rgba(15,28,45,.06),
    0 8px 18px rgba(15,28,45,.03) !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }

  body.home .p-top-hero__card{
    max-width:320px !important;
    margin-left:0 !important;
  }

  body.home .p-top-hero__card h2,
  body.home .p-top-hero__card h3,
  body.home .p-top-hero__card h4,
  body.home .p-top-hero__card .wp-block-heading{
    left:16px !important;
    right:16px !important;
    bottom:50px !important;
    font-size:12px !important;
    padding:14px 16px 0 !important;
  }

  body.home .p-top-hero__card h2 + p,
  body.home .p-top-hero__card h3 + p,
  body.home .p-top-hero__card h4 + p,
  body.home .p-top-hero__card .wp-block-heading + p{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    padding:0 16px 14px !important;
    font-size:17px !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .p-top-hero__card{
    max-width:100% !important;
    padding:10px !important;
    border-radius:22px !important;
  }

  body.home .p-top-hero__card figure,
  body.home .p-top-hero__card .wp-block-image{
    padding:8px !important;
    border-radius:18px !important;
  }

  body.home .p-top-hero__card img{
    border-radius:14px !important;
  }

  body.home .p-top-hero__card h2,
  body.home .p-top-hero__card h3,
  body.home .p-top-hero__card h4,
  body.home .p-top-hero__card .wp-block-heading{
    left:14px !important;
    right:14px !important;
    bottom:46px !important;
    padding:13px 14px 0 !important;
    font-size:11px !important;
    border-radius:14px 14px 0 0 !important;
  }

  body.home .p-top-hero__card h2 + p,
  body.home .p-top-hero__card h3 + p,
  body.home .p-top-hero__card h4 + p,
  body.home .p-top-hero__card .wp-block-heading + p{
    left:14px !important;
    right:14px !important;
    bottom:14px !important;
    padding:0 14px 13px !important;
    font-size:16px !important;
    border-radius:0 0 14px 14px !important;
  }
}
/* =========================================
   HERO CATCH TUNE PATCH
   もう少し太く、そして小さく
========================================= */

body.home .c-hero-title{
  max-width:11.6ch !important;
  margin:0 0 18px !important;
  font-family:
    "YuMincho",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "BIZ UDPMincho",
    "Noto Serif JP",
    serif !important;
  font-size:clamp(27px,2.55vw,37px) !important;
  line-height:1.42 !important;
  letter-spacing:.02em !important;
  font-weight:600 !important;
  color:#16263d !important;
  text-wrap:pretty !important;
  -webkit-font-smoothing:antialiased !important;
  font-feature-settings:"palt" 1 !important;
}

body.home .c-hero-title br{
  display:none !important;
}

/* ヒーロー本文との距離も少しだけ締める */
body.home .p-top-hero__lead{
  margin:0 0 18px !important;
}

/* tablet */
@media (max-width:960px){
  body.home .c-hero-title{
    max-width:none !important;
    font-size:clamp(25px,4.1vw,33px) !important;
    line-height:1.40 !important;
    letter-spacing:.018em !important;
    font-weight:600 !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .c-hero-title{
    font-size:24px !important;
    line-height:1.38 !important;
    letter-spacing:.015em !important;
    font-weight:600 !important;
  }
}
/* =========================================
   WHITE CARD SHADOW PATCH
   白背景に影を追加
========================================= */

body.home .p-front-page__card{
  background:#ffffff !important;
  border:1px solid rgba(22,38,61,.06) !important;
  box-shadow:
    0 22px 54px rgba(15,28,45,.08),
    0 8px 18px rgba(15,28,45,.04),
    0 1px 0 rgba(255,255,255,.92) inset !important;
}

/* 角丸の見え方も少し滑らかに */
body.home .p-front-page__card{
  border-radius:38px !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-front-page__card{
    box-shadow:
      0 18px 42px rgba(15,28,45,.075),
      0 6px 14px rgba(15,28,45,.035),
      0 1px 0 rgba(255,255,255,.92) inset !important;
    border-radius:26px !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .p-front-page__card{
    box-shadow:
  0 28px 72px rgba(15,28,45,.10),
  0 10px 24px rgba(15,28,45,.05),
  0 1px 0 rgba(255,255,255,.94) inset !important;

  }
}
/* =========================================================
   HERO WIDTH BALANCE PATCH
   左に固まりすぎる問題 / 右側の不自然な空白を解消
========================================================= */

/* ヒーロー全体の横幅バランスを再調整 */
body.home .p-top-hero__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(250px,290px) !important;
  gap:48px !important;
  align-items:center !important;
}

/* 左カラムを細くしすぎない */
body.home .p-top-hero__copy{
  max-width:none !important;
  width:100% !important;
  min-width:0 !important;
}

/* キャッチを広く使って、変な改行を防ぐ */
body.home .c-hero-title{
  max-width:15.2ch !important;
  margin:0 0 18px !important;
  font-size:clamp(26px,2.45vw,36px) !important;
  line-height:1.34 !important;
  letter-spacing:.015em !important;
  font-weight:600 !important;
}

/* 手動改行が残っていても横長で見せる */
body.home .c-hero-title br{
  display:none !important;
}

/* 本文も少し広げて縦伸びを抑える */
body.home .p-top-hero__lead{
  max-width:34em !important;
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:1.95 !important;
}

/* ボタンも左で詰まりすぎないように */
body.home .p-top-hero .wp-block-buttons{
  gap:14px !important;
  flex-wrap:wrap !important;
}

/* チップも左で詰まって見えないように */
body.home .p-top-trust{
  margin-top:18px !important;
}

body.home .p-top-trust ul,
body.home .p-top-trust .wp-block-list{
  gap:10px !important;
  flex-wrap:wrap !important;
  overflow:visible !important;
}

/* 写真を少し引きつつ、右側の空白だけが残らないようにする */
body.home .p-top-hero__card{
  max-width:270px !important;
  width:100% !important;
  margin-left:auto !important;
}

/* ヒーロー全体の内側余白も少しだけ整える */
body.home .p-top-hero{
  padding-top:4px !important;
  padding-bottom:4px !important;
}

/* 白カードの左右paddingが足りず、左に寄って見える場合の保険 */
body.home .p-front-page__card{
  padding-left:56px !important;
  padding-right:56px !important;
}

/* ------------------------------
   tablet
------------------------------ */
@media (max-width:960px){
  body.home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body.home .p-top-hero__copy{
    max-width:none !important;
  }

  body.home .c-hero-title{
    max-width:13.5ch !important;
    font-size:clamp(24px,4.1vw,32px) !important;
    line-height:1.36 !important;
  }

  body.home .p-top-hero__lead{
    max-width:none !important;
    line-height:1.9 !important;
  }

  body.home .p-front-page__card{
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

/* ------------------------------
   mobile
------------------------------ */
@media (max-width:560px){
  body.home .c-hero-title{
    max-width:12.2ch !important;
    font-size:24px !important;
    line-height:1.34 !important;
    letter-spacing:.01em !important;
  }

  body.home .p-top-hero__lead{
    font-size:14px !important;
    line-height:1.85 !important;
  }

  body.home .p-front-page__card{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
/* =========================================================
   HERO RIGHT SPACE FIX
   右の空白が大きすぎる問題を解消
   - 右カードを右端寄せしない
   - 左見出しの行長を広げる
   - カラムgapを詰める
========================================================= */

/* ヒーロー全体の2カラム比率を再調整 */
body.home .p-top-hero__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.42fr) minmax(220px,270px) !important;
  gap:26px !important;
  align-items:center !important;
}

/* 左カラムは細くしすぎない */
body.home .p-top-hero__copy{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

/* 見出しの行長を広げて、中央の空白を減らす */
body.home .c-hero-title{
  max-width:17.5ch !important;
  margin:0 0 16px !important;
  font-size:clamp(25px,2.3vw,34px) !important;
  line-height:1.32 !important;
  letter-spacing:.01em !important;
  font-weight:600 !important;
}

/* 本文も少し広げる */
body.home .p-top-hero__lead{
  max-width:38em !important;
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:1.9 !important;
}

/* 右カードを「右端」ではなく「左寄せ」にして中央空白を減らす */
body.home .p-top-hero__card{
  width:100% !important;
  max-width:258px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  justify-self:start !important;
  transform:none !important;
}

/* 写真カードを少しだけ左へ寄せて、視覚的な空白を圧縮 */
body.home .p-top-hero__card{
  position:relative !important;
  left:-6px !important;
}

/* ヒーローのボタン行も横に詰める */
body.home .p-top-hero .wp-block-buttons{
  gap:12px !important;
  flex-wrap:wrap !important;
}

/* チップも左で詰まりすぎず、でも横に伸ばしすぎない */
body.home .p-top-trust{
  margin-top:18px !important;
}

body.home .p-top-trust ul,
body.home .p-top-trust .wp-block-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  overflow:visible !important;
  margin:0 !important;
  padding:0 !important;
}

/* 白カード内側の左右paddingも少しだけ整える */
body.home .p-front-page__card{
  padding-left:52px !important;
  padding-right:52px !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body.home .c-hero-title{
    max-width:14.5ch !important;
    font-size:clamp(24px,3.9vw,31px) !important;
    line-height:1.34 !important;
  }

  body.home .p-top-hero__lead{
    max-width:none !important;
  }

  body.home .p-top-hero__card{
    left:0 !important;
    max-width:280px !important;
    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
  }

  body.home .p-front-page__card{
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .c-hero-title{
    max-width:12.8ch !important;
    font-size:23px !important;
    line-height:1.34 !important;
  }

  body.home .p-top-hero__lead{
    font-size:14px !important;
    line-height:1.85 !important;
  }

  body.home .p-top-hero__card{
    max-width:100% !important;
    left:0 !important;
  }

  body.home .p-front-page__card{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
body.home .p-top-hero__card{right:auto!important;}
/* =========================================
   TRUST CHIPS GRAY LINE PATCH
   チップ列の背面にグレーの横ラインを入れる
========================================= */

body.home .p-top-trust{
  position:relative !important;
  margin-top:18px !important;
  padding:8px 0 !important;
}

/* 背面のグレーライン */
body.home .p-top-trust::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  height:1px !important;
  background:linear-gradient(
    90deg,
    rgba(170,178,188,0) 0%,
    rgba(170,178,188,.42) 10%,
    rgba(170,178,188,.58) 50%,
    rgba(170,178,188,.42) 90%,
    rgba(170,178,188,0) 100%
  ) !important;
  z-index:0 !important;
}

/* チップの列をラインより前面に出す */
body.home .p-top-trust ul,
body.home .p-top-trust .wp-block-list{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

/* チップ自体の白背景を維持 */
body.home .p-top-trust li{
  position:relative !important;
  z-index:2 !important;
  background:#fff !important;
  padding:10px 15px !important;
  border:1px solid #dfe6ec !important;
  border-radius:999px !important;
  box-shadow:0 4px 10px rgba(15,28,45,.03) !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-trust{
    padding:6px 0 !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .p-top-trust::before{
    left:4px !important;
    right:4px !important;
  }

  body.home .p-top-trust li{
    padding:9px 13px !important;
  }
}
/* =========================================================
   TRUST CHIPS HORIZONTAL FIX
   モックのように1列横並びにする
========================================================= */

body.home .p-top-trust{
  position:relative !important;
  margin-top:18px !important;
  padding:8px 0 !important;
  overflow:hidden !important;
}

/* 背面のグレーライン */
body.home .p-top-trust::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  height:1px !important;
  background:linear-gradient(
    90deg,
    rgba(170,178,188,0) 0%,
    rgba(170,178,188,.42) 12%,
    rgba(170,178,188,.58) 50%,
    rgba(170,178,188,.42) 88%,
    rgba(170,178,188,0) 100%
  ) !important;
  z-index:0 !important;
}

/* ここが重要：折り返し禁止 */
body.home .p-top-trust ul,
body.home .p-top-trust .wp-block-list{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 2px !important;
  list-style:none !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  white-space:nowrap !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}

body.home .p-top-trust ul::-webkit-scrollbar,
body.home .p-top-trust .wp-block-list::-webkit-scrollbar{
  display:none !important;
}

/* チップ自体も縮ませない */
body.home .p-top-trust li{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  margin:0 !important;
  padding:10px 15px !important;
  border:1px solid #dfe6ec !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:0 4px 10px rgba(15,28,45,.03) !important;
  color:#4b5f79 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  letter-spacing:.02em !important;
  font-weight:700 !important;
}

/* PCで少しだけコンパクトにして1列に乗りやすくする */
@media (min-width:961px){
  body.home .p-top-trust li{
    padding:9px 14px !important;
    font-size:11.5px !important;
    gap:0 !important;
  }
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-trust{
    padding:6px 0 !important;
  }

  body.home .p-top-trust ul,
  body.home .p-top-trust .wp-block-list{
    gap:10px !important;
  }

  body.home .p-top-trust li{
    padding:9px 13px !important;
    font-size:11.5px !important;
  }
}

/* mobile でも横並び維持。はみ出したら横スクロール */
@media (max-width:560px){
  body.home .p-top-trust ul,
  body.home .p-top-trust .wp-block-list{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
  }

  body.home .p-top-trust li{
    white-space:nowrap !important;
    padding:8px 12px !important;
    font-size:11px !important;
  }
}
/* =========================================================
   HEADER CTA REAL FIX
   ヘッダー右端CTAを直接スリム化する強い上書き
========================================================= */

/* まず通常メニューの高さを軽く整える */
body.home .l-header nav ul > li > a,
body.home .l-header .menu > li > a,
body.home .l-header .c-gnav > li > a,
body.home .l-header .p-globalNav > li > a{
  min-height:auto !important;
  line-height:1.2 !important;
}

/* 右端CTA本体を直接狙う */
body.home .l-header nav ul > li:last-child > a,
body.home .l-header .menu > li:last-child > a,
body.home .l-header .c-gnav > li:last-child > a,
body.home .l-header .p-globalNav > li:last-child > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:13px !important;
  line-height:1.15 !important;
  letter-spacing:.02em !important;
  font-weight:700 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
  box-shadow:0 8px 18px rgba(15,28,45,.10) !important;
}

/* 2行表示される場合の内側テキストも締める */
body.home .l-header nav ul > li:last-child > a *,
body.home .l-header .menu > li:last-child > a *,
body.home .l-header .c-gnav > li:last-child > a *,
body.home .l-header .p-globalNav > li:last-child > a *{
  line-height:1.15 !important;
  font-size:13px !important;
}

/* もし親liに余白が入っている場合の保険 */
body.home .l-header nav ul > li:last-child,
body.home .l-header .menu > li:last-child,
body.home .l-header .c-gnav > li:last-child,
body.home .l-header .p-globalNav > li:last-child{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* tablet */
@media (max-width:960px){
  body.home .l-header nav ul > li:last-child > a,
  body.home .l-header .menu > li:last-child > a,
  body.home .l-header .c-gnav > li:last-child > a,
  body.home .l-header .p-globalNav > li:last-child > a{
    height:40px !important;
    min-height:40px !important;
    padding:0 16px !important;
    font-size:12px !important;
  }

  body.home .l-header nav ul > li:last-child > a *,
  body.home .l-header .menu > li:last-child > a *,
  body.home .l-header .c-gnav > li:last-child > a *,
  body.home .l-header .p-globalNav > li:last-child > a *{
    font-size:12px !important;
  }
}
body.home .l-header nav ul > li:last-child > a,
body.home .l-header .menu > li:last-child > a,
body.home .l-header .c-gnav > li:last-child > a,
body.home .l-header .p-globalNav > li:last-child > a{height:42px!important;min-height:42px!important;padding:0 16px!important;font-size:12px!important;}
/* =========================================
   HERO CTA WIDTH PATCH
   ヒーローCTAの横幅を広くする
========================================= */

body.home .p-top-hero .wp-block-buttons{
  gap:16px !important;
  align-items:center !important;
}

body.home .p-top-hero .wp-block-button{
  margin:0 !important;
}

body.home .p-top-hero .wp-block-button__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:244px !important;
  height:50px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  font-size:14px !important;
  line-height:1.1 !important;
  letter-spacing:.02em !important;
  font-weight:700 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}

/* 右のアウトラインCTAも少し見栄えを整える */
body.home .p-top-hero .wp-block-button.is-style-outline .wp-block-button__link{
  border-width:1px !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-hero .wp-block-button__link{
    min-width:220px !important;
    height:48px !important;
    padding:0 20px !important;
    font-size:13px !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .p-top-hero .wp-block-buttons{
    gap:10px !important;
    align-items:flex-start !important;
  }

  body.home .p-top-hero .wp-block-button__link{
    min-width:220px !important;
    height:46px !important;
    padding:0 18px !important;
    font-size:13px !important;
  }
}
body.home .p-top-hero .wp-block-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
}

body.home .p-top-hero .wp-block-button{
  flex:0 0 auto !important;
}

body.home .p-top-hero .wp-block-button__link{
  min-width:250px !important;
}
/* =========================================================
   ISSUES / SERVICES CARD COMPACT PATCH
   - カード間の余白を詰める
   - カード内paddingを小さくする
   - 見出しサイズを抑えて読みやすくする
========================================================= */

/* 4カードの横間隔を詰める */
body.home .p-top-issues .wp-block-columns,
body.home .p-top-services .wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}

/* カード内の余白を小さくして、文字の入る幅を広げる */
body.home .p-top-issues .wp-block-columns > .wp-block-column,
body.home .p-top-services .wp-block-columns > .wp-block-column{
  padding:18px 16px 16px !important;
  border-radius:18px !important;
  min-height:auto !important;
  box-shadow:0 8px 18px rgba(15,28,45,.035) !important;
}

/* 「こんなお悩みはありませんか？」側のカード見出し */
body.home .p-top-issues .wp-block-columns > .wp-block-column h3,
body.home .p-top-issues .wp-block-columns > .wp-block-column h4,
body.home .p-top-issues .wp-block-columns > .wp-block-column .wp-block-heading{
  margin:0 0 10px !important;
  font-size:clamp(16px,1.25vw,19px) !important;
  line-height:1.48 !important;
  letter-spacing:.01em !important;
  font-weight:700 !important;
  color:#16263d !important;
  word-break:normal !important;
}

/* 本文 */
body.home .p-top-issues .wp-block-columns > .wp-block-column p,
body.home .p-top-services .wp-block-columns > .wp-block-column p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.9 !important;
  color:#5f6976 !important;
}

/* 支援内容側のカード見出しも少しだけ締める */
body.home .p-top-services .wp-block-columns > .wp-block-column h3,
body.home .p-top-services .wp-block-columns > .wp-block-column h4,
body.home .p-top-services .wp-block-columns > .wp-block-column .wp-block-heading{
  margin:0 0 10px !important;
  font-size:clamp(17px,1.3vw,20px) !important;
  line-height:1.45 !important;
  letter-spacing:.01em !important;
  font-weight:700 !important;
  color:#16263d !important;
}

/* セクション導入文も少し読みやすく */
body.home .p-top-issues .c-section-lead,
body.home .p-top-services .c-section-lead{
  max-width:64em !important;
  margin:0 0 18px !important;
  font-size:15px !important;
  line-height:1.9 !important;
}

/* 支援内容のボタンも少し詰める */
body.home .p-top-services .wp-block-button__link{
  min-height:42px !important;
  padding:0 16px !important;
  font-size:12px !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-issues .wp-block-columns,
  body.home .p-top-services .wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  body.home .p-top-issues .wp-block-columns > .wp-block-column,
  body.home .p-top-services .wp-block-columns > .wp-block-column{
    padding:16px 14px 14px !important;
    border-radius:16px !important;
  }

  body.home .p-top-issues .wp-block-columns > .wp-block-column h3,
  body.home .p-top-issues .wp-block-columns > .wp-block-column h4,
  body.home .p-top-issues .wp-block-columns > .wp-block-column .wp-block-heading{
    font-size:17px !important;
    line-height:1.45 !important;
  }

  body.home .p-top-services .wp-block-columns > .wp-block-column h3,
  body.home .p-top-services .wp-block-columns > .wp-block-column h4,
  body.home .p-top-services .wp-block-columns > .wp-block-column .wp-block-heading{
    font-size:18px !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .p-top-issues .wp-block-columns,
  body.home .p-top-services .wp-block-columns{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body.home .p-top-issues .wp-block-columns > .wp-block-column,
  body.home .p-top-services .wp-block-columns > .wp-block-column{
    padding:14px 13px 13px !important;
    border-radius:14px !important;
  }

  body.home .p-top-issues .wp-block-columns > .wp-block-column h3,
  body.home .p-top-issues .wp-block-columns > .wp-block-column h4,
  body.home .p-top-issues .wp-block-columns > .wp-block-column .wp-block-heading{
    font-size:16px !important;
    line-height:1.42 !important;
  }

  body.home .p-top-services .wp-block-columns > .wp-block-column h3,
  body.home .p-top-services .wp-block-columns > .wp-block-column h4,
  body.home .p-top-services .wp-block-columns > .wp-block-column .wp-block-heading{
    font-size:17px !important;
    line-height:1.42 !important;
  }

  body.home .p-top-issues .wp-block-columns > .wp-block-column p,
  body.home .p-top-services .wp-block-columns > .wp-block-column p{
    font-size:13px !important;
    line-height:1.82 !important;
  }
}
/* =========================================================
   HERO PHOTO TWO-TONE BOARD PATCH
   - グレー背景の上に「グレーの台紙」+「白い写真カード」
   - 白枠の重なり感を減らす
   - モック寄りのツートン構成へ
========================================================= */

/* ヒーロー右エリアの基本バランス */
body.home .p-top-hero__grid{
  grid-template-columns:minmax(0,1.28fr) minmax(260px,310px) !important;
  gap:38px !important;
  align-items:center !important;
}

/* 右のカード本体
   → ここは“白い写真カード”にする */
body.home .p-top-hero__card{
  position:relative !important;
  width:100% !important;
  max-width:292px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  justify-self:start !important;
  left:0 !important;
  padding:6px !important;
  border-radius:30px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  border:1px solid rgba(223,231,238,.95) !important;
  box-shadow:
    0 18px 34px rgba(15,28,45,.08),
    0 4px 12px rgba(15,28,45,.04) !important;
  overflow:visible !important;
  z-index:1 !important;
  transform:none !important;
}

/* 外側の“グレーの台紙”
   → モックの、白カードの後ろに見える薄グレー面 */
body.home .p-top-hero__card::before{
  content:"" !important;
  position:absolute !important;
  top:-22px !important;
  right:-34px !important;
  bottom:-20px !important;
  left:26px !important;
  border-radius:34px !important;
  background:linear-gradient(180deg,#f3f5f7 0%,#edf1f5 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(225,231,238,.92),
    0 18px 38px rgba(15,28,45,.035) !important;
  z-index:-1 !important;
}

/* 余計な二重フレーム感を消す */
body.home .p-top-hero__card::after{
  display:none !important;
}

/* figure は“追加の白箱”にしない */
body.home .p-top-hero__card figure,
body.home .p-top-hero__card .wp-block-image{
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:24px !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* 写真そのもの
   → 白縁は1回だけ。外側に余計な白面を作らない */
body.home .p-top-hero__card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  border-radius:22px !important;
  border:6px solid #ffffff !important;
  background:#f7f8fa !important;
  box-shadow:
    0 12px 24px rgba(15,28,45,.10),
    0 0 0 1px rgba(222,229,236,.9) !important;
}

/* 濃紺プレート上段 */
body.home .p-top-hero__card h2,
body.home .p-top-hero__card h3,
body.home .p-top-hero__card h4,
body.home .p-top-hero__card .wp-block-heading{
  position:absolute !important;
  left:20px !important;
  right:20px !important;
  bottom:58px !important;
  z-index:3 !important;
  margin:0 !important;
  padding:15px 16px 0 !important;
  border-radius:16px 16px 0 0 !important;
  background:linear-gradient(180deg,#203654 0%,#16263d 100%) !important;
  color:#ffffff !important;
  font-size:12px !important;
  line-height:1.35 !important;
  letter-spacing:.03em !important;
  font-weight:700 !important;
  box-shadow:0 12px 24px rgba(15,28,45,.18) !important;
}

/* 濃紺プレート下段 */
body.home .p-top-hero__card h2 + p,
body.home .p-top-hero__card h3 + p,
body.home .p-top-hero__card h4 + p,
body.home .p-top-hero__card .wp-block-heading + p{
  position:absolute !important;
  left:20px !important;
  right:20px !important;
  bottom:20px !important;
  z-index:3 !important;
  margin:0 !important;
  padding:0 16px 15px !important;
  border-radius:0 0 16px 16px !important;
  background:linear-gradient(180deg,#203654 0%,#16263d 100%) !important;
  color:#ffffff !important;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "BIZ UDPMincho",
    serif !important;
  font-size:17px !important;
  line-height:1.28 !important;
  letter-spacing:.05em !important;
  font-weight:700 !important;
  box-shadow:0 12px 24px rgba(15,28,45,.18) !important;
}

/* ヒーロー写真カード内の箇条書きは出さない */
body.home .p-top-hero__card ul{
  display:none !important;
}

/* ヒーロー全体の白面とグレー面の見え方を少し整理 */
body.home .p-front-page__card{
  background:linear-gradient(180deg,#ffffff 0%,#fcfcfd 100%) !important;
  box-shadow:
    0 26px 62px rgba(15,28,45,.06),
    0 8px 18px rgba(15,28,45,.03) !important;
}

/* 右側の台紙が見切れにくいように少し余白 */
body.home .p-top-hero{
  overflow:visible !important;
}

body.home .p-top-hero__grid{
  overflow:visible !important;
}

/* tablet */
@media (max-width:960px){
  body.home .p-top-hero__grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body.home .p-top-hero__card{
    max-width:320px !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }

  body.home .p-top-hero__card::before{
    top:-16px !important;
    right:-20px !important;
    bottom:-16px !important;
    left:18px !important;
    border-radius:28px !important;
  }

  body.home .p-top-hero__card h2,
  body.home .p-top-hero__card h3,
  body.home .p-top-hero__card h4,
  body.home .p-top-hero__card .wp-block-heading{
    left:18px !important;
    right:18px !important;
    bottom:54px !important;
    font-size:12px !important;
  }

  body.home .p-top-hero__card h2 + p,
  body.home .p-top-hero__card h3 + p,
  body.home .p-top-hero__card h4 + p,
  body.home .p-top-hero__card .wp-block-heading + p{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
    font-size:16px !important;
  }
}

/* mobile */
@media (max-width:560px){
  body.home .p-top-hero__card{
    max-width:100% !important;
    padding:5px !important;
    border-radius:22px !important;
  }

  body.home .p-top-hero__card::before{
    top:-10px !important;
    right:-10px !important;
    bottom:-10px !important;
    left:10px !important;
    border-radius:22px !important;
  }

  body.home .p-top-hero__card img{
    border-width:5px !important;
    border-radius:16px !important;
  }

  body.home .p-top-hero__card h2,
  body.home .p-top-hero__card h3,
  body.home .p-top-hero__card h4,
  body.home .p-top-hero__card .wp-block-heading{
    left:14px !important;
    right:14px !important;
    bottom:48px !important;
    padding:13px 14px 0 !important;
    font-size:11px !important;
    border-radius:14px 14px 0 0 !important;
  }

  body.home .p-top-hero__card h2 + p,
  body.home .p-top-hero__card h3 + p,
  body.home .p-top-hero__card h4 + p,
  body.home .p-top-hero__card .wp-block-heading + p{
    left:14px !important;
    right:14px !important;
    bottom:14px !important;
    padding:0 14px 13px !important;
    font-size:15px !important;
    border-radius:0 0 14px 14px !important;
  }
}
box-shadow:inset 0 0 0 1px rgba(221,227,234,.95), 0 20px 42px rgba(15,28,45,.045) !important;
