:root {
  --ink: #0a1724;
  --navy: #0c1c2b;
  --blue: #177ad9;
  --cyan: #55d8df;
  --lime: #dfff31;
  --mint: #9fdcc2;
  --orange: #ff7a31;
  --paper: #f5f7f8;
  --warm: #fff8e8;
  --muted: #647181;
  --line: #d8e0e7;
  --width: 1180px;
  font-family: Inter, "Noto Sans JP", sans-serif;
  color: var(--ink);
  background: #fff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: #fff; letter-spacing: 0; }
body::selection { color: var(--ink); background: var(--lime); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
.strategy-wrap { width: min(var(--width), calc(100% - 48px)); margin-inline: auto; }
.strategy-kicker { margin: 0 0 18px; color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .18em; }
.strategy-section { padding: clamp(76px, 9vw, 132px) 0; }
.strategy-btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid transparent; border-radius: 3px; font-size: 14px; font-weight: 900; line-height: 1.2; }
.strategy-btn-primary { color: var(--ink); background: var(--lime); }
.strategy-btn-dark { color: #fff; background: var(--ink); }
.strategy-btn-large { min-height: 58px; padding-inline: 28px; }
.strategy-text-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 6px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.45); font-size: 13px; font-weight: 800; }
.strategy-text-link.dark { color: var(--ink); border-color: #a8b0b8; }
.strategy-text-link.light { color: #fff; }

.strategy-header { position: fixed; inset: 0 0 auto; z-index: 30; height: 80px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; padding: 0 38px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.18); transition: background .2s, height .2s; }
.strategy-header.is-scrolled { height: 66px; background: rgba(10,23,36,.96); backdrop-filter: blur(12px); }
.strategy-brand img { width: 190px; filter: brightness(0) invert(1); }
.strategy-home .strategy-header:not(.is-scrolled) { color: var(--ink); background: rgba(255,255,255,.9); border-bottom-color: rgba(10,23,36,.12); backdrop-filter: blur(10px); }
.strategy-home .strategy-header:not(.is-scrolled) .strategy-brand img { filter: none; }
.strategy-home .strategy-header:not(.is-scrolled) .mobile-menu summary { border-color: rgba(10,23,36,.25); }
.strategy-home .strategy-header:not(.is-scrolled) .mobile-menu summary span { background: var(--ink); }
.strategy-nav { display: flex; justify-content: center; gap: clamp(15px, 2.2vw, 34px); font-size: 12px; font-weight: 700; }
.strategy-nav a { opacity: .76; }
.strategy-nav a:hover { opacity: 1; }
.header-cta { min-height: 42px; padding-inline: 17px; font-size: 12px; }
.mobile-menu { display: none; }

.strategy-hero { position: relative; min-height: 760px; height: 100svh; max-height: 940px; overflow: hidden; color: var(--ink); background-color: #f7f9f6; background-image: url("assets/AI導入コンサル.png"); background-repeat: no-repeat; background-position: calc(100% - 1vw) 54%; background-size: min(62vw, 930px) auto; }
.hero-overlay { display: none; }
.hero-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; padding-top: 70px; }
.hero-content .strategy-kicker { color: var(--blue); }
.hero-content h1 { max-width: none; margin: 0; font-size: clamp(57px, 6.16vw, 90px); line-height: 1.07; font-weight: 900; }
.hero-content h1 .hero-line { display: inline-block; white-space: nowrap; }
.hero-content h1 em { color: var(--ink); background: var(--lime); font-style: normal; padding: 0 .08em .05em; }
.hero-summary { max-width: 580px; margin: 28px 0 0; color: #405061; font-size: clamp(16px, 1.5vw, 20px); font-weight: 600; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; }
.hero-actions .strategy-text-link { color: var(--ink); border-color: rgba(10,23,36,.35); }
.hero-points { display: flex; gap: 0; margin: 30px 0 0; padding: 0; list-style: none; }
.hero-points li { padding: 0 22px; border-left: 1px solid rgba(10,23,36,.24); color: #566575; font-size: 12px; font-weight: 700; }
.hero-points li:first-child { padding-left: 0; border-left: 0; }
.hero-rail { position: absolute; z-index: 2; right: 26px; bottom: 26px; display: flex; gap: 24px; color: rgba(10,23,36,.45); font-size: 9px; font-weight: 800; letter-spacing: .16em; transform: rotate(-90deg) translateX(100%); transform-origin: right bottom; }

.field-difference { padding: 64px 0 68px; background: #fff; border-bottom: 1px solid rgba(10,23,36,.14); }
.field-difference-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(40px, 8vw, 120px); align-items: center; }
.field-difference .strategy-kicker { color: var(--blue); margin-bottom: 18px; }
.field-difference h2 { margin: 0; color: var(--ink); font-size: clamp(29px, 3.35vw, 49px); line-height: 1.35; letter-spacing: -.02em; }
.field-difference h2 small { display: inline-block; margin-bottom: 4px; color: var(--muted); font-size: .42em; font-weight: 800; letter-spacing: .08em; }
.field-difference h2 span { color: var(--blue); }
.field-difference-copy { margin: 0; color: var(--muted); font-size: 16px; line-height: 2; }

.quick-answer { padding: 72px 0; background: var(--lime); }
.quick-answer-inner { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; align-items: start; }
.quick-answer-copy { display: flex; flex-direction: column; justify-content: center; }
.quick-answer .strategy-kicker { color: var(--ink); }
.quick-answer h2 { margin: 0; font-size: clamp(30px, 3.5vw, 46px); line-height: 1.35; }
.quick-answer-copy > p:last-child { margin: 26px 0 0; font-size: 17px; line-height: 2; }
.quick-answer-art { display: flex; align-items: flex-start; padding-top: 34px; }
.quick-answer-art img { display: block; width: 100%; height: auto; border: 1px solid rgba(10,23,36,.13); }
.keep-line { white-space: nowrap; }
.section-copy-with-art > p { margin: 22px 0 0; }
.proposal-art, .proposal-wide, .wall-art { overflow: hidden; background-color: #fff; background-repeat: no-repeat; border: 1px solid rgba(10,23,36,.13); }
.proposal-art { min-height: 0; aspect-ratio: 16 / 9; background-size: cover; background-position: center; }
.proposal-art-efficiency { background-image: url("assets/strategy-generated/ai-efficiency-trap.webp"); }
.proposal-art-two-walls { background-image: url("assets/strategy-generated/two-walls.webp"); }

.section-intro { max-width: 820px; margin-bottom: 54px; }
.section-intro h2, .split-intro h2, .cycle-copy h2, .diagnosis-copy h2, .trust-layout h2 { margin: 0; font-size: clamp(34px, 5vw, 64px); line-height: 1.25; }
.section-intro > p:last-child, .split-intro > p, .cycle-copy > p, .trust-layout > div > p { color: var(--muted); font-size: 16px; line-height: 2; }
.split-intro { max-width: none; display: grid; grid-template-columns: 1.05fr .95fr; gap: 86px; align-items: start; margin-bottom: 50px; }
.split-intro > p, .split-intro .section-copy-with-art > p { margin-bottom: 0; color: var(--muted); font-size: 16px; line-height: 2; }
.problem-section { background: var(--paper); }
.problem-section .split-intro { display: block; margin-bottom: 50px; }
.problem-section .split-intro h2 { font-size: clamp(24px, 4.6vw, 60px); white-space: nowrap; }
.problem-intro-copy { max-width: 760px; margin: 26px 0 0; color: var(--muted); font-size: 16px; line-height: 2; }
.wall-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #bcc7d1; border-left: 1px solid #bcc7d1; }
.wall-grid article { position: relative; min-height: 680px; padding: 42px; background: #fff; border-right: 1px solid #bcc7d1; border-bottom: 1px solid #bcc7d1; }
.wall-grid article:nth-child(2) { background: var(--warm); }
.wall-number { position: absolute; top: 28px; right: 32px; color: #c7cfd6; font-size: 64px; font-weight: 900; }
.wall-label { margin: 0 0 24px; color: var(--blue); font-size: 22px; font-weight: 900; letter-spacing: .08em; line-height: 1.25; }
.wall-art { height: 300px; margin-bottom: 28px; background-image: url("assets/strategy-generated/two-walls.webp"); background-size: 200% auto; background-position-y: center; }
.wall-art-field { background-position-x: 0; }
.wall-art-owner { background-position-x: 100%; }
.wall-grid h3 { position: relative; margin: 0 0 22px; font-size: clamp(24px, 3vw, 37px); line-height: 1.45; }
.wall-grid article > p:last-child { position: relative; max-width: 480px; margin: 0; color: var(--muted); line-height: 1.9; }

.executive-section { color: #fff; background: var(--navy); }
.executive-section .section-intro { max-width: 1100px; }
.section-intro-light .strategy-kicker { color: var(--cyan); }
.section-intro-light > p:last-child { color: rgba(255,255,255,.68); }
.executive-section .section-intro-light > p:last-child { max-width: 960px; font-size: 17.6px; line-height: 1.9; }
.proposal-wide { width: 100%; min-height: 0; aspect-ratio: 16 / 9; margin: 0 0 52px; background-size: cover; background-position: center; border-color: rgba(255,255,255,.2); }
.proposal-wide-judgment { background-image: url("assets/strategy-generated/judgment-standard.webp"); }
.executive-section .proposal-wide-judgment { aspect-ratio: 2.35 / 1; background-position: center; }
.proposal-wide-manage-less { margin: 44px 0 0; background-image: url("assets/strategy-generated/autonomous-team.webp"); }
.executive-comparison { border: 1px solid rgba(255,255,255,.17); }
.comparison-row { display: grid; grid-template-columns: .65fr 1fr 1.2fr; border-top: 1px solid rgba(255,255,255,.14); }
.comparison-row:first-child { border-top: 0; }
.comparison-row > * { margin: 0; padding: 24px 28px; border-left: 1px solid rgba(255,255,255,.14); font-size: 15px; line-height: 1.8; }
.comparison-row > *:first-child { border-left: 0; color: var(--cyan); font-weight: 800; }
.comparison-row b { color: var(--lime); }
.comparison-head { background: rgba(255,255,255,.07); }
.comparison-head strong { color: #fff !important; font-size: 12px; letter-spacing: .08em; }
.asset-process { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 18px; align-items: center; margin-top: 44px; }
.asset-process div { min-height: 210px; padding: 26px; background: rgba(255,255,255,.06); border-top: 4px solid var(--lime); }
.asset-process span { display: block; color: var(--cyan); font-size: 11px; font-weight: 900; }
.asset-process strong { display: block; margin: 30px 0 12px; font-size: 19px; line-height: 1.45; }
.asset-process p { margin: 0; color: rgba(255,255,255,.65); font-size: 14px; line-height: 1.8; }
.asset-process i { color: var(--lime); font-style: normal; font-size: 24px; }

.cycle-section { background: #fff; }
.cycle-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; }
.cycle-copy > p { margin-top: 28px; }
.cycle-media { display: grid; gap: 18px; }
.proposal-art-third-raise { background-image: url("assets/strategy-generated/third-raise.webp"); }
.cycle-visual { display: grid; grid-template-columns: 180px 1fr; align-items: center; min-height: 460px; padding: 34px; color: #fff; background: var(--navy); }
.cycle-center { width: 180px; height: 180px; display: grid; place-content: center; text-align: center; background: var(--orange); border-radius: 50%; }
.cycle-center strong { font-size: 28px; }
.cycle-center span { font-size: 11px; margin-top: 6px; }
.cycle-visual ol { margin: 0; padding: 0 0 0 38px; list-style: none; }
.cycle-visual li { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-weight: 700; }
.cycle-visual li span { display: inline-block; width: 44px; color: var(--lime); font-size: 11px; }

.services-section { background: var(--paper); }
.front-product { display: grid; grid-template-columns: 130px 1.2fr 1fr auto; gap: 34px; align-items: center; padding: 36px; background: var(--lime); }
.front-product-label { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-start; padding-right: 26px; border-right: 1px solid rgba(10,23,36,.3); }
.front-product-label span { font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.front-product-label strong { margin-block: auto; font-size: 40px; transform: translateY(-6px); }
.front-product .strategy-kicker { color: var(--ink); margin-bottom: 8px; }
.front-product h3 { margin: 0 0 12px; font-size: 34px; }
.front-product p { margin: 0; line-height: 1.8; }
.front-product ul { margin: 0; padding-left: 1.2em; line-height: 2; font-size: 13px; font-weight: 700; }
.backend-heading { display: flex; align-items: center; gap: 22px; margin: 42px 0 22px; color: var(--muted); font-size: 12px; font-weight: 800; }
.backend-heading span { height: 1px; flex: 1; background: var(--line); }
.backend-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.backend-card { min-height: 490px; display: flex; flex-direction: column; padding: 32px; color: #fff; background: var(--navy); border-top: 7px solid var(--blue); }
.backend-training { border-color: var(--orange); }
.backend-seminar { border-color: var(--mint); }
.card-index { color: var(--cyan); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.backend-card h3 { margin: 22px 0; font-size: 30px; line-height: 1.45; }
.backend-card > p:not(.card-index), .backend-card li { color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.8; }
.backend-card ul { margin: 12px 0 28px; padding-left: 1.2em; }
.backend-card a { margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.22); color: var(--lime); font-weight: 900; }
.backend-card a span { float: right; }

.funnel-section { color: #fff; background: #0b1e31; }
.proposal-wide-ecosystem { background-image: url("assets/strategy-generated/growth-ecosystem.webp"); }
.funnel-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border: 1px solid rgba(255,255,255,.15); }
.funnel-steps li { position: relative; min-height: 250px; padding: 28px; border-left: 1px solid rgba(255,255,255,.15); }
.funnel-steps li:first-child { border-left: 0; }
.funnel-steps li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; right: -15px; top: 50%; color: var(--lime); font-size: 26px; transform: translateY(-50%); }
.funnel-steps span { color: var(--cyan); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.funnel-steps strong { display: block; margin: 54px 0 16px; font-size: 20px; }
.funnel-steps p { margin: 0; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.8; }
.seminar-actions { display: flex; align-items: center; gap: 30px; margin-top: 34px; }

.diagnosis-section { background: var(--warm); }
.diagnosis-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: start; }
.diagnosis-copy { position: sticky; top: 100px; }
.diagnosis-copy > p { color: var(--muted); line-height: 2; }
.diagnosis-copy dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 34px 0; border-top: 1px solid #c8bda7; border-bottom: 1px solid #c8bda7; }
.diagnosis-copy dl div { padding: 20px 10px; border-left: 1px solid #c8bda7; }
.diagnosis-copy dl div:first-child { padding-left: 0; border-left: 0; }
.diagnosis-copy dt { color: var(--muted); font-size: 10px; font-weight: 800; }
.diagnosis-copy dd { margin: 8px 0 0; font-weight: 900; }
.diagnosis-note { padding: 18px; background: #fff; border-left: 4px solid var(--orange); font-size: 13px; }
.diagnosis-form { padding: 36px; background: #fff; box-shadow: 0 20px 50px rgba(10,23,36,.1); }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.diagnosis-form label, .diagnosis-form legend { color: #354353; font-size: 12px; font-weight: 800; }
.diagnosis-form label > span, .diagnosis-form legend > span { margin-left: 7px; color: #c64035; font-size: 10px; }
.diagnosis-form input, .diagnosis-form select, .diagnosis-form textarea { width: 100%; min-height: 48px; margin-top: 8px; padding: 11px 12px; color: var(--ink); background: #fbfcfd; border: 1px solid #ccd5de; border-radius: 2px; outline: none; }
.diagnosis-form input:focus, .diagnosis-form select:focus, .diagnosis-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,122,217,.12); }
.diagnosis-form fieldset { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 24px 0; padding: 20px; border: 1px solid var(--line); }
.diagnosis-form legend { padding: 0 7px; }
.diagnosis-form fieldset label { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.diagnosis-form fieldset input, .privacy-check input { width: 18px; min-height: 18px; margin: 0; accent-color: var(--blue); }
.form-message-label { display: block; }
.privacy-check { display: flex; align-items: center; gap: 10px; margin: 20px 0; }
.privacy-check span { margin: 0 !important; color: var(--muted) !important; font-size: 12px !important; }
.privacy-check a { text-decoration: underline; }
.form-submit { width: 100%; min-height: 58px; border: 0; cursor: pointer; }
.form-status { min-height: 20px; margin: 12px 0 0; color: var(--blue); font-size: 12px; font-weight: 700; }

.trust-section { background: #fff; }
.trust-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 84px; align-items: center; }
.trust-layout > img { width: 100%; height: clamp(270px, 28vw, 370px); object-fit: cover; object-position: center 24%; }
.trust-layout > div > p { margin-top: 26px; }
.representative { display: flex; flex-direction: column; gap: 6px; margin: 30px 0 16px !important; color: var(--ink) !important; }
.representative small { color: var(--muted); font-size: 11px; }
.representative strong { font-size: 22px; }

.news-section { background: var(--paper); }
.news-layout { display: grid; grid-template-columns: .42fr .58fr; gap: 70px; }
.news-layout h2 { margin: 0 0 14px; font-size: 40px; }
.news-layout > div:first-child > p:last-child { color: var(--muted); line-height: 1.8; }
.strategy-news-list { border-top: 1px solid #bcc7d1; }
.strategy-news-list a { display: grid; grid-template-columns: 110px 90px 1fr; gap: 15px; align-items: center; min-height: 92px; border-bottom: 1px solid #bcc7d1; }
.strategy-news-list time, .strategy-news-list span { color: var(--muted); font-size: 11px; font-weight: 800; }
.strategy-news-list span { color: var(--blue); }
.strategy-news-list h3 { margin: 0; font-size: 16px; line-height: 1.5; }

.strategy-footer { padding: 56px 0 24px; color: rgba(255,255,255,.7); background: #07111c; }
.footer-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; }
.footer-grid strong { color: #fff; }
.footer-grid p { font-size: 12px; }
.footer-grid nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 22px; font-size: 12px; }
.footer-grid nav a:hover { color: var(--lime); }
.copyright { margin-top: 46px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: 10px; }
.mobile-diagnosis-cta { display: none; }

.diagnosis-page { background: var(--warm); }
.diagnosis-page-header { position: static; height: 74px; color: #fff; background: var(--navy); }
.diagnosis-page-main { padding: 72px 0 110px; }
.diagnosis-page-intro { max-width: 760px; margin-bottom: 42px; }
.diagnosis-page-intro h1 { margin: 0; font-size: clamp(42px, 6vw, 76px); line-height: 1.15; }
.diagnosis-page-intro > p:last-child { color: var(--muted); font-size: 17px; line-height: 1.9; }
.complete-panel { max-width: 760px; margin: 100px auto; padding: 60px; text-align: center; background: #fff; border-top: 8px solid var(--lime); box-shadow: 0 20px 60px rgba(10,23,36,.12); }
.complete-panel h1 { font-size: clamp(34px, 5vw, 58px); }
.complete-panel p { color: var(--muted); line-height: 1.9; }

@media (max-width: 1060px) {
  .strategy-header { padding-inline: 24px; }
  .strategy-nav { display: none; }
  .strategy-header { grid-template-columns: 1fr auto auto; }
  .mobile-menu { position: relative; display: block; }
  .mobile-menu summary { width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; cursor: pointer; list-style: none; border: 1px solid rgba(255,255,255,.3); }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { width: 20px; height: 2px; background: #fff; }
  .mobile-menu nav { position: absolute; top: 52px; right: 0; width: 240px; display: grid; padding: 14px; color: #fff; background: var(--navy); box-shadow: 0 16px 40px rgba(0,0,0,.3); }
  .mobile-menu nav a { padding: 12px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 13px; }
  .front-product { grid-template-columns: 110px 1fr; }
  .front-product ul, .front-product .strategy-btn { grid-column: 2; }
  .front-product .strategy-btn { justify-self: start; }
  .asset-process { grid-template-columns: repeat(2, 1fr); }
  .asset-process i { display: none; }
  .cycle-layout, .diagnosis-layout { gap: 50px; }
  .strategy-hero { background-size: min(58vw, 760px) auto; }
  .hero-content h1 { font-size: clamp(53px, 6.6vw, 73px); }
}

@media (max-width: 780px) {
  .strategy-wrap { width: min(100% - 32px, var(--width)); }
  .strategy-header { height: 66px; padding-inline: 16px; }
  .strategy-brand img { width: 152px; }
  .header-cta { display: none; }
  .strategy-header { grid-template-columns: 1fr auto; }
  .strategy-hero { min-height: 0; max-height: none; height: auto; padding: clamp(350px, 74vw, 530px) 0 82px; background-position: center 78px; background-size: min(600px, calc(100% - 24px)) auto; }
  .hero-content { height: auto; justify-content: flex-start; padding-top: 0; }
  .hero-content h1 { font-size: clamp(51px, 15.4vw, 77px); }
  .hero-summary br { display: none; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .hero-points { flex-wrap: wrap; row-gap: 10px; }
  .hero-points li { padding-inline: 12px; }
  .hero-rail { display: none; }
  .quick-answer-inner, .split-intro, .cycle-layout, .diagnosis-layout, .trust-layout, .news-layout, .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .field-difference-inner { grid-template-columns: 1fr; gap: 24px; align-items: start; }
  .field-difference { padding-block: 52px; }
  .strategy-section { padding-block: 74px; }
  .quick-answer { padding-block: 54px; }
  .quick-answer-art { padding-top: 0; }
  .quick-answer p:last-child { font-size: 15px; }
  .proposal-art { min-height: 0; }
  .wall-grid, .backend-grid { grid-template-columns: 1fr; }
  .wall-grid article { min-height: 0; padding: 30px; }
  .wall-art { height: 240px; }
  .comparison-row { grid-template-columns: .75fr 1fr 1.1fr; }
  .comparison-row > * { padding: 16px 12px; font-size: 12px; }
  .asset-process { grid-template-columns: 1fr; }
  .proposal-wide { min-height: 0; margin-bottom: 34px; }
  .proposal-wide-manage-less { min-height: 0; margin-top: 34px; }
  .proposal-wide-ecosystem { min-height: 0; }
  .cycle-visual { grid-template-columns: 1fr; justify-items: center; padding: 28px 22px; }
  .cycle-visual ol { width: 100%; padding: 20px 0 0; }
  .front-product { grid-template-columns: 1fr; padding: 26px; }
  .front-product-label { min-height: 70px; flex-direction: row; align-items: center; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid rgba(10,23,36,.3); }
  .front-product-label strong { margin: 0; transform: none; }
  .front-product ul, .front-product .strategy-btn { grid-column: auto; }
  .funnel-steps { grid-template-columns: 1fr; }
  .funnel-steps li { min-height: auto; border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .funnel-steps li:first-child { border-top: 0; }
  .funnel-steps li:not(:last-child)::after { content: "↓"; right: 26px; top: auto; bottom: -19px; transform: none; }
  .funnel-steps strong { margin-top: 24px; }
  .seminar-actions { align-items: flex-start; flex-direction: column; }
  .diagnosis-copy { position: static; }
  .form-grid, .diagnosis-form fieldset { grid-template-columns: 1fr; }
  .diagnosis-form { padding: 24px 18px; }
  .strategy-news-list a { grid-template-columns: 90px 70px 1fr; }
  .footer-grid nav { grid-template-columns: repeat(2, 1fr); }
  .mobile-diagnosis-cta { position: fixed; z-index: 40; left: 12px; right: 12px; bottom: 12px; min-height: 52px; display: grid; place-items: center; color: var(--ink); background: var(--lime); box-shadow: 0 10px 26px rgba(10,23,36,.25); font-size: 14px; font-weight: 900; }
  .strategy-footer { padding-bottom: 90px; }
  .trust-layout > img { height: 280px; }
}

@media (max-width: 500px) {
  .strategy-wrap { width: calc(100% - 24px); }
  .hero-content h1 { font-size: 48px; }
  .hero-summary { font-size: 16px; line-height: 1.75; }
  .strategy-btn-large { width: 100%; padding-inline: 12px; }
  .hero-points li { font-size: 10px; }
  .keep-line { font-size: .92em; }
  .proposal-art { min-height: 0; }
  .wall-art { height: 200px; }
  .proposal-wide, .proposal-wide-manage-less, .proposal-wide-ecosystem { min-height: 0; }
  .section-intro h2, .split-intro h2, .cycle-copy h2, .diagnosis-copy h2, .trust-layout h2 { font-size: 34px; }
  .comparison-row { grid-template-columns: 1fr; }
  .comparison-head { display: none; }
  .comparison-row > * { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .comparison-row > *:first-child { border-top: 0; background: rgba(255,255,255,.07); }
  .diagnosis-copy dl { grid-template-columns: 1fr; }
  .diagnosis-copy dl div { border-left: 0; border-top: 1px solid #c8bda7; }
  .diagnosis-copy dl div:first-child { border-top: 0; }
  .strategy-news-list a { grid-template-columns: 1fr 1fr; gap: 8px; padding: 18px 0; }
  .strategy-news-list h3 { grid-column: 1 / -1; }
  .complete-panel { margin: 50px 12px; padding: 38px 22px; }
}

/* Shared service-page system: the service pages follow the same diagnosis-first strategy as TOP. */
.service-page { background: #fff; }
.service-page .strategy-header:not(.is-scrolled) { background: rgba(10, 23, 36, .96); }
.service-page .strategy-header:not(.is-scrolled) .strategy-brand img { filter: brightness(0) invert(1); }
.service-page .strategy-header:not(.is-scrolled) .mobile-menu summary { border-color: rgba(255,255,255,.3); }
.service-page .strategy-header:not(.is-scrolled) .mobile-menu summary span { background: #fff; }
.service-hero { padding: 170px 0 92px; color: #fff; background: var(--navy); overflow: hidden; }
.service-hero-grid { display: grid; grid-template-columns: 1fr .92fr; gap: 70px; align-items: center; }
.service-hero-copy h1 { margin: 0; font-size: clamp(42px, 6vw, 76px); line-height: 1.18; }
.service-hero-copy > p:not(.strategy-kicker) { max-width: 700px; margin: 26px 0 0; color: rgba(255,255,255,.72); font-size: 17px; line-height: 2; }
.service-hero-copy .strategy-kicker { color: var(--cyan); }
.service-hero-art { min-height: 360px; border: 1px solid rgba(255,255,255,.18); background-position: center; background-size: cover; box-shadow: 24px 24px 0 rgba(223,255,49,.9); }
.service-art-advisory { background-image: linear-gradient(135deg, rgba(10,23,36,.14), rgba(10,23,36,.34)), url("assets/strategy-generated/judgment-standard.webp"); }
.service-art-training { background-image: linear-gradient(135deg, rgba(10,23,36,.14), rgba(10,23,36,.34)), url("assets/strategy-generated/third-raise.webp"); }
.service-art-seminar { background-image: linear-gradient(135deg, rgba(10,23,36,.14), rgba(10,23,36,.34)), url("assets/strategy-generated/growth-ecosystem.webp"); }
.service-answer { padding: 76px 0; background: var(--lime); }
.service-answer-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 76px; align-items: start; }
.service-answer h2 { margin: 0; font-size: clamp(32px, 4vw, 54px); line-height: 1.3; }
.service-answer-copy { margin: 0; color: #24313c; font-size: 17px; line-height: 2; }
.service-answer-copy strong { display: block; margin-bottom: 14px; color: var(--ink); font-size: 24px; line-height: 1.5; }
.service-section-light { padding: clamp(76px, 9vw, 126px) 0; background: #fff; }
.service-section-paper { padding: clamp(76px, 9vw, 126px) 0; background: var(--paper); }
.service-section-dark { padding: clamp(76px, 9vw, 126px) 0; color: #fff; background: var(--navy); }
.service-section-heading { max-width: 820px; margin-bottom: 44px; }
.service-section-heading h2 { margin: 0; font-size: clamp(32px, 4.5vw, 60px); line-height: 1.25; }
.service-section-heading p:not(.strategy-kicker) { max-width: 720px; margin: 20px 0 0; color: var(--muted); font-size: 16px; line-height: 2; }
.service-section-dark .service-section-heading p:not(.strategy-kicker) { color: rgba(255,255,255,.68); }
.service-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { min-height: 250px; padding: 30px; border-top: 6px solid var(--blue); background: #fff; box-shadow: 0 18px 48px rgba(10,23,36,.08); }
.service-section-dark .service-card { color: #fff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-top: 6px solid var(--lime); box-shadow: none; }
.service-card:nth-child(2) { border-top-color: var(--orange); }
.service-card:nth-child(3) { border-top-color: var(--mint); }
.service-card span { display: block; margin-bottom: 26px; color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.service-section-dark .service-card span { color: var(--cyan); }
.service-card h3 { margin: 0 0 14px; font-size: 25px; line-height: 1.35; }
.service-card p { margin: 0; color: var(--muted); line-height: 1.9; }
.service-section-dark .service-card p { color: rgba(255,255,255,.68); }
.service-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.service-list li { padding: 18px 20px 18px 44px; color: #30404d; background: var(--paper); border-left: 4px solid var(--lime); line-height: 1.8; position: relative; }
.service-list li::before { content: "01"; position: absolute; left: 14px; top: 18px; color: var(--blue); font-size: 10px; font-weight: 900; }
.service-list li:nth-child(2)::before { content: "02"; }
.service-list li:nth-child(3)::before { content: "03"; }
.service-list li:nth-child(4)::before { content: "04"; }
.service-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: flow; }
.service-flow article { position: relative; min-height: 240px; padding: 32px; color: #fff; background: #10283d; border-top: 5px solid var(--cyan); }
.service-flow article::before { counter-increment: flow; content: "0" counter(flow); display: block; color: var(--lime); font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.service-flow h3 { margin: 34px 0 12px; }
.service-flow p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.8; }
.service-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }
.service-fact { padding: 22px; border: 1px solid #cbd5de; background: #fff; }
.service-fact strong { display: block; margin-bottom: 8px; color: var(--blue); font-size: 12px; letter-spacing: .1em; }
.service-fact span { color: var(--ink); font-weight: 800; }
.service-partner-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.service-partner { padding: 34px; color: #fff; background: #10283d; border-top: 6px solid var(--cyan); }
.service-partner:nth-child(2) { border-top-color: var(--orange); }
.service-partner h3 { margin: 0 0 14px; font-size: 28px; }
.service-partner p { color: rgba(255,255,255,.7); line-height: 1.9; }
.service-partner .strategy-btn { margin-top: 12px; }
.service-cta { padding: 78px 0; color: #fff; background: #0b1e31; }
.service-cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 46px; align-items: center; }
.service-cta h2 { margin: 0; font-size: clamp(30px, 4vw, 50px); line-height: 1.3; }
.service-cta p { max-width: 720px; margin: 18px 0 0; color: rgba(255,255,255,.68); line-height: 1.9; }
.service-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.privacy-main { padding-top: 138px; }
.privacy-hero { padding: 70px 0; }
.privacy-content { padding: 70px 0 110px; }
.privacy-content-inner { max-width: 900px; }
.privacy-content h2 { margin: 48px 0 16px; font-size: 24px; line-height: 1.5; }
.privacy-content h2:first-child { margin-top: 0; }
.privacy-content p, .privacy-content li { color: #3c4a57; line-height: 2; }
.privacy-content ul { padding-left: 1.4em; }
.privacy-meta { margin-top: 48px; padding-top: 22px; border-top: 1px solid #ccd5de; color: var(--muted); font-size: 13px; }

@media (max-width: 780px) {
  .service-hero { padding: 124px 0 70px; }
  .service-hero-grid, .service-answer-grid, .service-cta-grid { grid-template-columns: 1fr; gap: 34px; }
  .service-hero-art { min-height: 260px; box-shadow: 12px 12px 0 rgba(223,255,49,.9); }
  .service-card-grid, .service-flow, .service-partner-grid, .service-facts { grid-template-columns: 1fr; }
  .service-cta-actions { justify-content: flex-start; }
  .service-cta-actions .strategy-btn { width: 100%; }
}
