/* 業種LP（industry CPT）— ハンドオフ stocksun_industry_koumuten を .ind-lp スコープで取込
   生成: scratchpad/scope_css.py（手編集は元CSS→再生成）。末尾に統合オーバーライド（エンブレム非表示等）を付与。フォームは svlp を使用。 */

:root {
  --c-accent:      #DB521F;
  --c-accent-dark: #A63E17;
  --c-accent-soft: #F08A5D;
  --c-tint:        #FCF3ED;
  --c-tint-line:   #F0D5C6;
  --c-ink:         #1E1E1E;
  --c-text:        #3A3A3A;
  --c-body:        #5F5A55;
  --c-muted:       #8A857F;
  --c-line:        #E8E8E8;
  --c-line-2:      #EDEDED;
  --c-input-line:  #C8C8C8;
  --c-bg-gray:     #F6F6F7;
  --c-dark:        #2B2B2B;
  --c-dark-card:   #35322E;
  --c-dark-text:   #C9C9C9;

  --ff-jp:    "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --ff-serif: "Noto Serif JP", "Hiragino Mincho ProN", serif;

  --content: 1180px;
  --gutter:  20px;
  --pad-y:   56px;

  --fs-h1: 32px;
  --fs-h2: 24px;
  --fs-eyebrow: 17px;
  --fs-sub: 13.5px;
  --fs-body: 14px;

  --radius: 6px;
  --shadow-card: 0 4px 14px rgba(0, 0, 0, .04);
}

@media (min-width: 600px) {

:root { --gutter: 32px; --pad-y: 72px; --fs-h1: 44px; --fs-h2: 30px; --fs-eyebrow: 19px; --fs-sub: 14.5px; }

}

@media (min-width: 900px) {

:root { --pad-y: 88px; --fs-h1: 58px; --fs-h2: 40px; --fs-eyebrow: 22px; --fs-sub: 15px; }

}

.ind-lp *, .ind-lp *::before, .ind-lp *::after { box-sizing: border-box; }

.ind-lp {
  margin: 0;
  font-family: var(--ff-jp);
  font-size: var(--fs-body);
  line-height: 1.8;
  color: var(--c-ink);
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: anywhere;
}

.ind-lp h1, .ind-lp h2, .ind-lp h3, .ind-lp p, .ind-lp ul, .ind-lp ol, .ind-lp figure { margin: 0; padding: 0; }

.ind-lp ul, .ind-lp ol { list-style: none; }

.ind-lp img, .ind-lp svg { display: block; max-width: 100%; }

.ind-lp img { height: auto; }

.ind-lp a { color: inherit; }

.ind-lp button, .ind-lp input, .ind-lp select, .ind-lp textarea { font: inherit; color: inherit; }

.ind-lp :focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }

.ind-lp em { font-style: normal; color: var(--c-accent); }

.ind-lp [id] { scroll-margin-top: 20px; }

