/* HolyCMS スキン装飾：magical_pink（design_skin_deco_css より移植） */

/* ═══ designer deco: ribbonheart ═══ */
:root{--dz-g1:#ff5fae;--dz-g2:#ff2d8d;--dz-g3:#ffd200;--dz-grad:linear-gradient(120deg,#ff5fae,#ff2d8d 55%,#ffd200);}
body{background-color:#fff5fa !important;background-image:radial-gradient(rgba(255,45,141,.09) 2px, transparent 2.6px),radial-gradient(circle at 85% 12%,rgba(255,210,0,.12) 0 120px,transparent 140px),radial-gradient(circle at 10% 80%,rgba(255,95,174,.10) 0 140px,transparent 160px) !important;background-size:30px 30px,auto,auto !important;background-attachment:fixed !important;}
/* 見出し帯＝リボン：両端をV字に切ったピンクの帯 */
.bar,.official-bar{background:linear-gradient(120deg,#ff5fae,#ff2d8d) !important;color:#fff !important;border:0 !important;border-radius:6px !important;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%,14px 50%);padding-left:26px !important;padding-right:26px !important;font-weight:900 !important;box-shadow:0 6px 18px rgba(255,45,141,.30) !important;letter-spacing:.05em;}
.bar .more,.bar a{color:#fff !important;}
.pu-sec h2,.section-head h2{color:#d4126e !important;font-weight:900 !important;position:relative;padding-left:26px !important;}
.pu-sec h2::before,.section-head h2::before{content:"" !important;position:absolute;left:2px;top:50%;width:14px;height:13px;margin:0 !important;transform:translateY(-54%);background:#ff2d8d;clip-path:path('M7 13 L0.8 6.2 A3.9 3.9 0 0 1 7 1.6 A3.9 3.9 0 0 1 13.2 6.2 Z');}
/* カード：白×ピンク細枠、上辺にグラデのリボンライン、ホバーで胸きゅんバウンド */
.of-card,.honpen-card,.card,.panel,.pu-side-box,.notice{border:2px solid #ffc8e2 !important;border-radius:14px !important;background:#ffffff !important;box-shadow:0 8px 22px rgba(255,45,141,.10) !important;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.2,.8,.3,1.4),box-shadow .2s;}
.of-card::before,.honpen-card::before,.card::before,.pu-side-box::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#ff5fae,#ff2d8d 55%,#ffd200);}
.of-card:hover,.honpen-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 14px 30px rgba(255,45,141,.20) !important;}
.btn.primary,.pu-btn:not(.ghost),.blk-btn{background:linear-gradient(120deg,#ff5fae,#ff2d8d) !important;color:#fff !important;border:0 !important;border-radius:99px !important;font-weight:900 !important;box-shadow:0 5px 16px rgba(255,45,141,.35) !important;}
.pu-btn.ghost,.btn:not(.primary):not(.danger){border:2px solid #ff2d8d !important;color:#ff2d8d !important;border-radius:99px !important;background:#fff !important;font-weight:800 !important;}
.of-new{background:#ffd200 !important;color:#d4126e !important;border-radius:99px;font-weight:900;transform:rotate(-6deg);}
.gh{border-bottom:0 !important;box-shadow:0 2px 0 #ff5fae,0 4px 0 rgba(255,95,174,.35);}
.gh-chips a.active{background:#ff2d8d !important;color:#fff !important;border-radius:99px;}
.gf{background:linear-gradient(120deg,#fff0f7,#ffe4f1) !important;border-top:2px solid #ff5fae !important;}
.ticker{background:#ff2d8d !important;color:#fff !important;font-weight:800;}
@media (max-width:680px){
  .of-card,.honpen-card,.card,.panel,.pu-side-box{box-shadow:none !important;transform:none !important;}
  body{background-attachment:scroll !important;}
}
@media (prefers-reduced-motion:reduce){
  .of-card,.honpen-card{transition:none !important;transform:none !important;}
}