/* =========================================================
   CreativePocket ── Home（"住宅ファミリー社"参考・リッチ版）
   白基調・ゴシック・特大英語見出し・角丸・黒フッター
   演出：湾曲ヒーロー(スクロールで平坦化) / 列ごとの視差ギャラリー /
        写真上の角丸カード / 出現アニメ / 固定サイドタブ
   ※アクセントは会社テーマカラーの水色（--accent）。色替えはここを変更。
   ========================================================= */
:root{
  --bg:#FFFFFF;
  --bg2:#EEF5F9;         /* 淡い水色寄りのグレー面 */
  --ink:#22303a;
  --ink2:#54636e;        /* サブ文字：コントラスト強化（旧 #6f7d88） */
  --accent:#0068B0;      /* テーマカラー：公式ブルー（Creative Pocket） */
  --accent-d:#00548F;    /* 濃いブルー（文字・ホバー用） */
  --accent-l:#D6E6F5;    /* 薄いブルー（タグ・アクセント面） */
  --panel1:#2E86C4; --panel2:#004E86;   /* ブルーグラデ面（Contact） */
  --footer:#0A2740;      /* 濃紺（ブルー寄り）フッター */
  --line:rgba(34,48,58,.12);
  --wm:#E3ECF3;          /* 大きな英語見出しの薄いグレー（ブルー寄り） */
  --shadow:0 30px 70px rgba(38,38,42,.14);
  --shadow-sm:0 14px 40px rgba(38,38,42,.10);
  --sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --en:"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
.rf{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:clip}
.rf img{max-width:100%;display:block}
.rf.loading{overflow:hidden;height:100vh}
.rf-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}

.rf-prog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:120}
.rf-cur{position:fixed;top:0;left:0;width:9px;height:9px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:115;transform:translate(-50%,-50%);transition:width .35s var(--ease),height .35s var(--ease),opacity .3s}
.rf-cur.big{width:56px;height:56px;opacity:.22}
@media(hover:none){.rf-cur{display:none}}

/* loader */
.rf-load{position:fixed;inset:0;background:var(--bg);z-index:200;display:flex;align-items:center;justify-content:center;transition:opacity .6s .2s}
.rf-load.out{opacity:0;pointer-events:none}
.rf-load .lo{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:rf-sp .8s linear infinite}
@keyframes rf-sp{to{transform:rotate(360deg)}}

