/* Shared visual language for the original LP sections. */
:root { --cf-ink: #19354a; --cf-muted: #42566a; --cf-blue: #126da0; --cf-pale: #f1f8fb; --cf-line: #d7e7ed; --cf-orange: #d66a49; }
.legacy-section-spacing { font-family: "Noto Sans JP", sans-serif; color: var(--cf-ink); }
.legacy-section-spacing > .container > h2 { font-size: 40px; font-weight: 700; line-height: 1.5; color: var(--cf-ink); margin-bottom: 32px; }
.legacy-section-spacing > .container > h2::before { content: none; }
.legacy-section-spacing > .container > h2::after { content: ""; display: block; width: 80px; height: 4px; background: var(--cf-blue); margin: 20px auto 0; }
.legacy-section-spacing .sub-heading { font-size: 16px; line-height: 1.8; font-weight: 500; color: var(--cf-blue); margin-bottom: 12px; }
.legacy-section-spacing .sub-heading span { border: 0; background: none; color: inherit; padding: 0; }
.usecase.legacy-section-spacing, .faq.legacy-section-spacing, .company.legacy-section-spacing { background: var(--cf-pale); }
.flow.legacy-section-spacing, .consulting.legacy-section-spacing, .form.legacy-section-spacing, .news-list.legacy-section-spacing { background: #fff; }
.legacy-section-spacing .usecase-box { border-radius: 10px; padding: 28px; min-width: 0; }
.legacy-section-spacing .industry { background: var(--cf-blue); border-radius: 4px; font-size: 20px; padding: 4px 8px; }
.legacy-section-spacing .usecase-text { color: var(--cf-muted); font-size: 16px; line-height: 1.8; }
.legacy-section-spacing .usecase-text span, .legacy-section-spacing .flow-step h3 { color: var(--cf-blue); }
.legacy-section-spacing .usecase-text-2 { color: var(--cf-ink); font-size: 20px; line-height: 1.8; }
.legacy-section-spacing .usecase-header { gap: 16px; }
.legacy-section-spacing .usecase-img { width: 90px; height: 90px; margin-right: 0; }
.legacy-section-spacing .usecase-detail { min-width: 0; }
.legacy-section-spacing .flow-step { border: 1px solid var(--cf-line); border-radius: 10px; background: var(--cf-pale); padding: 24px 16px; }
.legacy-section-spacing .flow-list { align-items: stretch; }
.legacy-section-spacing .flow-step { display: flex; flex-direction: column; }
.legacy-section-spacing .flow-step p { flex-grow: 1; }
.legacy-section-spacing .flow-arrow { align-self: center; }
.legacy-section-spacing .flow-step h3 { font-size: 22px; line-height: 1.5; }
.legacy-section-spacing .flow-step p { color: var(--cf-muted); font-size: 16px; line-height: 1.8; }
.legacy-section-spacing .flow-arrow::after { border-left-color: var(--cf-blue); }
.legacy-section-spacing .consulting-body { border-radius: 10px; background: var(--cf-pale); }
.legacy-section-spacing .consulting-body p { font-size: 16px; line-height: 1.8; font-weight: 400; color: var(--cf-muted); }
.legacy-section-spacing .faq-item { border-radius: 10px; margin-bottom: 16px; }
.legacy-section-spacing .faq-question-area { padding: 24px; list-style: none; }
.legacy-section-spacing .faq-question-area::-webkit-details-marker { display: none; }
.legacy-section-spacing .faq-question-area:focus-visible { outline: 3px solid var(--cf-blue); outline-offset: -4px; }
.legacy-section-spacing .faq-q { color: var(--cf-blue); }
.legacy-section-spacing .faq-a { color: var(--cf-orange); }
.legacy-section-spacing .faq-toggle-btn { background: var(--cf-blue); }
.legacy-section-spacing .faq-answer-area { max-height: none; transition: none; }
.legacy-section-spacing .faq-item[open] .faq-toggle-btn::after { transform: translate(-50%,-50%) rotate(90deg); }
.legacy-section-spacing .faq-answer-content { padding: 20px 24px 24px; align-items: flex-start; }
.legacy-section-spacing .faq-answer-content p { color: var(--cf-muted); }
.legacy-section-spacing .faq-divider { background: var(--cf-line); }
.legacy-section-spacing .form-message { font-size: 16px; line-height: 1.8; color: var(--cf-muted); }
.legacy-section-spacing .form-wrap :is(input,select,textarea,button) { font-family: inherit; }
.legacy-section-spacing .form-wrap :is(input[type="submit"],button[type="submit"]) { background: var(--cf-orange); color: #fff; border-radius: 40px; }
.legacy-section-spacing .company-table tr { border-color: var(--cf-line); }
.legacy-section-spacing .company-table td { color: var(--cf-muted); }
.legacy-section-spacing a:not(.wp-block-button__link) { color: var(--cf-blue); }
.legacy-section-spacing a:focus-visible { outline: 3px solid var(--cf-blue); outline-offset: 4px; }
.footer { background: var(--cf-ink); font-family: "Noto Sans JP",sans-serif; }
@media (min-width:769px) and (max-width:1100px) {
    .legacy-section-spacing .usecase-header { flex-direction: column; }
    .legacy-section-spacing .usecase-detail { width: 100%; }
    .legacy-section-spacing .usecase-box { padding: 20px; }
}
@media (max-width:768px) {
    .legacy-section-spacing > .container > h2 { font-size: clamp(24px,5.5vw,32px); margin-bottom: 28px; }
    .legacy-section-spacing .sub-heading { font-size: 14px; }
    .legacy-section-spacing .usecase-box { padding: 24px 20px; }
    .legacy-section-spacing .usecase-text, .legacy-section-spacing .flow-step p, .legacy-section-spacing .consulting-body p, .legacy-section-spacing .form-message { font-size: 14px; }
    .legacy-section-spacing .usecase-text-2 { font-size: 18px; }
    .legacy-section-spacing .flow-arrow::after { border-left-color: transparent; border-top-color: var(--cf-blue); }
    .legacy-section-spacing .flow-list { align-items: stretch; }
    .legacy-section-spacing .faq-question-area { padding: 20px 16px; }
    .legacy-section-spacing .faq-answer-content { padding: 16px; }
    .legacy-section-spacing .faq-text { font-size: 16px; line-height: 1.7; }
    .legacy-section-spacing .faq-toggle-btn { margin-left: 12px; }
    .legacy-section-spacing .consulting-body p { padding: 24px 20px; }
    /* Keep the two-column badges directly below the copy, beside the photo. */
    .corporate-fv__photo { grid-row: 1 / 3; }
    .corporate-fv__results { grid-column: 1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 8px; }
    .corporate-fv__result { height: 64px; padding-inline: 15px; gap: 5px; }
    .corporate-fv__result::before,.corporate-fv__result::after { width: 15px; height: 44px; }
    .corporate-fv__result-label { font-size: 10px; line-height: 1.4; }
    .corporate-fv__result-value,.corporate-fv__result:last-child .corporate-fv__result-value { font-size: 10px; line-height: 1.4; }
    .corporate-fv__result-value strong,.corporate-fv__result:last-child strong { font-size: 21px; }
    .corporate-fv__result:last-child { justify-self: start; }
    .corporate-fv__feature { flex-direction: column; gap: 10px; padding: 20px 12px; align-items: center; text-align: center; }
    .corporate-fv__feature img { width: 36px; height: 36px; }
    .corporate-fv__feature h3 { font-size: 16px; }
    .corporate-fv__feature p { font-size: 12px; line-height: 1.7; font-weight: 500; }
}
