:root {
  --st-purple: #5b22a8;
  --st-purple-deep: #30105f;
  --st-purple-dark: #421378;
  --st-purple-soft: #f2ecfa;
  --st-ink: #171923;
  --st-muted: #686875;
  --st-line: #e1dce8;
  --st-paper: #f7f5f9;
  --st-white: #fff;
  --st-shadow: 0 22px 60px rgba(48, 16, 95, .10);
}

html { scroll-behavior: smooth; }
body { margin: 0; color: var(--st-ink); background: #fff; overflow-x: hidden; }
.strategy-page,
.strategy-page * { box-sizing: border-box; }
.strategy-page { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; line-height: 1.8; overflow: hidden; }
.strategy-page img { display: block; max-width: 100%; }
.strategy-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.strategy-section { padding: 106px 0; }

.strategy-section-heading { margin-bottom: 48px; text-align: center; }
.strategy-section-heading > p { margin: 0 0 10px; color: var(--st-purple); font-size: 12px; font-weight: 800; letter-spacing: .22em; }
.strategy-section-heading h2 { margin: 0; font-family: "Noto Serif JP", serif; font-size: clamp(30px, 3vw, 44px); line-height: 1.45; letter-spacing: .04em; }
.strategy-section-heading > span { display: block; margin-top: 14px; color: var(--st-muted); font-size: 15px; }
.strategy-section-heading--light > p { color: #c7a4f3; }
.strategy-section-heading--light h2 { color: #fff; }
.strategy-section-heading--light > span { color: rgba(255,255,255,.69); }
.strategy-hero { position: relative; min-height: 760px; background: radial-gradient(circle at 86% 16%, rgba(91,34,168,.13), transparent 32%), linear-gradient(135deg, #fff 0%, #f8f5fb 100%); }
.strategy-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(91,34,168,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(91,34,168,.04) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right, #000, transparent 72%); pointer-events: none; }
.strategy-hero__inner { position: relative; z-index: 1; min-height: 760px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 34px; padding-top: 56px; padding-bottom: 58px; }
.strategy-hero__content { position: relative; z-index: 2; }
.strategy-service-label { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 9px; color: var(--st-purple-dark); font-size: clamp(16px, 1.3vw, 20px); font-weight: 800; letter-spacing: .14em; }
.strategy-service-label::before,
.strategy-service-label::after { content: ""; width: 28px; height: 2px; background: var(--st-purple); }
.strategy-page .strategy-brand-logo { width: min(90%, 510px); max-width: 510px; height: 138px; margin: 0 0 20px; object-fit: contain; object-position: left center; }
.strategy-hero h1 { margin: 0; font-family: "Noto Serif JP", serif; font-size: clamp(44px, 3.9vw, 58px); font-weight: 600; line-height: 1.5; letter-spacing: .01em; }
.strategy-hero h1 span,
.strategy-hero h1 em { white-space: nowrap; }
.strategy-hero h1 em { color: var(--st-purple-dark); font-style: normal; }
.strategy-hero__statement { margin: 22px 0 0; color: var(--st-purple-deep); font-family: "Noto Serif JP", serif; font-size: clamp(20px, 1.7vw, 25px); font-weight: 600; line-height: 1.7; }
.strategy-hero__description { max-width: 650px; margin: 15px 0 0; color: #5e5e69; font-size: clamp(15px, 1.18vw, 18px); line-height: 1.95; }
.strategy-hero-cta { width: 250px; min-height: 60px; margin-top: 25px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 20px 0 24px; border-radius: 999px; color: #fff; background: linear-gradient(135deg, var(--st-purple-deep), var(--st-purple)); text-decoration: none; box-shadow: 0 14px 28px rgba(91,34,168,.20); transition: transform .2s ease, box-shadow .2s ease; }
.strategy-hero-cta:hover { transform: translateY(-3px); box-shadow: 0 18px 34px rgba(91,34,168,.28); }
.strategy-hero-cta strong { font-size: 14px; }
.strategy-hero-cta span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.16); font-size: 18px; }
.strategy-hero__visual { position: relative; margin-right: -7vw; }
.strategy-hero__visual::before { content: ""; position: absolute; inset: 8% 5% 4%; border-radius: 50%; background: rgba(91,34,168,.13); filter: blur(44px); }
.strategy-hero__visual img { position: relative; width: 100%; filter: drop-shadow(0 30px 32px rgba(48,16,95,.13)); }
.strategy-problems { background: #fff; }
.strategy-problem-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.strategy-problem-grid article { position: relative; min-height: 235px; padding: 31px 25px 27px; border: 1px solid var(--st-line); border-radius: 18px; background: #fff; overflow: hidden; }
.strategy-problem-grid article::after { content: ""; position: absolute; right: -35px; bottom: -45px; width: 120px; height: 120px; border: 24px solid var(--st-purple-soft); border-radius: 50%; }
.strategy-problem-grid article > span { display: block; margin-bottom: 25px; color: var(--st-purple); font-size: 12px; font-weight: 900; letter-spacing: .15em; }
.strategy-problem-grid h3 { position: relative; z-index: 1; margin: 0 0 12px; font-size: 18px; line-height: 1.55; }
.strategy-problem-grid p { position: relative; z-index: 1; margin: 0; color: var(--st-muted); font-size: 13px; line-height: 1.85; }
.strategy-process { position: relative; background: linear-gradient(145deg, #27103f, #12091f); }
.strategy-process::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 10% 0%, rgba(128,67,200,.24), transparent 35%), linear-gradient(120deg, transparent 55%, rgba(255,255,255,.035)); pointer-events: none; }
.strategy-process .strategy-container { position: relative; z-index: 1; }
.strategy-process .strategy-section-heading { width: min(760px, 100%); margin: 0 auto 52px; }
.strategy-process-list { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.strategy-process-list li { position: relative; grid-column: span 2; min-height: 205px; padding: 30px 28px 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.065); }
.strategy-process-list li:nth-child(4) { grid-column: 2 / span 2; }
.strategy-process-list li:nth-child(5) { grid-column: 4 / span 2; }
.strategy-process-list li::before { content: ""; position: absolute; left: 23px; top: 42px; width: 10px; height: 10px; border-radius: 50%; background: #b785ef; box-shadow: 0 0 0 6px rgba(183,133,239,.14); }
.strategy-process-list li > span { display: block; margin: 0 0 36px 26px; color: #c7a4f3; font-size: 11px; font-weight: 900; letter-spacing: .13em; }
.strategy-process-list h3 { margin: 0 0 11px; color: #fff; font-size: 19px; }
.strategy-process-list p { margin: 0; color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.85; }
.strategy-comparison { background: var(--st-paper); }
.strategy-comparison-grid { display: grid; grid-template-columns: 1fr 66px 1fr; align-items: center; }
.strategy-comparison-card { overflow: hidden; border-radius: 24px; background: #fff; box-shadow: var(--st-shadow); }
.strategy-comparison-card header { padding: 28px 32px 24px; }
.strategy-comparison-card header span { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 900; letter-spacing: .18em; }
.strategy-comparison-card header h3 { margin: 0; font-size: 22px; line-height: 1.5; }
.strategy-comparison-card--before header { color: #56545a; background: #ecebed; }
.strategy-comparison-card--after header { color: #fff; background: linear-gradient(135deg, var(--st-purple-deep), var(--st-purple)); }
.strategy-comparison-image { aspect-ratio: 16/9; overflow: hidden; background: #fff; }
.strategy-comparison-image img { width: 100%; height: 100%; object-fit: cover; }
.strategy-comparison-card ul { margin: 0; padding: 28px 32px 34px; list-style: none; }
.strategy-comparison-card li { position: relative; padding: 8px 0 8px 28px; color: #55535c; font-size: 14px; border-bottom: 1px solid #efedf1; }
.strategy-comparison-card li:last-child { border-bottom: 0; }
.strategy-comparison-card li::before { content: ""; position: absolute; left: 1px; top: 18px; width: 10px; height: 10px; border-radius: 50%; background: #bbb9bd; }
.strategy-comparison-card--after li::before { background: var(--st-purple); box-shadow: 0 0 0 5px var(--st-purple-soft); }
.strategy-comparison-arrow { position: relative; z-index: 2; display: grid; place-items: center; }
.strategy-comparison-arrow span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: #fff; background: var(--st-purple); font-size: 27px; box-shadow: 0 12px 24px rgba(91,34,168,.25); }

.strategy-inline-cta { width: min(760px, 100%); margin: 46px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 20px 18px 28px; border: 1px solid rgba(91,34,168,.18); border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(48,16,95,.07); }
.strategy-inline-cta p { margin: 0; color: var(--st-muted); font-size: 13px; }
.strategy-inline-cta a { flex: 0 0 auto; min-height: 54px; display: flex; align-items: center; gap: 18px; padding: 0 18px 0 22px; border-radius: 999px; color: #fff; background: var(--st-purple); text-decoration: none; }
.strategy-inline-cta a strong { font-size: 13px; }
.strategy-inline-cta a span { font-size: 18px; }
.strategy-support { position: relative; background: linear-gradient(145deg, #30105f, #1d0b38); }
.strategy-support::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 10%, rgba(158,93,226,.23), transparent 36%); pointer-events: none; }
.strategy-support .strategy-container { position: relative; z-index: 1; }
.strategy-support-intro { width: min(760px, 100%); margin: 0 auto 40px; display: grid; grid-template-columns: 135px 1fr; align-items: center; gap: 28px; padding: 20px 32px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.06); }
.strategy-support-intro img { width: 135px; height: 135px; object-fit: contain; }
.strategy-support-intro p { margin: 0; color: rgba(255,255,255,.78); font-size: 15px; line-height: 2; }
.strategy-support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.strategy-support-grid article { min-height: 205px; padding: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.065); }
.strategy-support-grid article > span { display: block; margin-bottom: 22px; color: #c7a4f3; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.strategy-support-grid h3 { margin: 0 0 12px; color: #fff; font-size: 18px; }
.strategy-support-grid p { margin: 0; color: rgba(255,255,255,.66); font-size: 14px; line-height: 1.9; }
.strategy-inline-cta--dark { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.07); box-shadow: none; }
.strategy-inline-cta--dark p { color: rgba(255,255,255,.72); }
.strategy-inline-cta--dark a { color: var(--st-purple-deep); background: #fff; }
.strategy-usecases { background: #fff; }
.strategy-usecase-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.strategy-usecase-grid > article { overflow: hidden; border: 1px solid var(--st-line); border-radius: 22px; background: #fff; box-shadow: 0 14px 38px rgba(48,16,95,.07); }
.strategy-usecase-image { aspect-ratio: 4/3; overflow: hidden; background: #faf9fb; }
.strategy-usecase-image img { width: 100%; height: 100%; object-fit: cover; }
.strategy-usecase-grid article > div:last-child { padding: 24px 26px 28px; }
.strategy-usecase-grid article > div:last-child > p { margin: 0 0 3px; color: var(--st-purple); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.strategy-usecase-grid h3 { margin: 0 0 16px; font-size: 22px; }
.strategy-usecase-grid ul { margin: 0; padding: 0; list-style: none; }
.strategy-usecase-grid li { position: relative; padding: 6px 0 6px 20px; color: var(--st-muted); font-size: 14px; }
.strategy-usecase-grid li::before { content: ""; position: absolute; left: 1px; top: 17px; width: 8px; height: 8px; border-radius: 50%; background: var(--st-purple); }
.strategy-strengths { background: var(--st-purple-soft); }
.strategy-strength-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--st-line); border-left: 1px solid var(--st-line); }
.strategy-strength-grid article { position: relative; min-height: 205px; padding: 34px 36px 34px 88px; border-right: 1px solid var(--st-line); border-bottom: 1px solid var(--st-line); background: rgba(255,255,255,.78); }
.strategy-strength-grid article > span { position: absolute; left: 34px; top: 37px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--st-purple); font-size: 11px; font-weight: 800; }
.strategy-strength-grid h3 { margin: 0 0 12px; font-size: 20px; }
.strategy-strength-grid p { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.9; }
.strategy-final-cta { padding: 78px 0; background: linear-gradient(135deg, #24103e 0%, #5b22a8 100%); }
.strategy-final-cta__inner { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 34px; }
.strategy-final-cta__inner > img { width: 150px; height: 150px; object-fit: contain; filter: drop-shadow(0 16px 20px rgba(0,0,0,.2)); }
.strategy-final-cta__inner > div > p { margin: 0 0 8px; color: #d1b5f1; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.strategy-final-cta h2 { margin: 0; color: #fff; font-family: "Noto Serif JP", serif; font-size: clamp(27px, 2.6vw, 40px); line-height: 1.55; }
.strategy-final-cta__inner > div > span { display: block; margin-top: 12px; color: rgba(255,255,255,.72); font-size: 14px; }
.strategy-final-cta a { min-width: 260px; min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 26px; border-radius: 999px; color: var(--st-purple-deep); background: #fff; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.strategy-final-cta a:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(0,0,0,.2); }
.strategy-final-cta a strong { font-size: 15px; }
.strategy-final-cta a span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--st-purple); font-size: 20px; }

@media (max-width: 1100px) {
  .strategy-page { padding-top: 72px; }
  .strategy-section { padding: 88px 0; }
  .strategy-hero,
  .strategy-hero__inner { min-height: 710px; }
  .strategy-hero__inner { grid-template-columns: 1.04fr .96fr; gap: 20px; }
  .strategy-hero h1 { font-size: clamp(44px, 5.1vw, 58px); }
  .strategy-page .strategy-brand-logo { width: min(86%, 470px); max-width: 470px; height: 130px; }
  .strategy-process-list { grid-template-columns: repeat(2, 1fr); }
  .strategy-process-list li,
  .strategy-process-list li:nth-child(4) { grid-column: auto; }
  .strategy-process-list li:nth-child(5) { grid-column: 1 / -1; width: calc(50% - 9px); justify-self: center; }
  .strategy-problem-grid { grid-template-columns: repeat(2, 1fr); }
  .strategy-support-grid { grid-template-columns: repeat(2, 1fr); }
  .strategy-final-cta__inner { grid-template-columns: 110px 1fr; }
  .strategy-final-cta__inner > img { width: 110px; height: 110px; }
  .strategy-final-cta a { grid-column: 2; width: 280px; }
}

@media (max-width: 767px) {
  .strategy-container { width: min(100% - 32px, 560px); }
  .strategy-section { padding: 72px 0; }
  .strategy-section-heading { margin-bottom: 34px; text-align: left; }
  .strategy-section-heading h2 { font-size: 28px; }
  .strategy-section-heading > span { font-size: 13px; line-height: 1.8; }

  .strategy-hero,
  .strategy-hero__inner { min-height: auto; }
  .strategy-hero__inner { grid-template-columns: 1fr; gap: 0; padding-top: 44px; padding-bottom: 58px; }
  .strategy-service-label { margin-bottom: 4px; font-size: 12px; }
  .strategy-service-label::before,
  .strategy-service-label::after { width: 20px; }
  .strategy-page .strategy-brand-logo { width: min(90%, 310px); max-width: 310px; height: 96px; margin-bottom: 13px; }
  .strategy-hero h1 { font-size: clamp(31px, 9.4vw, 38px); line-height: 1.5; letter-spacing: -.025em; }
  .strategy-hero h1 span,
  .strategy-hero h1 em { white-space: normal; }
  .strategy-hero__statement { margin-top: 16px; font-size: 20px; line-height: 1.65; }
  .strategy-hero__description { margin-top: 12px; font-size: 12px; line-height: 1.85; }
  .strategy-hero-cta { width: 100%; min-height: 58px; margin-top: 20px; }
  .strategy-hero__visual { display: none; }

  .strategy-problem-grid,
  .strategy-process-list,
  .strategy-support-grid,
  .strategy-usecase-grid,
  .strategy-strength-grid { grid-template-columns: 1fr; }
  .strategy-problem-grid article { min-height: auto; padding: 26px 24px; }
  .strategy-problem-grid article > span { margin-bottom: 16px; }
  .strategy-process-list li { min-height: auto; padding: 24px; }
  .strategy-process-list li:nth-child(5) { grid-column: auto; width: auto; justify-self: stretch; }
  .strategy-process-list li > span { margin-bottom: 26px; }

  .strategy-comparison-grid { grid-template-columns: 1fr; }
  .strategy-comparison-card header { padding: 22px 24px 20px; }
  .strategy-comparison-card header h3 { font-size: 20px; }
  .strategy-comparison-card ul { padding: 22px 24px 26px; }
  .strategy-comparison-card li { font-size: 13px; }
  .strategy-comparison-arrow { height: 68px; }
  .strategy-comparison-arrow span { transform: rotate(90deg); width: 46px; height: 46px; font-size: 23px; }
  .strategy-inline-cta { margin-top: 32px; display: block; padding: 22px; }
  .strategy-inline-cta p { margin-bottom: 16px; line-height: 1.8; }
  .strategy-inline-cta a { width: 100%; justify-content: space-between; }

  .strategy-support-intro { grid-template-columns: 82px 1fr; gap: 14px; padding: 15px; }
  .strategy-support-intro img { width: 82px; height: 82px; }
  .strategy-support-intro p { font-size: 12px; line-height: 1.75; }
  .strategy-support-grid article { min-height: auto; padding: 24px; }
  .strategy-support-grid article > span { margin-bottom: 16px; }

  .strategy-usecase-grid { gap: 18px; }
  .strategy-usecase-image { aspect-ratio: 16/10; }
  .strategy-strength-grid { border: 0; gap: 12px; }
  .strategy-strength-grid article { min-height: auto; padding: 28px 24px 28px 74px; border: 1px solid var(--st-line); border-radius: 14px; }
  .strategy-strength-grid article > span { left: 24px; top: 30px; }

  .strategy-final-cta { padding: 62px 0; }
  .strategy-final-cta__inner { grid-template-columns: 78px 1fr; gap: 20px 16px; }
  .strategy-final-cta__inner > img { width: 78px; height: 78px; }
  .strategy-final-cta h2 { font-size: 24px; }
  .strategy-final-cta__inner > div > span { font-size: 12px; line-height: 1.8; }
  .strategy-final-cta a { grid-column: 1/-1; width: 100%; min-width: 0; min-height: 62px; }
}

@media (prefers-reduced-motion: reduce) {
  .strategy-page * { transition: none !important; scroll-behavior: auto !important; }
}
.strategy-hero__inner{width:min(calc(100% - 104px),1420px);margin-inline:auto}
.strategy-hero,.strategy-hero__inner{min-height:620px}
.strategy-hero__inner{grid-template-columns:minmax(0,56%) minmax(0,44%);gap:38px;padding-top:0;padding-bottom:0}
.strategy-service-label{margin:0 0 12px;font-size:clamp(16px,1.25vw,22px)}
.strategy-service-label::before,.strategy-service-label::after{display:none}
.strategy-page .strategy-brand-logo{width:min(420px,78%);max-width:420px;height:auto;max-height:136px;margin:0 0 18px;object-fit:contain;object-position:left center}
.strategy-hero h1{font-size:clamp(44px,4.1vw,62px);line-height:1.15;letter-spacing:.04em}
.strategy-hero__statement{margin-top:30px;font-size:clamp(20px,1.65vw,27px);line-height:1.65}
.strategy-hero__description{max-width:760px;margin-top:18px;font-family:"Noto Serif JP",serif;font-size:clamp(15px,1.2vw,20px);line-height:2;color:var(--st-ink)}
.strategy-hero-cta{width:min(100%,360px);min-height:58px;margin-top:24px;padding:12px 24px 12px 28px}
.strategy-hero__visual{margin-right:0;display:flex;align-items:center;justify-content:center}
.strategy-hero__visual::before{display:none}
.strategy-hero__visual img{width:100%;max-width:620px;max-height:480px;object-fit:contain;filter:none}
@media(max-width:1100px) and (min-width:768px){.strategy-hero__inner{width:min(calc(100% - 60px),1020px);gap:28px}}
@media(max-width:767px){
  .strategy-hero__inner{width:min(calc(100% - 36px),720px);margin-inline:auto}
  .strategy-hero,.strategy-hero__inner{min-height:0}
  .strategy-hero__inner{display:flex;flex-direction:column;padding:24px 0 28px;gap:0}
  .strategy-service-label{margin-bottom:10px;font-size:12px}
  .strategy-page .strategy-brand-logo{width:min(310px,82vw);max-width:310px;height:auto;margin:0 0 14px}
  .strategy-hero h1{font-size:clamp(31px,8.6vw,42px);line-height:1.15}
  .strategy-hero__statement{margin-top:22px;font-size:20px;line-height:1.65}
  .strategy-hero__description{width:100%;margin-top:16px;font-size:13px;line-height:1.9}
  .strategy-hero-cta{width:min(100%,330px);min-height:54px;margin-top:20px;padding:11px 20px 11px 24px}
  .strategy-hero__visual,.strategy-hero__visual img{display:none!important}
}
@media screen and (min-width:768px){
  .strategy-service-label{
    display:block!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    font-family:var(--st-serif)!important;
    font-size:clamp(16px,1.25vw,22px)!important;
    font-weight:400!important;
    line-height:normal!important;
    letter-spacing:.13em!important;
  }
  .strategy-service-label::before,.strategy-service-label::after{display:none!important;content:none!important;}
}
@media screen and (max-width:767px){
  .strategy-service-label{
    display:block!important;
    margin:0 0 10px!important;
    padding:0!important;
    border:0!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1.4!important;
    letter-spacing:.08em!important;
  }
  .strategy-service-label::before,.strategy-service-label::after{display:none!important;content:none!important;}
}
@media screen and (min-width:768px){
  .strategy-hero__inner{align-items:stretch!important;}
  .strategy-hero__content{align-self:start!important;padding-top:128px!important;}
  .strategy-service-label{line-height:normal!important;}
  .strategy-page .strategy-brand-logo{height:136px!important;max-height:136px!important;object-fit:contain!important;object-position:left center!important;}
  .strategy-hero__visual{align-self:center!important;}
}
@media screen and (max-width:767px){
  .strategy-hero__content{padding-top:0!important;}
  .strategy-page .strategy-brand-logo{height:auto!important;max-height:none!important;}
}
@media screen and (min-width:768px){
  .strategy-hero h1 .strategy-headline-lock{
    display:inline!important;
    white-space:nowrap!important;
  }

  .strategy-hero h1 .strategy-headline-lock > span,
  .strategy-hero h1 .strategy-headline-lock > em{
    display:inline!important;
    white-space:nowrap!important;
  }
}

@media screen and (max-width:767px){
  .strategy-hero h1 .strategy-headline-lock,
  .strategy-hero h1 .strategy-headline-lock > span,
  .strategy-hero h1 .strategy-headline-lock > em{
    display:inline!important;
    white-space:normal!important;
  }
}
.strategy-hero h1 .strategy-headline-lock,
.strategy-hero h1 .strategy-headline-lock > span,
.strategy-hero h1 .strategy-headline-lock > em{
  display:inline!important;
  white-space:nowrap!important;
}

/* =========================================================
   2026-08-31 | SERVICE HERO HEADING SIZE / MOBILE TOP OFFSET
   ========================================================= */
.strategy-hero h1{
  font-size:clamp(30px,5.6vw,40px)!important;
}
@media screen and (max-width:767px){
  .strategy-hero__content{
    padding-top:18px!important;
  }
}

/* =========================================================
   2026-09-01 | L.EVER FIXED BACKGROUND UNIFICATION
   TOP / SERVICES / FORMLINK compatible fixed backdrop
   ========================================================= */
html{background:#f7fbff;}
body{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  background:transparent!important;
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
}
body::before{
  z-index:-2;
  background-image:url("../img/top/top-page-background-v1.png");
  background-image:image-set(
    url("../img/top/top-page-background-v1.webp") type("image/webp"),
    url("../img/top/top-page-background-v1.png") type("image/png")
  );
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.78;
}
body::after{
  z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(248,252,255,.34) 52%,rgba(255,255,255,.46) 100%);
}
.strategy-page{background:transparent!important;}
.strategy-hero{
  background:radial-gradient(circle at 86% 16%,rgba(91,34,168,.11),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.72) 0%,rgba(248,245,251,.48) 100%)!important;
}
.strategy-problems,
.strategy-usecases{
  background:transparent!important;
}
.strategy-comparison{background:rgba(248,246,250,.50)!important;}
.strategy-strengths{background:rgba(245,237,253,.50)!important;}
@media(max-width:900px){
  body::before{background-position:72% center;opacity:.73;}
  body::after{background:linear-gradient(180deg,rgba(255,255,255,.32) 0%,rgba(248,252,255,.42) 52%,rgba(255,255,255,.54) 100%);}
}
@media(max-width:640px){body::before{background-position:84% center;opacity:.69;}}


/* =========================================================
   2026-09-12 | AI STRATEGY HERO — PC / SP BACKGROUND MATCH
   PC版のHERO背景構成をSP版にも固定して使用。
   SPのロゴ・コピー・HERO画像・CTA・SCROLLのレイアウトは変更しない。
   ========================================================= */
@media screen and (max-width:767px){
  .strategy-hero{
    isolation:isolate!important;
    background:
      radial-gradient(circle at 86% 16%,rgba(91,34,168,.11),transparent 32%),
      linear-gradient(135deg,rgba(255,255,255,.72) 0%,rgba(248,245,251,.48) 100%)!important;
  }

  .strategy-hero::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    display:block!important;
    background-image:
      linear-gradient(rgba(91,34,168,.04) 1px,transparent 1px),
      linear-gradient(90deg,rgba(91,34,168,.04) 1px,transparent 1px)!important;
    background-size:48px 48px!important;
    -webkit-mask-image:linear-gradient(to right,#000,transparent 72%)!important;
    mask-image:linear-gradient(to right,#000,transparent 72%)!important;
    pointer-events:none!important;
  }

  .strategy-hero__inner,
  .strategy-hero__content,
  .service-reveal-mobile-visual{
    position:relative!important;
  }
}