/* ============ header ============ */
.rf-head{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,4vw,44px);transition:background .4s,box-shadow .4s,padding .4s;background:rgba(255,255,255,.9)}
.rf-head.hide{transform:translateY(-100%);transition:transform .5s var(--ease)}
.rf-lg{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.rf-lg .mk{width:36px;height:36px;background:var(--accent);border-radius:9px;display:grid;place-items:center}
.rf-lg .mk svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
.rf-lg b{font-size:17px;font-weight:800;letter-spacing:.01em}
.rf-lg small{display:block;font-size:9px;color:var(--ink2);font-weight:600;letter-spacing:.06em}
.rf-lg-img{height:48px;width:auto}
.rf-nav{display:flex;align-items:center;gap:clamp(22px,2.4vw,38px)}
.rf-nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.04em;position:relative;padding-bottom:4px}
.rf-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .35s var(--ease)}
.rf-nav a:hover::after{width:100%}
.rf-cta-btn{background:var(--accent);color:#fff!important;padding:13px 28px;border-radius:100px;font-size:14.5px;font-weight:800}
.rf-cta-btn::after{display:none}
.rf-burger{display:none;flex-direction:column;gap:5px;cursor:pointer}
.rf-burger span{width:24px;height:2px;background:var(--ink);border-radius:2px}
@media(max-width:920px){.rf-nav a:not(.rf-cta-btn){display:none}.rf-burger{display:flex}}

/* fixed side tab（参考の「物件情報」）*/
.rf-side{position:fixed;right:0;bottom:26px;z-index:90;background:var(--accent);color:#fff;text-decoration:none;writing-mode:vertical-rl;padding:16px 10px;border-radius:8px 0 0 8px;font-size:12px;font-weight:800;letter-spacing:.14em;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px}
.rf-side svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
@media(max-width:680px){.rf-side{display:none}}

/* ============ big english heading ============ */
.rf-enh{font-family:var(--en);font-weight:400;line-height:1;letter-spacing:.01em;font-size:clamp(44px,8vw,104px);color:var(--ink)}
.rf-enh.light{color:var(--wm)}
.rf-enh.white{color:#fff}
.rf-jp{font-size:13px;font-weight:700;color:var(--ink2);letter-spacing:.1em;margin-top:14px}
.rf-jp.white{color:rgba(255,255,255,.85)}
.rf-jp .bar{display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:10px}

/* reveal（多彩なバリエーションで"動き"を増量） */
[data-rev]{opacity:0;transform:translateY(48px);transition:opacity 1s var(--ease),transform 1.15s var(--ease)}
[data-rev="left"]{transform:translateX(-80px)}
[data-rev="right"]{transform:translateX(80px)}
[data-rev="up"]{transform:translateY(64px)}
[data-rev="tilt"]{transform:translate(80px,60px) rotate(6deg)}
[data-rev="zoom"]{transform:scale(.9);transform-origin:center}
[data-rev="fade"]{transform:none}
[data-rev="mask"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0)}
[data-rev].in{opacity:1;transform:none}
[data-rev="mask"].in{clip-path:inset(0 0 0 0);transition:clip-path 1.3s var(--ease)}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

.rf-sec{position:relative;padding:clamp(90px,13vh,170px) 0}

/* ============ HERO（湾曲バンド） ============ */
.rf-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 60px;overflow:hidden;background:var(--bg)}
.rf-hero-top{position:relative;z-index:3}
.rf-hero h1{font-family:var(--en);font-weight:500;font-size:clamp(40px,8.5vw,120px);line-height:1;letter-spacing:.005em;color:var(--ink)}
.rf-hero h1 .ln{display:block;overflow:hidden}
.rf-hero h1 .ln span{display:inline-block;transform:translateY(110%);transition:transform 1.1s var(--ease)}
.rf.loaded .rf-hero h1 .ln span{transform:none}
.rf-hero .jphead{font-size:clamp(16px,2.4vw,26px);font-weight:700;color:var(--ink);margin-top:22px;opacity:0;transform:translateY(16px);transition:opacity 1s .5s var(--ease),transform 1s .5s var(--ease)}
.rf.loaded .rf-hero .jphead{opacity:1;transform:none}
/* curved image band */
.rf-hero-band{position:relative;z-index:2;margin-top:40px;height:min(52vh,520px);border-radius:0;overflow:hidden;-webkit-clip-path:url(#rfHeroClip);clip-path:url(#rfHeroClip)}
/* slideshow (crossfade + Ken Burns zoom) */
.rf-hero-band .rf-slides{position:absolute;inset:-6%;will-change:transform}
.rf-hero-band .sl{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease)}
.rf-hero-band .sl.on{opacity:1}
.rf-hero-band .sl img{width:100%;height:100%;object-fit:cover;transform-origin:center;animation:rf-kb 16s ease-in-out infinite alternate}
.rf-hero-band .sl:nth-child(2n) img{animation-direction:alternate-reverse}
@keyframes rf-kb{from{transform:scale(1.03)}to{transform:scale(1.16)}}
.rf-hero-band::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,48,64,.06),rgba(20,48,64,.16));pointer-events:none}
.rf-hero-dots{position:absolute;left:clamp(20px,5vw,56px);top:20px;z-index:3;display:flex;gap:8px}
.rf-hero-dots i{width:22px;height:3px;border-radius:3px;background:rgba(255,255,255,.5);transition:background .4s}
.rf-hero-dots i.on{background:#fff}
.rf-hero-svg{position:absolute;width:0;height:0}
.rf-hero-news{position:absolute;left:clamp(20px,5vw,56px);bottom:24px;z-index:3;display:flex;align-items:center;gap:16px}
.rf-hero-news .en{font-family:var(--en);font-size:14px;font-weight:700}
.rf-hero-news .dt{font-size:11px;color:var(--ink2);font-weight:700}
.rf-hero-news .tx{font-size:13px;font-weight:600}
.rf-scroll{position:absolute;right:clamp(20px,5vw,56px);bottom:24px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink2)}
.rf-scroll .l{width:1px;height:44px;background:var(--line);overflow:hidden;position:relative}
.rf-scroll .l::after{content:"";position:absolute;left:0;top:-44px;width:1px;height:44px;background:var(--accent);animation:rf-scl 1.9s var(--ease) infinite}
.rf-scroll small{font-size:9px;letter-spacing:.2em;font-weight:700;writing-mode:vertical-rl}
@keyframes rf-scl{0%{top:-44px}60%,100%{top:44px}}

