@charset "utf-8";

/*
 * 賃貸仲介業務（PC /legal-entity/lease/）
 * Figma: jogjog.com「ご依頼の流れ」node 24597:115726（px のみ）
 * 計測メモ: 内幅1140px / セクション縦gap 30px / 見出し〜FLOW gap 6px / 見出し群〜リード gap 30px
 * リード 34px bold lh1.45 / 記事下線 #eaeaea pb30 gap10 / 本文18px medium
 * ハイライト #feffd6 padding 30px 40px gap20 / STEP列 80×320 gap12 / 画像 398×205 gap20
 * CTA 636× 角10 border1 shadow 0 2 3 / 左ビジュアル134×102 / 文言198幅
 */

#content {
    width: 100%;
}

#contents {
    width: 100%;
    padding-bottom: 0;
}

.l-main {
    padding-bottom: 0;
}

.l-contents {
    background-color: #fff;
}

.corp-lease-mv {
    width: 100%;
    height: 450px;
}

.corp-lease-mv__title {
    height: 100%;
}

.corp-lease-mv__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- ご依頼の流れ ---------- */
.corp-lease .corp-lease-reqflow {
    margin: 0;
    padding: 0;
}

.corp-lease .corp-lease-reqflow__inner {
    box-sizing: border-box;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
    padding: 60px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.corp-lease .corp-lease-reqflow__hd {
    margin: 0;
    width: 1140px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    text-align: center;
}

.corp-lease .corp-lease-reqflow__hd-top {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.corp-lease .corp-lease-reqflow__title {
    margin: 0;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-primary-grayscale-black);
}

.corp-lease .corp-lease-reqflow__en {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-primary-default-sub);
}

.corp-lease .corp-lease-reqflow__lead {
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.corp-lease .corp-lease-reqflow__lead-line {
    margin: 0;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.45;
    color: var(--color-primary-grayscale-black);
}

.corp-lease .corp-lease-reqflow__lead-accent {
    color: var(--color-primary-default-sub);
}

.corp-lease .corp-lease-reqflow__stack {
    margin: 0;
    width: 1140px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
}

.corp-lease .corp-lease-reqflow__block {
    box-sizing: border-box;
    width: 100%;
    padding: 0 0 29px;
    margin: 0 0 31px;
    border-bottom: 1px solid var(--color-primary-grayscale-gray);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.corp-lease .corp-lease-reqflow__block--second {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 398px;
    column-gap: 30px;
    row-gap: 0;
    align-items: start;
    padding-bottom: 29px;
    margin-bottom: 30px;
}

.corp-lease .corp-lease-reqflow__block--third {
    padding-bottom: 29px;
    margin-bottom: 0;
}

.corp-lease .corp-lease-reqflow__block--second > .corp-lease-reqflow__block-title {
    grid-column: 1 / -1;
    margin: 0 0 10px;
}

.corp-lease .corp-lease-reqflow__block--second > .corp-lease-reqflow__block-body {
    grid-column: 1 / -1;
    margin: 0 0 20px;
}

.corp-lease .corp-lease-reqflow__block--second > .corp-lease-reqflow__highlight {
    grid-column: 1;
    grid-row: 3;
    margin: 0;
}

.corp-lease .corp-lease-reqflow__block--second > .corp-lease-reqflow__figures {
    grid-column: 2;
    grid-row: 3;
    margin: 0;
    width: 398px;
    flex-direction: column;
    gap: 20px;
}

.corp-lease .corp-lease-reqflow__block-title {
    margin: 0 0 10px;
    width: 100%;
    max-width: 335px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-primary-default-sub);
}

.corp-lease .corp-lease-reqflow__block:last-child .corp-lease-reqflow__block-title {
    max-width: none;
}

.corp-lease .corp-lease-reqflow__block-body {
    margin: 0;
    width: 100%;
}

.corp-lease .corp-lease-reqflow__block-body .corp-lease-text {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-primary-grayscale-black);
}

.corp-lease .corp-lease-reqflow__block:last-child .corp-lease-reqflow__block-body .corp-lease-text {
    color: var(--color-primary-grayscale-black);
}

.corp-lease .corp-lease-reqflow__highlight {
    box-sizing: border-box;
    margin: 0;
    width: fit-content;
    max-width: 100%;
    padding: 30px 40px;
    background-color: var(--color-primary-light-main);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.corp-lease .corp-lease-reqflow__highlight-title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    color: var(--color-primary-default-point);
}

