/*
  hero.css — ファーストビュー（sec_hero・採用FV1「透明なシールド」）
  1081px 以上は assets/hero-shield.png を背景にし、絵の左の余白に文字を置く。
  1080px 以下は 文字 → シールドの絵（.visual）の順に縦へ並べ、文字と絵を重ねない。
*/
.sec_hero {
    padding: 96px 0 88px;
    /* 絵の左端の色（#fbfcfd）で埋めるので、広い画面でも左に継ぎ目が出ない */
    background: #fbfcfd url("../assets/hero-shield.png") right -24px center / auto 100% no-repeat;
    border-bottom: 1px solid #dde6f2;

    @media (max-width: 1200px) {
        padding: 80px 0 72px;
    }

    @media (max-width: 1080px) {
        padding: 48px 0 44px;
        background: linear-gradient(180deg, #fbfcfd 0%, #e9f1fb 100%);
    }

    @media (max-width: 480px) {
        padding: 36px 0 32px;
    }

    & .wrap {
        margin: 0 auto;
        padding: 0 var(--wrap-pad);
        max-width: var(--wrap-max);
    }

    & .txtbox {
        max-width: 680px;
    }

    /* メインビジュアルの見出しなので、画面幅に合わせて大きさを変える（芯8の例外） */
    & .ttl {
        color: var(--color-navy);
        font-size: clamp(30px, 4.45vw, 64px);
        font-weight: 700;
        line-height: 1.35em;
        letter-spacing: 0.02em;

        @media (max-width: 1080px) {
            font-size: clamp(30px, 6vw, 52px);
        }
    }

    & .line {
        display: block;
    }

    /* 意味のまとまりで改行させる */
    & .phrase {
        display: inline-block;
    }

    & .lead {
        margin-top: 24px;
        color: var(--color-text);
        font-size: 28px;
        line-height: 1.6em;
        letter-spacing: 0.04em;

        @media (max-width: 1200px) {
            font-size: 24px;
        }

        @media (max-width: 480px) {
            margin-top: 16px;
            font-size: 20px;
            letter-spacing: 0.02em;
        }

        & .phrase {
            @media (max-width: 600px) {
                display: inline;
            }
        }
    }

    /* 静的なラベル（押せる部品ではない） */
    & .tag {
        margin-top: 32px;
        padding: 6px 18px;
        width: fit-content;
        background: var(--color-accent);
        border-radius: 3px;
        color: #fff;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.4em;
        letter-spacing: 0.04em;

        @media (max-width: 1200px) {
            margin-top: 28px;
            font-size: 20px;
        }

        @media (max-width: 480px) {
            margin-top: 22px;
            padding: 5px 14px;
            font-size: 18px;
        }
    }

    & .guide {
        margin-top: 18px;
        color: var(--color-navy);
        font-size: 24px;
        line-height: 1.6em;
        letter-spacing: 0.02em;

        @media (max-width: 1200px) {
            font-size: 22px;
        }

        @media (max-width: 480px) {
            margin-top: 14px;
            font-size: 18px;
        }
    }

    & .note {
        margin-top: 10px;
        color: var(--color-muted);
        font-size: 18px;
        line-height: 1.7em;
        letter-spacing: 0.04em;

        @media (max-width: 1200px) {
            font-size: 16px;
        }

        @media (max-width: 480px) {
            font-size: 14px;
            letter-spacing: 0.02em;
        }
    }

    /* 1080px 以下で文字の下に出すシールドの絵（PC では背景に出しているので消す） */
    & .visual {
        display: none;

        @media (max-width: 1080px) {
            margin: 32px auto 0;
            max-width: 560px;
            aspect-ratio: 4 / 3;
            display: block;
            background: #eaf3fc url("../assets/hero-shield.png") right center / cover no-repeat;
            border: 1px solid #d6e2f1;
            border-radius: 8px;
        }

        @media (max-width: 480px) {
            margin-top: 24px;
        }
    }
}

/* 最終更新: 2026-11-11 12:18 */