/* ============ HERO 3（スプリット＋右に動画＋キネティック文字） ============ */
.rf-hero3{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:110px 0 56px;position:relative;overflow:hidden;background:var(--bg)}
.rf-hero3-in{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(24px,4vw,60px);align-items:center;width:100%}
.rf-hero3 .h3-left{position:relative;z-index:3}
.rf-hero3 .h3-pill{display:inline-block;font-size:12px;font-weight:800;color:var(--accent-d);background:var(--accent-l);border-radius:100px;padding:7px 16px;margin-bottom:22px}
.rf-hero3 .h3-lead{font-size:clamp(20px,2.6vw,30px);font-weight:800;line-height:1.6;margin-bottom:16px}
.rf-hero3 .h3-sub{font-size:14px;line-height:2;color:#54606b;margin-bottom:26px;max-width:36ch}
.rf-hero3 .h3-cta{display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:#fff;text-decoration:none;padding:15px 28px;border-radius:100px;font-size:13px;font-weight:800;transition:transform .3s var(--ease),background .3s}
.rf-hero3 .h3-cta:hover{background:var(--accent-d);transform:translateY(-2px)}
.rf-hero3 .h3-cta .c{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center}
.rf-hero3 .h3-cta .c svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2}
.rf-hero3 .rf-hero-news{position:static;margin-top:30px;display:flex;align-items:center;gap:14px}
/* right: video + kinetic text */
.rf-hero3 .h3-right{position:relative;min-height:min(74vh,600px)}
.rf-h3v{position:absolute;inset:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#cfe6f3}
.rf-h3v .ph,.rf-h3v .vid{width:100%;height:100%;object-fit:cover;display:block}
.rf-h3v .ph{animation:rf-kb 18s ease-in-out infinite alternate;transform-origin:center}
.rf-h3v::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,32,44,.12),rgba(14,32,44,.44));pointer-events:none}
.rf-h3v .vbadge{position:absolute;left:16px;top:16px;z-index:4;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.9);color:var(--accent-d);font-size:10.5px;font-weight:800;letter-spacing:.06em;padding:6px 12px;border-radius:100px}
.rf-h3v .vbadge i{width:0;height:0;border-left:8px solid var(--accent-d);border-top:5px solid transparent;border-bottom:5px solid transparent}
.rf-hero3 .h3-ghost{position:absolute;right:-3%;top:6%;z-index:2;font-family:var(--en);font-weight:700;font-size:min(22vw,270px);line-height:.8;color:rgba(255,255,255,.26);white-space:nowrap;pointer-events:none;animation:rf-drift 16s ease-in-out infinite alternate}
@keyframes rf-drift{from{transform:translateX(6%)}to{transform:translateX(-20%)}}
.rf-hero3 .h3-h1{position:absolute;left:clamp(20px,3vw,44px);bottom:clamp(22px,5vh,56px);z-index:3;font-family:var(--en);font-weight:500;color:#fff;font-size:clamp(34px,5.2vw,82px);line-height:1;letter-spacing:.005em;text-shadow:0 6px 30px rgba(10,26,36,.35)}
.rf-hero3 .h3-h1 .ln{display:block;overflow:hidden}
.rf-hero3 .h3-h1 .ln span{display:inline-block;transform:translateY(110%);transition:transform 1.05s var(--ease)}
.rf.loaded .rf-hero3 .h3-h1 .ln span{transform:none}
.rf.loaded .rf-hero3 .h3-h1 .ln:nth-child(2) span{transition-delay:.12s}
@media(max-width:900px){
  .rf-hero3-in{grid-template-columns:1fr;gap:26px}
  .rf-hero3 .h3-right{order:-1;min-height:58vh}
  .rf-hero3 .h3-h1{font-size:clamp(30px,9vw,58px)}
  .rf-hero3 .h3-ghost{font-size:34vw}
}

/* ============ ABOUT ============ */
.rf-about-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,72px);align-items:center}
.rf-about-photo{border-radius:16px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.rf-about-photo img{width:100%;height:130%;object-fit:cover;position:relative;top:-15%;will-change:transform}
.rf-about-body .rf-jp{margin-top:0;margin-bottom:22px}
.rf-about-body p{font-size:15px;line-height:2.25;color:#4a4a50;margin-bottom:14px}
.rf-more{display:inline-flex;align-items:center;gap:12px;margin-top:26px;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--ink)}
.rf-more .c{width:34px;height:34px;border-radius:50%;background:var(--ink);display:grid;place-items:center;transition:background .3s,transform .3s}
.rf-more .c svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2}
.rf-more:hover .c{background:var(--accent);transform:translateX(4px)}
@media(max-width:820px){.rf-about-in{grid-template-columns:1fr;gap:26px}.rf-about-photo{max-width:520px}}

