/*
Theme Name: Voice RENOVA Group Directory
Description: Voice RENOVA旧サイトの4サービス案内ページ
Version: 1.0.0
Requires PHP: 7.4
*/

    :root{color-scheme:light;--ink:#17232d;--muted:#5e6971;--line:#e3e1dc;--paper:#faf9f7;--gold:#b5965b}
    *{box-sizing:border-box}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
    .shell{width:min(1100px,calc(100% - 48px));margin-inline:auto}
    .masthead{background:#fff;border-bottom:1px solid var(--line)}
    .masthead .shell{min-height:72px;display:flex;align-items:center}
    .brand{font-size:17px;font-weight:800;letter-spacing:.07em;text-decoration:none;color:var(--ink)}
    .intro{padding:58px 0 46px;text-align:center}
    .eyebrow{margin:0 0 16px;color:#a67e3d;font-size:12px;font-weight:800;letter-spacing:.18em}
    h1{margin:0;font-size:clamp(32px,5vw,54px);font-weight:700;line-height:1.4;letter-spacing:.04em}
    .intro-copy{margin:18px auto 0;max-width:560px;color:var(--muted);font-size:15px;line-height:1.9}
    .banners{display:grid;gap:22px;padding-bottom:90px}
    .banner{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);height:320px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(23,35,45,.035)}
    .banner-image{min-width:0;height:320px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f3ef;border-right:1px solid #efeee9}
    .banner-image img{display:block;width:100%;height:100%;object-fit:contain}
    .banner--voice .banner-image{background:#dedbd7}
    .banner--voice .banner-image img{object-fit:cover;object-position:center 38%}
    .banner--leaders .banner-image{background:#fff}
    .banner--leaders .banner-image img{width:78%;height:78%}
    .banner--sweet .banner-image{background:#fff}
    .banner--sweet .banner-image img{width:90%;height:90%}
    .banner--momi .banner-image{background:#f6f0df}
    .banner--momi .banner-image img{object-fit:cover;object-position:center 44%}
    .banner-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px 50px}
    .number{margin:0 0 14px;color:#a37c40;font-size:12px;font-weight:800;letter-spacing:.15em}
    .banner h2{margin:0;font-size:clamp(23px,2.6vw,31px);line-height:1.45}
    .description{margin:16px 0 28px;color:var(--muted);font-size:15px;line-height:1.8}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:11px 22px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
    .button:hover{background:#314a5b;border-color:#314a5b;transform:translateY(-2px)}
    .button:focus-visible{outline:3px solid #b5965b;outline-offset:4px}
    .button span{font-size:18px;line-height:1}
    footer{border-top:1px solid var(--line);padding:28px 0 38px;color:#7c858b;font-size:12px;text-align:center}
    @media(max-width:760px){.shell{width:min(100% - 30px,560px)}.intro{padding:48px 0 38px}.intro-copy{font-size:14px}.banners{gap:18px;padding-bottom:68px}.banner{display:block;height:auto}.banner-image{height:240px;border-right:0;border-bottom:1px solid #efeee9}.banner-body{padding:27px 27px 30px}.banner h2{font-size:23px}.description{margin:12px 0 22px;font-size:14px}.button{width:100%}}
    @media(prefers-reduced-motion:reduce){.button{transition:none}}
  