.ind-lp .container { width: 100%; max-width: calc(var(--content) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }

.ind-lp .phrase { display: inline-block; }

.ind-lp .ic { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

.ind-lp .section { position: relative; isolation: isolate; padding: var(--pad-y) 0 calc(var(--pad-y) + 4px); }

.ind-lp .section--gray { background: var(--c-bg-gray); }

.ind-lp .section--faq { background: #F7F7F7; }

.ind-lp .section--shapes { background: var(--c-bg-gray) url("img/bg-shapes.jpg") center / cover no-repeat; }

.ind-lp .section--noise-light { background: #F3F3F3; }

.ind-lp .section--noise-light::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .3; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.ind-lp .section--dark { background: var(--c-dark); color: #FFFFFF; }

.ind-lp .sec-head { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }

.ind-lp .eyebrow { color: var(--c-accent); font-family: var(--ff-serif); font-size: var(--fs-eyebrow); font-weight: 600; line-height: 1.3; }

.ind-lp .sec-head__title { font-size: var(--fs-h2); font-weight: 900; line-height: 1.45; }

.ind-lp .sec-head__sub { max-width: 52em; color: var(--c-body); font-size: var(--fs-sub); line-height: 1.8; }

.ind-lp .sec-head--light .eyebrow { color: var(--c-accent-soft); }

.ind-lp .sec-head--light .sec-head__title { color: #FFFFFF; }

.ind-lp .sec-head--light .sec-head__sub { color: var(--c-dark-text); }

.ind-lp .sec-head + * { margin-top: 32px; }

@media (min-width: 900px) {

.ind-lp .sec-head { gap: 14px; }

.ind-lp .sec-head + * { margin-top: 52px; }
 }

.ind-lp .note { margin-top: 14px; color: var(--c-muted); font-size: 11.5px; line-height: 1.7; }

.ind-lp .note--center { text-align: center; }

@media (min-width: 900px) {

.ind-lp .note { font-size: 12px; }

.ind-lp .note--right { text-align: right; }
 }

.ind-lp .card { background: #FFFFFF; border: 1px solid var(--c-line); border-radius: var(--radius); box-shadow: var(--shadow-card); }

.ind-lp .card__desc { color: var(--c-body); font-size: 14px; line-height: 1.85; }

.ind-lp .grid { display: grid; gap: 14px; }

@media (min-width: 600px) {

.ind-lp .grid--2, .ind-lp .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
 }

@media (min-width: 900px) {

.ind-lp .grid { gap: 24px; }

.ind-lp .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 }

.ind-lp .chips { display: flex; flex-wrap: wrap; gap: 8px; }

.ind-lp .chips li { padding: 4px 11px; border-radius: 2px; background: var(--c-tint); color: var(--c-accent); font-size: 12px; font-weight: 700; line-height: 1.6; }

.ind-lp .tag { display: inline-block; align-self: flex-start; padding: 3px 10px; border-radius: 2px; font-size: 12px; font-weight: 700; line-height: 1.6; }

.ind-lp .tag--gray { background: #F1F1F1; color: var(--c-body); }

.ind-lp .badge { display: inline-block; margin-left: 8px; padding: 2px 7px; border-radius: 2px; background: var(--c-accent); color: #FFFFFF; font-size: 11px; font-weight: 700; line-height: 1.5; vertical-align: 2px; }

.ind-lp .chk {
  flex: 0 0 auto; display: inline-block; width: 20px; height: 20px; border-radius: 50%;
  background: var(--c-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.ind-lp .big-num { font-family: var(--ff-serif); font-size: 36px; font-weight: 700; line-height: 1; color: var(--c-accent); }

@media (min-width: 900px) {

.ind-lp .big-num { font-size: 42px; }
 }

.ind-lp .icon-box { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius); background: var(--c-tint); color: var(--c-accent); flex: 0 0 auto; }

.ind-lp .icon-box .ic, .ind-lp .icon-circle .ic { width: 22px; height: 22px; }

.ind-lp .icon-circle { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--c-tint); color: var(--c-accent); flex: 0 0 auto; }

.ind-lp .text-link { display: inline-flex; align-items: center; gap: 6px; color: var(--c-accent); font-size: 14px; font-weight: 700; text-underline-offset: 3px; }

.ind-lp .btn {
  --btn-h: 56px; --wedge-run: calc(var(--btn-h) * .807); --wedge-b: 33%;
  --btn-base: var(--c-accent); --btn-dark: var(--c-accent-dark);
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: var(--btn-h); padding: 0 20px; border: 0; border-radius: 8px;
  background: var(--btn-base); color: #FFFFFF; font-size: 16px; font-weight: 700; line-height: 1.4; text-align: left; text-decoration: none;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .16); cursor: pointer;
  transition: transform .18s ease, filter .18s ease;
}

.ind-lp .btn::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--btn-dark);
  clip-path: polygon(calc(100% - var(--wedge-b) + var(--wedge-run)) 0, 100% 0, 100% 100%, calc(100% - var(--wedge-b)) 100%);
}

.ind-lp .btn:hover { transform: translateY(-2px); filter: brightness(1.04); }

.ind-lp .btn:active { transform: translateY(0); }

.ind-lp .btn--primary { --btn-base: #DB521F; --btn-dark: #A63E17; }

.ind-lp .btn--secondary { --btn-base: #666666; --btn-dark: #4D4D4D; }

.ind-lp .btn--sm { --btn-h: 50px; font-size: 14.5px; }

.ind-lp .btn--block { width: 100%; }

.ind-lp .btn--submit { --btn-h: 64px; --wedge-b: 36%; padding: 0 24px; font-size: 19px; letter-spacing: .04em; }

.ind-lp .btn__arrow { position: relative; flex: 0 0 auto; width: 26px; height: 26px; border: 1.5px solid #FFFFFF; border-radius: 50%; }

.ind-lp .btn__arrow::after {
  content: ""; position: absolute; inset: 0; background: #FFFFFF;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / 14px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / 14px no-repeat;
}

@media (min-width: 900px) {

.ind-lp .btn { --btn-h: 62px; --wedge-b: 104px; min-width: 250px; }

.ind-lp .btn--sm { --btn-h: 52px; --wedge-b: 96px; min-width: 0; }

.ind-lp .btn--submit { --btn-h: 80px; --wedge-b: 160px; font-size: 22px; }

}

.ind-lp .fv { --content: 1533px; padding: 14px 0 48px; background: #F2F2F2 url("img/fv-bg.jpg") center / cover no-repeat; }

.ind-lp .breadcrumb ol { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; line-height: 1.6; }

.ind-lp .breadcrumb li { color: #6E6E6E; }

.ind-lp .breadcrumb li + li::before { content: ">"; margin-right: 10px; color: #B5B5B5; }

.ind-lp .breadcrumb a { color: #8F8F8F; text-decoration: none; }

.ind-lp .breadcrumb li:nth-child(2) a { color: #BA5B3F; }

.ind-lp .fv__grid { display: grid; gap: 32px; margin-top: 22px; }

.ind-lp .fv__lead { display: flex; flex-direction: column; gap: 16px; }

.ind-lp .fv__title { font-size: var(--fs-h1); font-weight: 900; line-height: 1.3; letter-spacing: .01em; }

.ind-lp .fv__desc { color: var(--c-text); font-size: 14.5px; line-height: 1.9; }

.ind-lp .fv__points { display: flex; flex-wrap: wrap; gap: 6px 18px; }

.ind-lp .fv__points li { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; }

.ind-lp .fv__points-mark { color: var(--c-accent); font-size: 12px; }

.ind-lp .fv__stats { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 6px; }

.ind-lp .stats__heading { color: var(--c-body); font-size: 13px; font-weight: 700; letter-spacing: .06em; }

.ind-lp .stats { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 8px; width: 100%; }

.ind-lp .stat { flex: 0 0 calc(50% - 4px); display: grid; grid-template-columns: auto auto auto; justify-content: center; align-items: center; gap: 0 2px; }

.ind-lp .stat__laurel { width: 26px; height: 56px; background: url("img/laurel.png") center / contain no-repeat; }

.ind-lp .stat__laurel--right { transform: scaleX(-1); }

.ind-lp .stat__body { display: flex; flex-direction: column; align-items: center; gap: 2px; }

.ind-lp .stat__figure { display: flex; align-items: flex-end; white-space: nowrap; }

.ind-lp .stat__num { color: var(--c-accent); font-size: 32px; font-weight: 900; line-height: 1.1; letter-spacing: -.02em; }

.ind-lp .stat__unit { padding: 0 0 5px 2px; font-size: 13px; font-style: normal; font-weight: 900; }

.ind-lp .stat__label { font-size: 11px; font-weight: 700; line-height: 1.4; text-align: center; }

.ind-lp .stat__note { grid-column: 1 / -1; padding-top: 3px; color: var(--c-body); font-size: 10px; line-height: 1.5; text-align: center; }

@media (min-width: 600px) {

.ind-lp .fv { padding-bottom: 64px; }

.ind-lp .fv__desc { font-size: 16px; }

.ind-lp .fv__points li { font-size: 16px; }

.ind-lp .stat { flex: 0 0 calc(33.333% - 6px); }

}

@media (min-width: 900px) {

.ind-lp .fv { padding: 22px 0 64px; }

.ind-lp .fv__title { font-size: clamp(40px, 3.3vw, 58px); }

.ind-lp .fv__grid { grid-template-columns: minmax(0, 1fr) 552px; gap: 53px; align-items: center; margin-top: 30px; }

.ind-lp .fv__lead { gap: 22px; }

.ind-lp .fv__desc { font-size: 17px; }

.ind-lp .fv__points li { font-size: 17.5px; }

.ind-lp .stat__laurel { width: 32px; height: 70px; }

.ind-lp .stat__num { font-size: 38px; }

.ind-lp .stat__unit { font-size: 15px; padding-bottom: 6px; }

.ind-lp .stat__label { font-size: 13px; }

}

.ind-lp .form-card {
  color: var(--c-ink);
  display: flex; flex-direction: column; gap: 18px;
  padding: 28px 20px 26px; background: #FFFFFF; border: 1px solid #E3E3E3; border-radius: 4px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .07);
}

.ind-lp .form-card__title { font-size: 20px; font-weight: 700; text-align: center; line-height: 1.5; }

.ind-lp .form-card__fields { display: flex; flex-direction: column; gap: 16px; }

.ind-lp .field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }

.ind-lp .field__label { display: flex; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 500; line-height: 1.5; }

.ind-lp .field__label .badge { margin-left: 8px; }

.ind-lp .field__input {
  display: block; width: 100%; min-height: 48px; padding: 0 14px;
  border: 1px solid var(--c-input-line); border-radius: 2px; background: #FFFFFF;
  font-size: 16px; line-height: 1.5; color: var(--c-ink); -webkit-appearance: none; appearance: none;
}

.ind-lp .field__input::placeholder { color: var(--c-muted); opacity: 1; }

.ind-lp .field__input:focus { outline: none; border-color: var(--c-accent); box-shadow: 0 0 0 3px rgba(219, 82, 31, .15); }

.ind-lp .field__input--textarea { min-height: 96px; padding: 12px 14px; resize: vertical; line-height: 1.6; }

.ind-lp select.field__input {
  padding-right: 40px; cursor: pointer;
  background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E1E1E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat;
}

.ind-lp select.field__input:invalid { color: var(--c-muted); }

.ind-lp select.field__input option { color: var(--c-ink); }

.ind-lp .field__budget { display: flex; flex-direction: column; gap: 10px; }

.ind-lp .radios { display: flex; gap: 20px; }

.ind-lp .radio { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; }

.ind-lp .radio input { width: 18px; height: 18px; margin: 0; border: 1.5px solid #8F8F8F; border-radius: 50%; -webkit-appearance: none; appearance: none; cursor: pointer; }

.ind-lp .radio input:checked { border: 5px solid var(--c-accent); }

.ind-lp .form-card__consent { color: var(--c-body); font-size: 12.5px; text-align: center; line-height: 1.7; }

.ind-lp .form-card__consent a { color: var(--c-ink); text-underline-offset: 2px; }

.ind-lp .form-card__reply { margin-top: -6px; color: #7A7A7A; font-size: 12px; text-align: center; line-height: 1.6; }

.ind-lp .form-card__doc { display: inline-flex; align-self: center; align-items: center; gap: 8px; color: #2B2B2B; font-size: 14px; font-weight: 500; text-decoration: none; }

.ind-lp .form-card__doc:hover { text-decoration: underline; }

@media (min-width: 600px) {

.ind-lp .form-card { padding: 40px 44px 36px; gap: 20px; }

.ind-lp .form-card__title { font-size: 24px; }

.ind-lp .field { flex-direction: row; align-items: center; gap: 16px; }

.ind-lp .field--top { align-items: flex-start; }

.ind-lp .field--top .field__label { padding-top: 12px; }

.ind-lp .field__label { flex: 0 0 158px; }

.ind-lp .field > .field__input, .ind-lp .field > .field__budget { flex: 1 1 auto; }

.ind-lp .field__input { font-size: 14px; }

.ind-lp .field__budget { flex-direction: row; align-items: center; gap: 12px; }

.ind-lp .field__budget .select { flex: 1 1 auto; }

.ind-lp .radios { gap: 12px; }

.ind-lp .form-card__consent { font-size: 13px; }

}

.ind-lp .logos { padding: 40px 0 44px; background: #FFFFFF; }

.ind-lp .logos__caption { display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; line-height: 1.6; text-align: center; }

.ind-lp .logos__caption::before, .ind-lp .logos__caption::after { content: ""; flex: 1 1 0; height: 1px; background: #D8D8D8; }

.ind-lp .logos__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 14px; margin-top: 24px; }

.ind-lp .logos__grid li { display: flex; align-items: center; justify-content: center; height: 44px; }

.ind-lp .logos__grid img { width: 100%; height: 100%; object-fit: contain; }

@media (min-width: 900px) {

.ind-lp .logos { padding: 56px 0 64px; }

.ind-lp .logos__caption { gap: 24px; font-size: 16px; }

.ind-lp .logos__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 36px 32px; margin-top: 40px; }

.ind-lp .logos__grid li { height: 60px; }

}

.ind-lp .intro__answer { max-width: 820px; margin: 12px auto 0; color: var(--c-text); font-size: 15px; font-weight: 700; line-height: 1.7; text-align: center; }

.ind-lp .sec-head + .intro__answer { margin-top: 12px; }

.ind-lp .intro__card { display: grid; gap: 22px; margin-top: 28px; padding: 24px 20px; }

.ind-lp .intro__text { display: flex; flex-direction: column; gap: 16px; color: var(--c-text); font-size: 14.5px; line-height: 1.9; }

.ind-lp .toc { padding: 22px 22px 24px; border-radius: var(--radius); background: var(--c-tint); }

.ind-lp .toc__title { font-size: 15px; font-weight: 900; }

.ind-lp .toc ul { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }

.ind-lp .toc a { display: inline-flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; text-underline-offset: 3px; }

.ind-lp .toc__ic { width: 20px; height: 20px; padding: 3px; border: 1px solid var(--c-accent); border-radius: 50%; background: #FFFFFF; color: var(--c-accent); fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

@media (min-width: 900px) {

.ind-lp .intro__answer { font-size: 17px; margin-top: 14px; }

.ind-lp .intro__card { grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; margin-top: 52px; padding: 36px 40px; align-items: start; }

.ind-lp .intro__text { font-size: 15px; }

.ind-lp .toc { padding: 26px 28px; }

}

.ind-lp .problem { display: flex; align-items: flex-start; gap: 16px; padding: 22px 20px; border: 0; }

.ind-lp .num-circ { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: var(--c-accent); color: #FFFFFF; font-family: var(--ff-serif); font-size: 14px; font-weight: 700; }

.ind-lp .problem__title { font-size: 16px; font-weight: 700; line-height: 1.5; }

.ind-lp .problem__desc { margin-top: 6px; color: var(--c-body); font-size: 13.5px; line-height: 1.8; }

.ind-lp .problems__conclusion { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 36px; text-align: center; }

.ind-lp .problems__tri { width: 0; height: 0; border-left: 22px solid transparent; border-right: 22px solid transparent; border-top: 18px solid #E0463A; }

.ind-lp .problems__conclusion p { font-size: 19px; font-weight: 900; line-height: 1.6; }

@media (min-width: 900px) {

.ind-lp .problem { padding: 26px 28px; gap: 20px; }

.ind-lp .problem__title { font-size: 18px; }

.ind-lp .problems__conclusion { margin-top: 44px; }

.ind-lp .problems__conclusion p { font-size: 26px; }

}

.ind-lp .cta-band, .ind-lp .contact { --edge: max(0px, min(170px, calc((100vw - 1180px) / 2 - 24px))); }

.ind-lp .cta-band { position: relative; overflow: hidden; padding: 32px 0 34px; background: var(--c-dark); color: #FFFFFF; }

.ind-lp .cta-band__wedge, .ind-lp .cta-band__stripe { display: none; }

.ind-lp .cta-band__inner { position: relative; display: flex; flex-direction: column; gap: 18px; }

.ind-lp .cta-band__title { font-size: 19px; font-weight: 900; line-height: 1.5; }

.ind-lp .cta-band__sub { margin-top: 6px; color: var(--c-dark-text); font-size: 13.5px; line-height: 1.7; }

.ind-lp .cta-band__actions .btn { width: 100%; }

@media (min-width: 900px) {

.ind-lp .cta-band { padding: 46px 0; }

.ind-lp .cta-band__wedge, .ind-lp .cta-band__stripe { display: block; position: absolute; top: 0; bottom: 0; background: var(--c-accent); pointer-events: none; }

.ind-lp .cta-band__wedge { left: 0; width: var(--edge); clip-path: polygon(0 0, 100% 0, 40% 100%, 0 100%); }

.ind-lp .cta-band__stripe { left: calc(var(--edge) + 14px); width: calc(var(--edge) * .17); opacity: .45; clip-path: polygon(100% 0, 100% 0, 0 100%, 0 100%); }

.ind-lp .cta-band__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 40px; }

.ind-lp .cta-band__title { font-size: 26px; }

.ind-lp .cta-band__sub { font-size: 14.5px; }

.ind-lp .cta-band__actions .btn { width: auto; }

}

.ind-lp .xt__table { width: 100%; border-collapse: separate; border-spacing: 0; }

.ind-lp .xt__table thead { display: none; }

.ind-lp .xt__table tbody { display: flex; flex-direction: column; gap: 12px; }

.ind-lp .xt__table tr { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--c-line); border-radius: var(--radius); background: #FFFFFF; }

.ind-lp .xt__table th[scope="row"] { padding: 12px 16px; background: #FAFAFA; border-bottom: 1px solid var(--c-line-2); font-size: 15px; font-weight: 700; text-align: left; }

.ind-lp .xt__mid { padding: 12px 16px 4px; color: var(--c-body); font-size: 13.5px; line-height: 1.7; }

.ind-lp .xt__hl { display: flex; align-items: flex-start; gap: 10px; margin: 8px 12px 12px; padding: 12px 14px; border-radius: 4px; background: #FDF6F1; font-size: 14px; font-weight: 700; line-height: 1.6; }

.ind-lp .xt__hl .chk { margin-top: 1px; }

@media (min-width: 900px) {

.ind-lp .xt { position: relative; }

.ind-lp .xt__table { table-layout: fixed; }

.ind-lp .xt__table thead { display: table-header-group; }

.ind-lp .xt__table tbody { display: table-row-group; }

.ind-lp .xt__table tr { display: table-row; border: 0; border-radius: 0; background: transparent; overflow: visible; }

.ind-lp .xt__table th, .ind-lp .xt__table td { height: 64px; padding: 0 26px; font-size: 14px; line-height: 1.5; vertical-align: middle; text-align: left; }

.ind-lp .xt__h1 { width: 19%; }

.ind-lp .xt__h2 { width: 40%; }

.ind-lp .xt__h3 { width: 41%; }

.ind-lp .xt__table thead th { height: 78px; font-weight: 700; }

.ind-lp .xt__h1, .ind-lp .xt__h2 { position: relative; padding-top: 22px !important; color: var(--c-ink); }

.ind-lp .xt__h1::before, .ind-lp .xt__h2::before { content: ""; position: absolute; inset: 22px 0 0 0; z-index: -1; background: #F2F2F2; border-top: 1px solid #E5E5E5; }

.ind-lp .xt__h1::before { border-left: 1px solid #E5E5E5; border-radius: 6px 0 0 0; }

.ind-lp .xt__h2 { color: var(--c-muted); text-align: center !important; }

.ind-lp .xt thead tr { position: relative; z-index: 0; }

.ind-lp .xt__h3 { background: var(--c-dark); color: #FFFFFF; font-family: var(--ff-serif); font-size: 18px !important; text-align: center !important; border-radius: 8px 8px 0 0; }

.ind-lp .xt__table th[scope="row"] { display: table-cell; padding: 0 26px; background: #FAFAFA; border-bottom: 0; border-top: 1px solid var(--c-line-2); border-left: 1px solid #E5E5E5; font-size: 14px; }

.ind-lp .xt__mid { display: table-cell; padding: 0 26px; border-top: 1px solid var(--c-line-2); border-left: 1px solid var(--c-line-2); background: #FFFFFF; font-size: 13.5px; }

.ind-lp .xt__hl { display: table-cell; margin: 0; border-radius: 0; background: #FDF6F1; border-top: 1px solid #F3DED2; }

.ind-lp .xt__hl .chk { display: inline-block; vertical-align: -5px; margin-right: 12px; }

.ind-lp .xt__hl span { display: inline; }

.ind-lp .xt tbody tr:last-child th { border-bottom: 1px solid #E5E5E5; border-radius: 0 0 0 6px; }

.ind-lp .xt tbody tr:last-child .xt__mid { border-bottom: 1px solid #E5E5E5; }

.ind-lp .xt::after {
    content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 41%;
    border: 3px solid var(--c-accent); border-radius: 8px; pointer-events: none;
    box-shadow: 0 16px 40px rgba(219, 82, 31, .12);
  }

}

.ind-lp .feature, .ind-lp .pillar { display: flex; flex-direction: column; gap: 12px; padding: 24px 20px; border: 0; }

.ind-lp .feature__head { display: flex; align-items: flex-end; gap: 14px; }

.ind-lp .feature__title { padding-bottom: 2px; font-size: 19px; font-weight: 900; line-height: 1.4; }

.ind-lp .feature .chips { padding-top: 4px; }

.ind-lp .sq-list { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid var(--c-line-2); }

.ind-lp .sq-list li { position: relative; padding-left: 16px; color: var(--c-text); font-size: 13.5px; line-height: 1.6; }

.ind-lp .sq-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; background: var(--c-accent); }

@media (min-width: 900px) {

.ind-lp .feature, .ind-lp .pillar { padding: 30px 32px; }

.ind-lp .feature__title { font-size: 21px; }

}

.ind-lp .case { display: flex; flex-direction: column; overflow: hidden; }

.ind-lp .case__metric { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 24px 22px; background: var(--c-tint); }

.ind-lp .case__label { color: var(--c-body); font-size: 14px; font-weight: 700; }

.ind-lp .case__figure { display: flex; align-items: flex-end; gap: 10px; }

.ind-lp .case__from { color: var(--c-muted); font-size: 26px; font-weight: 900; line-height: 1.2; }

.ind-lp .case__arrow { width: 24px; height: 24px; margin-bottom: 6px; color: var(--c-accent); }

.ind-lp .case__to { color: var(--c-accent); font-size: 17px; font-weight: 900; line-height: 1.2; }

.ind-lp .case__to b { font-size: 48px; line-height: 1; }

.ind-lp .case__body { display: flex; flex-direction: column; gap: 12px; padding: 24px 22px; }

.ind-lp .case__title { font-size: 18px; font-weight: 900; line-height: 1.6; }

.ind-lp .case__note { color: var(--c-muted); font-size: 12.5px; line-height: 1.8; }

@media (min-width: 900px) {

.ind-lp .case { flex-direction: row; min-height: 196px; }

.ind-lp .case__metric { flex: 0 0 400px; padding: 40px; }

.ind-lp .case__to b { font-size: 54px; }

.ind-lp .case__body { justify-content: center; padding: 40px 44px; }

.ind-lp .case__title { font-size: 22px; }

}

.ind-lp .check { display: flex; flex-direction: column; gap: 10px; padding: 24px 22px; }

.ind-lp .check__label { display: flex; align-items: center; gap: 10px; color: var(--c-accent); font-size: 13px; font-weight: 700; letter-spacing: .06em; }

.ind-lp .check__label .chk { width: 32px; height: 32px; background-size: 16px; }

.ind-lp .check__title { font-size: 17px; font-weight: 900; line-height: 1.5; }

.ind-lp .point { display: flex; align-items: center; gap: 20px; padding: 22px; border: 0; }

.ind-lp .point__ring { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 76px; height: 76px; border: 3px solid var(--c-accent); border-radius: 50%; background: var(--c-tint); color: var(--c-accent); font-size: 20px; font-weight: 900; }

.ind-lp .point__title { font-size: 17px; font-weight: 900; line-height: 1.5; }

.ind-lp .point__desc { margin-top: 4px; color: var(--c-body); font-size: 13.5px; line-height: 1.6; }

.ind-lp .measure { display: flex; flex-direction: column; gap: 14px; padding: 24px 22px; }

.ind-lp .measure__head { display: flex; align-items: center; gap: 12px; }

.ind-lp .measure__title { font-size: 19px; font-weight: 900; }

@media (min-width: 900px) {

.ind-lp .check, .ind-lp .measure { padding: 28px 30px; }

.ind-lp .check__title { font-size: 18px; }

.ind-lp .point { padding: 30px 32px; gap: 22px; }

.ind-lp .point__ring { width: 84px; height: 84px; }

.ind-lp .point__title { font-size: 19px; }

.ind-lp .measure__title { font-size: 20px; }

}

.ind-lp .exec { display: flex; overflow: hidden; border-radius: var(--radius); background: var(--c-dark-card); }

.ind-lp .exec__photo { flex: 0 0 38%; width: 38%; height: auto; min-height: 150px; object-fit: cover; object-position: center 20%; }

.ind-lp .exec__body { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 20px; }

.ind-lp .exec__name { color: #FFFFFF; font-size: 20px; font-weight: 900; line-height: 1.4; }

.ind-lp .exec__kana { display: block; color: var(--c-dark-text); font-size: 11px; font-weight: 400; }

.ind-lp .exec__pos { padding-bottom: 12px; border-bottom: 1px solid #4A4640; color: var(--c-accent-soft); font-size: 12.5px; font-weight: 700; }

@media (min-width: 900px) {

.ind-lp .exec { min-height: 220px; }

.ind-lp .exec__photo { flex: 0 0 176px; width: 176px; }

.ind-lp .exec__body { flex: 1 1 auto; padding: 28px 32px; }

.ind-lp .exec__name { font-size: 24px; }

.ind-lp .exec__kana { display: inline; margin-left: 12px; font-size: 12px; }

.ind-lp .exec__pos { font-size: 13px; }

}

.ind-lp .plans { display: grid; gap: 26px; }

.ind-lp .plan { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 28px 24px 26px; background: #FFFFFF; border: 1px solid var(--c-line); border-radius: var(--radius); box-shadow: var(--shadow-card); }

.ind-lp .plan--rec { border: 3px solid var(--c-accent); background: #FDF6F1; }

.ind-lp .plan__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); padding: 3px 14px; background: var(--c-accent); color: #FFFFFF; font-family: var(--ff-serif); font-size: 12px; font-weight: 700; letter-spacing: .08em; white-space: nowrap; }

.ind-lp .plan__badge::after { content: ""; position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); border: 6px solid transparent; border-bottom: 0; border-top-color: var(--c-accent); }

.ind-lp .plan__name { font-size: 17px; font-weight: 900; }

.ind-lp .plan__price { padding-bottom: 14px; border-bottom: 1px solid var(--c-line-2); color: var(--c-accent); font-size: 34px; font-weight: 900; line-height: 1.2; }

.ind-lp .plan__feats { display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; padding-bottom: 8px; }

.ind-lp .plan__feats li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.6; }

.ind-lp .plan__feats .chk { width: 18px; height: 18px; margin-top: 2px; background-color: var(--c-tint); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DB521F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); background-size: 11px; }

.ind-lp .plan--rec .plan__feats li { font-weight: 700; }

.ind-lp .plan--rec .plan__feats .chk { background-color: var(--c-accent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); }

@media (min-width: 900px) {

.ind-lp .plans { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; padding-top: 12px; }

.ind-lp .plan { padding: 36px 28px 30px; }

.ind-lp .plan__price { font-size: 38px; }

}

.ind-lp .help-band { display: flex; flex-direction: column; gap: 18px; margin-top: 28px; padding: 22px 20px; background: #FFFFFF; border: 1px solid var(--c-tint-line); border-radius: var(--radius); box-shadow: 0 6px 20px rgba(219, 82, 31, .08); }

.ind-lp .help-band__lead { display: flex; align-items: center; gap: 16px; }

.ind-lp .help-band__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; background: var(--c-tint); color: var(--c-accent); }

.ind-lp .help-band__icon .ic { width: 24px; height: 24px; }

.ind-lp .help-band__title { font-size: 17px; font-weight: 900; line-height: 1.5; }

.ind-lp .help-band__sub { margin-top: 4px; color: var(--c-body); font-size: 13.5px; line-height: 1.7; }

.ind-lp .help-band__actions { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }

.ind-lp .help-band__actions .text-link { align-self: center; }

.ind-lp .help-band__actions .text-link .ic { width: 16px; height: 16px; }

@media (min-width: 900px) {

.ind-lp .help-band { flex-direction: row; align-items: center; justify-content: space-between; gap: 28px; padding: 28px 36px; }

.ind-lp .help-band__title { font-size: 20px; }

.ind-lp .help-band__actions { flex-direction: row; align-items: center; gap: 24px; }

.ind-lp .help-band__actions .btn { min-width: 250px; }

}

.ind-lp .steps { max-width: 1000px; margin-left: auto; margin-right: auto; }

.ind-lp .step { position: relative; display: flex; gap: 16px; padding-bottom: 32px; }

.ind-lp .step:not(:last-child)::before { content: ""; position: absolute; left: 17px; top: 36px; bottom: 0; width: 2px; background: #EDE6E2; }

.ind-lp .step__num { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: var(--c-accent); color: #FFFFFF; font-family: var(--ff-serif); font-size: 14px; font-weight: 700; }

.ind-lp .step__body { display: flex; flex-direction: column; gap: 8px; padding-top: 3px; }

.ind-lp .step__title { display: flex; align-items: center; font-size: 18px; font-weight: 900; line-height: 1.5; }

.ind-lp .step__lead { color: var(--c-body); font-size: 14px; line-height: 1.8; }

.ind-lp .step__chips { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }

.ind-lp .step__chips li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 2px; background: var(--c-tint); color: #5B3A2B; font-size: 12.5px; font-weight: 700; line-height: 1.5; }

.ind-lp .step__chips .ic { width: 12px; height: 12px; color: var(--c-accent); stroke-width: 3; }

@media (min-width: 900px) {

.ind-lp .step { gap: 28px; padding-bottom: 44px; }

.ind-lp .step:not(:last-child)::before { left: 19px; top: 40px; }

.ind-lp .step__num { width: 40px; height: 40px; font-size: 16px; }

.ind-lp .step__title { font-size: 22px; }

}

.ind-lp .qm { display: flex; align-items: center; gap: 16px; padding: 22px; }

.ind-lp .qm__title { font-size: 17px; font-weight: 900; }

.ind-lp .qm__desc { margin-top: 2px; color: var(--c-body); font-size: 13.5px; line-height: 1.6; }

.ind-lp .role { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 20px; padding: 22px; }

.ind-lp .role__node { width: 100%; max-width: 260px; padding: 14px 16px; border: 1px solid #DADADA; border-radius: 4px; background: #FFFFFF; font-size: 15px; font-weight: 700; text-align: center; }

.ind-lp .role__node--accent { border-color: var(--c-accent); background: var(--c-accent); color: #FFFFFF; }

.ind-lp .role__arrow { width: 20px; height: 20px; color: #B8B2AD; transform: rotate(90deg); }

@media (min-width: 900px) {

.ind-lp .qm { padding: 26px 28px; }

.ind-lp .role { flex-direction: row; justify-content: center; gap: 22px; margin-top: 28px; padding: 28px 40px; }

.ind-lp .role__node { width: 240px; padding: 17px 16px; font-size: 16px; }

.ind-lp .role__arrow { transform: none; }

}

.ind-lp .p90-list { padding: 4px 20px; }

.ind-lp .p90 { display: flex; gap: 14px; padding: 24px 0; }

.ind-lp .p90 + .p90 { border-top: 1px solid var(--c-line-2); }

.ind-lp .p90__no { flex: 0 0 36px; font-family: var(--ff-serif); font-size: 26px; font-weight: 700; line-height: 1.1; color: var(--c-accent); }

.ind-lp .p90__body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }

.ind-lp .p90__title { font-size: 17px; font-weight: 900; line-height: 1.5; }

.ind-lp .p90__body p { color: var(--c-body); font-size: 14px; line-height: 1.9; }

@media (min-width: 900px) {

.ind-lp .p90-list { padding: 8px 44px; }

.ind-lp .p90 { gap: 28px; padding: 30px 0; }

.ind-lp .p90__no { flex-basis: 52px; font-size: 34px; }

.ind-lp .p90__title { font-size: 19px; }

.ind-lp .p90__body p { font-size: 14.5px; }

}

.ind-lp .faqs { max-width: var(--content); border-top: 1px solid #E5E5E5; }

.ind-lp .faq { border-bottom: 1px solid #E5E5E5; }

.ind-lp .faq__q { display: flex; align-items: center; gap: 14px; padding: 18px 6px; cursor: pointer; list-style: none; font-size: 15px; font-weight: 700; line-height: 1.6; }

.ind-lp .faq__q::-webkit-details-marker { display: none; }

.ind-lp .faq__qt { flex: 1 1 auto; }

.ind-lp .faq__mark { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: var(--c-accent); color: #FFFFFF; font-family: var(--ff-serif); font-size: 14px; font-weight: 700; }

.ind-lp .faq__mark--a { background: #E9E9E9; color: var(--c-muted); }

.ind-lp .faq__toggle { position: relative; flex: 0 0 auto; width: 18px; height: 18px; }

.ind-lp .faq__toggle::before, .ind-lp .faq__toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 1.5px; background: #9A9A9A; transform: translate(-50%, -50%); transition: transform .2s ease, background .2s ease; }

.ind-lp .faq__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }

.ind-lp .faq[open] .faq__toggle::before { background: var(--c-accent); transform: translate(-50%, -50%) rotate(45deg); }

.ind-lp .faq[open] .faq__toggle::after { background: var(--c-accent); transform: translate(-50%, -50%) rotate(135deg); }

.ind-lp .faq__a { display: flex; gap: 14px; padding: 0 6px 22px; }

.ind-lp .faq__a p { color: var(--c-body); font-size: 14px; line-height: 1.85; padding-top: 2px; }

@media (min-width: 900px) {

.ind-lp .faq__q { gap: 16px; padding: 22px 10px; font-size: 16px; }

.ind-lp .faq__a { gap: 16px; padding: 0 10px 26px; }

.ind-lp .faq__a p { font-size: 14.5px; }

}

.ind-lp .contact { position: relative; isolation: isolate; overflow: hidden; padding: 56px 0; background: linear-gradient(180deg, #1F1F1F, #2E2E2E); color: #FFFFFF; }

.ind-lp .contact::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .16; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.ind-lp .contact__wedge, .ind-lp .contact__stripe { display: none; }

.ind-lp .contact__inner { display: grid; gap: 28px; }

.ind-lp .contact__lead { display: flex; flex-direction: column; gap: 16px; }

.ind-lp .contact__title { font-size: 26px; font-weight: 900; line-height: 1.5; }

.ind-lp .contact__desc { color: var(--c-dark-text); font-size: 14px; line-height: 1.8; }

.ind-lp .contact__assure { display: flex; flex-direction: column; gap: 10px; }

.ind-lp .contact__assure li { display: flex; align-items: center; gap: 10px; font-size: 14px; }

.ind-lp .contact__assure .chk { width: 18px; height: 18px; background-size: 11px; }

@media (min-width: 900px) {

.ind-lp .contact { padding: 90px 0; }

.ind-lp .contact__wedge, .ind-lp .contact__stripe { display: block; position: absolute; top: 0; bottom: 0; background: var(--c-accent); pointer-events: none; }

.ind-lp .contact__wedge { left: 0; width: var(--edge); clip-path: polygon(0 0, 100% 0, 62% 100%, 0 100%); }

.ind-lp .contact__stripe { left: calc(var(--edge) * .88); width: calc(var(--edge) * .39); opacity: .45; clip-path: polygon(70% 0, 100% 0, 30% 100%, 0 100%); }

.ind-lp .contact__inner { grid-template-columns: minmax(0, 1fr) 560px; gap: 80px; align-items: center; }

.ind-lp .contact__title { font-size: 36px; }

.ind-lp .contact__desc { font-size: 15px; }

}

.ind-lp .sec-head__title, .ind-lp .sec-head__sub, .ind-lp .intro__answer, .ind-lp .problems__conclusion p, .ind-lp .cta-band__title, .ind-lp .contact__title, .ind-lp .case__title, .ind-lp .help-band__title, .ind-lp .fv__title, .ind-lp .problem__title, .ind-lp .check__title, .ind-lp .feature__title, .ind-lp .faq__qt, .ind-lp .p90__title, .ind-lp .step__title {
  word-break: auto-phrase;
  text-wrap: balance;
}


/* ==========================================================================
   統合オーバーライド（フォームはサービスLPと同一の svlp フォームを使用＝ここでは触らない）
   ========================================================================== */

/* FV数値：月桂樹エンブレムは使わない（栗林指示）。数字＋単位＋ラベル＋補足のクリーンな縦積み中央寄せ */
.ind-lp .stat__laurel { display: none !important; }
.ind-lp .stat { grid-template-columns: none; display: flex; flex-direction: column; align-items: center; gap: 2px; }

/* FVコンテンツ幅＝サービスLPのFV(.fv__inner)＝ヘッダー内側(.l-header__inner: max-width1404/左右2rem)に一致させる。
   container幅 = calc(--content + gutter*2)。gutter=32pxなので 1340+64=1404 でヘッダー/サービスFVとロゴ〜ハンバーガー幅が揃う（栗林指示）。
   旧1180(=container1244)は狭くズレていた。1533は広すぎてメニューをはみ出すため不可。 */
.ind-lp .fv { --content: 1340px; }

/* 最後のCTA帯：オレンジのwedge/stripeをサービスLP(svlp)と同一寸法に統一（＝共通化）。
   工務店は --edge 可変で幅が約26pxに潰れ左端に細いオレンジ線として見えていた。svlp同様に固定150px/170px+26pxの太いウェッジへ。 */
@media (min-width: 900px) {
  .ind-lp .cta-band__wedge { width: 150px; clip-path: polygon(0 0, 100% 0, 40% 100%, 0 100%); }
  .ind-lp .cta-band__stripe { left: 170px; width: 26px; }
}

/* お問い合わせ(.contact)セクションのオレンジwedge/stripeは撤去（栗林指摘「余計な薄いオレンジ線」）。
   ※太いウェッジ化(サービス同寸)も検討したが、.contactのeyebrow「お問い合わせ」がオレンジ文字のためオレンジ地に重なって消える。
     このセクションは装飾ウェッジ自体を出さないのが最善（CTA帯は白文字なので太ウェッジ維持）。 */
.ind-lp .contact__wedge, .ind-lp .contact__stripe { display: none !important; }

/* intro「まず確認したいこと」：本文(.intro__text)と「このページで分かること」(.toc)はPCで2カラム(1fr+400px)だが、
   上下積み(縦)にブラッシュアップ（栗林指示）。1カラム化して本文→TOCの順に縦並び。 */
@media (min-width: 900px) {
  .ind-lp .intro__card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  /* 「このページで分かること」の項目：PCは横並び（縦→横）＝栗林指示。全幅ボックス内で折返し可 */
  .ind-lp .toc ul { flex-direction: row; flex-wrap: wrap; gap: 12px 20px; }
  .ind-lp .toc li { flex: 0 1 auto; }
  .ind-lp .toc a { padding: 8px 14px 8px 10px; border-radius: 999px; background: #FFFFFF; border: 1px solid #EFE2DA; }
}

/* ==========================================================================
   業界別マーケティング支援アーカイブ（archive-industry.php）— V2(.ind-lp)デザイン
   ========================================================================== */
.ind-lp .ind-arc-hero { background: linear-gradient(180deg, var(--c-tint) 0%, #FFFFFF 100%); }
.ind-lp .ind-arc-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
@media (min-width: 700px) { .ind-lp .ind-arc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 1000px) { .ind-lp .ind-arc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ind-lp .ind-arc-card { position: relative; display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 26px 24px; border: 1px solid #EAE0D9; border-radius: var(--radius); background: #FFFFFF; color: var(--c-text); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ind-lp .ind-arc-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(30, 26, 22, .10); border-color: var(--c-accent); }
.ind-lp .ind-arc-card__eyebrow { font-family: var(--ff-serif); font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--c-accent); }
.ind-lp .ind-arc-card__name { font-size: 20px; font-weight: 900; line-height: 1.45; }
.ind-lp .ind-arc-card__desc { flex: 1 1 auto; color: var(--c-body); font-size: 13.5px; line-height: 1.85; }
.ind-lp .ind-arc-card__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; color: var(--c-accent); font-size: 13.5px; font-weight: 700; }
.ind-lp .ind-arc-card__more .ic { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.ind-lp .ind-arc-card:hover .ind-arc-card__more .ic { transform: translateX(3px); transition: transform .25s ease; }
.ind-lp .ind-arc-empty { grid-column: 1 / -1; padding: 40px 0; text-align: center; color: var(--c-muted); font-size: 14px; }

/* TOCアイコンのブラッシュアップ：白丸＋オレンジ枠 → オレンジ塗り＋白の下矢印（アンカー＝下へジャンプが直感的に伝わる） */
.ind-lp .toc__ic { background: var(--c-accent); color: #FFFFFF; border-color: var(--c-accent); width: 21px; height: 21px; padding: 3.5px; }

/* FV：SP(〜899px)ではフォームを隠し、CTAボタンで下部フォーム(#contact)へ誘導（サービスLP SPと同一仕様）。
   PCはボタン非表示・フォーム表示。ボタン意匠は svlp .fv__cta（service-lp.php）と同一。スクロールは .ind-lp アンカーJSが担当。 */
.ind-lp .fv__cta { display: none; }
@media (max-width: 899px) {
  .ind-lp .fv__form { display: none !important; }
  .ind-lp .fv__cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; max-width: 440px; margin: 22px auto 6px; padding: 16px 22px; background: var(--c-accent, #DB521F); color: #fff; font-size: 16px; font-weight: 700; line-height: 1; border-radius: 12px; text-decoration: none; box-shadow: 0 10px 26px rgba(219, 82, 31, .34); }
  .ind-lp .fv__cta:hover { filter: brightness(.96); }
  .ind-lp .fv__cta::after { content: "\2193"; font-size: 15px; }
}

/* FV内クライアントロゴ帯（エンブレム/stats撤去分の社会的証明・フォーム横） */
.ind-lp .fv__logos { margin-top: 6px; }
.ind-lp .fv__logos-label { display: flex; align-items: center; gap: 12px; color: var(--c-body); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.ind-lp .fv__logos-label::before, .ind-lp .fv__logos-label::after { content: ""; flex: 1 1 0; height: 1px; background: #D2D2D2; }
.ind-lp .fv__logos-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px 14px; margin-top: 14px; align-items: center; }
.ind-lp .fv__logos-grid li { display: flex; align-items: center; justify-content: center; height: 30px; }
.ind-lp .fv__logos-grid img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.ind-lp .fv__logos-note { margin-top: 10px; color: var(--c-muted); font-size: 11px; line-height: 1.6; }
@media (min-width: 600px) { .ind-lp .fv__logos-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px 18px; } .ind-lp .fv__logos-grid li { height: 42px; } }
@media (max-width: 480px) { .ind-lp .fv__logos-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ボタン＝サービスLP(theme-fit.css)の「テーマ標準ボタン(._red/._grey)完全再現」を .ind-lp にも移植し統一。
   斜め2色グラデ(-61deg)＋background-size:300%(hoverでpositionスライド)＋右::afterの濃色ウェッジ＋::before SVG矢印。
   handoffのフラット/clip-pathウェッジ/.btn__arrow円は置換（栗林指摘：CTAボタンがサービスと異なる）。矢印SVGは assets/img/common/（industry cssから ../img/common/ で到達）。 */
.ind-lp .btn {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: flex-start; gap: 0;
  min-height: var(--btn-h); padding: 0 3.375rem 0 1rem;
  border: 0; border-radius: 0.3125rem; box-shadow: none;
  color: #fff; font-weight: 700; line-height: 1.2857142857; letter-spacing: .024em; text-align: left; text-decoration: none;
  background-position: 100%; background-size: 300%;
  transition: background-position .4s ease;
}
.ind-lp .btn--primary, .ind-lp .btn--submit { background-image: linear-gradient(-61deg, #db521f 50%, #a63e17 50%); background-color: #db521f; }
.ind-lp .btn--secondary { background-image: linear-gradient(-61deg, #666666 50%, #4d4d4d 50%); background-color: #666666; }
.ind-lp .btn:hover, .ind-lp .btn:active { background-position: 0; transform: none; filter: none; }
.ind-lp .btn::before {
  content: ""; position: absolute; inset: auto; right: 0.625rem; left: auto; top: 50%; bottom: auto;
  transform: translate(0, -50%); width: 1rem; height: 1rem; z-index: 2; pointer-events: none;
  clip-path: none; background: url(../img/common/btn-arrow.svg) no-repeat center / 100% auto; display: block;
}
.ind-lp .btn::after {
  content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 3.375rem; height: 100%; z-index: 1; pointer-events: none;
  clip-path: polygon(53.703703703% 0, 100% 0%, 100% 100%, 0% 100%);
}
.ind-lp .btn--primary::after, .ind-lp .btn--submit::after { background-color: #a63e17; }
.ind-lp .btn--secondary::after { background-color: #4d4d4d; }
.ind-lp .btn__arrow { display: none; }

/* ページ内アンカー：固定ヘッダー(高さ104px)の下に見出しが隠れないようスクロール余白を確保（JS側でも同量オフセット） */
.ind-lp [id] { scroll-margin-top: 120px; }

/* 認定パートナー節＝サービスLPと同一の svlp スライダー構造（PCはgrid-3/execsはgrid-2、SPは横スワイプ）。余白のみ微調整 */
.ind-lp .svlp .slider { width: 100%; }

/* .svlp--industry 内はサービスLPと同一の“純svlp”縦リズムにする：
   .ind-lp 基底の縦マージン漏れ（特に `.ind-lp .sec-head + * { margin-top:52px }` が sec-head 直後に52px上乗せ→
   サービス40pxに対しindustryが92pxになる不具合）を打ち消し、container の flex gap(40px) のみで揃える。
   sec-head 内 gap もsvlp基準(10px)に統一。 */
.ind-lp .svlp--industry .container > * { margin-top: 0; margin-bottom: 0; }
.ind-lp .svlp--industry .sec-head { gap: 10px; }

/* 極小幅(〜599px)のはみ出しガード（グリッド/ボタンの min-content 対策） */
@media (max-width: 599px) {
  .ind-lp .plans, .ind-lp .grid, .ind-lp .grid--2, .ind-lp .grid--3 { grid-template-columns: minmax(0, 1fr); }
  .ind-lp .plan, .ind-lp .card, .ind-lp .feature, .ind-lp .pillar, .ind-lp .measure, .ind-lp .check, .ind-lp .point, .ind-lp .problem, .ind-lp .qm { min-width: 0; }
  .ind-lp .btn { min-width: 0; }
  .ind-lp .btn > span:first-child { min-width: 0; overflow-wrap: anywhere; }
  .ind-lp .plan__price, .ind-lp .stat__figure { overflow-wrap: normal; }
}

/* 「ご相談の流れ」(steps)：番号=左＋テキスト=右の縦タイムラインは維持したまま、
   列の最大幅を内容幅(最長=チップ3個で約657px)に合わせて絞り、margin:autoで中央配置。
   旧max-width:1000pxだと右に大きな余白が出て左寄せに見えるため（栗林指示：中央寄せ・列を中央配置）。 */
.ind-lp .steps { max-width: 700px; }
