/* =========================================================
   モフ 公式サイト / site.css（style.css=v10基盤の拡張）
   ライバー向けポータル：ナビ・文書ページ・メニュー・料金表
   ========================================================= */

/* ---------- ヘッダー（ナビ付き） ---------- */
.hdr{ gap:10px; }
.gnav{ display:none; }
.hdr__actions{ display:flex; align-items:center; gap:10px; }
.nav-toggle{ width:44px; height:44px; border:0; border-radius:14px; background:rgba(255,255,255,.85);
  box-shadow:var(--sh-card); display:grid; place-items:center; cursor:pointer; }
.nav-toggle span{ display:block; width:18px; height:2px; border-radius:2px; background:var(--pink-deep);
  position:relative; transition:transform .25s ease, background .25s ease; }
.nav-toggle span::before,.nav-toggle span::after{ content:""; position:absolute; left:0; width:18px; height:2px;
  border-radius:2px; background:var(--pink-deep); transition:transform .25s ease, top .25s ease; }
.nav-toggle span::before{ top:-6px; } .nav-toggle span::after{ top:6px; }
body.nav-open .nav-toggle span{ background:transparent; }
body.nav-open .nav-toggle span::before{ top:0; transform:rotate(45deg); }
body.nav-open .nav-toggle span::after{ top:0; transform:rotate(-45deg); }

