/* ひとつくりえいしょん サイト（資料デザイン版）
   配色：パステルのピンクを基調に、立ち上げ向けのページはミント。
   書体：Zen Kaku Gothic New（自サイトの fonts/ に置いたもの） */

:root {
  --ink: #4A4246;
  --brown: #3F383C;
  --muted: #7A7075;
  --line: #F1E6E9;
  --line-strong: #E6D5DA;
  --paper: #FFF9FA;
  --bg: #FFFFFF;
  /* 基調色（ピンク） */
  --c: #F58CA6;
  --c-ink: #E35B80;
  --c-soft: #FFEAF0;
  --c-tint: #FFD9E3;
  --round: "Zen Kaku Gothic New", "Yu Gothic", "Meiryo", sans-serif;
  --logo: "Zen Maru Gothic", "Zen Kaku Gothic New", "Yu Gothic", sans-serif;
  /* サービスごとの色 */
  --s0: #FFC04D; --s0-ink: #D98A0A; --s0-soft: #FFF1D2;
  --mint: #4CC7B3; --mint-ink: #1FA08C; --mint-soft: #E2F8F3; --mint-tint: #C6F0E7;
  --pink: #F58CA6; --pink-ink: #E35B80; --pink-soft: #FFEAF0; --pink-tint: #FFD9E3;
  --w: 1100px;
}
/* 立ち上げ向けのページはミント */
.t-start {
  --c: #4CC7B3; --c-ink: #1FA08C; --c-soft: #E2F8F3; --c-tint: #C6F0E7;
  --line: #E4F1EE; --line-strong: #CFE5DF; --paper: #F6FCFA;
}
/* サービスの色（資料と同じ） */
.s1 { --sc: #F58CA6; --sc-ink: #E35B80; --sc-soft: #FFEAF0; --sc-tint: #FFD9E3; }
.s2 { --sc: #4CC7B3; --sc-ink: #1FA08C; --sc-soft: #E2F8F3; --sc-tint: #C6F0E7; }
.s3 { --sc: #A593EC; --sc-ink: #7B63D6; --sc-soft: #EEE9FF; --sc-tint: #DDD5FB; }
.s4 { --sc: #F5D57A; --sc-ink: #E39410; --sc-soft: #FFFBF0; --sc-tint: #FFF4D6; }
.s5 { --sc: #9CD04A; --sc-ink: #6BA516; --sc-soft: #EDF8D8; --sc-tint: #DDF0B8; }
.s6 { --sc: #6DB6EA; --sc-ink: #2F8FD0; --sc-soft: #E3F2FD; --sc-tint: #CCE6FA; }
.s7 { --sc: #FFD43B; --sc-ink: #4A4246; --sc-soft: #FFF8CF; --sc-tint: #FFEFA0; }
.s8 { --sc: #4CC7B3; --sc-ink: #1FA08C; --sc-soft: #E2F8F3; --sc-tint: #C6F0E7; }
.s0 { --sc: #FFC04D; --sc-ink: #D98A0A; --sc-soft: #FFF1D2; --sc-tint: #FFE6B0; }
.sx { --sc: #C4BBBF; --sc-ink: #6E6468; --sc-soft: #F6F3F4; --sc-tint: #E9E3E6; }

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--round); color: var(--ink); background: var(--bg);
  font-size: 17.5px; line-height: 1.85; font-weight: 500; letter-spacing: .02em;
  word-break: auto-phrase; line-break: strict;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-ink); }
p, li { text-wrap: pretty; }
h1, h2, h3, h4 { font-family: var(--round); font-weight: 700; color: var(--brown); line-height: 1.45; text-wrap: balance; }
.container { width: min(var(--w), 100% - 40px); margin: 0 auto; }
.nb { display: inline-block; }
.tmp { background: #FFF3C4; padding: 0 .2em; }
.note-proto { background: #FFF3C4; color: #6E5A1E; font-size: 14.5px; text-align: center; padding: 6px 16px; }

/* ===== ヘッダー ===== */
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.94); backdrop-filter: blur(6px); border-bottom: 1px solid var(--line); }
.site-header .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.site-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.site-logo img { width: 40px; height: 40px; }
.site-logo .name { font-family: var(--logo); font-weight: 700; font-size: 18.5px; color: var(--brown); letter-spacing: .06em; line-height: 1.25; }
.site-logo .en { display: block; font-size: 10px; letter-spacing: .3em; color: var(--c); font-weight: 500; }
.global-nav ul { display: flex; align-items: center; gap: 4px; list-style: none; }
.global-nav a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--brown); text-decoration: none; font-size: 16px; font-weight: 700; }
.global-nav a:hover, .global-nav a[aria-current="page"] { background: var(--c-soft); color: var(--c-ink); }
.global-nav a.nav-exist[aria-current="page"] { background: var(--pink-soft); color: var(--pink-ink); }
.global-nav a.nav-start[aria-current="page"] { background: var(--mint-soft); color: var(--mint-ink); }
.global-nav a.nav-cta { background: var(--c-ink); color: #fff; padding: 8px 18px; margin-left: 6px; }
.global-nav a.nav-cta:hover { opacity: .9; background: var(--c-ink); color: #fff; }
.nav-toggle { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; }
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--brown); margin: 5px auto; border-radius: 2px; transition: .2s; }

/* ===== ページ見出し ===== */
.page-head { background: var(--c-soft); padding: 56px 0 48px; position: relative; overflow: hidden; }
.page-head::after { content: ""; position: absolute; right: -120px; top: -160px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid #fff; opacity: .9; }
.page-head .en { font-size: 14.5px; font-weight: 700; letter-spacing: .24em; color: var(--c-ink); }
.page-head h1 { font-size: clamp(28px, 4vw, 40px); margin-top: 6px; }
.page-head p.lead { margin-top: 12px; max-width: 720px; }
.breadcrumb { font-size: 14.5px; color: var(--muted); padding: 10px 0; border-bottom: 1px solid var(--line); }
.breadcrumb ol { display: flex; gap: 8px; list-style: none; }

/* ===== セクション ===== */
.section { padding: 80px 0; }
.section.soft { background: var(--paper); }
.sec-head { margin-bottom: 36px; }
.sec-head .en { font-size: 14.5px; font-weight: 700; letter-spacing: .24em; color: var(--c-ink); }
.sec-head h2 { font-size: clamp(24px, 3vw, 32px); margin-top: 4px; }
.sec-head p { margin-top: 10px; color: var(--ink); max-width: 760px; }
.sec-head.center { text-align: center; }
.sec-head.center p { margin-left: auto; margin-right: auto; }
.h3bar { display: flex; align-items: center; gap: 10px; font-size: 20px; margin-bottom: 16px; }
.h3bar::before { content: ""; width: 5px; height: 22px; border-radius: 2px; background: var(--c); }

/* ===== ボタン ===== */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; border-radius: 10px; background: var(--c-ink); color: #fff; font-weight: 700; text-decoration: none; border: 0; font-family: inherit; font-size: 17.5px; cursor: pointer; line-height: 1.4; }
.btn:hover { opacity: .9; }
.btn.line { background: #fff; color: var(--c-ink); border: 1.5px solid var(--c); }
.btn.pink { background: var(--pink-ink); }
.btn.mint { background: var(--mint-ink); }
.btn .ar { font-size: 13px; }
.btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* ===== ホームのメイン ===== */
.hero { padding: 72px 0 80px; background: linear-gradient(180deg, #fff 0%, var(--paper) 100%); overflow: hidden; }
.hero .container { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.hero .eyebrow { font-size: 15.5px; font-weight: 700; letter-spacing: .14em; color: var(--c-ink); }
.hero h1 { font-size: clamp(34px, 5.2vw, 56px); line-height: 1.3; margin-top: 10px; letter-spacing: .04em; }
.hero h1 em { font-style: normal; color: var(--c-ink); }
.hero .msg { font-size: 18px; font-weight: 700; color: var(--brown); margin-top: 16px; }
.hero .txt { margin-top: 14px; max-width: 560px; }
.hero .btns { margin-top: 28px; }
.hero .free { margin-top: 18px; font-size: 15.5px; color: var(--muted); }
.hero-visual { position: relative; aspect-ratio: 1; max-width: 420px; justify-self: center; width: 100%; }
.hero-visual::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--c-tint); }
.hero-visual::after { content: ""; position: absolute; inset: -14% -14% auto auto; width: 60%; aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--c-tint); }
.hero-visual .circle { position: absolute; inset: 15%; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 20px 50px rgba(227,91,128,.12); }
.hero-visual .circle img { width: 52%; }
.hero-visual .tag { position: absolute; left: 50%; bottom: -4%; transform: translateX(-50%); white-space: nowrap; font-weight: 700; color: var(--c-ink); font-size: 18px; letter-spacing: .1em; }

/* ===== お悩み ===== */
.worries { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.worry { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; }
.worry p { font-weight: 700; color: var(--brown); line-height: 1.65; }
.worry p::before { content: "✓"; color: var(--sc, var(--c)); margin-right: 8px; }
.tag { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; background: var(--sc-soft); color: var(--sc-ink); border-radius: 999px; padding: 5px 14px 5px 6px; font-size: 14.5px; font-weight: 700; white-space: nowrap; }
.tag b { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 4px; border-radius: 12px; background: var(--sc-ink); color: #fff; font-size: 13px; }
.s7 .tag b, .tag.s7 b { background: var(--sc); color: var(--brown); }

/* ===== 2つの入口 ===== */
.doors { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.door { border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--line); display: flex; flex-direction: column; }
.door .hd { padding: 28px 30px 24px; }
.door.exist .hd { background: var(--pink-tint); }
.door.start .hd { background: var(--mint-tint); }
.door .hd .en { font-size: 13px; font-weight: 700; letter-spacing: .2em; }
.door.exist .en, .door.exist .catch { color: var(--pink-ink); }
.door.start .en, .door.start .catch { color: var(--mint-ink); }
.door h3 { font-size: 26px; margin-top: 2px; }
.door .catch { font-weight: 700; margin-top: 6px; }
.door .bd { padding: 24px 30px 30px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.door .first { display: flex; align-items: center; gap: 12px; background: var(--s0-soft); border-radius: 12px; padding: 12px 16px; }
.door .first .free { background: var(--s0); color: #fff; font-weight: 700; font-size: 14.5px; padding: 2px 10px; border-radius: 6px; }
.door .first b { color: var(--brown); }
.door .first small { display: block; color: var(--muted); font-size: 14.5px; font-weight: 500; }
.door ul { list-style: none; display: grid; gap: 8px; }
.door li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--line-strong); padding-bottom: 8px; }
.door li span { font-weight: 700; color: var(--brown); }
.door li em { font-style: normal; font-weight: 700; color: var(--sc-ink, var(--c-ink)); white-space: nowrap; font-size: 16.5px; }
.door .btn { margin-top: auto; align-self: flex-start; }

/* ===== 大切にしていること ===== */
.values3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.values3 > div { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 26px 24px; }
.values3 i { font-style: normal; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-tint); color: var(--c-ink); font-weight: 700; }
.values3 h3 { font-size: 19px; margin: 12px 0 8px; }

/* ===== 帯 ===== */
.band { background: var(--c-tint); padding: 64px 0; text-align: center; }
.band .en { font-size: 14.5px; font-weight: 700; letter-spacing: .24em; color: var(--c-ink); }
.band h2 { font-size: clamp(24px, 3.2vw, 34px); margin: 6px 0 14px; }
.band p { max-width: 760px; margin: 0 auto; }

/* ===== 無料相談の案内 ===== */
.cta { background: var(--paper); padding: 72px 0; }
.cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 28px; }
/* 人を育てたい方へ：面談なしで申し込む案内（2026-10-14） */
.cta-direct { margin-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; border: 2px solid #7F96F2; border-radius: 18px; padding: 22px 28px; }
.cta-direct b { display: block; font-family: var(--round); font-size: 18.5px; color: var(--brown); line-height: 1.6; }
.cta-direct span { display: block; margin-top: 4px; font-size: 15.5px; line-height: 1.8; }
.cta-direct .btn { flex-shrink: 0; }
@media (max-width: 760px) { .cta-direct { flex-direction: column; align-items: stretch; padding: 20px; } .cta-direct .btn { text-align: center; justify-content: center; } }
.cta-card { background: #fff; border-radius: 18px; border: 2px solid var(--s0); padding: 26px 28px; display: flex; flex-direction: column; gap: 10px; }
.cta-card .free { align-self: flex-start; background: var(--s0); color: #fff; font-weight: 700; font-size: 14.5px; padding: 2px 12px; border-radius: 6px; }
.cta-card h3 { font-size: 22px; }
.cta-card .meta { font-size: 15.5px; color: var(--muted); }
.cta-card .btn { margin-top: 6px; align-self: flex-start; }

/* ===== サービスの全体像（表） ===== */
.pick { display: grid; gap: 12px; }
.pick-row { display: grid; grid-template-columns: 1fr 1.15fr 190px; gap: 20px; align-items: center; background: #fff; border: 1px solid var(--line); border-left: 6px solid var(--sc); border-radius: 14px; padding: 18px 22px; }
.pick-row .when { font-weight: 700; color: var(--brown); line-height: 1.6; }
.pick-row .when::before { content: "▶"; font-size: 12px; color: var(--sc); margin-right: 8px; }
.pick-row .svc { background: var(--sc-soft); border-radius: 10px; padding: 10px 14px; }
.pick-row .svc b { display: block; color: var(--sc-ink); font-size: 18px; }
.pick-row .svc span { font-size: 15px; color: var(--ink); }
.pick-row .pz { text-align: center; border-left: 1px dashed var(--line-strong); padding-left: 16px; }
.pick-row .pz strong { display: block; font-size: 24px; color: var(--sc-ink); line-height: 1.3; }
.pick-row .pz strong small { font-size: 14.5px; }
.pick-row .pz span { font-size: 14.5px; color: var(--muted); }
.pick-row .multi { display: grid; gap: 6px; }
.pick-head { display: grid; grid-template-columns: 1fr 1.15fr 190px; gap: 20px; padding: 0 22px 0 28px; font-size: 14.5px; font-weight: 700; color: var(--muted); letter-spacing: .1em; }
.pick-head span:last-child { text-align: center; }
.addons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.addon { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--sc-soft); border-radius: 12px; padding: 14px 18px; }
.addon b { color: var(--brown); }
.addon span { display: block; font-size: 15px; }
.addon em { font-style: normal; font-weight: 700; color: var(--sc-ink); white-space: nowrap; font-size: 18px; }
.fine { font-size: 14.5px; color: var(--muted); margin-top: 14px; }

/* ===== 無料の入口（健康診断・立ち上げ相談） ===== */
.free-box { display: grid; grid-template-columns: 300px 1fr; gap: 32px; background: var(--s0-soft); border: 2px solid var(--s0); border-radius: 20px; padding: 32px; align-items: center; }
.free-box .lab { background: var(--s0); color: #fff; border-radius: 14px; padding: 22px; text-align: center; }
.free-box .lab small { display: block; font-size: 14.5px; font-weight: 700; }
.free-box .lab b { display: block; font-size: 24px; line-height: 1.4; margin-top: 4px; }
.free-box .lab b span { background: #fff; color: var(--s0-ink); border-radius: 6px; padding: 0 8px; margin-right: 6px; font-size: 18px; }
.free-box h3 { font-size: 22px; }
.free-box p { margin-top: 8px; }
.steps4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 18px; }
.steps4 > div { background: #fff; border-radius: 12px; padding: 12px 14px; }
.steps4 i { font-style: normal; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--s0); color: #fff; font-weight: 700; font-size: 14.5px; }
.steps4 b { display: block; color: var(--brown); margin-top: 4px; line-height: 1.45; }
.steps4 span { font-size: 14.5px; color: var(--muted); }

/* ===== サービスの詳細（パネル） ===== */
.panels { display: grid; gap: 28px; }
.panels.two { grid-template-columns: 1fr 1fr; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; scroll-margin-top: 90px; }
.panel .ph { background: var(--sc-tint); padding: 24px 28px 20px; display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; align-items: center; }
.panel .ph .kicker { grid-column: 1 / -1; font-size: 13px; font-weight: 700; letter-spacing: .2em; color: var(--sc-ink); }
.panel .ph h3 { font-size: 24px; display: flex; align-items: center; gap: 10px; }
.panel .ph h3 .num { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--sc-ink); color: #fff; font-size: 17.5px; flex-shrink: 0; }
.s7 .panel .ph h3 .num, .panel.s7 .ph h3 .num { background: var(--sc); color: var(--brown); }
.panel .ph .price { text-align: right; font-weight: 700; color: var(--sc-ink); font-size: 26px; line-height: 1.2; white-space: nowrap; }
.panel .ph .price small { font-size: 14.5px; }
.panel .ph .catch { font-weight: 700; color: var(--sc-ink); }
.panel .ph .meta { text-align: right; font-size: 14.5px; font-weight: 700; color: var(--sc-ink); }
.panel .pb { padding: 24px 28px 28px; display: flex; flex-direction: column; gap: 18px; flex: 1; }
.lbl { display: block; font-size: 15px; font-weight: 700; color: var(--sc-ink); margin-bottom: 6px; letter-spacing: .06em; }
.box { background: var(--sc-soft); border-radius: 12px; padding: 14px 18px; }
.dots { list-style: none; display: grid; gap: 4px; }
.dots li { padding-left: 1.1em; position: relative; }
.dots li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--sc); }
.dots.cols2 { grid-template-columns: 1fr 1fr; gap: 4px 20px; }
.out { display: flex; align-items: flex-start; gap: 12px; border-top: 1px dashed var(--line-strong); padding-top: 14px; margin-top: auto; }
.out .k { flex-shrink: 0; background: var(--sc-ink); color: #fff; font-size: 14px; font-weight: 700; border-radius: 6px; padding: 2px 10px; margin-top: 3px; }
.s7 .out .k { background: var(--sc); color: var(--brown); }
.flowv { display: grid; gap: 8px; counter-reset: st; }
.flowv > div { display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: start; }
.flowv i { font-style: normal; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--sc-ink); color: #fff; font-weight: 700; font-size: 15.5px; }
.flowv b { display: block; color: var(--brown); line-height: 1.5; }
.flowv span { font-size: 15.5px; color: var(--muted); }
.flowh { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.flowh > div { background: var(--sc-soft); border-radius: 12px; padding: 12px; text-align: center; }
.flowh b { display: block; color: var(--sc-ink); }
.flowh span { font-size: 14.5px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips span { background: var(--sc-soft); color: var(--sc-ink); font-weight: 700; font-size: 15.5px; border-radius: 8px; padding: 4px 12px; }
.themes7 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.themes7 > div { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; background: var(--sc-soft); border-radius: 10px; padding: 10px 12px; }
.themes7 i { font-style: normal; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; color: var(--sc-ink); font-weight: 700; font-size: 14.5px; border: 1.5px solid var(--sc); }
.themes7 b { display: block; color: var(--brown); font-size: 16.5px; line-height: 1.4; }
.themes7 span { font-size: 14.5px; color: var(--muted); }
.note-line { background: var(--sc-soft); border-radius: 12px; padding: 12px 16px; font-size: 16px; }
.note-line b { color: var(--sc-ink); }
.same-band { display: flex; align-items: center; gap: 24px; background: var(--c-tint); border-radius: 16px; padding: 18px 26px; margin-bottom: 24px; }
.same-band strong { font-size: 30px; color: var(--c-ink); white-space: nowrap; }
.same-band strong small { font-size: 15.5px; }
.same-band p b { display: block; color: var(--brown); font-size: 18.5px; }
.same-band .sub { margin-left: auto; background: #fff; border-radius: 10px; padding: 10px 16px; font-size: 15.5px; white-space: nowrap; }
.same-band .sub b { display: inline; font-size: 18px; color: var(--brown); }
.goal-list { list-style: none; display: grid; gap: 8px; }
.goal-list li { background: var(--sc-soft); border-radius: 10px; padding: 8px 14px 8px 36px; position: relative; font-weight: 700; color: var(--brown); }
.goal-list li::before { content: "✓"; position: absolute; left: 14px; color: var(--sc-ink); }
.journey { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; align-items: stretch; }
.journey span { display: grid; place-items: center; text-align: center; background: var(--sc-soft); border-radius: 10px; padding: 12px 6px; font-weight: 700; color: var(--brown); font-size: 15.5px; line-height: 1.45; }
.journey span.end { background: var(--sc-ink); color: #fff; }
.eight { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; }
.eight > div { display: flex; align-items: center; gap: 10px; border-bottom: 1px dashed var(--line-strong); padding: 6px 0; }
.eight i { font-style: normal; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--sc-ink); color: #fff; font-size: 14.5px; font-weight: 700; flex-shrink: 0; }
.eight .after i { background: #E39410; }
.eight b { color: var(--brown); font-size: 16.5px; }

/* ===== 進め方の流れ（横） ===== */
.roadmap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.roadmap > div { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px; position: relative; }
.roadmap > div i { font-style: normal; font-size: 13px; font-weight: 700; letter-spacing: .14em; color: var(--c-ink); }
.roadmap > div b { display: block; color: var(--brown); font-size: 18.5px; margin-top: 2px; }
.roadmap > div span { font-size: 15.5px; }

/* ===== 私たちについて ===== */
.pmv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pmv > div { background: #fff; border-radius: 18px; border: 1px solid var(--line); padding: 26px; }
.pmv .en { font-size: 13px; font-weight: 700; letter-spacing: .2em; color: var(--sc-ink); }
.pmv h3 { font-size: 20px; margin: 4px 0 10px; color: var(--brown); }
.pmv .q { display: inline-block; font-size: 14.5px; font-weight: 700; color: var(--sc-ink); background: var(--sc-soft); border-radius: 6px; padding: 1px 10px; }
.values5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.values5 > div { background: var(--sc-soft); border-radius: 16px; padding: 22px 18px; }
.values5 i { font-style: normal; font-weight: 700; color: var(--sc-ink); font-size: 22px; }
.values5 h3 { font-size: 18.5px; margin: 6px 0 8px; }
.values5 p { font-size: 16px; }
.name3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 18px; }
.name3 > div { background: #fff; border-radius: 14px; padding: 18px 20px; border-top: 4px solid var(--sc); }
.name3 b { color: var(--sc-ink); font-size: 18.5px; }
.message { background: #fff; border-radius: 20px; padding: 36px 40px; border: 1px solid var(--line); }
.message p + p { margin-top: 14px; }

/* ===== 会社概要・フォーム ===== */
.table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); }
.table th { width: 200px; text-align: left; background: var(--c-soft); color: var(--c-ink); font-weight: 700; padding: 16px 20px; border-bottom: 1px solid var(--line); vertical-align: top; }
.table td { padding: 16px 20px; border-bottom: 1px solid var(--line); }
.form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 30px; margin-top: 24px; }
.form label { display: grid; gap: 6px; font-weight: 700; color: var(--brown); font-size: 16.5px; }
.form .full { grid-column: 1 / -1; }
.form input, .form select, .form textarea { font: inherit; font-weight: 500; border: 1px solid var(--line-strong); border-radius: 10px; padding: 12px 14px; background: var(--paper); color: var(--ink); width: 100%; }
.form textarea { min-height: 150px; }
.form .consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; font-size: 15.5px; }
.form .consent input { width: auto; margin-top: 6px; }
.form .small { font-size: 14.5px; color: var(--muted); font-weight: 500; }

/* ===== プライバシー ===== */
.prose h2 { font-size: 20px; margin: 36px 0 10px; }
.prose p, .prose li { margin-top: 8px; }
.prose ul, .prose ol { padding-left: 1.4em; }

/* ===== フッター ===== */
.site-footer { background: #fff; border-top: 1px solid var(--line); padding: 40px 0 28px; font-size: 15.5px; }
.site-footer .row { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; align-items: flex-start; }
.site-footer ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.site-footer a { color: var(--brown); text-decoration: none; }
.site-footer .copy { margin-top: 24px; color: var(--muted); font-size: 14.5px; }

/* ===== スマホ ===== */
@media (max-width: 960px) {
  .hero .container { grid-template-columns: 1fr; }
  .hero-visual { max-width: 300px; }
  .pick-head { display: none; }
  .pick-row { grid-template-columns: 1fr; gap: 10px; }
  .pick-row .pz { border-left: 0; padding-left: 0; text-align: left; }
  .free-box { grid-template-columns: 1fr; }
  .steps4, .roadmap { grid-template-columns: 1fr 1fr; }
  .values5 { grid-template-columns: 1fr 1fr; }
  .journey { grid-template-columns: repeat(4, 1fr); }
  .flowh { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  body { font-size: 16.5px; }
  .section { padding: 56px 0; }
  .nav-toggle { display: block; }
  .global-nav { position: absolute; left: 0; right: 0; top: 72px; background: #fff; border-bottom: 1px solid var(--line); display: none; }
  .global-nav.open { display: block; }
  .global-nav ul { flex-direction: column; align-items: stretch; padding: 10px 20px 18px; }
  .global-nav a.nav-cta { margin: 8px 0 0; text-align: center; }
  .worries, .doors, .values3, .cta-grid, .addons, .panels.two, .pmv, .name3, .form, .dots.cols2, .themes7, .eight { grid-template-columns: 1fr; }
  .worry { flex-direction: column; align-items: flex-start; }
  .same-band { flex-direction: column; align-items: flex-start; }
  .same-band .sub { margin-left: 0; white-space: normal; }
  .panel .ph { grid-template-columns: 1fr; }
  .panel .ph .price, .panel .ph .meta { text-align: left; }
  .journey { grid-template-columns: 1fr 1fr; }
  .flowh { grid-template-columns: 1fr 1fr; }
  .table th { width: 110px; padding: 12px; }
  .table td { padding: 12px; }
  .message { padding: 26px 22px; }
}

/* 2列に並ぶ枠では、キャッチを横いっぱいに、条件はその下に */
.panels.two .panel .ph .catch { grid-column: 1 / -1; }
.panels.two .panel .ph .meta { grid-column: 1 / -1; text-align: left; font-weight: 700; opacity: .9; }
.themes7 span { font-size: 14px; line-height: 1.5; }
.panels.three { grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 760px) { .panels.three { grid-template-columns: 1fr; } }
/* 2列に並ぶ枠の「お渡しするもの」は、上の位置をそろえる（2行分の高さを確保） */
.panels.two .panel .out { min-height: 78px; }
@media (max-width: 760px) { .panels.two .panel .out { min-height: 0; } }
/* 対象別のボタンは、テーマカラーの淡い面＋色文字（資料と同じ見せ方） */
.btn.pink { background: var(--pink-tint); color: var(--pink-ink); border: 1.5px solid var(--pink); }
.btn.mint { background: var(--mint-tint); color: var(--mint-ink); border: 1.5px solid var(--mint); }
.btn.pink:hover { background: #FFC9D7; opacity: 1; }
.btn.mint:hover { background: #B0E8DC; opacity: 1; }
/* 無料相談・送信などのボタンも、ページのテーマカラーの淡い面＋色文字に */
.btn:not(.pink):not(.mint):not(.line) { background: var(--c-tint); color: var(--c-ink); border: 1.5px solid var(--c); }
.btn:not(.pink):not(.mint):not(.line):hover { filter: brightness(.97); opacity: 1; }
.global-nav a.nav-cta, .global-nav a.nav-cta:hover { background: var(--c-tint); color: var(--c-ink); border: 1.5px solid var(--c); padding: 7px 17px; }
.global-nav a.nav-cta:hover { filter: brightness(.97); }

/* ===== 配色の整理（2026-10-03）=====
   考え方：灰色・茶色を混ぜない「澄んだ色」にそろえる。
   1つの色相につき「パステル（線・丸）／淡い面（帯）／ごく淡い面（背景）／濃い色（文字）」の4段階。
   濃い色も、同じ色相のまま明るさだけを落とし、くすませない。文字の黒は、わずかに青みのある中立色。 */
:root {
  --ink: #45414A; --brown: #35313A; --muted: #7C7781;
  --line: #F6E6EB; --line-strong: #EED6DE; --paper: #FFF8FA;
  --c: #F58CA6; --c-ink: #E35B80; --c-soft: #FFEAF0; --c-tint: #FFD9E3;
  --pink: #F58CA6; --pink-ink: #E35B80; --pink-soft: #FFEAF0; --pink-tint: #FFD9E3;
  --mint: #4CC7B3; --mint-ink: #1FA08C; --mint-soft: #E2F8F3; --mint-tint: #C6F0E7;
  --s0: #FFC04D; --s0-ink: #D98A0A; --s0-soft: #FFF1D2;
}
.t-start { --c: #4CC7B3; --c-ink: #1FA08C; --c-soft: #E2F8F3; --c-tint: #C6F0E7; --line: #E2F4EE; --line-strong: #CBEADF; --paper: #F5FCF9; }
.s1 { --sc: #F58CA6; --sc-ink: #E35B80; --sc-soft: #FFEAF0; --sc-tint: #FFD9E3; }   /* ローズ */
.s2 { --sc: #4CC7B3; --sc-ink: #1FA08C; --sc-soft: #E2F8F3; --sc-tint: #C6F0E7; }   /* ターコイズ */
.s3 { --sc: #A593EC; --sc-ink: #7B63D6; --sc-soft: #EEE9FF; --sc-tint: #DDD5FB; }   /* ラベンダー */
.s4 { --sc: #F5D57A; --sc-ink: #E39410; --sc-soft: #FFFBF0; --sc-tint: #FFF4D6; }   /* クリーム（④運営伴走／⑧開所後の伴走。2026-10-15 ユーザー決定） */
.s4.apri { --sc: #FFA35C; --sc-ink: #EE7A1E; --sc-soft: #FFEEDD; --sc-tint: #FFDCBD; }   /* アプリコットのままにするもの（大切にしていることの6番目・チャットサポート・福祉事務） */
.s5 { --sc: #9CD04A; --sc-ink: #6BA516; --sc-soft: #EDF8D8; --sc-tint: #DDF0B8; }   /* リーフグリーン */
.s6 { --sc: #6DB6EA; --sc-ink: #2F8FD0; --sc-soft: #E3F2FD; --sc-tint: #CCE6FA; }   /* スカイ */
.s7 { --sc: #FFD43B; --sc-ink: #35313A; --sc-soft: #FFF8CF; --sc-tint: #FFEFA0; }   /* レモン（文字は濃い色） */
.s8 { --sc: #4CC7B3; --sc-ink: #1FA08C; --sc-soft: #E2F8F3; --sc-tint: #C6F0E7; }   /* ミント */
.s0 { --sc: #FFC04D; --sc-ink: #D98A0A; --sc-soft: #FFF1D2; --sc-tint: #FFE6B0; }   /* マリーゴールド（無料） */
.sx { --sc: #C9C3CC; --sc-ink: #6D6874; --sc-soft: #F7F6F8; --sc-tint: #EEEBF0; }   /* ペールグレー */
.eight .after i { background: #E39410; }
.hero-visual .circle { box-shadow: 0 20px 50px rgba(227,91,128,.10); }

/* ===== 私たちについて（図で見せる） ===== */
.en-s { font-size: 14.5px; font-weight: 700; letter-spacing: .24em; color: var(--c-ink); }
.ab-brand { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ab-big { font-size: clamp(34px, 4.6vw, 52px); line-height: 1.3; margin: 8px 0 12px; }
.ab-big em { font-style: normal; color: var(--c-ink); }
.ab-sub { font-weight: 700; color: var(--brown); font-size: 18px; margin-bottom: 12px; }
.cycle, .petals, .venn { width: 100%; max-width: 440px; justify-self: center; display: block; margin: 0 auto; }
.grow3 { display: grid; grid-template-columns: 1fr 28px 1fr 28px 1fr; align-items: stretch; }
.grow3 .arrow { font-style: normal; align-self: center; text-align: center; color: var(--line-strong); font-size: 15.5px; }
.grow3 .g { background: #fff; border-radius: 20px; border: 1px solid var(--line); padding: 28px 24px 22px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.grow3 .g svg { width: 84px; height: 84px; }
.grow3 .en { font-size: 13px; font-weight: 700; letter-spacing: .16em; color: var(--sc-ink); }
.grow3 .q { font-size: 14.5px; font-weight: 700; color: var(--sc-ink); background: var(--sc-soft); border-radius: 999px; padding: 2px 12px; }
.grow3 h3 { font-size: 20px; line-height: 1.55; margin: 4px 0; }
.grow3 .kw { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.grow3 .kw span { font-size: 14.5px; font-weight: 700; color: var(--sc-ink); border: 1.5px solid var(--sc); border-radius: 999px; padding: 2px 12px; background: #fff; }
details summary { cursor: pointer; font-weight: 700; color: var(--c-ink); font-size: 15.5px; list-style: none; }
details summary::-webkit-details-marker { display: none; }
.grow3 details { margin-top: auto; width: 100%; }
.grow3 details summary { color: var(--sc-ink); padding-top: 10px; border-top: 1px dashed var(--line-strong); }
.grow3 details summary::after { content: " ＋"; }
.grow3 details[open] summary::after { content: " －"; }
.grow3 details p { text-align: left; font-size: 16px; margin-top: 8px; }
.petal-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.vlist { display: grid; gap: 10px; }
.vlist details { background: var(--sc-soft); border-radius: 14px; padding: 14px 18px; border-left: 5px solid var(--sc); }
.vlist summary { color: var(--brown); font-size: 18.5px; display: flex; align-items: center; gap: 12px; }
.vlist summary i { font-style: normal; color: var(--sc-ink); font-size: 16.5px; }
.vlist summary::after { content: "＋"; margin-left: auto; color: var(--sc-ink); }
.vlist details[open] summary::after { content: "－"; }
.vlist details p { margin-top: 8px; font-size: 16.5px; }
.ab-name { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ab-name h2 { font-size: clamp(24px, 3vw, 32px); margin: 4px 0 12px; }
.formula { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-weight: 700; color: var(--muted); margin-bottom: 12px; }
.formula span { border-radius: 999px; padding: 4px 14px; color: #fff; }
.formula .p1 { background: #F58CA6; } .formula .p2 { background: #4CC7B3; } .formula .p3 { background: #FFC04D; color: #35313A; }
.name-list { list-style: none; display: grid; gap: 8px; margin-top: 14px; }
.name-list li { background: #fff; border-radius: 12px; padding: 10px 16px; border-left: 5px solid var(--sc); font-size: 16.5px; }
.name-list b { color: var(--sc-ink); margin-right: 12px; }
.quote-big { position: relative; max-width: 760px; margin: 0 auto 36px; text-align: center; background: var(--c-tint); border-radius: 24px; padding: 40px 30px; }
.quote-big p { font-size: clamp(22px, 3vw, 30px); font-weight: 700; color: var(--brown); line-height: 1.6; }
.quote-big .qm { position: absolute; left: 22px; top: 2px; font-size: 80px; line-height: 1; color: #fff; font-family: Georgia, serif; }
.quote-big .qm.end { left: auto; right: 22px; top: auto; bottom: -30px; }
.msg-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.msg-steps > div { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px 24px; position: relative; }
.msg-steps i { font-style: normal; display: inline-block; font-size: 14.5px; font-weight: 700; color: var(--c-ink); background: var(--c-soft); border-radius: 999px; padding: 2px 12px; margin-bottom: 8px; }
.msg-steps p { font-size: 16.5px; }
@media (max-width: 960px) {
  .ab-brand, .petal-wrap, .ab-name { grid-template-columns: 1fr; }
  .grow3 { grid-template-columns: 1fr; gap: 10px; }
  .grow3 .arrow { transform: rotate(90deg); }
  .msg-steps { grid-template-columns: 1fr; }
}

/* ===== ホーム：大切にしていること（階段の図） ===== */
.stance { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; padding-top: 70px; }
.stance-line { position: absolute; left: 0; right: 0; top: 40px; width: 100%; height: 150px; z-index: 0; }
.stance .st { position: relative; z-index: 1; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 28px 26px 26px; text-align: center; box-shadow: 0 10px 30px rgba(227,91,128,.06); }
.stance .st:nth-child(2) { margin-bottom: 0; }
.stance .st.s1 { margin-top: 120px; }
.stance .st.s8 { margin-top: 60px; }
.stance .ic { width: 96px; height: 96px; margin: -76px auto 8px; background: #fff; border-radius: 50%; padding: 4px; box-shadow: 0 6px 18px rgba(53,49,58,.08); }
.stance .ic svg { width: 100%; height: 100%; }
.stance .chip { display: inline-block; font-size: 14.5px; font-weight: 700; color: var(--sc-ink); background: var(--sc-soft); border: 1.5px solid var(--sc); border-radius: 999px; padding: 1px 14px; }
.stance h3 { font-size: 20px; margin: 10px 0 8px; }
.stance p { font-size: 16.5px; text-align: left; }
@media (max-width: 760px) {
  .stance { grid-template-columns: 1fr; gap: 56px; padding-top: 50px; }
  .stance-line { display: none; }
  .stance .st.s1, .stance .st.s8 { margin-top: 0; }
}

/* 階段：カードの下に、だんだん高くなる段を置く（上書き） */
.stance { align-items: end; padding-top: 70px; gap: 0; }
.stance .col { display: flex; flex-direction: column; }
.stance .st { margin: 0 10px !important; border-radius: 22px 22px 0 0; border-bottom: 0; box-shadow: none; }
.stance .base { background: var(--sc-tint); display: flex; align-items: flex-start; justify-content: center; padding-top: 14px; }
.stance .col.s1 .base { height: 60px; border-radius: 0 0 0 18px; }
.stance .col.s8 .base { height: 130px; }
.stance .col.s0 .base { height: 200px; border-radius: 0 18px 0 0; }
.stance .base span { font-size: 15.5px; font-weight: 700; color: var(--sc-ink); background: #fff; border-radius: 999px; padding: 3px 14px; }
.stance .col.s0 .base { position: relative; }
.stance .col.s0 .base::after { content: "▲"; position: absolute; top: -2px; right: 14px; color: var(--sc-ink); font-size: 15.5px; }
@media (max-width: 760px) {
  .stance { gap: 48px; }
  .stance .col .base { height: auto !important; padding: 10px; border-radius: 0 0 18px 18px !important; }
  .stance .st { margin: 0 !important; }
}
.stance .st { min-height: 300px; }
@media (max-width: 760px) { .stance .st { min-height: 0; } }

/* ===== 運営中の方へ：まずはここから（入口の図） ===== */
.entry { background: #fff; border: 2px solid var(--s0); border-radius: 28px; padding: 36px 40px; box-shadow: 0 14px 40px rgba(255,192,77,.15); }
.entry-head { display: grid; grid-template-columns: 150px 1fr; gap: 30px; align-items: center; }
.badge-free { width: 150px; height: 150px; border-radius: 50%; background: var(--s0); color: #fff; display: grid; place-content: center; text-align: center; box-shadow: 0 0 0 10px #FFF1D2; }
.badge-free small { font-size: 15.5px; font-weight: 700; line-height: 1.4; }
.badge-free b { font-size: 40px; line-height: 1.1; letter-spacing: .08em; }
.entry-head h2 { font-size: clamp(26px, 3.4vw, 36px); margin: 2px 0 8px; }
.entry-lead { margin-bottom: 12px; }
.entry-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.entry-pills span { background: #FFF1D2; border: 1.5px solid #FFE1A0; border-radius: 999px; padding: 4px 14px; font-weight: 700; color: var(--brown); font-size: 16px; }
.entry-pills b { color: #D98A0A; margin-right: 8px; font-size: 14.5px; }
.entry-flow { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; margin: 34px 0 26px; position: relative; }
.entry-flow li { position: relative; background: #FFFBF2; border-radius: 20px; padding: 22px 16px 18px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.entry-flow li:not(:last-child)::after { content: ""; position: absolute; right: -26px; top: 50%; width: 18px; height: 18px; border-top: 4px solid #FFC04D; border-right: 4px solid #FFC04D; transform: translateY(-50%) rotate(45deg); border-radius: 2px; }
.entry-flow svg { width: 64px; height: 64px; margin-bottom: 4px; }
.entry-flow .no { font-size: 13px; font-weight: 700; letter-spacing: .14em; color: #D98A0A; }
.entry-flow b { color: var(--brown); font-size: 18.5px; }
.entry-flow small { font-size: 14.5px; color: var(--muted); line-height: 1.6; }
.entry-goal { display: grid; grid-template-columns: auto 1fr auto; gap: 16px 20px; align-items: center; background: var(--pink-soft); border-radius: 18px; padding: 18px 22px; position: relative; }
.entry-goal::before { content: ""; position: absolute; left: 50%; top: -22px; transform: translateX(-50%); border: 11px solid transparent; border-bottom-color: var(--pink-soft); }
.entry-goal .lab { font-weight: 700; color: var(--pink-ink); }
.goal-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.goal-chips a, .goal-chips span { font-size: 15.5px; font-weight: 700; text-decoration: none; color: var(--sc-ink); background: #fff; border: 1.5px solid var(--sc); border-radius: 999px; padding: 3px 12px; }
.goal-chips span { border-style: dashed; color: var(--muted); font-weight: 500; }
@media (max-width: 960px) {
  .entry-flow { grid-template-columns: 1fr 1fr; }
  .entry-flow li:nth-child(2)::after { display: none; }
  .entry-goal { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .entry { padding: 26px 20px; }
  .entry-head { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .entry-pills { justify-content: center; }
  .entry-flow { grid-template-columns: 1fr; gap: 30px; }
  .entry-flow li:not(:last-child)::after { right: auto; left: 50%; top: auto; bottom: -24px; transform: translateX(-50%) rotate(135deg); display: block; }
}
/* 入口の下の段は、ページのテーマカラーに合わせる */
.entry-goal { background: var(--c-soft); }
.entry-goal::before { border-bottom-color: var(--c-soft); }
.entry-goal .lab { color: var(--c-ink); }
.goal-chips .s7 { color: #35313A; }

/* ===== 枠の高さをそろえる（2列に並ぶ枠・上下に積んだ枠） ===== */
.panels.two .panel .ph { min-height: 168px; align-content: center; }
.stack2 { display: grid; grid-template-rows: 1fr 1fr; gap: 28px; }
.stack2 .panel .ph { min-height: 168px; align-content: center; }
.stack2 .panel .pb { justify-content: center; }
@media (max-width: 760px) { .panels.two .panel .ph, .stack2 .panel .ph { min-height: 0; } .stack2 { grid-template-rows: auto; } }

/* プライバシーポリシー：外国（米国）の事業者に関する情報 */
.prose .pp-foreign { display: block; padding: 4px 20px 18px; border-radius: 12px; margin-top: 14px; }
.prose .pp-foreign h3 { font-size: 18px; margin-top: 16px; }
.prose .pp-foreign h3 + p, .prose .pp-foreign h3 + ul { margin-top: 4px; }

/* ===== 色づかい（2026-10-08 ユーザー指示：資料とそろえる。淡い面のまま色数を増やす） =====
   立ち上げパックは ⑤スカイ／⑥ラベンダー／⑦オーキッド、「開所する」はレモン、目指すゴール・目指す状態はクリーム、
   フルオーダーの①〜⑧の番号は各サービスの色、運営仕組み化の「料金に含まれるもの」はラベンダー */
.k5 { --sc: #6DB6EA; --sc-ink: #2F8FD0; --sc-soft: #E3F2FD; }
.k6 { --sc: #A593EC; --sc-ink: #7B63D6; --sc-soft: #EEE9FF; }
.k7 { --sc: #E590E8; --sc-ink: #B44FC4; --sc-soft: #FCE9FD; }
.box.k5 .lbl, .box.k6 .lbl, .box.k7 .lbl { color: var(--sc-ink); }
.journey span.open { background: #FFEFA0; }
.journey span:nth-child(1) { background: #EAFAF6; } .journey span:nth-child(2) { background: #DBF6EF; } .journey span:nth-child(3) { background: #CBF1E8; } .journey span:nth-child(4) { background: #B9ECE0; } .journey span:nth-child(6) { background: #A6E6D8; }
.eight > div:nth-child(1) i { background: #E35B80; }
.eight > div:nth-child(2) i { background: #FFD43B; color: #4A4246; }
.eight > div:nth-child(3) i { background: #1FA08C; }
.eight > div:nth-child(4) i { background: #6BA516; }
.eight > div:nth-child(5) i { background: #2F8FD0; }
.eight > div:nth-child(6) i { background: #7B63D6; }
.eight > div:nth-child(7) i { background: #B44FC4; }
.goal-list.cream li, .box.cream { background: #FFF1D2; }
.goal-list.cream li::before { color: #FFB020; }
.box.cream .lbl { color: #D98A0A; }
.lavchips { --sc-ink: #7B63D6; --sc-soft: #EEE9FF; }
.lavchips .lbl { color: #7B63D6; }

/* ===== スマートフォンでの見た目の調整（2026-10-09 点検） ===== */
@media (max-width: 760px) {
  /* 長いサービス名（運営仕組み化プロジェクト）が枠からはみ出して切れないようにする */
  .panel .ph > * { min-width: 0; }
  .panel .ph h3 { font-size: 19px; letter-spacing: .02em; gap: 8px; overflow-wrap: anywhere; }
  .panel .ph h3 .num { width: 30px; height: 30px; font-size: 15.5px; }

  /* 料金の帯：金額と説明の間が空きすぎないようにする */
  .same-band { gap: 8px; padding: 18px 22px; }
  /* フルオーダーの流れ：最後の1つが半端に残らないよう、横いっぱいにする */
  .journey span.end { grid-column: 1 / -1; }
}

/* 見出しの下の文を1行で見せる（パソコンの幅のとき。スマホでは折り返す） */
.sec-head p.oneline { max-width: none; }
@media (min-width: 961px) { .sec-head p.oneline { white-space: nowrap; } }

/* ===== 見せ方の整理（2026-10-09 ユーザー指示：高さのそろっていない枠・不自然な改行と余白をなくす） ===== */
/* ページ上の説明文：最後の行に数文字だけ残らないよう、幅を調整（立ち上げのページ） */
.t-start .page-head p.lead { max-width: 860px; }

/* お悩みの枠：どの行も同じ高さに。文は指定した改行どおり2行に収める */
.worries { grid-auto-rows: 1fr; }
.worry { padding: 18px 18px; gap: 10px; }
.worry p { font-size: 16.5px; letter-spacing: .01em; }

/* 無料の入口：4つのステップの説明を、同じ行数に収める */
.entry-flow li { padding: 22px 10px 18px; }
.entry-flow small { font-size: 14px; letter-spacing: 0; }

/* 選べるサポートの表：「こんなとき」が3つある行は、右のサポート名と1行ずつ対応させる */
.pick-row .when.multi { display: grid; gap: 6px; }
.pick-row .when.multi::before { content: none; }
.pick-row .when.multi span { line-height: 1.85; font-size: 18px; }
.pick-row .when.multi span::before { content: "▶"; font-size: 12px; color: var(--sc); margin-right: 8px; }

/* 料金の帯：金額／説明／補足を、説明が1行ずつに収まる並びにする */
.same-band { display: grid; grid-template-columns: auto 1fr; gap: 6px 24px; align-items: center; }
.same-band strong { grid-row: 1 / span 2; }
.same-band:not(:has(.sub)) strong { grid-row: auto; }
.same-band .sub { margin-left: 0; justify-self: start; padding: 6px 16px; }

/* 2列に並ぶ枠：見出しの帯の高さを左右でそろえ（中身の多いほうに合わせる）、文字は上から同じ位置に並べる */
.panels.two .panel .ph, .stack2 .panel .ph { align-content: start; }
@media (min-width: 761px) {
  .panels.two:not(:has(.stack2)) { row-gap: 0; }
  .panels.two:not(:has(.stack2)) > .panel { display: grid; grid-template-rows: subgrid; grid-row: span 2; }
  .panels.two:not(:has(.stack2)) > .panel:nth-child(n+3) { margin-top: 28px; }
  .panels.two:not(:has(.stack2)) > .panel .ph { min-height: 0; }
}
/* 枠の中の淡い箱：下に白い空きが残らないよう、箱を下まで広げる */
.panels.two .panel .pb > .box { flex: 1 0 auto; }

/* テーマ別改善の7つのテーマ：1行に「テーマ名＋ひとこと」。枠の大きさがそろう */
.themes7 { grid-template-columns: 1fr; gap: 6px; }
.themes7 > div { padding: 8px 12px; }
.themes7 > div > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 14px; }
.themes7 b { display: inline; }

/* 2列の箇条書き：1行に収め、半端に残る最後の1つは横いっぱいに */
.dots.cols2 li { font-size: 16.5px; }
.dots.cols2 li:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* フルオーダー：①〜⑧は1列に並べ、右の「目指すゴール」と高さをそろえる */
.eight { grid-template-columns: 1fr; gap: 0; }
.eight > div { padding: 7px 0; }
.eight b br { display: none; }
.panels.two > div:has(> .goal-list) { display: flex; flex-direction: column; }
.panels.two > div:has(> .goal-list) .goal-list { flex: 1; grid-auto-rows: 1fr; }
.goal-list li { display: flex; align-items: center; }
.goal-list li::before { top: 50%; transform: translateY(-50%); }
/* 枠の中の文：最後に1〜2文字だけ次の行へこぼれないよう、わずかに詰める */
.flowv span { font-size: 15px; letter-spacing: .01em; }
.panels.two .panel .dots:not(.cols2) li { font-size: 17px; }
.panels.two .panel .out > span:last-child { font-size: 16.5px; letter-spacing: .01em; }
/* スマートフォン：料金の帯は縦に並べる */
@media (max-width: 760px) {
  .same-band { grid-template-columns: 1fr; }
  .same-band strong { grid-row: auto; }
  .pick-row .when.multi span { font-size: inherit; }
}

/* ===== 人を育てたい方へ（スペシャリスト育成。2026-10-09 追加） =====
   基調はペリウィンクル。4つの役割は資料と同じ色（管＝ローズ、児＝ミント、事＝アプリコット、療＝スカイ） */
:root { --peri: #7F96F2; --peri-ink: #4A66D8; --peri-soft: #E9EEFF; --peri-tint: #D3DCFC; }
.t-sp { --c: #7F96F2; --c-ink: #4A66D8; --c-soft: #E9EEFF; --c-tint: #D3DCFC; --line: #E6EAFB; --line-strong: #D3DCFC; --paper: #F7F9FF; }
.s9 { --sc: #7F96F2; --sc-ink: #4A66D8; --sc-soft: #E9EEFF; --sc-tint: #D3DCFC; }
.global-nav a.nav-sp[aria-current="page"] { background: var(--peri-soft); color: var(--peri-ink); }
.btn.peri, .btn:not(.pink):not(.mint):not(.line).peri { background: var(--peri-tint); color: var(--peri-ink); border: 1.5px solid var(--peri); }
.btn.peri:hover { background: #C3CFFA; opacity: 1; }
/* メニューが1つ増えたので、文字の間をわずかに詰める */
.global-nav a { padding: 8px 10px; font-size: 15.5px; }
.global-nav ul { gap: 2px; }

/* ホーム：2つの入口の下の帯 */
.door-sp { display: grid; grid-template-columns: 1fr auto; gap: 20px 36px; align-items: center; margin-top: 24px; background: #fff; border: 1px solid var(--line); border-left: 8px solid var(--peri); border-radius: 20px; padding: 26px 30px; }
.door-sp .en { font-size: 13px; font-weight: 700; letter-spacing: .2em; color: var(--peri-ink); }
.door-sp h3 { font-size: 24px; margin-top: 2px; }
.door-sp .catch { font-weight: 700; color: var(--peri-ink); margin-top: 6px; }
.door-sp .roles { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.door-sp .roles span { font-size: 15px; font-weight: 700; color: var(--sc-ink); background: var(--sc-soft); border: 1.5px solid var(--sc); border-radius: 999px; padding: 2px 14px; }
.door-sp .act { display: grid; gap: 12px; justify-items: end; text-align: right; }
.door-sp .pr span { display: block; font-weight: 700; color: var(--brown); font-size: 16.5px; }
.door-sp .pr strong { font-size: 26px; color: var(--peri-ink); line-height: 1.3; }
.door-sp .pr strong small { font-size: 14.5px; }

/* 4つの役割のタイル */
.roles4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.roles4 a { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; background: var(--sc-soft); border-radius: 14px; padding: 16px 16px 14px; text-decoration: none; border: 1.5px solid transparent; }
.roles4 a:hover { border-color: var(--sc); }
.roles4 i { font-style: normal; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--sc-ink); color: #fff; font-weight: 700; font-size: 17.5px; flex-shrink: 0; }
.roles4 b { display: block; color: var(--brown); font-size: 17.5px; line-height: 1.45; }
.roles4 span { display: block; font-size: 14.5px; color: var(--muted); line-height: 1.6; margin-top: 2px; }
/* 進め方（6つ） */
.steps6 { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.steps6 li { display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: start; background: var(--sc-soft); border-radius: 12px; padding: 12px 14px; }
.steps6 i { font-style: normal; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--sc-ink); color: #fff; font-weight: 700; font-size: 15.5px; }
.steps6 b { display: block; color: var(--brown); font-size: 17px; line-height: 1.5; }
.steps6 span { display: block; font-size: 14.5px; color: var(--muted); line-height: 1.6; }
.steps6 li.end { background: var(--sc-tint); }
/* お渡しするもの（2つ） */
.give2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.give2 .box b { display: block; color: #D98A0A; font-size: 17.5px; }
.give2 .box span { font-size: 16px; }
.addon.in-panel em small { font-size: 13px; }
.panel .ph h3 .num { font-size: 16.5px; }
/* 現場訪問サポートとの違い・組み合わせの例 */
.vs2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.vs2 > div { background: var(--sc-soft); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; border: 1.5px solid transparent; }
.vs2 > div.on { border-color: var(--sc); }
.vs2 b { color: var(--sc-ink); font-size: 17px; }
.vs2 span { font-size: 15.5px; line-height: 1.6; }
.vs2 em { font-style: normal; font-weight: 700; color: var(--sc-ink); font-size: 15px; margin-top: auto; padding-top: 4px; }
.combo { list-style: none; display: grid; gap: 6px; }
.combo li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--line-strong); padding-bottom: 6px; }
.combo span { font-weight: 700; color: var(--brown); }
.combo em { font-style: normal; font-weight: 700; color: var(--sc-ink); white-space: nowrap; }
.combo em small { font-size: 13px; margin-left: 4px; }
/* 育成のあとのサポート（3つ。それぞれのサービスの色） */
.next-card { flex: 1 0 auto; display: flex; flex-direction: column; gap: 4px; background: var(--sc-soft); border-radius: 12px; padding: 14px 18px; text-decoration: none; color: var(--ink); border: 1.5px solid transparent; }
.next-card:hover { border-color: var(--sc); }
.next-card .top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.next-card .top b { color: var(--sc-ink); font-size: 18px; }
.next-card .top em { font-style: normal; font-weight: 700; color: var(--sc-ink); white-space: nowrap; font-size: 16.5px; }
.next-card .q { font-weight: 700; color: var(--brown); font-size: 16.5px; }
.next-card .t { font-size: 16px; }
@media (max-width: 960px) {
  .roles4 { grid-template-columns: 1fr 1fr; }
  .steps6 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .door-sp { grid-template-columns: 1fr; padding: 22px 20px; }
  .door-sp .act { justify-items: start; text-align: left; }
  .roles4, .steps6, .give2, .vs2 { grid-template-columns: 1fr; }
  .roles4 a { flex-direction: row; align-items: center; }
  .next-card .top { flex-direction: column; gap: 0; }
  .global-nav a { padding: 8px 12px; font-size: 16px; }
}
/* メニューが6つになったので、横幅が足りない画面（1100px以下）では、早めに「三本線のメニュー」に切りかえる */
.global-nav a { white-space: nowrap; }
@media (max-width: 1100px) {
  .nav-toggle { display: block; }
  .global-nav { position: absolute; left: 0; right: 0; top: 72px; background: #fff; border-bottom: 1px solid var(--line); display: none; }
  .global-nav.open { display: block; }
  .global-nav ul { flex-direction: column; align-items: stretch; padding: 10px 20px 18px; gap: 4px; }
  .global-nav a { padding: 8px 12px; font-size: 16px; }
  .global-nav a.nav-cta { margin: 8px 0 0; text-align: center; }
}

/* 料金の帯：金額を説明の右側に置く形（人を育てたい方へ「4つの育成」。2026-10-09 ユーザー指示） */
.same-band.price-right { grid-template-columns: 1fr auto; }
.same-band.price-right p { grid-column: 1; grid-row: 1; }
.same-band.price-right strong { grid-column: 2; grid-row: 1; }
@media (max-width: 760px) { .same-band.price-right { grid-template-columns: 1fr; } .same-band.price-right strong { grid-column: 1; grid-row: 2; } }

/* 代表の想い：強調する一文（2026-10-09） */
.msg-steps strong { color: var(--c-ink); font-weight: 700; }

/* ===== 最後の整合（2026-10-12）：資料で決まった色に合わせる ===== */
/* フルオーダー立ち上げ支援＝青みのターコイズ（③物件のミントと見分ける。資料の入口-1 と同じ） */
.fo, .fo .tag.s8 { --sc: #2BC0CF; --sc-ink: #1193A6; --sc-soft: #DDF6FA; --sc-tint: #C4EEF4; }
/* スポット相談・単発メニュー＝灰色をやめてスカイ（資料の入口-1・スポット-1 と同じ） */
.addon.sx, .panel.sx { --sc: #6DB6EA; --sc-ink: #2F8FD0; --sc-soft: #E3F2FD; --sc-tint: #CFE8FB; }
/* 人を育てたい方へ：オプションの案内はリンク。育成のあとのサポートは1つの枠に3つ横並び */
a.addon { text-decoration: none; color: var(--ink); }
#next .pb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
#next .next-card .top { flex-direction: column; gap: 0; }
@media (max-width: 900px) { #next .pb { grid-template-columns: 1fr; } }

/* お問い合わせ：Google フォームへのボタン（2026-10-12） */
.form.gform { grid-template-columns: 1fr; text-align: center; justify-items: center; }
.form.gform .lead { font-weight: 700; color: var(--brown); font-size: 18.5px; }
.form.gform .small { max-width: 720px; }

/* ===== 大切にしていること（トップページの最初の画面のすぐ下。2026-10-12。もとは「考え方、姿勢.txt」） ===== */
.creed { padding-top: 56px; }
.creed .sec-head { margin-bottom: 14px; }
.creed-copy { text-align: center; font-family: var(--round); font-weight: 700; color: var(--brown); font-size: clamp(26px, 4.2vw, 44px); letter-spacing: .05em; line-height: 1.5; }
.creed-copy em { font-style: normal; color: var(--c-ink); }
.creed-lead { text-align: center; max-width: 820px; margin: 14px auto 40px; line-height: 2; }
.creed-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.creed-card { position: relative; display: flex; flex-direction: column; background: var(--sc-soft); border-radius: 18px; padding: 26px 26px 24px; overflow: hidden; }
.creed-card i { font-style: normal; font-family: var(--round); font-weight: 700; font-size: 16.5px; letter-spacing: .12em; color: #fff; background: var(--sc); border-radius: 999px; align-self: flex-start; padding: 2px 14px; }
.creed-card h3 { font-size: 18.5px; line-height: 1.6; margin-top: 14px; text-wrap: balance; }
.creed-card strong { display: block; margin-top: 12px; color: var(--sc-ink); font-size: 18px; line-height: 1.8; text-wrap: balance; }
.creed-card p { margin-top: auto; padding-top: 14px; font-size: 16px; line-height: 1.85; text-wrap: pretty; }
.creed-card p::before { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--sc); margin-bottom: 12px; opacity: .7; }
.creed-end { margin-top: 28px; background: #FFF1D2; border-radius: 18px; padding: 24px 28px; text-align: center; }
.creed-end strong { display: block; font-family: var(--round); color: var(--brown); font-size: clamp(18px, 2.2vw, 23px); letter-spacing: .03em; line-height: 1.7; }
.creed-end > span { display: block; margin-top: 4px; color: #D98A0A; font-weight: 700; font-size: 16.5px; }
@media (max-width: 1000px) { .creed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .creed-grid { grid-template-columns: 1fr; gap: 14px; } .creed-lead br { display: none; } .creed-lead { text-align: left; margin-bottom: 28px; } .creed-card { padding: 22px 20px 20px; } }
/* 大切にしていること：札の中を中央にそろえる（2026-10-12 ユーザー指示。資料と同じ） */
.creed-card { text-align: center; align-items: center; }
.creed-card i { align-self: center; }
.creed-card p { align-self: stretch; }
.creed-card p::before { margin-left: auto; margin-right: auto; }

/* 無料の面談の2つの枠：文の行数が違っても、ボタンの高さを左右でそろえる（2026-10-12） */
.cta-card .btn { margin-top: auto; }
.cta-card .meta { margin-bottom: 6px; }

/* 人を育てたい方へ「4つの育成」：左右の枠で、説明・育てる内容・こんな事業所に の3つの行の高さをそろえる（2026-10-12 ユーザー指示。札が2行に折り返しても、下の箱の位置と高さが左右で同じになる） */
@media (min-width: 761px) {
  .t-sp .panels.two > .panel[id^="r"] { grid-row: span 4; }
  .t-sp .panels.two > .panel[id^="r"] > .pb { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 18px; align-content: start; }
  .t-sp .panels.two > .panel[id^="r"] > .pb > .box { align-self: stretch; }
}

/* ===== 2026-10-15 運営伴走の3つのコース（三色団子：抹茶・桜・白）と、請求サポートのページ ===== */
.courses .cg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.courses .cg > div { border-radius: 14px; padding: 12px 10px; text-align: center; border: 1.5px solid var(--dc); background: var(--ds); }
.courses .cg b { display: block; color: var(--brown); font-size: 17.5px; }
.courses .cg em { display: block; font-style: normal; font-weight: 700; color: var(--di); font-size: 18.5px; margin-top: 2px; }
.courses .cg span { display: block; font-size: 14px; color: var(--ink); margin-top: 2px; line-height: 1.5; }
.courses .g1 { --dc: #94C47E; --di: #5A9A42; --ds: #EEF6E8; }
.courses .g2 { --dc: #F4A3B8; --di: #E0708F; --ds: #FDEEF2; }
.courses .g3 { --dc: #F5D57A; --di: #E39410; --ds: #FFFBF0; }
.courses .cn { font-size: 15px; margin-top: 8px; color: var(--ink); }
@media (max-width: 640px) { .courses .cg { grid-template-columns: 1fr; } }
.t-bl { --c: #9CD04A; --c-ink: #6BA516; --c-soft: #EDF8D8; --c-tint: #DDF0B8; --line: #E4F1D2; --line-strong: #DDF0B8; --paper: #F8FCF2; }
.b1 { --sc: #9CD04A; --sc-ink: #6BA516; --sc-soft: #EDF8D8; --sc-tint: #DDF0B8; }
.b2 { --sc: #6DB6EA; --sc-ink: #2F8FD0; --sc-soft: #E3F2FD; --sc-tint: #CCE6FA; }
.b3 { --sc: #7F96F2; --sc-ink: #4A66D8; --sc-soft: #E9EEFF; --sc-tint: #D7DFFD; }
.panels.three { grid-template-columns: repeat(3, 1fr); gap: 22px; }
.panels.three .panel .ph { grid-template-columns: 1fr; }
.panels.three .panel .ph .price, .panels.three .panel .ph .meta { text-align: left; }
.panels.three .panel .ph .catch { font-size: 16px; font-weight: 500; color: var(--ink); }
@media (max-width: 1000px) { .panels.three { grid-template-columns: 1fr; } }
.bl-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; margin-bottom: 32px; }
.bl-hero h2 { font-size: clamp(24px, 3vw, 32px); line-height: 1.6; }
.bl-hero h2 em { font-style: normal; color: var(--c-ink); }
.bl-hero p { border-left: 6px solid var(--c); padding-left: 18px; }
@media (max-width: 760px) { .bl-hero { grid-template-columns: 1fr; } }
.bl-keep > div { border-color: #C6F0E7; }
.bl-keep i { background: #1FA08C !important; color: #fff !important; }
.bl-flow { margin-top: 32px; }
.bl-flow ol { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 6px; }
.bl-flow li { background: #E6F0FE; border-radius: 999px; padding: 10px 14px; font-weight: 700; color: var(--brown); display: flex; align-items: center; gap: 8px; font-size: 16px; }
.bl-flow li i { font-style: normal; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #2F8FD0; color: #fff; flex-shrink: 0; font-size: 14.5px; }
@media (max-width: 1000px) { .bl-flow ol { grid-template-columns: 1fr; } }
.bl-notes { margin-top: 28px; }
.bl-notes > div { border: 1.5px solid #FFC04D; background: #fff; }
.bl-notes h3 { margin-top: 0; color: var(--brown); }
.door-bl { border-left-color: #9CD04A; }
.door-bl .en { color: #6BA516; }
.door-bl .catch { color: #6BA516; }
.door-bl .roles span { --sc: var(--sc); }
.door-bl .pr strong { color: #6BA516; }
.btn.leaf { background: #EDF8D8; color: #6BA516; border: 1.5px solid #9CD04A; }

/* ===== 2026-10-15「私たちについて」の絵と、そのまわりの色＝三色団子（桜・白＝クリーム・抹茶）。ユーザー指示「モチーフや文言は変えずに色だけ」。
   絵（循環の図・たね／め／はな・5枚の花びら・社名の3つの円）の色は about_body.html の SVG の中。ここは札・一覧の色 ===== */
.grow3 .g.s1 { --sc: #F4A3B8; --sc-ink: #E0708F; --sc-soft: #FDEEF2; --sc-tint: #FBD9E2; }
.grow3 .g.s8 { --sc: #94C47E; --sc-ink: #5A9A42; --sc-soft: #EEF6E8; --sc-tint: #D8EBCC; }
.grow3 .g.s0 { --sc: #F5D57A; --sc-ink: #E39410; --sc-soft: #FFFBF0; --sc-tint: #FFF1C9; }
.vlist details.s1 { --sc: #F4A3B8; --sc-ink: #E0708F; --sc-soft: #FDEEF2; }
.vlist details.s0 { --sc: #F5D57A; --sc-ink: #E39410; --sc-soft: #FFF8E4; }
.vlist details.s5 { --sc: #94C47E; --sc-ink: #5A9A42; --sc-soft: #EEF6E8; }
.vlist details.s8 { --sc: #EC9BB1; --sc-ink: #E0708F; --sc-soft: #FBE3EA; }
.vlist details.s6 { --sc: #EDC55A; --sc-ink: #E39410; --sc-soft: #FFF2CF; }
.formula .p1 { background: #F4A3B8; color: #fff; }
.formula .p2 { background: #94C47E; color: #fff; }
.formula .p3 { background: #F5D57A; color: #4A4246; }
.name-list li.s1 { --sc: #F4A3B8; --sc-ink: #E0708F; }
.name-list li.s8 { --sc: #94C47E; --sc-ink: #5A9A42; }
.name-list li.s0 { --sc: #F5D57A; --sc-ink: #E39410; }

/* 2026-10-16 スペシャリスト育成：リーダー育成（3つ）と福祉事務育成に分けた見出し */
.grp-lbl { margin: 10px 0 6px; font-weight: 700; color: #4A66D8; font-size: 16.5px; }
.grp-lbl span { margin-left: 12px; font-weight: 500; font-size: 14.5px; color: var(--brown); }
.grp-lbl.apri-g { color: #EE7A1E; margin-top: 16px; }
.roles4 { grid-template-columns: repeat(3, 1fr); }  /* リーダー育成の3つ */
.roles4.one { grid-template-columns: 1fr; }
@media (max-width: 760px) { .roles4 { grid-template-columns: 1fr; } }
.leader-band { display: flex; align-items: center; gap: 18px; background: #E9EEFF; border-radius: 16px; padding: 14px 22px; margin-bottom: 18px; }
.leader-band > b { flex: none; background: #4A66D8; color: #fff; border-radius: 999px; padding: 4px 16px; font-size: 17.5px; }
.leader-band p { margin: 0; font-weight: 700; color: var(--brown); }
.leader-band p span { display: block; font-weight: 400; font-size: 15.5px; margin-top: 2px; }
@media (max-width: 640px) { .leader-band { flex-direction: column; align-items: flex-start; gap: 8px; } }

/* 2026-10-19 代表の想い：札をやめて、1つの文章（手紙のように読める形）に */
.msg-letter { max-width: 760px; margin: 28px auto 0; background: #fff; border-radius: 18px; padding: 34px 44px; box-shadow: 0 6px 24px rgba(227, 91, 128, .08); }
.msg-letter p { margin: 0 0 1.2em; line-height: 2; font-size: 17.5px; color: var(--ink); }
.msg-letter p:last-child { margin-bottom: 0; }
.msg-letter p.close { padding-top: 1.2em; border-top: 1px dashed var(--line-strong, #F0C9D5); font-weight: 500; color: var(--brown); }
@media (max-width: 640px) { .msg-letter { padding: 24px 20px; } .msg-letter p { font-size: 16.5px; line-height: 1.95; } }

/* 2026-10-19 印のあとの2行目を、1行目の文字の始まりにそろえる（ぶら下げ）。
   チェックマーク（こんなお悩み）と ▶（立ち上げの「こんなとき」）を、文字の外側に置く */
.worry p { position: relative; padding-left: 1.45em; }
.worry p::before { position: absolute; left: 0; top: 0; margin: 0; }
.pick-row .when:not(.multi), .pick-row .when.multi span { position: relative; padding-left: 19px; display: block; }
.pick-row .when:not(.multi)::before, .pick-row .when.multi span::before { position: absolute; left: 0; top: .15em; margin: 0; }

/* 2026-10-19 見た目のちぐはぐを整える */
/* 社名に込めた意味：2行目が札の下にもぐらないよう、札と説明を2列に */
.name-list li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline; }
.name-list b { margin-right: 0; white-space: nowrap; }
/* 運営中の方へ ③改善プロジェクト：となりの④が長いので「こんな事業所に」の箱が縦にのびすぎていた → のばさない */
.panels.two #s3 .pb > .box { flex: 0 0 auto; }
/* 立ち上げる方へ：チャット・資料サポート／現場訪問の枠が、となりの⑧に合わせて縦にのび、文字がまん中に浮いていた */
.panels.two:has(.stack2) { align-items: start; }
.stack2 { grid-template-rows: auto auto; }
.stack2 .panel .pb { justify-content: flex-start; }
/* 請求サポートの下の3つの枠：文の途中で不自然に折り返していた */
.bl-notes p { word-break: auto-phrase; text-wrap: wrap; }

/* 2026-10-19 よくある質問（トップページ。faq.js） */
.faq .faq-group { max-width: 880px; margin: 0 auto 26px; }
.faq .faq-group h3 { font-size: 18.5px; margin: 0 0 10px; padding-left: 12px; border-left: 4px solid var(--c); }
.faq-item { background: #fff; border-radius: 14px; margin-bottom: 10px; box-shadow: 0 4px 16px rgba(227, 91, 128, .06); }
.faq-item summary { display: grid; grid-template-columns: 28px 1fr 20px; align-items: start; gap: 10px; padding: 16px 20px; color: var(--brown); font-size: 17px; line-height: 1.6; }
.faq-item summary::after { content: "＋"; color: var(--c-ink); text-align: right; }
.faq-item[open] summary::after { content: "－"; }
.faq-item .q, .faq-item .a { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 14.5px; font-weight: 700; color: #fff; background: var(--c); }
.faq-item .a { background: #FFC04D; }
.faq-item p { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 0 20px 18px 20px; margin: 0; font-size: 16.5px; line-height: 1.9; color: var(--ink); }
@media (max-width: 640px) { .faq-item summary { padding: 14px 14px; font-size: 16.5px; } .faq-item p { padding: 0 14px 16px; } }

/* 2026-10-19 代表の想いの最後に「代表　高橋」 */
.msg-letter p.sign { text-align: right; margin-top: 1.4em; font-weight: 700; color: var(--brown); letter-spacing: .1em; }

/* 2026-10-19 会社概要の事業内容：2行目が「・」の下にもぐらないように */
.biz { list-style: none; margin: 4px 0 0; padding: 0; }
.biz li { position: relative; padding-left: 1em; }
.biz li::before { content: "・"; position: absolute; left: 0; }

/* 依頼して解決できること（2026-10-21・トップページ） */
.solve-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 8px; }
.solve-card { border-radius: 20px; padding: 22px 24px; background: var(--sv-soft); }
.solve-card.sv1 { --sv: #1FA08C; --sv-soft: #E2F8F3; }
.solve-card.sv2 { --sv: #E35B80; --sv-soft: #FFEAF0; }
.solve-card.sv3 { --sv: #4A66D8; --sv-soft: #E9EEFF; }
.solve-card .who { display: inline-block; font-size: 14.5px; font-weight: 700; color: #fff; background: var(--sv); border-radius: 999px; padding: 2px 14px; margin: 0 0 10px; }
.solve-card h3 { font-size: 19px; color: var(--sv); margin: 0 0 12px; line-height: 1.5; }
.solve-card ul { list-style: none; padding: 0; margin: 0; }
.solve-card li { position: relative; padding-left: 1.2em; font-size: 16.5px; line-height: 1.65; margin: 6px 0; }
.solve-card li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--sv); }
.solve-core { margin-top: 20px; background: #FFF1D2; border-radius: 20px; padding: 20px 26px; text-align: center; }
.solve-core strong { display: block; font-size: 19px; color: #D98A0A; margin-bottom: 6px; font-family: var(--round); }
.solve-core span { font-size: 16.5px; line-height: 1.8; }
.solve-note { margin-top: 12px; text-align: center; font-size: 14.5px; color: var(--muted); }
@media (max-width: 1000px) { .solve-grid { grid-template-columns: 1fr; } }

/* トップページ（2026-10-21 ユーザー「見本の形で作り直して」。組みかえは top_v2.js） */
.hero2 .lead-top{font-family:var(--round);font-weight:700;font-size:clamp(20px,2vw,26px);color:var(--brown);margin-top:10px}
.hero2 h1{font-size:clamp(34px,4.4vw,54px);line-height:1.35}
.hero2 .txt{font-size: 17.5px;line-height:1.95;margin-top:18px}
.hero2 .txt b{color:var(--c-ink)}
.hero-tag{text-align:center;margin-top:18px;font-family:var(--round);font-weight:700;color:#E35B80;letter-spacing:.12em}
.proof{padding-top:8px}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.proof-num{background:#fff;border-radius:24px;padding:24px 18px;text-align:center;box-shadow:0 10px 30px rgba(200,90,120,.08)}
.proof-num b{display:block;font-family:var(--round);font-size:clamp(40px,4.6vw,54px);color:#E35B80;line-height:1.1}
.proof-num b small{font-size:.38em;margin-left:4px}
.proof-num:nth-child(2) b{color:#1FA08C}.proof-num:nth-child(3) b{color:#4A66D8}
.proof-num span{display:block;margin-top:8px;font-size: 15.5px;line-height:1.7;font-weight:700}
.proof-msg{margin-top:22px;background:linear-gradient(120deg,#FFE3EA,#FFF1D2);border-radius:24px;padding:26px 32px}
.proof-msg .q{font-family:var(--round);font-size:22px;font-weight:700;color:#E35B80}
.proof-msg p{margin-top:8px;line-height:1.9}
.proof-msg .sign{text-align:right;font-weight:700}.proof-msg .sign a{margin-left:14px;font-size: 14.5px}
.mid-cta{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:2px solid #F58CA6;border-radius:24px;padding:20px 28px}
.mid-cta p b{display:block;font-size:19px;font-family:var(--round)}.mid-cta p span{font-size: 15.5px}
.case-card{background:#fff;border-radius:26px;box-shadow:0 14px 40px rgba(200,90,120,.09);overflow:hidden}
.case-head{background:linear-gradient(120deg,#C6F0E7,#E2F8F3);padding:22px 28px}
.case-tag{display:inline-block;background:#1FA08C;color:#fff;border-radius:999px;padding:2px 14px;font-size: 13px;font-weight:700}
.case-head h3{margin-top:8px;font-size:21px}
.case-body{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;padding:24px 28px 28px;align-items:stretch}
.case-col{background:#F6FBFA;border-radius:18px;padding:16px 18px}
.case-col .k{font-weight:700;color:#1FA08C;margin-bottom:6px}
.case-col ul{padding:0;margin:0}
.case-col li{list-style:none;position:relative;padding-left:1.1em;font-size: 15.5px;line-height:1.7;margin:4px 0}
.case-col li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:#4CC7B3}
.case-arrow{align-self:center;color:#4CC7B3;font-size:18px}
.creed-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.creed-mini{display:flex;align-items:center;gap:12px;background:var(--sc-soft);border-radius:18px;padding:16px 18px;font-weight:700;line-height:1.6}
.creed-mini i{font-style:normal;flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sc);color:#fff;font-size: 13px}
.creed2 .creed-end{margin-top:18px}
.creed2 .more{text-align:center;margin-top:14px}
@media (max-width:1000px){.case-body{grid-template-columns:1fr}.case-arrow{transform:rotate(90deg);justify-self:center}.creed-mini-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.proof-grid{grid-template-columns:1fr}.mid-cta{flex-direction:column;align-items:flex-start}.creed-mini-grid{grid-template-columns:1fr}.proof-msg{padding:20px}}
.proof .proof-msg{margin-top:0}

/* サポートの例（2026-10-21 ユーザー「現実味のある感じに」）：だれの話か → 本人の言葉 → 時期ごとの流れ → 担当より */
.case-card{max-width:980px;margin:0 auto}
.case-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px 28px;align-items:center;padding:26px 32px}
.case-who h3{margin-top:10px;font-size:24px;line-height:1.45}
.case-who p{margin-top:6px;font-size: 15.5px;color:#4A4246}
.case-facts{margin:0;padding:0;display:grid;gap:8px}
.case-facts li{list-style:none;background:rgba(255,255,255,.75);border-radius:14px;padding:10px 14px;font-size: 15.5px;line-height:1.65}
.case-facts b{display:block;font-size: 13px;color:#1FA08C}
.case-voice{padding:28px 40px 6px;position:relative}
.case-voice::before{content:"“";position:absolute;left:16px;top:6px;font-family:Georgia,serif;font-size:64px;line-height:1;color:#C6F0E7}
.case-voice .q{font-family:var(--round);font-weight:700;font-size:19px;line-height:1.9;color:#3A3236}
.case-voice .src{margin-top:6px;font-size: 13px;color:#8A8286}
.case-steps{list-style:none;margin:0;padding:18px 32px 6px;display:grid;gap:0}
.case-steps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;position:relative;padding-bottom:16px}
.case-steps li::before{content:"";position:absolute;left:31px;top:34px;bottom:0;width:2px;background:#D5F2EC}
.case-steps li:last-child::before{display:none}
.case-steps .when{display:grid;place-items:center;height:34px;border-radius:999px;background:#E2F8F3;color:#1FA08C;font-weight:700;font-size: 15.5px}
.case-steps li:last-child .when{background:#1FA08C;color:#fff}
.case-steps b{display:block;font-size: 17.5px;line-height:34px}
.case-steps p{font-size: 15.5px;line-height:1.8;margin-top:2px}
.case-staff{margin:6px 32px 28px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;background:#FFF6E0;border-radius:18px;padding:16px 20px}
.case-staff .who{background:#FFC04D;color:#3A3236;border-radius:999px;padding:3px 12px;font-size: 13px;font-weight:700;white-space:nowrap}
.case-staff p{font-size: 15.5px;line-height:1.8}
@media (max-width:800px){.case-head{grid-template-columns:1fr;padding:22px 20px}.case-voice{padding:24px 22px 4px}.case-voice::before{left:4px}.case-voice .q{font-size: 18.5px}.case-steps{padding:16px 20px 4px}.case-steps li{grid-template-columns:52px minmax(0,1fr);gap:12px}.case-steps li::before{left:25px}.case-staff{margin:6px 20px 22px;grid-template-columns:1fr}}
/* 運営中の方へ：改善プロジェクトを横長の1枠にしたので、中を2列に */
.panel .wide-in > div > p{margin:0 0 12px}
@media (max-width:1000px){.panel .panels.wide-in{grid-template-columns:1fr}}

/* こんなお悩み（2026-10-21 ユーザー「札が左詰めだと違和感」）：札は文の下・右寄せ。点線で区切り、「お悩み → 合うサポート」の順に読めるように。
   となりの枠と点線・札の高さがそろうよう、文の部分をのばす。どの幅でも同じ形。 */
.worries { grid-auto-rows: 1fr; }
.worry, body.grad .worry { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 20px 22px 16px; }
.worry p { flex: 1; padding-bottom: 14px; border-bottom: 1px dashed var(--sc-tint, #eee); }
.worry .tag { align-self: flex-end; margin-top: 12px; }
@media (max-width: 760px) {
  .worries { grid-auto-rows: auto; }
  .worry, body.grad .worry { padding: 16px 18px 14px; }
  .worry p { padding-bottom: 12px; }
  .worry .tag { margin-top: 10px; }
}

/* お申込みのあとの流れ（2026-10-21 ユーザー「書いてください」）：無料の面談の2つの枠の下。4つの段階を横に並べる */
.cta-flow { margin-top: 26px; background: #fff; border-radius: 22px; padding: 22px 26px 18px; box-shadow: 0 8px 26px rgba(200,90,120,.07); }
.cta-flow .cf-title { font-family: var(--round); font-weight: 700; font-size: 18.5px; text-align: center; color: var(--brown); }
.cta-flow ol { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cta-flow li { position: relative; background: var(--cream, #FFF8EC); border-radius: 16px; padding: 14px 14px 12px; display: flex; flex-direction: column; gap: 4px; }
.cta-flow li + li::before { content: "▶"; position: absolute; left: -11px; top: 50%; transform: translateY(-50%); font-size: 11px; color: #F58CA6; }
.cta-flow i { font-style: normal; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #F58CA6; color: #fff; font-size: 13px; font-weight: 700; }
.cta-flow b { font-size: 16.5px; line-height: 1.5; margin-top: 4px; }
.cta-flow li > span { font-size: 14.5px; line-height: 1.7; }
.cta-flow .cf-note { margin-top: 12px; text-align: center; font-size: 14.5px; }
@media (max-width: 1000px) { .cta-flow ol { grid-template-columns: 1fr 1fr; } .cta-flow li:nth-child(3)::before { display: none; } }
@media (max-width: 640px) { .cta-flow { padding: 18px 16px 14px; } .cta-flow ol { grid-template-columns: 1fr; } .cta-flow li::before { display: none; } }

/* サポートの例：かぎかっこの下の注記を外したので、下の流れとの間を少し広げる（2026-10-21） */
.case-voice { padding-bottom: 18px; }

/* パソコンの幅だけで改行する <br class="br-pc">（2026-10-21 サポートの例の「担当より」） */
@media (max-width: 1000px) { br.br-pc { display: none; } }

/* 請求サポート「ほかのサポートとのちがい」（2026-10-21）：こんなとき → このサポート を3つ横に */
.bl-diff { margin-top: 26px; background: #fff; border-radius: 22px; padding: 22px 24px 24px; box-shadow: 0 8px 26px rgba(107,165,22,.08); }
.bl-diff .hd { text-align: center; font-family: var(--round); font-weight: 700; font-size: 18.5px; color: var(--brown); }
.bl-diff .hd span { display: block; font-family: inherit; font-weight: 500; font-size: 15px; color: var(--muted); margin-top: 4px; }
.bl-diff .row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.bl-diff .c { display: flex; flex-direction: column; align-items: center; text-align: center; border-radius: 16px; padding: 16px 14px; border: 1px solid var(--dc-line); background: var(--dc-soft); text-decoration: none; color: inherit; }
.bl-diff a.c:hover { box-shadow: 0 8px 20px rgba(0,0,0,.06); }
.bl-diff .when { font-weight: 500; font-size: 16px; line-height: 1.6; color: #4A4246; }
.bl-diff .arrow { font-size: 11px; color: var(--dc-ink); margin: 6px 0; }
.bl-diff .svc { font-family: var(--round); font-weight: 700; font-size: 17.5px; color: var(--dc-ink); line-height: 1.4; }
.bl-diff .svc small { display: block; font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: .04em; margin-top: 2px; }
.bl-diff .me { --dc-line: #C9E89A; --dc-soft: #F4FAEA; --dc-ink: #6BA516; }
.bl-diff .ka { --dc-line: #F5D57A; --dc-soft: #FFFBF0; --dc-ink: #E39410; }
.bl-diff .ji { --dc-line: #FFC79A; --dc-soft: #FFF4EA; --dc-ink: #EE7A1E; }
@media (max-width: 760px) { .bl-diff .row { grid-template-columns: 1fr; } .bl-diff { padding: 18px 16px; } }
/* 「ほかのサポートとのちがい」を三色団子の色に（2026-10-21 ユーザー「スペシャリストの色を変えて。三色団子カラーが希望」）：請求＝抹茶／事務・加算＝白（クリーム）／スペシャリスト育成＝桜。【伴】01 と同じ色 */
.bl-diff .me { --dc-line: #D8EBCC; --dc-soft: #EEF6E8; --dc-ink: #5A9A42; }
.bl-diff .ka { --dc-line: #FFF4D6; --dc-soft: #FFFBF0; --dc-ink: #E39410; border-color: #F5D57A; }
.bl-diff .ji { --dc-line: #FBD9E2; --dc-soft: #FDEEF2; --dc-ink: #E0708F; }

/* トップの最初の説明文を、パソコンの幅で2行に収める（2026-10-26 ユーザー指示） */
@media (min-width: 1001px) { .hero2 .txt { max-width: 600px; } }

/* ===== 私たちが目指す社会（about.html #wish・トップの短い版。2026-10-30） ===== */
.wish-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.wish-card { background: #fff; border-radius: 18px; padding: 28px 30px; border-top: 4px solid var(--sc, #F58CA6); box-shadow: 0 6px 24px rgba(227, 91, 128, .07); }
.wish-card h3 { font-size: 19px; line-height: 1.6; color: var(--brown); margin: 0 0 14px; }
.wish-card p { font-size: 16.5px; line-height: 1.95; margin: 0 0 .9em; color: var(--ink); }
.wish-card p.lines { padding-left: 14px; border-left: 3px solid var(--sc, #F58CA6); font-weight: 500; color: var(--brown); }
.wish-card details summary { color: var(--sc-ink, #E35B80); font-size: 15.5px; padding-top: 10px; border-top: 1px dashed var(--line-strong, #F0C9D5); margin-bottom: 10px; }
.wish-card details summary::after { content: " ＋"; }
.wish-card details[open] summary::after { content: " －"; }
.wish-end { text-align: center; margin-top: 34px; }
.wish-end b { font-size: 18px; line-height: 1.9; color: var(--brown); }
.wish-end .tag { margin-top: 10px; color: var(--c-ink, #E35B80); font-weight: 700; letter-spacing: .08em; }
@media (max-width: 760px) { .wish-list { grid-template-columns: minmax(0, 1fr); } .wish-card { padding: 22px 20px; } .wish-card h3 { font-size: 18.5px; } .wish-end b { font-size: 17.5px; } }
.wish-top { max-width: 760px; margin: 0 auto; text-align: center; }
.wish-top h2 { font-size: 24px; color: var(--brown); margin: 0 0 18px; }
.wish-top .lines { font-size: 18.5px; line-height: 2; color: var(--brown); font-weight: 500; margin: 0 0 16px; }
.wish-top p { line-height: 1.95; margin: 0 0 .7em; }
.wish-top .last { font-weight: 700; color: var(--c-ink, #E35B80); margin-top: 14px; }
.wish-top .more { margin-top: 16px; }
@media (max-width: 640px) { .wish-top h2 { font-size: 20px; } .wish-top .lines { font-size: 17px; } }
.wish-card { display: flex; flex-direction: column; }
.wish-card > details { margin-top: auto; }
.wish-card > details[open] { margin-top: 0; }

/* 社名に込めた意味は、私たちについての最後に小さめに（2026-10-30） */
.ab-name-sec { padding-top: 48px; padding-bottom: 48px; }
