/* BIMOTTO BPO LP v6 | production bundle: style + refinement + FV + content adjustments */
/* BIMOTTO BPO LP v6 ｜ 生成物。直接編集しない。編集は _build_v6/custom.css → sh _build_v6/build.sh */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans JP,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-8{height:2rem}.max-h-9{max-height:2.25rem}.min-h-\[64px\]{min-height:64px}.w-16{width:4rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.resize-none{resize:none}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-neutral-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 226 236/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:8px}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-brand-200{--tw-border-opacity:1;border-color:rgb(217 210 238/var(--tw-border-opacity,1))}.border-brand-300{--tw-border-opacity:1;border-color:rgb(184 174 220/var(--tw-border-opacity,1))}.border-brand-600{--tw-border-opacity:1;border-color:rgb(61 52 140/var(--tw-border-opacity,1))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 226 236/var(--tw-border-opacity,1))}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(207 203 217/var(--tw-border-opacity,1))}.border-neutral-600{--tw-border-opacity:1;border-color:rgb(74 74 74/var(--tw-border-opacity,1))}.bg-brand-100{--tw-bg-opacity:1;background-color:rgb(232 227 246/var(--tw-bg-opacity,1))}.bg-brand-50{--tw-bg-opacity:1;background-color:rgb(243 240 250/var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(247 247 250/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-14{padding-bottom:3.5rem}.pb-5{padding-bottom:1.25rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.-indent-4{text-indent:-1rem}.font-sans{font-family:Noto Sans JP,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-brand-300{--tw-text-opacity:1;color:rgb(184 174 220/var(--tw-text-opacity,1))}.text-brand-600{--tw-text-opacity:1;color:rgb(61 52 140/var(--tw-text-opacity,1))}.text-brand-700{--tw-text-opacity:1;color:rgb(48 40 111/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(36 36 36/var(--tw-text-opacity,1))}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 226 236/var(--tw-text-opacity,1))}.text-neutral-300{--tw-text-opacity:1;color:rgb(207 203 217/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(94 94 94/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.shadow-soft{--tw-shadow:0 1px 4px rgba(36,36,36,.06);--tw-shadow-colored:0 1px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:text-brand-600:hover{--tw-text-opacity:1;color:rgb(61 52 140/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-brand-600:focus{--tw-border-opacity:1;border-color:rgb(61 52 140/var(--tw-border-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-brand-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(232 227 246/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:768px){.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:grid{display:grid}.md\:hidden{display:none}.md\:h-20{height:5rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.md\:grid-cols-\[120px_1\.4fr_1fr\]{grid-template-columns:120px 1.4fr 1fr}.md\:grid-cols-\[150px_1fr_1fr\]{grid-template-columns:150px 1fr 1fr}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:gap-3{gap:.75rem}.md\:gap-5{gap:1.25rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:p-12{padding:3rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:pb-24{padding-bottom:6rem}.md\:pt-24{padding-top:6rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}.lg\:items-center{align-items:center}.lg\:gap-12{gap:3rem}}
/* ===== custom.css（_build_v6/custom.css） ===== */
/* BIMOTTO BPO LP v6 ｜ 独自CSS（shinsei deploy/style.css ＋ index.html内<style> を移植・調整）
   - ヒーロー背景：Unsplash外部画像 → 自社素材 images/approach.jpg（Phase2 §9 実装負債の解消）
   - 最小フォント13px（設計値）：section-label 12px→13px
   - フォント1種：Noto Sans JP のみ・weight 900 は使わない（設計値） */

:root {
    --color-primary: #3d348c;
    --color-primary-hover: #30286f;
    --color-action: #4b3aae;
    --color-purple-50: #f3f0fa;
    --color-purple-100: #e8e3f6;
    --color-purple-300: #b8aedc;
    --color-text-heading: #242424;
    --color-text-body: #555555;
    --color-border: #e5e2ec;
    --color-bg-soft: #fbfbfd;
    --color-bg-tint: #f7f6fb;
    --color-bg-dark: #242424;
}

body {
    background: #fff;
    color: var(--color-text-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--color-primary); color: #fff; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

img { max-width: 100%; }

.bg-tint { background: var(--color-bg-tint); }
.bg-dark { background: var(--color-bg-dark); }

.section-label {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .12em;
}

.text-balance { text-wrap: balance; }

/* ---------- ロゴ（ヘッダー／フッター） ---------- */
.logo-mark { height: 36px; width: auto; }
.logo-badge { height: 20px; width: auto; }
@media (min-width: 768px) {
    .logo-mark { height: 48px; }
    .logo-badge { height: 26px; }
}
.logo-mark-ftr { height: 32px; width: auto; }
.logo-badge-ftr { height: 18px; width: auto; }

/* ---------- ヒーロー（shinsei型・単一カラム） ---------- */
.hero-section {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--color-border);
    background:
        linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.98) 56%, rgba(243,240,250,.68) 56%, rgba(243,240,250,.88) 100%);
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: -18px -18px -18px auto;
    width: 47%;
    background:
        linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.62) 45%, rgba(255,255,255,.36) 100%),
        image-set(
            url("images/approach.webp") type("image/webp"),
            url("images/approach.jpg") type("image/jpeg")
        ) center / cover no-repeat;
    filter: blur(7px);
    opacity: .58;
    transform: scale(1.04);
}

.hero-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(61,52,140,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(61,52,140,.06) 1px, transparent 1px);
    background-size: 42px 42px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 52%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 52%, #000 100%);
    pointer-events: none;
}

/* H1：SP 2行×14字以内で折り返す（inline-block 2句）。PC 60px＝FV内で最大（設計値56px以上） */
.hero-h1 {
    font-size: clamp(1.6rem, 7.7vw, 2.35rem);
    line-height: 1.2;
}
@media (min-width: 768px) {
    .hero-h1 { font-size: 3.75rem; }
}

/* ---------- ボタン ---------- */
.btn-primary {
    background-color: var(--color-primary);
    color: #fff;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn-primary:hover {
    background-color: var(--color-primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(61, 52, 140, .20);
}
.btn-primary:active { transform: scale(.98); }
.btn-outline {
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    background: #fff;
    transition: transform .18s ease, background-color .18s ease;
}
.btn-outline:hover { background: var(--color-purple-50); transform: translateY(-2px); }
.btn-ondark {
    background: #fff;
    color: var(--color-primary);
    transition: transform .18s ease, box-shadow .18s ease;
}
.btn-ondark:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(0,0,0,.25); }

/* ---------- ③ 対比表・図解 ---------- */
.cmp-row { border-bottom: 1px solid var(--color-border); }
.cmp-row:last-child { border-bottom: 0; }
.cmp-after { background: var(--color-purple-50); }

.flow-chain { list-style: none; margin: 0; padding: 0; }
.flow-chain li {
    position: relative;
    padding: 12px 14px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    line-height: 1.6;
    color: #404040;
}
.flow-chain li + li { margin-top: 22px; }
.flow-chain li + li::before {
    content: "";
    position: absolute;
    left: 24px;
    top: -22px;
    width: 0; height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid var(--color-purple-300);
    transform: translateY(6px);
}
.flow-chain .who {
    display: inline-block;
    min-width: 3.5em;
    margin-right: 10px;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--color-purple-100);
    color: var(--color-primary);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
}
.flow-chain .who-mine { background: var(--color-primary); color: #fff; }
.flow-chain .end {
    font-weight: 700;
    color: #404040;
    background: var(--color-bg-tint);
}
.flow-chain .end-good {
    color: #fff;
    background: var(--color-primary);
    border-color: var(--color-primary);
}
.flow-chain .end-good::before { border-top-color: var(--color-primary); }

/* ---------- ⑥ 対応範囲の表（PC＝表／SP＝カード） ---------- */
.scope-row { border-bottom: 1px solid var(--color-border); }
.scope-row:last-child { border-bottom: 0; }

/* ---------- ⑧ 依頼の流れ ---------- */
.step-dot {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700;
    position: relative; z-index: 1; flex-shrink: 0;
}
.step-dot.is-last { background: var(--color-purple-300); }
.step-line {
    position: absolute;
    top: 20px; left: calc(100% / 10); right: calc(100% / 10);
    height: 2px;
    background: var(--color-purple-100);
    z-index: 0;
}

/* ---------- ⑨ FAQ アコーディオン ---------- */
.faq-content {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .28s ease, opacity .2s ease;
}
.faq-content > div { overflow: hidden; min-height: 0; }
.faq-item.active .faq-content { grid-template-rows: 1fr; opacity: 1; }
.faq-plus { transition: transform .25s ease; }
.faq-item.active .faq-plus { transform: rotate(45deg); }

/* ---------- ⑩ フォーム ---------- */
.field.invalid input { border-color: #b3261e; }
.field .err { display: none; color: #b3261e; font-size: 13px; margin-top: 6px; }
.field.invalid .err { display: block; }

/* ---------- privacy.html ---------- */
.legal { padding: 64px 0 88px; }
.legal h1 { font-size: clamp(26px, 3vw, 34px); font-weight: 700; color: #242424; letter-spacing: -.01em; margin-bottom: 18px; }
.legal .lead { font-size: 15px; line-height: 1.9; color: #555; margin-bottom: 44px; max-width: 46em; }
.legal section { margin-bottom: 36px; max-width: 46em; }
.legal h2 { font-size: 17px; font-weight: 700; color: #242424; padding-bottom: 10px; border-bottom: 1px solid #e5e2ec; margin-bottom: 16px; }
.legal p { font-size: 15px; line-height: 1.9; color: #555; margin-bottom: 12px; }
.legal ul { list-style: none; margin: 6px 0 12px; padding: 0; }
.legal ul li { font-size: 15px; line-height: 1.9; color: #555; padding-left: 20px; position: relative; }
.legal ul li::before { content: "・"; position: absolute; left: 2px; color: #b8aedc; }
.legal .note { font-size: 13px; line-height: 1.8; color: #6b6780; margin-top: 10px; }
.legal .mail { font-weight: 700; color: #3d348c; }
.legal dl { display: grid; grid-template-columns: 160px 1fr; gap: 10px 20px; font-size: 15px; line-height: 1.8; margin: 0; }
.legal dt { font-weight: 700; color: #242424; }
.legal dd { color: #555; margin: 0; }
@media (max-width: 760px) {
    .legal { padding: 48px 0 64px; }
    .legal dl { grid-template-columns: 1fr; gap: 2px 0; }
    .legal dt { margin-top: 10px; }
}

/* ---------- 動き ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

@media (max-width: 1023px) {
    .hero-section {
        background: linear-gradient(180deg, #fff 0%, #fff 68%, var(--color-purple-50) 100%);
    }
    .hero-section::before { display: none; }
    .hero-section::after {
        opacity: .45;
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 60%, #000 100%);
        mask-image: linear-gradient(180deg, transparent 0%, #000 60%, #000 100%);
    }
}

/* ===== visual polish variant 2026-09-08 ===== */
main > section { position: relative; }
.hero-section { background: linear-gradient(90deg, #fff 0%, #fff 52%, rgba(243,240,250,.88) 52%, rgba(243,240,250,.96) 100%); }
.hero-section::before { inset: 0 0 0 auto; width: 48%; background-image: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.70) 26%, rgba(243,240,250,.13) 100%), image-set(url("images/approach.webp") type("image/webp"), url("images/approach.jpg") type("image/jpeg")); background-position: 0 0, 62% center; background-size: auto, cover; background-repeat: no-repeat; opacity: .86; }
.hero-section::after { background-size: 36px 36px; -webkit-mask-image: linear-gradient(90deg, transparent 38%, #000 57%, #000 100%); mask-image: linear-gradient(90deg, transparent 38%, #000 57%, #000 100%); }
.hero-section .max-w-4xl { max-width: 48rem; }
.hero-section .text-brand-600:first-child { display: inline-flex; align-items: center; gap: 10px; letter-spacing: .02em; }
.hero-section .text-brand-600:first-child::before { width: 28px; height: 2px; background: currentColor; content: ""; }
.hero-h1 { letter-spacing: -.035em; }
.btn-primary { box-shadow: 0 5px 12px rgba(61, 52, 140, .13); }

#service .mt-8.grid > div { position: relative; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
#service .mt-8.grid > div::before { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: var(--color-primary); content: ""; opacity: .78; }
#service .mt-8.grid > div:hover { border-color: var(--color-purple-300); box-shadow: 0 12px 26px rgba(36,36,36,.08); transform: translateY(-3px); }
#scope .scope-row { transition: background-color .18s ease; }
#scope .scope-row:hover { background: var(--color-bg-soft); }

#proof { overflow: hidden; background: radial-gradient(circle at 92% 8%, rgba(93,78,181,.28), transparent 29%), var(--color-bg-dark); }
#proof::after { position: absolute; right: -8%; bottom: -30%; width: 430px; height: 430px; border: 1px solid rgba(184,174,220,.18); border-radius: 50%; content: ""; pointer-events: none; }
#proof > div { position: relative; z-index: 1; }
#proof .grid.grid-cols-3 > div { border: 1px solid rgba(255,255,255,.12); box-shadow: 0 8px 18px rgba(0,0,0,.12); }
#contact .rounded-md.border { box-shadow: 0 14px 34px rgba(36,36,36,.06); }

.mobile-contact-bar { display: none; }
@media (max-width: 767px) {
    body { padding-bottom: 76px; }
    .hero-section .text-brand-600:first-child { gap: 8px; }
    .hero-section .text-brand-600:first-child::before { width: 20px; }
    .mobile-contact-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 60; display: flex; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--color-border); background: rgba(255,255,255,.96); box-shadow: 0 -8px 24px rgba(36,36,36,.09); backdrop-filter: blur(10px); }
    .mobile-contact-bar a { width: 100%; }
}
/* 承認済み改善版。style.css は複製元のまま保持。
   本ファイルで旧装飾を無効化し、追加の意味別クラスを定義する。
   Tailwindの再生成・CDN・新規フォントには依存しない。 */

.refined-page { color: #242424; }
.refined-page main > section:not(.hero-section) { padding-block: 64px; }
.refined-page main > section > div > .mb-10,
.refined-page main > section > div > .mb-12 { margin-bottom: 32px; }
.refined-page main .section-label { font-weight: 500; letter-spacing: .04em; }
.refined-page main .shadow-soft { box-shadow: none; }
.refined-page main p, .refined-page main li, .refined-page main dd { overflow-wrap: anywhere; }
.refined-page a:focus-visible, .refined-page button:focus-visible {
    outline: 2px solid #3d348c;
    outline-offset: 4px;
}
.refined-page #proof a:focus-visible { outline-color: #fff; }

/* FV：コピーとモデルを重ねず、別の領域として読ませる。 */
.refined-page .hero-section { background: #fff; overflow: visible; }
.refined-page .hero-section::before,
.refined-page .hero-section::after,
.refined-page .hero-section .text-brand-600:first-child::before { content: none; }
.hero-shell {
    display: grid;
    align-items: center;
    gap: 32px;
    max-width: 1440px;
    margin-inline: auto;
    padding: 48px 20px 56px;
}
.hero-shell > * { min-width: 0; }
.refined-page .hero-copy { padding: 0; }
.refined-page .hero-copy > div { max-width: none; }
.refined-page .hero-copy > div > p:first-child {
    display: block;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0;
}
.refined-page .hero-copy > div > p.mt-6 {
    max-width: 34em;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.85;
}
.refined-page .hero-copy > div > p.mt-3 { font-weight: 400; }
.refined-page .hero-h1 { line-height: 1.35; letter-spacing: -.035em; }
.refined-page .hero-h1 span { display: block; }
.hero-sample { width: 100%; max-width: 760px; margin: 0; justify-self: center; }
.hero-sample img { display: block; width: 100%; height: auto; object-fit: contain; }
.hero-sample figcaption { margin-top: 12px; color: #555; font-size: 13px; line-height: 1.7; }

/* 比較表＝詳細、人物＝状況。画像を囲むカードと工程箱は使わない。 */
.refined-page #change { background: #fff; border-top: 1px solid #e5e2ec; }
.refined-page #change .cmp-after { background: #f6f6f6; font-weight: 400; }
.refined-page #change > div > .rounded-md { border-radius: 0; }
.people-comparison { display: grid; gap: 32px; margin-top: 40px; }
.people-scene { min-width: 0; margin: 0; }
.people-scene picture { display: block; }
.people-label { color: #666; font-size: 14px; font-weight: 500; }
.people-label-after { color: #3d348c; }
.change-illustration { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; margin-block: 8px 16px; }
.people-scene figcaption { max-width: 29em; font-size: 16px; line-height: 1.85; color: #242424; }
.refined-page #change > div > .mt-8.flex {
    margin-top: 40px;
    padding: 24px 0 0;
    border: 0;
    border-top: 1px solid #e5e2ec;
    background: transparent;
}
.refined-page #change > div > .mt-8.flex > p { font-weight: 400; }
.refined-page #scenes { border-top: 1px solid #e5e2ec; }
.refined-page #scenes dd { font-weight: 400; }

/* サービス：同じ箱4枚ではなく、同じ基準線で組む2×2の情報。 */
.refined-page #service { background: #f7f7f7; }
.service-grid { display: grid; gap: 32px; margin-top: 32px; }
.service-item { min-width: 0; padding-top: 20px; border-top: 1px solid #d5d5d5; }
.service-item > p { color: #666; font-weight: 500; font-variant-numeric: tabular-nums; }
.service-item h3 { margin-top: 10px; line-height: 1.65; }
.service-item ul { margin-top: 16px; font-weight: 400; line-height: 1.9; }
.service-item li::marker { color: #777; }

/* 図面は切り抜かず、クリックで元画像へ。BPO実績とは分けて掲載する。 */
.drawing-samples { margin-top: 48px; padding-top: 32px; border-top: 1px solid #d5d5d5; }
.sample-heading-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; margin-bottom: 24px; }
.sample-heading-row h3 { font-size: 20px; font-weight: 700; }
.sample-heading-row p { font-size: 13px; line-height: 1.7; color: #555; }
.drawing-grid { display: grid; gap: 28px; }
.drawing-grid figure { min-width: 0; margin: 0; }
.drawing-grid a { display: block; background: #fff; cursor: zoom-in; }
.drawing-grid a:hover { outline: 1px solid #777; outline-offset: 3px; }
.drawing-grid img { display: block; width: 100%; height: auto; aspect-ratio: 1258 / 728; object-fit: contain; }
.drawing-grid figcaption { margin-top: 10px; font-size: 14px; color: #555; }

/* 非操作要素のアニメーションと、実績・フォームの装飾を外す。 */
.refined-page #scope .scope-row { transition: none; }
.refined-page #scope .scope-row:hover { background: transparent; }
.refined-page #scope .rounded-md { border-radius: 0; }
.refined-page #proof { background: #242424; }
.refined-page #proof::after { content: none; }
.refined-page #proof .grid.grid-cols-3 > div { border: 0; border-radius: 0; box-shadow: none; }
.refined-page #contact .rounded-md.border { box-shadow: none; }
.refined-page #contact .bg-brand-50 { background: #f6f6f6; border-color: #d5d5d5; }
.refined-page #flow .lg\:hidden > li { border: 0; border-bottom: 1px solid #e5e2ec; border-radius: 0; padding-inline: 0; background: transparent; }

@media (min-width: 768px) {
    .refined-page main > section:not(.hero-section) { padding-block: 80px; }
    .hero-shell { padding: 64px 32px; gap: 40px; }
    .people-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin-top: 48px; }
    .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; row-gap: 40px; }
    .drawing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
@media (min-width: 1280px) {
    /* 長いH1に640px以上を確保しつつ、断面パースを右側に大きく挿入。
       文字と画像の領域は分離したまま、切り抜き・背景化・変形はしない。 */
    .hero-shell { grid-template-columns: minmax(640px, 1.05fr) minmax(0, 1fr); gap: 24px; padding-block: 64px; }
    .refined-page .hero-h1 { font-size: 56px; }
    .hero-sample { max-width: none; justify-self: end; }
}
@media (max-width: 767px) {
    /* ロゴとCTAを狭幅でも同居させ、固定バーのセーフエリア分を確保。 */
    .refined-page > header .logo-mark { width: clamp(100px, 32vw, 132px); height: auto; }
    .refined-page > header .logo-badge { width: 28px; height: auto; }
    .refined-page > header .btn-primary { padding-inline: 12px; font-size: 13px; }
    .refined-page { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .refined-page .mobile-contact-bar { box-shadow: none; }
    .refined-page #contact input,
    .refined-page #contact textarea,
    .refined-page #contact button { scroll-margin-block: 96px; }
}
/* 共有FVスクリーンショットに沿った背景版。適用範囲はFVのみ。 */
.refined-page .hero-reference { position: relative; isolation: isolate; overflow: hidden; background: #fff; }
.refined-page .hero-reference .hero-shell {
    display: block; max-width: 1440px; margin: auto;
    padding: 64px 64px 72px; min-height: 570px;
}
.refined-page .hero-reference .hero-copy { position: relative; z-index: 2; max-width: 800px; padding: 0; }
.refined-page .hero-reference .hero-copy > div { max-width: none; }
.hero-reference .hero-backdrop {
    position: absolute; z-index: -2; inset: -18px -18px -18px auto;
    width: 57%; pointer-events: none; overflow: hidden;
    filter: blur(7px); opacity: .58;
}
.hero-reference .hero-backdrop picture { display: block; width: 100%; height: 100%; }
.hero-reference .hero-backdrop img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 58% center; }
.refined-page .hero-reference::before {
    content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, #fff 0%, #fff 39%, rgba(255,255,255,.96) 47%, rgba(255,255,255,.62) 68%, rgba(255,255,255,.36) 100%);
    width: auto; filter: none; opacity: 1; transform: none;
}
.refined-page .hero-reference::after {
    content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none;
    background-image: linear-gradient(rgba(61,52,140,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(61,52,140,.055) 1px,transparent 1px);
    background-size: 42px 42px;
    -webkit-mask-image: linear-gradient(90deg,transparent 30%,#000 60%);
    mask-image: linear-gradient(90deg,transparent 30%,#000 60%);
}
.refined-page .hero-reference .hero-copy > div > p:first-child {
    margin: 0; display: flex; align-items: baseline; gap: 12px;
    font-size: 17px; font-weight: 700; line-height: 1.8; color: #3d348c;
}
.refined-page .hero-reference .hero-copy > div > p:first-child::before {
    content: ""; flex: 0 0 28px; height: 2px; background: #3d348c; align-self: center;
}
.refined-page .hero-reference .hero-h1 { margin-top: 20px; font-size: 60px; line-height: 1.3; letter-spacing: -.035em; font-weight: 700; color: #242424; }
.refined-page .hero-reference .hero-h1 > .hero-heading-line { display: block; }
.refined-page .hero-reference .hero-h1 .hero-phrase { display: inline-block; }
.refined-page .hero-reference .hero-heading-benefit { color: #242424; }
.refined-page .hero-reference .hero-copy > div > p.mt-6 { margin-top: 24px; max-width: 39em; font-size: 18px; font-weight: 700; line-height: 1.7; color: #444; }
.refined-page .hero-reference .hero-actions { display: flex; flex-direction: row; align-items: center; gap: 16px; margin-top: 32px; }
.refined-page .hero-reference .hero-actions a { min-height: 56px; padding: 14px 28px; font-size: 16px; font-weight: 700; white-space: nowrap; }
.refined-page .hero-reference .hero-actions .btn-primary { background: #3d348c; }
.refined-page .hero-reference .hero-actions .btn-outline { background: rgba(255,255,255,.92); border: 1px solid #3d348c; color: #3d348c; }
.refined-page .hero-reference .hero-copy > div > p.mt-3 { margin-top: 12px; max-width: 42em; font-size: 14px; line-height: 1.8; font-weight: 400; color: #555; }
@media (min-width: 1440px) {
    .refined-page .hero-reference .hero-shell { padding-block: 80px; min-height: 620px; }
    .refined-page .hero-reference .hero-h1 { font-size: 64px; }
}
@media (min-width: 768px) and (max-width: 1100px) {
    .refined-page .hero-reference .hero-shell { padding: 56px 40px 64px; }
    .refined-page .hero-reference .hero-copy { max-width: 700px; }
    .refined-page .hero-reference .hero-h1 { font-size: 56px; }
}
@media (max-width: 767px) {
    .refined-page .hero-reference .hero-shell { padding: 36px 20px 48px; min-height: 0; }
    .refined-page .hero-reference .hero-copy > div > p:first-child { font-size: 14px; gap: 8px; }
    .refined-page .hero-reference .hero-copy > div > p:first-child::before { flex-basis: 16px; }
    .refined-page .hero-reference .hero-h1 { margin-top: 20px; font-size: clamp(26px,8.27vw,40px); line-height: 1.4; }
    .refined-page .hero-reference .hero-copy > div > p.mt-6 { margin-top: 22px; font-size: 16px; line-height: 1.85; }
    .refined-page .hero-reference .hero-actions { margin-top: 28px; gap: 12px; }
    .refined-page .hero-reference .hero-actions a { flex: 1; min-width: 0; padding: 14px 8px; font-size: 14px; }
    .refined-page .hero-reference .hero-copy > div > p.mt-3 { font-size: 13px; }
    .hero-reference .hero-backdrop { width: 100%; opacity: .28; }
    .refined-page .hero-reference::before { background: linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.88) 55%,rgba(255,255,255,.65)); }
}
/* 指定された相談CTAのみ、文章→ボタンの中央揃えに変更。 */
.refined-page #change > div > .mt-8.flex {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 20px;
}

/* 2つの依頼方法：見出し・流れ・説明を同じ順に揃える。 */
.refined-page #scope { background: #fbfbfd; }
.request-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.request-type { background:#fff; border:1px solid #e5e2ec; border-radius:8px; padding:28px 28px 30px; min-width:0; }
.request-type .request-type-label { display:inline-block; color:#3d348c; background:#f3f0fa; font-size:15px; font-weight:700; margin:0 0 16px; padding:5px 12px; border-radius:4px; }
.request-type h3 { font-size:25px; line-height:1.55; font-weight:700; color:#242424; margin:0 0 22px; letter-spacing:-.02em; }
.request-visual { padding:22px 16px 18px; margin-bottom:22px; background:#f7f7fa; border-radius:4px; }
.request-flow { display:grid; grid-template-columns:1fr 18px 1fr 18px 1fr; gap:6px; align-items:center; text-align:center; }
.request-flow > span { display:flex; align-items:center; justify-content:center; min-height:48px; border:1px solid #d8d5e3; background:#fff; border-radius:4px; color:#555; font-size:13px; font-weight:500; white-space:nowrap; }
.request-flow .flow-work { border-color:#b8aedc; color:#3d348c; font-weight:700; }
.request-flow b { color:#8a859e; font-size:18px; font-weight:400; }
.request-flow .flow-repeat { color:#3d348c; font-size:22px; }
.request-visual > p { margin:14px 0 0; text-align:center; color:#555; font-size:13px; line-height:1.6; }
.request-type > p:not(.request-type-label) { font-size:15px; line-height:1.85; color:#555; margin-top:12px; }
.request-types-note { margin-top:28px; padding:0 20px; text-align:center; font-size:15px; line-height:1.8; color:#555; }
@media (max-width:1000px) and (min-width:768px) {
 .request-type { padding:24px 20px; }
 .request-type h3 { font-size:21px; }
 .request-visual { padding-inline:10px; }
 .request-flow { gap:3px; grid-template-columns:1fr 14px 1fr 14px 1fr; }
}
@media (max-width:767px) {
 .request-types { grid-template-columns:minmax(0,1fr); gap:20px; }
 .request-type { padding:24px 20px; }
 .request-type h3 { font-size:22px; }
 .request-visual { padding:20px 10px 16px; }
 .request-flow { gap:3px; grid-template-columns:1fr 14px 1fr 14px 1fr; }
 .request-flow > span { font-size:12px; }
 .request-types-note { text-align:left; padding-inline:0; }
}

/* 文章途中の固定改行を避け、利用できる横幅で自然に折り返す。 */
.refined-page main h1, .refined-page main h2, .refined-page main h3 {
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    line-break: strict;
}
.refined-page main > section > div > .mb-10,
.refined-page main > section > div > h2.max-w-3xl { max-width: none; }
/* FVは固定の改行を入れず、短すぎる最終行を避ける。 */
.refined-page .hero-reference .hero-h1 { text-wrap: balance; }
@media (min-width:768px) {
    .request-type h3 { min-height:3.1em; }
}

/* 中間CTAを独立した相談エリアとして強調。 */
.refined-page #change > div > .mt-8.flex,
.refined-page #proof > div > .mt-12.flex {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 36px 28px;
    border-radius: 8px;
    text-align: center;
}
.refined-page #change > div > .mt-8.flex {
    border: 1px solid #dcd6ed;
    background: #f4f2fa;
}
.refined-page #proof > div > .mt-12.flex {
    border: 1px solid #626262;
    background: #303030;
}
.refined-page #change > div > .mt-8.flex > p,
.refined-page #proof > div > .mt-12.flex > p {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}
.refined-page a[data-cta="change-contact"],
.refined-page a[data-cta="proof-contact"] {
    width: 320px;
    max-width: 100%;
    min-height: 64px;
    padding: 16px 32px;
    font-size: 18px;
    font-weight: 700;
    box-shadow: 0 5px 14px rgb(34 26 70 / 16%);
}
.refined-page a[data-cta="change-contact"] { background: #3d348c; color: #fff; }
.refined-page a[data-cta="proof-contact"] { background: #fff; color: #3d348c; border: 1px solid #fff; }
.refined-page a[data-cta="change-contact"]:hover { background: #30286f; }
.refined-page a[data-cta="proof-contact"]:hover { background: #f1edf9; }
@media (max-width:767px) {
    .refined-page #change > div > .mt-8.flex,
    .refined-page #proof > div > .mt-12.flex { padding: 28px 20px; gap: 20px; }
    .refined-page #change > div > .mt-8.flex > p,
    .refined-page #proof > div > .mt-12.flex > p { font-size: 19px; }
    .refined-page a[data-cta="change-contact"],
    .refined-page a[data-cta="proof-contact"] { min-height: 60px; }
}