/* モバイル：ドロワー */
.drawer{ position:fixed; inset:0; z-index:70; pointer-events:none; }
.drawer__bg{ position:absolute; inset:0; background:rgba(90,60,110,.3); opacity:0; transition:opacity .28s ease; }
.drawer__panel{ position:absolute; top:0; right:0; bottom:0; width:min(320px,86%);
  background:linear-gradient(180deg,#FFFDFB,#FFF1F7 60%,#F5EEFC); box-shadow:-16px 0 44px rgba(150,90,140,.22);
  border-radius:24px 0 0 24px; padding:74px 22px 30px; overflow-y:auto;
  transform:translateX(105%); transition:transform .3s ease; }
body.nav-open .drawer{ pointer-events:auto; }
body.nav-open .drawer__bg{ opacity:1; }
body.nav-open .drawer__panel{ transform:none; }
.drawer__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.drawer__list a{ display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:14px;
  background:rgba(255,255,255,.85); box-shadow:var(--sh-card); font-weight:700; color:#574f63; font-size:.93rem; }
.drawer__list a .mi{ color:var(--pink-deep); }
.drawer__cta{ margin-top:14px; }
.drawer__cta .btn{ width:100%; }

/* ---------- ドキュメント・メニュー（かわいいリスト） ---------- */
.menu-list{ list-style:none; margin:0 auto; padding:0; max-width:600px; display:flex; flex-direction:column; gap:10px; }
.menu-list a{ display:flex; align-items:center; gap:14px; padding:15px 16px; border-radius:18px;
  background:rgba(255,255,255,.94); border:1px solid rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 12px 28px rgba(150,120,180,.13);
  font-weight:700; color:#544c63; transition:transform .2s ease, box-shadow .2s ease; }
.menu-list a:hover{ transform:translateY(-3px); box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 18px 36px rgba(150,120,180,.2); }
.menu-list .mic{ flex:0 0 auto; width:42px; height:42px; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(135deg,#FF8E9E 0%,#B388E0 55%,#7FC6EC 100%);
  box-shadow:0 7px 15px rgba(170,120,190,.28), inset 0 1px 0 rgba(255,255,255,.55); }
.menu-list .mic svg{ width:21px; height:21px; }
.menu-list b{ flex:1 1 auto; }
.menu-list small{ display:block; font-weight:600; font-size:.72rem; color:var(--ink-soft); margin-top:1px; }
.menu-list .chev{ flex:0 0 auto; color:var(--pink); font-weight:800; }

/* ---------- 下層ページ・ヒーロー ---------- */
.phero{ position:relative; overflow:hidden; padding:34px 0 30px; text-align:center;
  background:
    radial-gradient(56% 42% at 86% -6%, rgba(255,178,206,.45) 0%, transparent 60%),
    radial-gradient(50% 40% at 6% 2%, rgba(213,197,244,.5) 0%, transparent 58%),
    linear-gradient(180deg,#FFFDFA 0%, #FFF3F8 60%, #F3EDFB 100%); }
.phero .wrap{ position:relative; }
.crumb{ display:flex; justify-content:center; align-items:center; gap:6px; list-style:none; margin:0 0 10px; padding:0;
  font-size:.72rem; font-weight:700; color:var(--ink-soft); flex-wrap:wrap; }
.crumb a{ color:var(--pink-deep); }
.crumb li+li::before{ content:"›"; margin-right:6px; color:var(--ink-faint); }
.phero__title{ margin:0; font-size:1.62rem; font-weight:800; color:#4f4660; line-height:1.4; }
.phero__title::after{ content:""; display:block; width:46px; height:4px; border-radius:99px; background:var(--g-cta); opacity:.9; margin:12px auto 0; }
.phero__lead{ margin:12px auto 0; max-width:34em; color:var(--ink-soft); font-size:.92rem; }
.phero__mascot{ width:88px; margin:12px auto 0; filter:drop-shadow(0 8px 14px rgba(255,150,180,.3)); }

/* ---------- 文書本文 ---------- */
.doc{ padding:34px 0 72px; }
.doc .wrap{ max-width:760px; }
.doc-sec{ background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.9); border-radius:var(--radius);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 14px 32px rgba(150,120,180,.12);
  padding:26px 22px; margin:0 0 18px; }
.doc-sec>h2{ display:flex; align-items:center; gap:10px; margin:0 0 14px; font-size:1.18rem; color:#4f4660; line-height:1.5; }
.doc-sec>h2::before{ content:""; flex:0 0 auto; width:10px; height:26px; border-radius:6px; background:var(--g-cta); }
.doc-sec h3{ margin:20px 0 8px; font-size:1rem; color:var(--pink-deep); }
.doc-sec p{ margin:0 0 12px; font-size:.92rem; color:#574f63; line-height:1.95; }
.doc-sec ul,.doc-sec ol:not(.steps){ margin:0 0 12px; padding-left:1.3em; font-size:.92rem; color:#574f63; line-height:1.95; }
.doc-sec li{ margin-bottom:6px; }
.doc-sec li b{ color:var(--pink-deep); }
.doc-sec .micro{ text-align:left; margin:12px 0 0; }
.doc-sec .terms{ margin:0 0 12px; }
.doc-sec .faq__i{ margin-bottom:10px; }
.doc-sec .steps{ margin:0; }
.doc-sec .step h3{ margin:2px 0 4px; color:#4f4660; }

/* 表（料金・レート） */
.tbl{ width:100%; border-collapse:separate; border-spacing:0; margin:0 0 12px; font-size:.9rem;
  border-radius:16px; overflow:hidden; box-shadow:var(--sh-card); }
.tbl th,.tbl td{ padding:12px 14px; text-align:left; background:#fff; }
.tbl thead th{ background:linear-gradient(135deg,#FF8FAE,#B88FE0); color:#fff; font-weight:800; font-size:.84rem; letter-spacing:.03em; }
.tbl tbody tr:nth-child(even) td{ background:#FFF7FA; }
.tbl td b{ color:var(--pink-deep); }

/* 仮文面バナー */
.draft-note{ display:block; background:linear-gradient(135deg,#FFF6E0,#FFEFD2); border:1.5px solid #F0C878;
  color:#7a5a18; border-radius:16px; padding:13px 16px; font-size:.86rem; line-height:1.8; margin:0 0 18px;
  box-shadow:0 8px 20px rgba(220,170,80,.14); }
.draft-note b{ color:#B07A14; }

/* ---------- 報酬レートカード ---------- */
.rate-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 14px; }
.rate{ background:#fff; border:1px solid rgba(255,255,255,.9); border-radius:18px; padding:16px 12px 14px;
  text-align:center; box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 12px 26px rgba(150,120,180,.12); position:relative; overflow:hidden; }
.rate::before{ content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,#FF93B5,#B79CE6,#C4E4F6); opacity:.9; }
.rate__ic{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; margin:0 auto 8px;
  background:linear-gradient(135deg,#FF8E9E 0%,#B388E0 55%,#7FC6EC 100%);
  box-shadow:0 7px 14px rgba(170,120,190,.26), inset 0 1px 0 rgba(255,255,255,.5); }
.rate__ic svg{ width:20px; height:20px; }
.rate__name{ display:block; font-weight:800; color:#4f4660; font-size:.85rem; line-height:1.5; }
.rate__pt{ display:block; margin-top:3px; font-weight:800; font-size:1.3rem;
  background:var(--g-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.rate__pt small{ font-size:.68em; }
.rate__unit{ display:block; font-size:.7rem; font-weight:700; color:var(--ink-soft); }

/* サポート帯チップ：ラベルを折り返さない（サイト側のみ調整） */
.tnums .tnum b{ font-size:1.28rem; white-space:nowrap; }
.tnums .tnum i{ white-space:nowrap; }

/* ---------- トップ：報酬ダイジェスト等の補助 ---------- */
.home-digest .rate-grid{ max-width:620px; margin-inline:auto; }
.more-link{ display:inline-flex; align-items:center; gap:6px; font-weight:800; color:var(--pink-deep);
  background:#fff; border:1.5px solid var(--pink-100); border-radius:999px; padding:10px 22px;
  box-shadow:var(--sh-card); transition:transform .2s ease; }
.more-link:hover{ transform:translateY(-2px); }
.center{ text-align:center; }

/* 制定日など */
.doc-date{ text-align:right; font-size:.8rem; color:var(--ink-soft); margin:8px 6px 0; }

/* 文書ページ末尾の相談ボックス */
.doc-cta{ text-align:center; margin:28px auto 0; max-width:560px;
  background:linear-gradient(135deg,#FFF1F7,#F3EDFB); border:1px solid rgba(255,255,255,.9);
  border-radius:24px; padding:26px 20px 24px; box-shadow:var(--sh-card); }
.doc-cta img{ width:84px; margin:0 auto 8px; }
.doc-cta p{ margin:0 0 14px; font-weight:700; color:#574f63; font-size:.92rem; }

/* ---------- イベント・キャンペーン ---------- */
.event-hero .phero__mascot{ filter:drop-shadow(0 10px 18px rgba(255,150,120,.3)); }
.event-label{ display:inline-flex; align-items:center; gap:8px; margin:0 0 10px; padding:6px 12px;
  border-radius:999px; background:#FFF1D8; color:#9b5b12; font-size:.72rem; font-weight:800; letter-spacing:.08em; }
.event-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 16px; }
.event-tabs a{ display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 15px;
  border-radius:999px; background:#fff; border:1.5px solid var(--pink-100); color:#5a4c68; font-size:.82rem;
  font-weight:800; box-shadow:0 8px 18px rgba(190,150,200,.1); }
.event-summary{ display:grid; grid-template-columns:1fr; gap:10px; margin:18px 0 0; }
.event-summary div{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px;
  border-radius:16px; background:linear-gradient(135deg,#FFF8FB,#F4EEFF); border:1px solid rgba(255,206,221,.75);
  box-shadow:0 8px 18px rgba(190,150,200,.1); }
.event-summary b{ color:var(--pink-deep); font-size:1rem; }
.event-summary span{ color:var(--ink-soft); font-size:.78rem; font-weight:800; }
.event-list{ display:grid; gap:14px; margin:2px 0 0; }
.event-banner-card{ overflow:hidden; border-radius:22px; background:#fff; border:1.5px solid rgba(255,206,221,.85);
  box-shadow:var(--sh-card); }
.event-banner-card__link{ position:relative; display:block; background:#eef7ff; }
.event-banner-card__img{ display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; }
.event-banner-card__arrow{ position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; justify-content:center;
  min-height:34px; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--pink-deep);
  font-size:.78rem; font-weight:900; box-shadow:0 8px 18px rgba(80,40,80,.22); }
.event-banner-card__body{ padding:16px 18px 18px; background:linear-gradient(135deg,#FFF8FB,#F4EEFF); }
.event-banner-card__body h3{ margin:0 0 8px; color:#4f4660; font-size:1.12rem; }
.event-banner-card__body p{ margin:0; }
.event-mini{ display:grid; gap:8px; margin:14px 0 0; }
.event-mini div{ display:grid; gap:3px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.72);
  border:1px solid rgba(255,206,221,.72); }
.event-mini dt{ color:var(--pink-deep); font-size:.75rem; font-weight:900; }
.event-mini dd{ margin:0; color:#5a4c68; font-size:.84rem; line-height:1.6; font-weight:700; }
.event-item{ display:grid; grid-template-columns:1fr; gap:18px; align-items:center; padding:20px;
  border-radius:22px; background:linear-gradient(135deg,#FFF8FB,#F4EEFF); border:1.5px solid rgba(255,206,221,.85);
  box-shadow:var(--sh-card); overflow:hidden; }
.event-item h3{ margin:0 0 8px; color:#4f4660; font-size:1.1rem; }
.event-item p{ margin:0; }
.event-item img{ width:92px; justify-self:center; filter:drop-shadow(0 8px 16px rgba(180,120,190,.22)); }
.event-item--featured{ background:
  linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,245,251,.94)),
  radial-gradient(circle at 92% 10%,rgba(255,142,158,.28),transparent 42%); }
.event-item--empty{ background:
  linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,248,252,.96)),
  radial-gradient(circle at 90% 12%,rgba(255,218,229,.38),transparent 42%);
  border-color:rgba(255,206,221,.72); }
.event-status{ display:inline-flex; margin:0 0 10px; padding:5px 10px; border-radius:999px;
  color:#fff; font-size:.72rem; font-weight:800; }
.event-status--soon{ background:linear-gradient(135deg,#FF6F91,#FF9EAC); color:#fff; }
.event-item .event-status--soon,
.event-banner-card__body .event-status--soon{ color:#fff; }
.event-status--closed{ background:linear-gradient(135deg,#FFE2EC,#FFD4E5); color:#A64F78; }
.event-item .event-status--closed{ color:#A64F78; }
.event-details{ display:grid; gap:8px; margin:16px 0 14px; }
.event-details div{ display:grid; gap:4px; padding:11px 12px; border-radius:14px; background:rgba(255,255,255,.72);
  border:1px solid rgba(255,206,221,.72); }
.event-details dt{ color:var(--pink-deep); font-size:.78rem; font-weight:900; }
.event-details dd{ margin:0; color:#5a4c68; font-size:.88rem; line-height:1.75; font-weight:600; }
.event-link{ display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:9px 16px;
  border-radius:999px; background:#fff; border:1.5px solid var(--pink-100); color:var(--pink-deep);
  font-size:.84rem; font-weight:900; box-shadow:0 8px 18px rgba(190,150,200,.12); }
.event-detail{ display:grid; gap:16px; }
.event-detail__banner{ display:block; width:100%; height:auto; border-radius:22px; box-shadow:var(--sh-card);
  border:1.5px solid rgba(255,206,221,.85); background:#eef7ff; }
.event-detail__lead{ margin-top:0; }
.event-back{ text-align:center; margin:18px 0 0; }
.event-back a{ display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 16px;
  border-radius:999px; background:#fff; border:1.5px solid var(--pink-100); color:#5a4c68; font-size:.84rem; font-weight:900;
  box-shadow:0 8px 18px rgba(190,150,200,.12); }
.event-checks{ list-style:none; padding:0; }
.event-checks li{ position:relative; padding-left:30px; }
.event-checks li::before{ content:""; position:absolute; left:0; top:.78em; width:16px; height:16px; border-radius:50%;
  background:linear-gradient(135deg,#FF8E9E,#B388E0); box-shadow:0 3px 8px rgba(170,120,190,.24); }
.event-checks li::after{ content:""; position:absolute; left:5px; top:1.06em; width:6px; height:3px;
  border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); }
@media (min-width:768px){
  .event-summary{ grid-template-columns:repeat(3,1fr); }
  .event-summary div{ flex-direction:column; justify-content:center; min-height:88px; text-align:center; }
  .event-mini{ grid-template-columns:1fr 1fr; }
  .event-item{ grid-template-columns:1fr auto; padding:24px 28px; }
  .event-details div{ grid-template-columns:96px 1fr; align-items:start; }
}

/* ---------- 稼ぎ方のコツ ---------- */
.tips-hero .phero__mascot{
  filter:drop-shadow(0 10px 18px rgba(255,150,120,.3));
}
.tips-label{
  background:#FFEAF2;
  color:#A64F78;
}
.tips-list{
  display:grid;
  gap:14px;
  margin:2px 0 0;
}
.tips-card{
  display:grid;
  gap:10px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#FFF8FB);
  border:1.5px solid rgba(255,206,221,.85);
  box-shadow:var(--sh-card);
}
.tips-card--featured{
  background:linear-gradient(135deg,#FFF8FB,#F4EEFF);
}
.tips-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.tips-card h3{
  margin:0;
  color:#4f4660;
  font-size:1.08rem;
  line-height:1.55;
}
.tips-card p{
  margin:0;
}
.tips-card__tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(255,206,221,.78);
  color:#A64F78;
  font-size:.74rem;
  font-weight:900;
}
.tips-post-list{
  margin-top:12px;
}
.tips-title-card{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#FFF8FB);
  border:1.5px solid rgba(255,206,221,.85);
  box-shadow:var(--sh-card);
}
.tips-title-card__thumb{
  display:block;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,206,221,.72);
  background:#fff7fb;
  box-shadow:0 10px 22px rgba(130,85,60,.12);
}
.tips-title-card__thumb img{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  object-fit:cover;
  object-position:top center;
  transition:transform .22s ease;
}
@media (hover:hover){
  .tips-title-card__thumb:hover img{
    transform:scale(1.025);
  }
}
.tips-title-card__meta,
.tips-post-detail__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tips-title-card__meta time,
.tips-post-detail__meta time{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(255,206,221,.78);
  color:#A64F78;
  font-size:.74rem;
  font-weight:900;
}
.tips-title-card h3{
  margin:0;
  font-size:1.04rem;
  line-height:1.55;
}
.tips-title-card h3 a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:#4f4660;
  text-decoration:none;
}
.tips-title-card h3 a::after{
  content:"›";
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:linear-gradient(135deg,#FF8E9E,#B388E0);
  color:#fff;
  font-size:1.35rem;
  line-height:1;
  box-shadow:0 7px 16px rgba(170,120,190,.24);
}
.tips-title-card h3 a:hover{
  color:var(--pink-deep);
}
.tips-post-card{
  gap:14px;
}
.tips-post-card__media{
  margin:0;
  display:grid;
  place-items:center;
  padding:10px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff7df,#fff0f6);
  border:1px solid rgba(255,206,221,.72);
}
.tips-post-card__media img{
  display:block;
  width:100%;
  max-width:520px;
  height:auto;
  border-radius:14px;
  box-shadow:0 12px 26px rgba(130,85,60,.16);
}
.tips-post-card__body{
  display:grid;
  gap:10px;
}
.tips-post-card__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  color:#A64F78;
  font-size:.78rem;
  font-weight:900;
}
.tips-post-card__meta span,
.tips-post-card__meta time{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(255,206,221,.78);
}
.tips-post-copy{
  display:grid;
  gap:8px;
}
.tips-post-copy p{
  color:#5a4c68;
  font-size:.9rem;
  line-height:1.85;
  font-weight:700;
}
.tips-post-copy b{
  color:var(--pink-deep);
  font-weight:900;
}
.tips-post-detail{
  display:grid;
  gap:14px;
}
.tips-post-detail__media{
  margin-top:4px;
}
.tips-post-detail__media img{
  max-width:560px;
}
.tips-post-detail__copy{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(255,206,221,.62);
}
.tips-points{
  display:grid;
  gap:7px;
  margin:2px 0 0;
  padding:0;
  list-style:none;
}
.tips-points li{
  position:relative;
  padding-left:24px;
  color:#5a4c68;
  font-size:.86rem;
  line-height:1.7;
  font-weight:700;
}
.tips-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:12px;
  height:12px;
  border-radius:50%;
  background:linear-gradient(135deg,#FF8E9E,#B388E0);
  box-shadow:0 3px 8px rgba(170,120,190,.24);
}
.tips-category-grid{
  display:grid;
  gap:10px;
}
.tips-category-grid div{
  display:grid;
  gap:4px;
  padding:13px 15px;
  border-radius:16px;
  background:linear-gradient(135deg,#FFF8FB,#F4EEFF);
  border:1px solid rgba(255,206,221,.75);
  box-shadow:0 8px 18px rgba(190,150,200,.1);
}
.tips-category-grid b{
  color:#4f4660;
  font-size:.94rem;
}
.tips-category-grid span{
  color:var(--ink-soft);
  font-size:.82rem;
  line-height:1.65;
  font-weight:700;
}
.tips-x .event-link{
  margin-top:10px;
}
@media (min-width:768px){
  .tips-list{ grid-template-columns:repeat(2,1fr); }
  .tips-card--featured{ grid-column:1 / -1; }
  .tips-post-card{
    grid-template-columns:minmax(260px,420px) 1fr;
    align-items:start;
  }
  .tips-post-card .tips-card__head{
    grid-column:1 / -1;
  }
  .tips-category-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ---------- アップデート情報 ---------- */
.update-hero .phero__mascot{
  filter:drop-shadow(0 10px 18px rgba(120,145,220,.25));
}
.update-label{
  background:#EAF2FF;
  color:#4F67A6;
}
.update-title-card--empty{
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(246,250,255,.96)),
    radial-gradient(circle at 92% 8%,rgba(179,198,255,.32),transparent 38%);
}
.update-title-card__icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:18px;
  background:linear-gradient(135deg,#8EB6FF,#B388E0);
  color:#fff;
  box-shadow:0 12px 24px rgba(120,145,220,.22);
}
.update-title-card__icon .mi{
  width:28px;
  height:28px;
}
.update-title-card p{
  margin:0;
}
.update-category-grid div{
  background:linear-gradient(135deg,#F8FBFF,#FFF8FB);
}



/* ---------- 配信・通話ガイドライン ---------- */
.doc-sec--policy-visual{ padding:18px; background:linear-gradient(135deg,#fff,#FFF7FB 54%,#F2F8FF); border-color:rgba(255,96,157,.32); }
.doc-sec--policy-visual>h2{ margin-bottom:16px; }
.guide-policy{ margin:0; }
.guide-policy img{ display:block; width:100%; max-width:726px; height:auto; margin:0 auto; border-radius:18px; box-shadow:0 18px 42px rgba(214,70,132,.22); border:1px solid rgba(255,255,255,.92); background:#fff; }
.guideline-note{ display:grid; gap:12px; margin:0 0 16px; }
.guideline-note__item{ display:flex; align-items:flex-start; gap:10px; padding:14px 16px; border-radius:16px; background:linear-gradient(135deg,#FFF8FB,#F4EEFF); border:1px solid rgba(255,206,221,.75); color:#574f63; font-size:.9rem; line-height:1.75; font-weight:600; }
.guideline-note__item::before{ content:""; flex:0 0 auto; width:18px; height:18px; margin-top:.18em; border-radius:50%; background:linear-gradient(135deg,#FF8E9E,#B388E0); box-shadow:0 4px 9px rgba(170,120,190,.24); }
.guideline-note__content{ min-width:0; }
.guideline-note__content h3{ margin:0 0 7px; color:#4f4660; font-size:.95rem; line-height:1.45; font-weight:900; }
.guideline-note__content p{ margin:0 0 8px; overflow-wrap:anywhere; }
.guideline-note__content p:last-child{ margin-bottom:0; }
.guideline-note__content b{ color:#4f4660; font-weight:900; }
.guide-table-wrap{ overflow-x:auto; margin:14px 0 16px; padding-bottom:4px; }
.guide-table{ min-width:640px; }
.guide-table th,.guide-table td{ vertical-align:middle; }
.guide-table th:nth-child(n+2),.guide-table td:nth-child(n+2){ text-align:center; white-space:nowrap; }
.guide-table td:first-child{ font-weight:800; color:#4f4660; }
.gmark{ display:inline-flex; align-items:center; justify-content:center; min-width:52px; min-height:28px; padding:4px 10px; border-radius:999px; font-size:.78rem; font-weight:900; }
.gmark--ok{ color:#087a71; background:#DDF9F4; border:1px solid #A6EADD; }
.gmark--ng{ color:#B32963; background:#FFE4EF; border:1px solid #FFC2D7; }
.gmark--note{ color:#7c5d13; background:#FFF1BF; border:1px solid #F7D76A; white-space:normal; line-height:1.35; }
.guide-cards{ display:grid; gap:14px; }
.guide-card{ padding:18px 18px 16px; border-radius:18px; background:linear-gradient(135deg,#fff,#FFF8FB); border:1px solid rgba(255,206,221,.78); box-shadow:0 10px 24px rgba(150,120,180,.1); }
.guide-card h3{ margin:0 0 8px; font-size:1rem; color:var(--pink-deep); }
.guide-card p{ margin:0; }
.guide-card .guide-card__rule{ margin-top:10px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.78); border:1px solid rgba(255,206,221,.65); font-weight:800; color:#4f4660; }
@media (min-width:768px){ .guide-cards{ grid-template-columns:1fr 1fr; } }

/* ---------- フッター（サイトマップ付き） ---------- */
.ft__nav{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 12px; max-width:720px; margin:0 auto 12px; padding:0 12px; list-style:none; }
.ft__nav li{ display:flex; }
.ft__nav a{ display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:4px 8px; border-radius:999px;
  font-size:.8rem; font-weight:700; color:#6a5f7d; line-height:1.35; white-space:nowrap; text-align:center; transition:background .2s ease, color .2s ease, transform .2s ease; }
.ft__nav a:hover{ background:rgba(255,255,255,.72); color:var(--pink-deep); transform:translateY(-1px); }
.ft__nav a::before{ content:none; }
.ft__nav--main{ margin-bottom:10px; }
.ft__nav--sub{ gap:6px 16px; margin-bottom:22px; }
.ft__nav--sub a{ min-height:auto; padding:2px 0; border-radius:0; font-size:.72rem; font-weight:600; color:var(--ink-faint); }
.ft__nav--sub a::before{ content:none; }
.ft__nav--sub a:hover{ background:transparent; color:var(--pink-deep); transform:none; }

/* ---------- レスポンシブ ---------- */
@media (min-width:900px){
  .nav-toggle,.drawer{ display:none; }
  .gnav{ display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
  .gnav a{ font-size:.78rem; font-weight:700; color:#5a4c68; padding:8px 10px; border-radius:999px; transition:background .2s ease, color .2s ease; }
  .gnav a:hover{ background:var(--pink-100); color:var(--pink-deep); }
  .rate-grid{ grid-template-columns:repeat(4,1fr); }
  .phero{ padding:48px 0 40px; }
  .phero__title{ font-size:2rem; }
  .doc{ padding:44px 0 90px; }
  .doc-sec{ padding:32px 34px; }
  .menu-list{ max-width:640px; }
  .ft__nav{ max-width:760px; gap:10px 16px; padding-inline:0; }
  .ft__nav--sub{ max-width:560px; gap:8px 20px; }
}

/* ===== 追加部品：例示ギャラリー（2026-07-06 新規4ページ用・既存クラスへの変更なし） ===== */
.exbox{ border:1.5px solid rgba(240,110,140,.35); border-radius:16px; padding:18px 16px 14px; margin:14px 0 22px; background:#fff; }
.exbox__t{ font-weight:700; margin:0 0 12px; font-size:.95rem; display:flex; align-items:center; gap:10px; }
.exmark{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; font-weight:800; font-size:1rem; }
.exmark--ok{ color:#2f6fd0; border:3px solid #2f6fd0; }
.exmark--ng{ color:#e0475a; border:3px solid #e0475a; }
.exgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:0; padding:0; list-style:none; }
@media (min-width:768px){ .exgrid{ grid-template-columns:repeat(4,1fr); } }
.exgrid li{ margin:0; }
.exgrid figure{ margin:0; text-align:center; }
.exgrid img{ width:100%; height:auto; border-radius:10px; display:block; }
.exgrid figcaption{ font-size:.72rem; color:#8a6d76; margin-top:6px; line-height:1.5; }
.bigfig{ margin:14px 0 8px; text-align:center; }
.bigfig img{ max-width:640px; width:100%; height:auto; border-radius:14px; box-shadow:0 10px 30px rgba(214,105,132,.16); }

/* ===== 追加部品：トップFVリファイン（2026-07-06 .fv--home スコープ・基盤style.cssは不変更） ===== */
.fv--home .fv__title{ gap:7px; }
.fv--home .fv__title-xl{ font-size:2.24rem; line-height:1.32; letter-spacing:-.012em; color:#473d59; }
.fv--home .fv__title-xl mark{ padding:.05em .2em .1em; border-radius:14px;
  box-shadow:0 8px 18px rgba(214,90,150,.28), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -3px 8px rgba(150,30,90,.16); }
.fv--home .fv__sub{ font-size:.94rem; line-height:1.8; }
.quick{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:16px auto 0; max-width:420px; }
.quick a{ display:flex; align-items:center; gap:10px; text-align:left; padding:11px 12px;
  background:rgba(255,255,255,.84); border:1.5px solid rgba(255,206,221,.85); border-radius:16px;
  box-shadow:0 10px 22px rgba(190,150,200,.13); text-decoration:none; color:var(--ink);
  transition:transform .18s ease, box-shadow .18s ease; }
.quick a:active{ transform:scale(.98); }
@media (hover:hover){ .quick a:hover{ transform:translateY(-2px); box-shadow:0 14px 28px rgba(190,150,200,.22); } }
.quick .mic{ flex:0 0 auto; width:38px; height:38px; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(135deg,#FF8E9E 0%,#B388E0 55%,#7FC6EC 100%);
  box-shadow:0 6px 13px rgba(170,120,190,.26), inset 0 1px 0 rgba(255,255,255,.55); }
.quick .mic svg{ width:19px; height:19px; }
.quick b{ display:block; font-size:.83rem; line-height:1.25; }
.quick small{ display:block; font-size:.66rem; color:var(--ink-soft); font-weight:700; margin-top:2px; }
@media (min-width:768px){ .quick{ margin-left:0; } }

/* ===== LINE系CTAはLINEブランドカラー（2026-07-06 オーナー指示・btn--line を後勝ちで上書き） ===== */
.btn--line{ background:linear-gradient(135deg,#43D97C 0%,#06C755 55%,#04B24B 100%); background-size:160% 160%;
  box-shadow:0 14px 28px rgba(6,180,80,.34), inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 3px rgba(255,255,255,.6); }
.btn--line:hover{ transform:translateY(-2px); filter:saturate(106%); box-shadow:0 20px 36px rgba(6,180,80,.42); }
.btn--mini.btn--line{ box-shadow:0 6px 14px rgba(6,180,80,.32); }


/* ---------- 紹介キャンペーン詳細 検証デザイン ---------- */
.event-detail-page--summer{
  background:
    radial-gradient(circle at 12% 4%, rgba(0,173,255,.18), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(255,37,132,.18), transparent 30%),
    linear-gradient(180deg,#eaf9ff 0%,#fff4fb 42%,#fff 100%);
}
.event-detail-page--summer .event-hero{
  color:#fff;
  background:
    radial-gradient(circle at 82% 8%, rgba(255,255,255,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 12%, rgba(255,241,90,.55), transparent 20%),
    linear-gradient(135deg,#0077e6 0%,#00b8ff 42%,#ff2b8a 100%);
}
.event-detail-page--summer .event-hero::before,
.event-detail-page--summer .event-hero::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.event-detail-page--summer .event-hero::before{
  width:190px;
  height:190px;
  left:-72px;
  bottom:-112px;
  background:rgba(255,232,64,.34);
  box-shadow:0 0 0 26px rgba(255,255,255,.08);
}
.event-detail-page--summer .event-hero::after{
  width:260px;
  height:260px;
  right:-120px;
  top:-150px;
  background:rgba(255,255,255,.2);
  box-shadow:0 0 0 34px rgba(255,255,255,.08);
}
.event-detail-page--summer .event-hero .crumb,
.event-detail-page--summer .event-hero .crumb a,
.event-detail-page--summer .event-hero .crumb li+li::before,
.event-detail-page--summer .phero__lead{
  color:#fff;
}
.event-detail-page--summer .phero__title{
  color:#fff;
  text-shadow:0 3px 0 rgba(255,33,122,.75), 0 10px 24px rgba(0,62,145,.28);
}
.event-detail-page--summer .phero__title::after{
  background:linear-gradient(90deg,#fff45d,#ffcc1a,#ff2b8a);
  box-shadow:0 4px 16px rgba(255,237,58,.45);
}
.event-detail-page--summer .doc{
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 18%),
    radial-gradient(circle at 0% 10%, rgba(0,159,255,.12), transparent 30%),
    radial-gradient(circle at 100% 22%, rgba(255,42,128,.12), transparent 28%);
}
.event-detail-page--summer .event-detail{
  gap:18px;
}
.event-detail-page--summer .event-detail__banner,
.event-detail-page--summer .campaign-overview,
.event-detail-page--summer .event-detail .doc-sec{
  border-color:rgba(255,42,128,.34);
  box-shadow:0 14px 34px rgba(0,93,185,.12), 0 10px 22px rgba(255,42,128,.1);
}
.event-detail-page--summer .event-detail__lead{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,#fff 0%,#fff9fc 58%,#eff9ff 100%);
}
.event-detail-page--summer .event-detail__lead::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  background:linear-gradient(90deg,#006fe8,#00c2ff,#ff2a8a,#ffda24);
}
.event-detail-page--summer .event-detail .doc-sec:not(.event-detail__lead){
  background:linear-gradient(180deg,#fff 0%,#fff8fc 100%);
}
.event-detail-page--summer .doc-sec>h2{
  color:#073a8c;
  font-weight:900;
}
.event-detail-page--summer .doc-sec>h2::before{
  width:12px;
  height:30px;
  background:linear-gradient(180deg,#ff2b8a,#ffcc1a);
  box-shadow:0 4px 10px rgba(255,42,128,.26);
}
.event-detail-page--summer .event-status--soon{
  background:linear-gradient(135deg,#ff2b8a,#ff6aa7 52%,#ffcc1a);
  box-shadow:0 8px 18px rgba(255,42,128,.25);
}
.campaign-overview__copy{
  font-weight:800;
  color:#0a3a8e !important;
}
.campaign-overview__visual{
  margin:16px auto 14px;
  max-width:560px;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:2px solid rgba(255,42,128,.36);
  box-shadow:0 18px 40px rgba(0,93,185,.18), 0 10px 24px rgba(255,42,128,.16);
}
.campaign-overview__visual img{
  display:block;
  width:100%;
  height:auto;
}
.campaign-overview__visual--main{
  max-width:640px;
}
.campaign-application{
  overflow:hidden;
}
.campaign-application>p{
  font-weight:800;
  color:#143c7d !important;
}
.campaign-form-link{
  display:block;
  margin:16px auto 0;
  color:inherit;
  text-decoration:none;
}
.campaign-form-link:focus-visible{
  outline:3px solid rgba(255,42,128,.42);
  outline-offset:4px;
  border-radius:26px;
}
.campaign-form-visual{
  margin:0 auto;
  max-width:640px;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:2px solid rgba(255,42,128,.36);
  box-shadow:0 18px 40px rgba(0,93,185,.16), 0 10px 24px rgba(255,42,128,.15);
  transition:transform .18s ease, box-shadow .18s ease;
}
.campaign-form-visual img{
  display:block;
  width:100%;
  height:auto;
}
.campaign-form-link:hover .campaign-form-visual{
  transform:translateY(-2px);
  box-shadow:0 22px 46px rgba(0,93,185,.2), 0 12px 28px rgba(255,42,128,.2);
}
.campaign-form-button{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:3px;
  width:min(100%, 420px);
  min-height:58px;
  margin:14px auto 0;
  padding:11px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff2b8a,#ff6aa7 52%,#ffcc1a);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 28px rgba(255,42,128,.24);
}
.campaign-form-button small{
  color:rgba(255,255,255,.88);
  font-size:.72rem;
  font-weight:800;
}
.campaign-overview__note{
  display:block;
  margin:14px 0 12px !important;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(135deg,#fff6d9,#fff0f7);
  border:1.5px solid rgba(255,204,26,.7);
  color:#9b4a00 !important;
  font-weight:800;
  line-height:1.75 !important;
}
.event-detail-page--summer .event-details{
  gap:10px;
}
.event-detail-page--summer .event-details div{
  background:linear-gradient(135deg,#ffffff,#fff4fa 52%,#f0faff);
  border:1.5px solid rgba(255,42,128,.28);
  box-shadow:0 8px 18px rgba(0,93,185,.08);
}
.event-detail-page--summer .event-details dt{
  color:#ff1f82;
}
.event-detail-page--summer .event-details dd{
  color:#143c7d;
  font-weight:800;
}
.event-detail-page--summer .event-checks li::before{
  background:linear-gradient(135deg,#006fe8,#00c2ff 48%,#ff2b8a);
}
.event-detail-page--summer .doc-cta{
  background:linear-gradient(135deg,#006fe8,#00b8ff 48%,#ff2b8a);
  border:0;
  color:#fff;
  box-shadow:0 18px 42px rgba(0,93,185,.18), 0 10px 22px rgba(255,42,128,.2);
}
.event-detail-page--summer .doc-cta p{
  color:#fff;
  text-shadow:0 1px 8px rgba(0,55,120,.22);
}
.event-detail-page--summer .doc-cta .btn{
  background:linear-gradient(135deg,#fff,#fff7d8);
  color:#ff1f82;
}

.event-detail-page--summer .campaign-overview,
.event-detail-page--summer .campaign-application{
  position:relative;
}
.event-detail-page--summer .campaign-overview::after,
.event-detail-page--summer .campaign-application::after{
  content:"";
  position:absolute;
  inset:auto 18px -2px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#00b8ff,#ff2b8a,#ffcc1a,transparent);
  opacity:.85;
}
.campaign-overview__copy{
  margin-bottom:14px !important;
  font-size:1rem !important;
}
.campaign-application h2{
  color:#e9005f !important;
}
.campaign-application h2::before{
  background:linear-gradient(180deg,#ff2b8a,#ffcc1a) !important;
}
.campaign-application .micro{
  margin-top:14px;
  text-align:center;
}
.event-detail-page--summer .doc-cta{
  margin-top:22px;
}
.event-detail-page--summer .doc-cta::before{
  content:"ENTRY";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  margin:0 auto 10px;
  padding:4px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}

@media (max-width:480px){
  .campaign-overview__visual{ border-radius:18px; margin-inline:-4px; }
  .event-detail-page--summer .phero__title{ font-size:1.48rem; }
}


/* ---------- 利用規約 rootページ 文書デザイン ---------- */
.terms-page{
  background:linear-gradient(180deg,#fffdfb 0%,#fff4f8 46%,#f7f1ff 100%);
}
.terms-hero{
  background:
    radial-gradient(52% 40% at 86% -8%, rgba(255,178,206,.48) 0%, transparent 62%),
    radial-gradient(48% 42% at 8% 0%, rgba(213,197,244,.54) 0%, transparent 60%),
    linear-gradient(180deg,#fffefa 0%,#fff4f8 58%,#f4effc 100%);
}
.terms-doc .wrap{
  max-width:760px;
}
.terms-meta{
  background:linear-gradient(135deg,#fff,#fff7fb 54%,#f6f0ff);
}
.terms-meta-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
}
.terms-meta-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,206,221,.72);
}
.terms-meta-list dt{
  color:var(--pink-deep);
  font-size:.78rem;
  font-weight:900;
}
.terms-meta-list dd{
  margin:0;
  color:#5a4c68;
  font-size:.9rem;
  line-height:1.6;
  font-weight:800;
}
.terms-doc .doc-sec p,
.terms-doc .doc-sec li{
  letter-spacing:0;
}
.terms-doc .doc-sec ul,
.terms-doc .doc-sec ol{
  background:rgba(255,255,255,.52);
  border:1px solid rgba(255,206,221,.48);
  border-radius:16px;
  padding:14px 18px 14px 2.1em;
}
.terms-doc .doc-sec ul li::marker,
.terms-doc .doc-sec ol li::marker{
  color:var(--pink-deep);
  font-weight:900;
}
.terms-doc .doc-sec .terms-paren-list{
  list-style:none;
  padding-left:18px;
}
@media (min-width:768px){
  .terms-meta-list{ grid-template-columns:1fr 1fr; }
}

/* ---------- イベントページ：バナー流入専用表示 ---------- */
.hdr__logo--static{ display:none; }
html.event-standalone .hdr__logo--linked,
html.event-standalone .gnav,
html.event-standalone .hdr__actions,
html.event-standalone .drawer,
html.event-standalone .crumb-home,
html.event-standalone .doc-cta,
html.event-standalone .ft__nav{ display:none !important; }
html.event-standalone .hdr__logo--static{ display:block; }
html.event-standalone .crumb-home + li::before{ content:none; margin-right:0; }