/* ============ BUSINESS（写真上の角丸カード） ============ */
.rf-biz{position:relative;overflow:hidden;padding:clamp(100px,15vh,190px) 0;color:#fff}
.rf-biz .bg{position:absolute;inset:-8%;z-index:0;will-change:transform}
.rf-biz .bg img{width:100%;height:100%;object-fit:cover}
.rf-biz .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,34,46,.34),rgba(16,34,46,.52))}
.rf-biz .head{position:relative;z-index:2}
.rf-biz .rf-enh{color:rgba(255,255,255,.9)}
.rf-biz-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,30px);margin-top:56px}
.rf-card{background:#fff;color:var(--ink);border-radius:18px;padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.rf-card .no{font-family:var(--en);font-size:13px;font-weight:700;color:var(--ink2);letter-spacing:.08em}
.rf-card .no b{color:var(--accent)}
.rf-card h3{font-size:clamp(18px,2vw,23px);font-weight:800;margin:8px 0 4px}
.rf-card .cap{font-size:12.5px;color:var(--accent-d);font-weight:700;margin-bottom:14px}
.rf-card .im{border-radius:12px;overflow:hidden;aspect-ratio:16/10;margin-bottom:16px}
.rf-card .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.rf-card:hover .im img{transform:scale(1.05)}
.rf-card p{font-size:13px;line-height:1.95;color:#5a5a60;margin-bottom:16px;flex:1}
.rf-card ul{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.rf-card li{font-size:11.5px;font-weight:600;color:var(--ink);background:var(--bg2);border-radius:100px;padding:6px 13px}
.rf-card .vm{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;color:var(--ink);text-decoration:none;margin-top:auto}
.rf-card .vm .c{width:30px;height:30px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.rf-card .vm .c svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2}
.rf-card.med .mp{background:var(--bg2);border-radius:10px;padding:12px 14px;margin-bottom:16px}
.rf-card.med .mp .t{font-size:11.5px;font-weight:800;color:var(--accent-d);margin-bottom:8px}
.rf-card.med .mp .r{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 0;border-bottom:1px solid var(--line)}
.rf-card.med .mp .r:last-child{border-bottom:none}
.rf-card.med .mp .r b{font-weight:700}
.rf-card.med .mp .tag{font-size:9px;font-weight:800;color:#fff;border-radius:100px;padding:2px 9px}
.rf-card.med .mp .tag.m{background:var(--accent)} .rf-card.med .mp .tag.g{background:#8FA47E}
@media(max-width:820px){.rf-biz-grid{grid-template-columns:1fr}}

/* ============ WORKS（3Dカバーフロー・縦→横ピン留め） ============ */
.rf-works{background:var(--bg2)}
.rf-workspin{position:relative}
.rf-workspin .sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:76px}
.rf-feat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.rf-feat-head .rf-more{margin-top:0}
.rf-cover{position:relative;margin-top:clamp(20px,3.5vh,44px);perspective:1600px}
.rf-cstage{position:relative;height:min(52vh,460px);min-height:320px;overflow:hidden;transform-style:preserve-3d}
.rf-cc{position:absolute;left:50%;top:50%;width:min(460px,80vw);aspect-ratio:4/3;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:#fff;background:#cfe6f3;transform:translate(-50%,-50%);will-change:transform,opacity}
.rf-cc img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.rf-cc .lb{position:absolute;left:0;right:0;bottom:0;padding:26px 24px 20px;background:linear-gradient(180deg,transparent,rgba(9,21,31,.4) 42%,rgba(9,21,31,.92))}
.rf-cc .lb .c{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.05em;color:#dbeeff;margin-bottom:6px}
.rf-cc .lb b{font-size:clamp(17px,2.2vw,22px);font-weight:800;display:block;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.rf-cctl{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px}
.rf-cnav{width:54px;height:54px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 12px 28px rgba(55,169,222,.4);transition:background .2s,transform .2s}
.rf-cnav:hover{background:var(--accent-d);transform:translateY(-2px)}
.rf-cnav:active{transform:translateY(0)}
.rf-ccnt{font-family:var(--en);font-size:15px;color:var(--ink2);min-width:84px;text-align:center}
.rf-ccnt b{color:var(--ink);font-size:26px}
.rf-chint{text-align:center;font-size:10.5px;letter-spacing:.14em;color:var(--ink2);margin-top:14px;font-family:var(--en)}
/* mobile: pin off → native horizontal swipe strip */
.rf-workspin.mobile .sticky{position:static;height:auto;padding:clamp(70px,10vh,110px) 0}
.rf-workspin.mobile .rf-cover{perspective:none}
.rf-workspin.mobile .rf-cstage{height:auto;min-height:0;transform-style:flat;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px clamp(20px,10vw,80px) 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rf-workspin.mobile .rf-cstage::-webkit-scrollbar{display:none}
.rf-workspin.mobile .rf-cc{position:static;transform:none!important;opacity:1!important;width:auto;flex:0 0 78%;aspect-ratio:4/3;scroll-snap-align:center}
@media(max-width:620px){.rf-workspin.mobile .rf-cc{flex-basis:84%}}

/* ============ MESSAGE ============ */
.rf-msg-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,72px);align-items:center}
.rf-msg-photo{border-radius:16px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow)}
.rf-msg-photo img{width:100%;height:130%;object-fit:cover;position:relative;top:-15%;will-change:transform}
.rf-msg-body h3{font-size:clamp(20px,2.6vw,30px);font-weight:800;line-height:1.6;margin:6px 0 22px}
.rf-msg-body p{font-size:14.5px;line-height:2.15;color:#4a4a50;margin-bottom:15px}
.rf-sign{margin-top:22px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rf-sign .role{font-size:12px;color:var(--ink2);font-weight:700}
.rf-sign .name{font-size:22px;font-weight:800}
.rf-sign .en{font-family:var(--en);font-size:12px;color:var(--ink2)}
@media(max-width:820px){.rf-msg-in{grid-template-columns:1fr;gap:26px}.rf-msg-photo{max-width:340px}}

/* ============ SOCIAL ============ */
.rf-soc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);margin-top:52px}
.rf-soc-card .im{border-radius:16px;overflow:hidden;aspect-ratio:4/3;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.rf-soc-card .im img{width:100%;height:130%;object-fit:cover;position:relative;top:-15%;will-change:transform}
.rf-soc-card .k{font-family:var(--en);font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.08em;margin-bottom:8px}
.rf-soc-card h4{font-size:16px;font-weight:800;margin-bottom:8px}
.rf-soc-card p{font-size:13px;line-height:1.95;color:#5a5a60}
@media(max-width:820px){.rf-soc-grid{grid-template-columns:1fr;gap:22px}}

/* ============ BLOG ============ */
.rf-blog{background:var(--bg2)}
.rf-blog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,4vh,52px)}
.rf-blog-head .rf-more{margin-top:0}
.rf-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
.rf-bcard{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.rf-bcard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.rf-bcard .im{aspect-ratio:16/10;overflow:hidden}
.rf-bcard .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.rf-bcard:hover .im img{transform:scale(1.06)}
.rf-bcard .tx{padding:20px 20px 24px;display:flex;flex-direction:column;flex:1}
.rf-bcard .meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rf-bcard .date{font-family:var(--en);font-size:12px;font-weight:700;color:var(--ink2)}
.rf-bcard .cat{font-size:10.5px;font-weight:800;color:var(--accent-d);background:var(--accent-l);border-radius:100px;padding:4px 12px}
.rf-bcard h4{font-size:16px;font-weight:800;line-height:1.5;margin-bottom:10px}
.rf-bcard p{font-size:12.5px;line-height:1.85;color:#5a6570;flex:1}
@media(max-width:860px){.rf-blog-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}}

/* ============ COMPANY / NEWS ============ */
.rf-table{margin-top:40px;border-top:1px solid var(--line)}
.rf-table .row{display:grid;grid-template-columns:210px 1fr;gap:24px;padding:20px 4px;border-bottom:1px solid var(--line)}
.rf-table dt{font-size:13px;font-weight:800}
.rf-table dd{font-size:14px;line-height:1.9;color:#4a4a50}
.rf-table dd a{color:var(--accent-d);text-decoration:none}
@media(max-width:720px){.rf-table .row{grid-template-columns:1fr;gap:6px}}
.rf-news{background:var(--bg2)}
.rf-news-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}
.rf-newslist{border-top:1px solid var(--line)}
.rf-newslist a{display:grid;grid-template-columns:120px 130px 1fr auto;align-items:center;gap:20px;padding:20px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .3s}
.rf-newslist a:hover{background:#fff}
.rf-newslist .date{font-family:var(--en);font-size:13px;color:var(--ink2);font-weight:700}
.rf-newslist .cat{justify-self:start;font-size:10.5px;font-weight:800;color:var(--accent-d);background:var(--accent-l);border-radius:100px;padding:4px 13px}
.rf-newslist .ttl{font-size:14.5px;font-weight:600;line-height:1.7}
.rf-newslist .arw{width:16px;height:16px;stroke:var(--ink2);fill:none;stroke-width:2}
@media(max-width:720px){.rf-newslist a{grid-template-columns:auto auto;grid-template-areas:"date cat" "ttl ttl";gap:8px 14px}.rf-newslist .date{grid-area:date}.rf-newslist .cat{grid-area:cat}.rf-newslist .ttl{grid-area:ttl}.rf-newslist .arw{display:none}}

/* ============ CONTACT + FOOTER（青→温グラデ / 黒フッター） ============ */
.rf-contact{position:relative;background:linear-gradient(160deg,var(--panel1),var(--panel2));color:#fff;text-align:center;padding:clamp(90px,14vh,170px) 20px;overflow:hidden}
.rf-contact .ghost{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);font-family:var(--en);font-weight:600;font-size:clamp(70px,16vw,220px);color:rgba(255,255,255,.18);white-space:nowrap;pointer-events:none}
.rf-contact-in{position:relative;z-index:2}
.rf-contact h2{font-size:clamp(22px,4vw,40px);font-weight:800;line-height:1.5;margin-bottom:30px}
.rf-btn{display:inline-flex;align-items:center;gap:14px;background:#fff;color:var(--accent-d);text-decoration:none;padding:20px 44px;border-radius:100px;font-size:15px;font-weight:800;transition:transform .3s var(--ease)}
.rf-btn:hover{transform:translateY(-3px)}
.rf-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2}
.rf-foot{background:var(--footer);color:rgba(255,255,255,.66);padding:70px 0 30px}
.rf-foot-top{display:grid;grid-template-columns:1.1fr 2fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.14)}
.rf-fbrand .b{display:flex;align-items:center;gap:10px;color:#fff;font-size:19px;font-weight:800;margin-bottom:16px}
.rf-fbrand .b .mk{width:34px;height:34px;background:#fff;border-radius:9px;display:grid;place-items:center;overflow:hidden}
.rf-fbrand .b .mk svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.rf-fbrand .b .mk img{width:24px;height:auto;display:block}
.rf-fbrand p{font-size:12.5px;line-height:2}
.rf-fbrand .mis{color:var(--accent-l);margin-top:12px}
.rf-fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.rf-fcols .h{font-size:11px;font-weight:800;color:#fff;letter-spacing:.08em;margin-bottom:15px}
.rf-fcols a{display:block;color:rgba(255,255,255,.6);text-decoration:none;font-size:13px;margin-bottom:11px;transition:color .3s}
.rf-fcols a:hover{color:#fff}
.rf-foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:22px}
.rf-legal{display:flex;gap:22px}.rf-legal a{color:rgba(255,255,255,.55);text-decoration:none;font-size:12px}
.rf-copy{font-family:var(--en);font-size:11px;color:rgba(255,255,255,.4)}
@media(max-width:820px){.rf-foot-top{grid-template-columns:1fr;gap:30px}.rf-fcols{grid-template-columns:repeat(2,1fr)}.rf-foot-bottom{flex-direction:column;align-items:flex-start}}

@media(prefers-reduced-motion:reduce){
  .rf *{animation:none!important;transition:none!important}
  [data-rev],[data-rev="mask"]{opacity:1!important;transform:none!important;clip-path:none!important}
  .rf-hero h1 .ln span{transform:none!important}.rf-load{display:none}
}

/* ---- mobile menu ---- */
.rf-burger span{transition:transform .3s,opacity .3s}
.rf-menu{position:fixed;inset:0;z-index:99;background:rgba(255,255,255,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;opacity:0;pointer-events:none;transition:opacity .4s}
.rf.menu-open .rf-menu{opacity:1;pointer-events:auto}
.rf-menu a{font-size:20px;font-weight:800;color:var(--ink);text-decoration:none}
.rf.menu-open .rf-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rf.menu-open .rf-burger span:nth-child(2){opacity:0}
.rf.menu-open .rf-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ BUSINESS（回る円形リング＋領域切替） ============ */
.rf-bizring{position:relative;background:#0f2230}
.rf-bizring .sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.rf-bizring .bg{position:absolute;inset:-8%;z-index:0;will-change:transform}
.rf-bizring .bg img{width:100%;height:100%;object-fit:cover}
.rf-bizring .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,24,34,.72),rgba(10,24,34,.84)),radial-gradient(120% 100% at 72% 50%,rgba(6,16,24,.55),transparent 62%)}
.rbz-inner{position:relative;z-index:2;width:100%}
.rbz-head{margin-bottom:clamp(18px,3.5vh,40px)}
.rbz-head .rf-jp{margin-top:12px}
.rbz-cols{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:clamp(28px,5vw,72px);align-items:center}
/* 4-segment wheel（回転→右にフォーカス） */
.rbz-discwrap{display:flex;flex-direction:column;align-items:center;gap:20px}
.rbz-disc{position:relative;width:min(40vh,360px);aspect-ratio:1}
.rbz-wheel{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rbz-disc::after{content:"";position:absolute;inset:12%;border-radius:50%;box-shadow:0 26px 55px rgba(0,0,0,.42);z-index:-1}
.rbz-wheel .wg{transform-box:fill-box;transform-origin:center;will-change:transform}
.rbz-wheel .seg{opacity:.32;transition:opacity .6s var(--ease);transform-box:fill-box;transform-origin:center}
.rbz-wheel .seg.on{opacity:1}
.rbz-wheel .wdot{opacity:.5;transition:opacity .5s,r .5s;stroke:#0f2230;stroke-width:2}
.rbz-wheel .wdot.on{opacity:1;r:8}
.rbz-wheel .seg.on{stroke:#fff;stroke-opacity:.45;stroke-width:1.5}
.rbz-wheel .wfocus{display:none}
/* focus by glow + background tint + text（白リングの代わり） */
.rbz-glow{position:absolute;inset:-26%;border-radius:50%;z-index:-2;filter:blur(28px);opacity:.9;transition:background .6s var(--ease)}
.rbz-bgtint{position:absolute;inset:0;z-index:1;pointer-events:none;transition:background .7s var(--ease)}
.rbz-elabel{font-family:var(--en);font-size:12px;font-weight:800;letter-spacing:.14em;color:#dbeeff;transition:color .4s;min-height:1em}
.rbz-core{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
.rbz-core::before{content:"";position:absolute;width:47%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.4)}
.rbz-mark{position:relative;z-index:1;width:30%;display:block;animation:rbz-float 5s ease-in-out infinite}
.rbz-mark .mk-svg,.rbz-mark img{width:100%;height:auto;display:block}
.rbz-mark .mk-svg{width:100%;height:auto;display:block}
@keyframes rbz-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* step indicators */
.rbz-steps{display:flex;gap:10px}
.rbz-steps i{width:26px;height:4px;border-radius:3px;background:rgba(255,255,255,.24);transition:width .4s var(--ease),background .4s}
.rbz-steps i.on{background:var(--accent);width:42px}
.rbz-count{font-family:var(--en);color:rgba(255,255,255,.72);font-size:14px}
.rbz-count b{color:#fff;font-size:24px}
/* right: switching items (dark, no card) */
.rbz-stage{position:relative;height:min(66vh,540px)}
.rbz-item{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;color:#fff;opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease);pointer-events:none}
.rbz-item.on{opacity:1;transform:none;pointer-events:auto}
.rbz-bg-no{position:absolute;right:0;top:2%;z-index:0;font-family:var(--en);font-weight:700;font-size:min(30vh,230px);line-height:.8;color:rgba(255,255,255,.06);pointer-events:none}
.rbz-no{position:relative;z-index:1;font-family:var(--en);font-size:13px;font-weight:800;color:#cfe6ff;letter-spacing:.08em}
.rbz-item h3{position:relative;z-index:1;font-size:clamp(27px,3.3vw,42px);font-weight:800;margin:8px 0 8px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.rbz-tag{position:relative;z-index:1;font-size:15px;font-weight:800;color:#eaf4ff;margin-bottom:18px}
.rbz-im{position:relative;z-index:1;border-radius:18px;aspect-ratio:16/8;max-height:215px;margin-bottom:18px;
  background:linear-gradient(135deg,#EAF4FB,#FFFFFF 62%);padding:9px;
  border:1px solid rgba(255,255,255,.6);box-shadow:0 24px 54px rgba(0,0,0,.42)}
.rbz-im img{width:100%;height:100%;object-fit:cover;border-radius:11px;transition:transform 1s var(--ease)}
.rbz-item:hover .rbz-im img{transform:scale(1.04)}
.rbz-item p{position:relative;z-index:1;font-size:15.5px;line-height:2.02;color:rgba(255,255,255,.95);margin-bottom:16px;max-width:46ch;text-shadow:0 1px 12px rgba(0,0,0,.32)}
.rbz-item ul{position:relative;z-index:1;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.rbz-item li{font-size:12.5px;font-weight:700;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.34);border-radius:100px;padding:7px 14px}
.rbz-more{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;color:#fff;text-decoration:none}
.rbz-more .c{width:30px;height:30px;border-radius:50%;background:var(--accent);display:grid;place-items:center;transition:transform .3s var(--ease)}
.rbz-more .c svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2}
.rbz-item:hover .rbz-more .c{transform:translateX(4px)}
@media(max-width:920px){
  .rf-bizring .sticky{position:static;height:auto;padding:80px 0}
  .rbz-cols{grid-template-columns:1fr;gap:34px}
  .rbz-stage{position:static;height:auto;display:flex;flex-direction:column;gap:44px}
  .rbz-item{position:static;opacity:1!important;transform:none!important;pointer-events:auto}
  .rbz-bg-no{font-size:34vw}
  .rbz-disc{width:min(56vw,260px)}
  .rbz-steps{display:none}
}

/* ============ SUBPAGES（下層ページ） ============ */
.cp-page{min-height:60vh}
.cp-band{background:var(--bg2);padding:clamp(120px,20vh,210px) 0 clamp(36px,6vh,64px)}
.cp-band .rf-enh{color:var(--wm)}
.cp-band .rf-jp{margin-top:10px}
.cp-band .cp-title{font-size:clamp(24px,4vw,44px);font-weight:800;line-height:1.45;margin-top:10px}
.cp-narrow{max-width:820px}
.cp-content{font-size:15px;line-height:2.05;color:#40484f}
.cp-content h2{font-size:clamp(20px,2.6vw,28px);font-weight:800;margin:1.6em 0 .6em}
.cp-content h3{font-size:clamp(17px,2vw,21px);font-weight:800;margin:1.3em 0 .5em}
.cp-content p{margin-bottom:1.2em}
.cp-content img{border-radius:12px;height:auto;max-width:100%}
.cp-content a{color:var(--accent-d)}
.cp-content ul,.cp-content ol{margin:0 0 1.2em 1.4em}
.cp-content li{margin-bottom:.4em}
.cp-content blockquote{border-left:3px solid var(--accent);padding-left:16px;color:#5a6570;margin:1.2em 0}
.cp-thumb{border-radius:16px;overflow:hidden;margin:0 0 28px;box-shadow:var(--shadow)}
.cp-thumb img{width:100%;display:block}
.cp-back{margin-top:36px}
.cp-back a{color:var(--accent-d);font-weight:800;text-decoration:none}
.cp-list{border-top:1px solid var(--line)}
.cp-listitem{display:flex;gap:18px;align-items:baseline;padding:20px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .3s}
.cp-listitem:hover{background:#fff}
.cp-listitem .d{font-family:var(--en);font-size:13px;font-weight:700;color:var(--ink2)}
.cp-listitem .t{font-weight:800}
.cp-arc-grid{margin-top:8px}
.cp-pager{margin-top:34px;display:flex;justify-content:center;flex-wrap:wrap}
.cp-pager .page-numbers{display:inline-block;padding:9px 15px;margin:3px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:800;font-family:var(--en)}
.cp-pager .page-numbers.current{background:var(--accent);color:#fff}
.cp-pager .page-numbers:hover{background:var(--bg2)}

/* ============ WHITEPAPER CTA（トップ） ============ */
.rf-wp{background:linear-gradient(160deg,#eaf5fb,#dbeefa)}
.rf-wp-in{display:grid;grid-template-columns:.7fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.rf-wp-cover img{width:100%;max-width:340px;border-radius:14px;box-shadow:var(--shadow);display:block;margin:0 auto}
.rf-wp-h{font-size:clamp(24px,3.4vw,40px);font-weight:800;line-height:1.35;margin:6px 0 14px}
.rf-wp-lead{font-size:14.5px;line-height:2;color:#46525c;margin-bottom:16px;max-width:46ch}
.rf-wp-benefits{list-style:none;margin:0 0 22px;display:flex;flex-direction:column;gap:9px}
.rf-wp-benefits li{position:relative;padding-left:28px;font-size:14px;font-weight:600}
.rf-wp-benefits li::before{content:"✓";position:absolute;left:0;top:1px;width:19px;height:19px;background:var(--accent);color:#fff;border-radius:6px;font-size:12px;font-weight:800;display:grid;place-items:center}
.rf-wp-btn{display:inline-flex;align-items:center;gap:14px;background:var(--accent);color:#fff;text-decoration:none;padding:17px 30px;border-radius:100px;font-size:15px;font-weight:800;transition:transform .3s var(--ease),background .3s;box-shadow:0 14px 30px rgba(55,169,222,.4)}
.rf-wp-btn:hover{background:var(--accent-d);transform:translateY(-3px)}
.rf-wp-btn .c{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center}
.rf-wp-btn .c svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.rf-wp-note{display:block;margin-top:12px;font-size:12px;color:var(--ink2)}
@media(max-width:820px){.rf-wp-in{grid-template-columns:1fr;text-align:center}.rf-wp-benefits{text-align:left;max-width:360px;margin-left:auto;margin-right:auto}.rf-wp-lead{margin-left:auto;margin-right:auto}}

/* ============ WHITEPAPER LANDING（下層） ============ */
.cp-wp-lp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:start;margin-top:8px}
.cp-wp-lp .lp-cover img{width:100%;max-width:420px;border-radius:16px;box-shadow:var(--shadow)}
.cp-wp-lp .lp-points{list-style:none;margin:16px 0 0}
.cp-wp-lp .lp-points li{position:relative;padding-left:28px;margin-bottom:10px;font-size:14px}
.cp-wp-lp .lp-points li::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;background:var(--accent);color:#fff;border-radius:6px;font-size:12px;font-weight:800;display:grid;place-items:center}
.cp-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,34px);box-shadow:var(--shadow-sm)}
.cp-form h3{font-size:18px;font-weight:800;margin-bottom:4px}
.cp-form .sub{font-size:12.5px;color:var(--ink2);margin-bottom:18px}
.cp-field{margin-bottom:14px}
.cp-field label{display:block;font-size:12.5px;font-weight:800;margin-bottom:6px}
.cp-field label .req{color:#e0554b;margin-left:4px;font-size:11px}
.cp-field input,.cp-field select,.cp-field textarea{width:100%;font:inherit;font-size:14px;padding:12px 14px;border:1.5px solid #d7e2ea;border-radius:10px;background:#fbfdfe;color:var(--ink)}
.cp-field input:focus,.cp-field select:focus,.cp-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-l)}
.cp-agree{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:#46525c;margin:6px 0 16px}
.cp-agree input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.cp-agree a{color:var(--accent-d)}
.cp-submit{width:100%;border:none;background:var(--accent);color:#fff;font-weight:800;font-size:15px;padding:16px;border-radius:100px;cursor:pointer;transition:background .3s,transform .2s;box-shadow:0 12px 28px rgba(55,169,222,.4)}
.cp-submit:hover{background:var(--accent-d);transform:translateY(-2px)}
.cp-formnote{font-size:11px;color:var(--ink2);margin-top:12px;line-height:1.7}
.cp-err{background:#fdecea;color:#c0392b;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:14px}
.cp-thanks{text-align:center;max-width:640px;margin:0 auto;padding:20px 0}
.cp-thanks .ic{width:64px;height:64px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin:0 auto 18px}
.cp-thanks .ic svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:2.5}
.cp-thanks h2{font-size:clamp(22px,3vw,32px);font-weight:800;margin-bottom:10px}
.cp-thanks p{color:#46525c;margin-bottom:22px}
.cp-dlbtn{display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:#fff;text-decoration:none;padding:17px 34px;border-radius:100px;font-size:15px;font-weight:800;box-shadow:0 14px 30px rgba(55,169,222,.4)}
.cp-dlbtn svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
/* single blog whitepaper CTA */
.cp-wp-inline{margin:36px 0 8px;background:linear-gradient(150deg,#eaf5fb,#dbeefa);border-radius:16px;padding:24px 26px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.cp-wp-inline img{width:96px;border-radius:8px;box-shadow:var(--shadow-sm)}
.cp-wp-inline .tx{flex:1;min-width:220px}
.cp-wp-inline .tx b{display:block;font-size:16px;font-weight:800;margin-bottom:4px}
.cp-wp-inline .tx p{font-size:13px;color:#46525c;margin:0}
.cp-wp-inline a.btn{white-space:nowrap;background:var(--accent);color:#fff;text-decoration:none;padding:12px 22px;border-radius:100px;font-size:13px;font-weight:800}
@media(max-width:820px){.cp-wp-lp{grid-template-columns:1fr}}

/* ============ WHITEPAPER LANDING（2資料選択・改訂） ============ */
.cp-wp-intro{max-width:820px;margin:0 auto 26px;text-align:center}
.cp-wp-intro .cp-wp-title{font-size:clamp(22px,3vw,32px);font-weight:800;margin-bottom:10px}
.cp-wp-intro p{color:#46525c;font-size:14.5px;line-height:1.95}
.cp-form-wide{max-width:860px;margin:0 auto;border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-sm);background:#fff}
.cp-pick-label{font-size:13px;font-weight:800;margin-bottom:12px}
.cp-doc-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}
.cp-doc-card{position:relative;display:block;border:2px solid #e0e9f0;border-radius:14px;padding:16px 16px 18px;cursor:pointer;transition:border-color .25s,box-shadow .25s,transform .2s;background:#fbfdfe}
.cp-doc-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.cp-doc-card input{position:absolute;opacity:0;pointer-events:none}
.cp-doc-card .chkdot{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;border:2px solid #cdd9e2;background:#fff;transition:.25s}
.cp-doc-card input:checked ~ .chkdot{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px #fff}
.cp-doc-card input:checked ~ *{}
.cp-doc-card:has(input:checked){border-color:var(--accent);box-shadow:0 12px 30px rgba(55,169,222,.25)}
.cp-doc-card img{width:100%;border-radius:9px;box-shadow:var(--shadow-sm);margin-bottom:12px;display:block}
.cp-doc-card .ttl{display:block;font-size:15px;font-weight:800;margin-bottom:3px}
.cp-doc-card .d{display:block;font-size:12px;color:var(--ink2);line-height:1.6}
.cp-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cp-field-full{grid-column:1 / -1}
@media(max-width:640px){.cp-doc-cards{grid-template-columns:1fr}.cp-fields-grid{grid-template-columns:1fr}}
/* homepage CTA: two covers */
.rf-wp-covers{display:flex;gap:14px;justify-content:center}
.rf-wp-covers img{width:calc(50% - 7px);max-width:220px;border-radius:12px;box-shadow:var(--shadow);display:block}