.corp-lease .corp-lease-reqflow__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.corp-lease .corp-lease-reqflow__steps::before {
    content: '';
    display: block;
    width: 472px;
    height: 15px;
    background: url(/images/pc/legal-entity/lease/flow_arrow.svg) no-repeat center center / contain;
    position: absolute;
    top: 33px;
    left: 80px;
    z-index: -1;
}

.corp-lease .corp-lease-reqflow__step {
    margin: 0;
    width: 80px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.corp-lease .corp-lease-reqflow__step:not(:last-child)::after {
    display: none;
}

.corp-lease .corp-lease-reqflow__step-inner {
    box-sizing: border-box;
    width: 80px;
    min-height: 320px;
    height: 320px;
    margin: 0;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    background-color: var(--color-primary-grayscale-white);
}

.corp-lease .corp-lease-reqflow__step-meta {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    color: var(--color-primary-default-point);
}

.corp-lease .corp-lease-reqflow__step-label {
    font-size: 16px;
    font-weight: 500;
}

.corp-lease .corp-lease-reqflow__step-num {
    font-size: 24px;
    font-weight: 500;
}

.corp-lease .corp-lease-reqflow__step-rule {
    flex-shrink: 0;
    width: 40px;
    height: 1px;
    min-height: 0;
    margin: 0;
    background-color: var(--color-primary-grayscale-gray);
}

.corp-lease .corp-lease-reqflow__step-name {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.27em;
    color: var(--color-text-default);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
    margin-top: 3px;
}

.corp-lease .corp-lease-reqflow__figures {
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 7px;
}

.corp-lease .corp-lease-reqflow__figure {
    flex: 1 1 0;
    margin: 0;
    min-width: 0;
    line-height: 0;
}

.corp-lease .corp-lease-reqflow__block--second .corp-lease-reqflow__figure {
    flex: 0 0 auto;
    width: 398px;
}

.corp-lease .corp-lease-reqflow__figure-img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.corp-lease .corp-lease-reqflow__block--second .corp-lease-reqflow__figure-img {
    width: 398px;
    height: 205px;
}

/* 専属窓口リクエスト（PC・legal-entity.css と同系） */
.corp-lease .solution-cta__bnr.solution-cta__bnr--request {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    box-sizing: border-box;
    gap: 20px;
    width: 636px;
    max-width: 100%;
    margin: 0;
    padding: 8px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--color-primary-default-brown);
    background: var(--color-primary-default-main);
    box-shadow: 0 2px 3px rgba(38, 50, 56, 0.2);
    transform: translateY(0);
    transition: 0.4s;
    text-decoration: none;
    color: inherit;
    align-self: center;
}

.corp-lease .solution-cta__bnr.solution-cta__bnr--request:hover {
    transform: translateY(4px);
}

.corp-lease .solution-cta__bnr.solution-cta__bnr--request::before {
    content: "";
    background: url(/images/pc/legal-entity/bg_cta_logo.webp) no-repeat center center / contain;
    position: absolute;
    right: 30px;
    bottom: -6px;
    width: 360px;
    height: 70px;
    line-height: 1;
    z-index: 1;
}

.corp-lease .solution-cta__bnr.solution-cta__bnr--request::after {
    content: "";
    position: absolute;
    right: -9px;
    bottom: -7px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #feffd6;
    z-index: 0;
}

.corp-lease .solution-cta__bnr-request-visual {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 134px;
    height: 102px;
    overflow: hidden;
    border-radius: 6px;
    background: #feffd6;
    box-sizing: border-box;
}

.corp-lease .solution-cta__bnr-request-visual img {
    display: block;
    max-width: 134px;
    max-height: 102px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.corp-lease .solution-cta__bnr-request-body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    flex: 0 0 auto;
    width: 198px;
    max-width: min(198px, 100%);
}

.corp-lease .solution-cta__bnr-request-title {
    display: block;
    margin: 0;
    font-size: var(--font-size-xxl);
    font-weight: 500;
    line-height: 1.25;
    color: var(--color-text-default);
    text-align: left;
    white-space: nowrap;
}

.corp-lease .solution-cta__bnr-request-en {
    display: block;
    margin: 0;
    font-size: var(--font-size-m);
    font-weight: 500;
    line-height: 1.25;
    color: var(--color-primary-default-sub);
}

