/* ═══ 利用者の声 (page-reviews.php) ─ Figma 206:775 ═══ */

.page-reviews{position:relative;width:100%;background:#FFFFFF;color:#1A1A1A;overflow:hidden;--side-pad:clamp(16px, calc((100vw - 1100px) / 2), 410px)}

/* HERO 1920×400 */
.rv-hero{position:relative;width:100%;height:300px;overflow:hidden;margin-top:109px}
.rv-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#0a1230}
.rv-hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.30)}
.rv-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:0 20px;z-index:2}
.rv-hero-title{margin:0;font-size:48px;font-weight:800;line-height:56px;letter-spacing:1px;text-transform:uppercase;color:#FAFAFA}
.rv-hero-sub{margin:0;font-size:25px;font-weight:400;line-height:1.3;color:#FAFAFA}

/* COUPON SECTION — 画像の合成 */
.rv-coupon{position:relative;padding:90px var(--side-pad) 80px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#FFFFFF;overflow:hidden}
.rv-coupon-wave-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;user-select:none}
.rv-coupon > *:not(.rv-coupon-wave-img){position:relative;z-index:1}

.rv-coupon-card-img{display:block;width:580px;max-width:90%;height:auto;margin:0 auto 50px;filter:drop-shadow(0 6px 20px rgba(0,11,131,.06))}
.rv-coupon-help-img{display:block;width:auto;max-width:90%;height:auto;margin:0 auto 28px}
.rv-coupon-btn-img{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;transition:transform .15s, filter .15s}
.rv-coupon-btn-img img{display:block;width:auto;max-width:100%;height:auto}
.rv-coupon-btn-img:hover{transform:translateY(-2px);filter:drop-shadow(0 6px 12px rgba(192,0,0,.18))}

/* WRITE INTRO */
.rv-write{padding:60px var(--side-pad) 24px;text-align:center;background:#FFFFFF}
.rv-write-title{margin:0 0 24px;font-size:30px;font-weight:700;color:#1A1A1A;line-height:1.4}
.rv-write-sub{margin:0 0 28px;font-size:20px;font-weight:400;color:#7D7D7D;line-height:1.4}
.rv-write-hl{color:#0047AB;font-weight:600}
.rv-write-btn{display:inline-flex;align-items:center;justify-content:center;width:93px;height:35px;padding:0;gap:8px;background:#C00000;border-radius:7px;color:#FFFFFF;font-family:'Pretendard JP',Pretendard,sans-serif;font-weight:700;font-size:15px;line-height:16px;text-decoration:none;cursor:pointer;border:none;box-sizing:border-box;margin:0 auto 60px;transition:transform .15s,box-shadow .15s}
.rv-write-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(192,0,0,.20);color:#FFFFFF}

/* FEATURED 2-up — 新デザイン: 右下に大きな引用符 */
.rv-featured{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1100px;margin:0 auto}
.rv-featured-card{position:relative;background:#FFFFFF;box-shadow:0 4px 24px rgba(0,11,131,.08);border-radius:18px;padding:30px 36px 28px;text-align:left;overflow:hidden}
.rv-featured-card .rv-tag{margin-bottom:18px;width:auto;padding:0 16px}
.rv-featured-recent{display:block;text-align:center;margin:0 auto 24px;max-width:1100px;font-family:'Pretendard JP',Pretendard,sans-serif;font-size:18px;font-weight:400;line-height:1.5;color:#9b9b9b}
.page-reviews .fxl-cta-card{max-width:1100px}
.rv-featured-title{margin:0 0 14px;font-size:19px;font-weight:700;color:#1A1A1A;line-height:1.45}
.rv-featured-body{margin:0 0 60px;font-size:14px;font-weight:400;color:rgba(26,26,26,.6);line-height:23px;letter-spacing:-.3px}
.rv-featured-meta{margin:0;font-size:13px;font-weight:400;color:#A8A8A8;line-height:1.4}
.rv-featured-quote{position:absolute;right:30px;bottom:24px;width:54px;height:auto;pointer-events:none;user-select:none}

/* CATEGORY TAGS */
.rv-tag{display:inline-flex;align-items:center;justify-content:center;width:71px;height:23px;padding:0;border-radius:30px;font-size:13px;font-weight:600;color:#FAFAFA;line-height:1}
.rv-tag-fx{background:#0047AB}
.rv-tag-binary{background:#438CAF}

/* LIST */
.rv-list{padding:24px var(--side-pad) 100px;background:#FFFFFF}
.rv-list-inner{position:relative;width:100%;max-width:1100px;margin:0 auto}
.rv-row-empty{padding:80px 0;text-align:center;color:#7D7D7D;font-size:16px;border-top:1px solid #A8A8A8;border-bottom:1px solid #A8A8A8}
.rv-row-wrap{border-bottom:1px solid #A8A8A8}
.rv-row-wrap:first-of-type{border-top:1px solid #A8A8A8}
.rv-row{display:grid;grid-template-columns:60px minmax(0,1fr) 175px 30px;align-items:center;gap:36px;padding:30px 0;cursor:pointer;transition:background .15s;color:inherit;text-decoration:none;outline:none}
.rv-row:hover{background:transparent}
.rv-row:focus-visible{background:rgba(0,11,131,.04)}
.rv-no{font-size:15px;font-weight:400;color:#1A1A1A;text-align:center}
.rv-content{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.rv-row-title{margin:6px 0 0;font-size:22px;font-weight:600;color:#1A1A1A;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rv-row-body{margin:0;font-size:16px;font-weight:400;color:rgba(26,26,26,.6);line-height:1.6;letter-spacing:-1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:578px}
.rv-hashtags{display:flex;gap:14px;margin-top:4px}
.rv-hashtags span{font-size:16px;font-weight:400;color:#0047AB;letter-spacing:-1px;line-height:1.4}
.rv-name{width:64px;text-align:center;display:inline-block}
.rv-date{width:104px;text-align:center;display:inline-block}
.rv-meta{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:7px;color:#A8A8A8;font-size:15px;line-height:1.47}
.rv-arrow{display:inline-block;width:10px;height:10px;border-right:2.5px solid rgba(168,168,168,.7);border-bottom:2.5px solid rgba(168,168,168,.7);transform:rotate(-45deg);transition:transform .25s ease}
.rv-row-wrap.is-open .rv-arrow{transform:rotate(225deg)}

/* DROPDOWN */
.rv-row-detail{max-height:0;overflow:hidden;transition:max-height .35s ease;background:#F8FAFD}
.rv-row-wrap.is-open .rv-row-detail{max-height:800px}
.rv-row-detail-inner{padding:26px 80px 32px;color:rgba(26,26,26,.78);font-size:15px;line-height:1.85;letter-spacing:-.3px}
.rv-row-detail-body{margin:0 0 18px;font-size:15px;line-height:1.85;color:rgba(26,26,26,.78);white-space:pre-line}
.rv-row-detail-tags{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}
.rv-row-detail-tags span{font-size:14px;color:#0047AB;letter-spacing:-.5px}
.rv-row-detail-meta{margin:0;font-size:13px;color:#A8A8A8}

/* PAGINATION */
.rv-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:60px}
.rv-pg-btn,.rv-pg-num{background:transparent;border:none;cursor:pointer;font-size:18px;color:#1A1A1A;padding:8px 12px;font-family:inherit;line-height:1}
.rv-pg-num{min-width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.rv-pg-num.rv-pg-active{background:#00064B;color:#FFFFFF}
.rv-pg-dots{font-size:18px;color:#1A1A1A;padding:0 4px;line-height:34px}

/* SINGLE REVIEW PAGE */
.page-reviews-single{position:relative;width:100%;background:#FFFFFF;color:#1A1A1A;overflow:hidden;--side-pad:clamp(16px, calc((100vw - 1100px) / 2), 410px)}
.rv-hero-mini{height:280px}
.rv-hero-mini .rv-hero-title{font-size:42px}
.rv-single{padding:80px var(--side-pad) 100px;background:#F8F9FB}
.rv-single-inner{max-width:900px;margin:0 auto;background:#FFFFFF;border-radius:14px;box-shadow:0 0 24px rgba(0,11,131,.06);padding:60px 70px}
.rv-single-head{padding-bottom:30px;border-bottom:1px solid rgba(168,168,168,.4);margin-bottom:36px}
.rv-single-head .rv-tag{margin-bottom:18px;width:auto;padding:0 16px}
.rv-single-title{margin:0 0 18px;font-size:26px;font-weight:700;color:#1A1A1A;line-height:1.4}
.rv-single-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#A8A8A8}
.rv-meta-sep{color:#D6D6D6}
.rv-single-body{font-size:16px;line-height:1.85;color:#1A1A1A;letter-spacing:-.2px;min-height:160px}
.rv-single-body p{margin:0 0 18px}
.rv-single-tags{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(168,168,168,.3)}
.rv-single-tags span{font-size:14px;color:#0047AB;letter-spacing:-.5px}
.rv-single-footer{display:flex;justify-content:center;margin-top:50px}
.rv-back-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 38px;background:#FFFFFF;border:1px solid #1A1A1A;border-radius:6px;color:#1A1A1A;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.rv-back-btn:hover{background:#1A1A1A;color:#FFFFFF}

/* Coupon ticket (HTML) — re-introduced for JP text */
.rv-coupon-card{position:relative;width:560px;max-width:90%;padding:64px 72px 56px;margin:0 auto 50px;text-align:center}
.rv-coupon-badge{position:absolute;top:24px;right:30px;width:54px;height:54px;background:#000B83;color:#FFFFFF;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-.4px;z-index:2}
.rv-coupon-label{margin:0;font-size:18px;font-weight:400;color:#1A1A1A;line-height:1.5}
.rv-coupon-amount{margin:22px 0 0;font-size:64px;font-weight:800;color:#000B83;line-height:1;letter-spacing:-1.5px}
.rv-coupon-amount span{font-size:30px;font-weight:600;margin-left:8px;color:#000B83}
.rv-coupon-help{margin:0 0 28px;font-size:16px;font-weight:500;color:#1A1A1A;letter-spacing:-.5px;text-align:center}
.rv-coupon-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:200px;height:54px;background:#FFFFFF;border:1px solid #C00000;border-radius:6px;color:#C00000;font-size:17px;font-weight:500;cursor:pointer;font-family:inherit;transition:transform .15s, box-shadow .15s;box-shadow:0 2px 6px rgba(192,0,0,.08)}
.rv-coupon-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(192,0,0,.15)}
.rv-coupon-btn svg{flex-shrink:0;color:#C00000}

@media (max-width:1023.98px){
  .page-reviews{--side-pad:16px}
  .page-reviews-single{--side-pad:14px}
  .rv-hero-mini{height:160px;margin-top:60px}
  .rv-hero-mini .rv-hero-title{font-size:22px}
  .rv-single{padding:24px var(--side-pad) 50px}
  .rv-single-inner{padding:24px 18px;border-radius:12px;box-shadow:0 2px 12px rgba(0,11,131,.05)}
  .rv-single-head{padding-bottom:18px;margin-bottom:22px}
  .rv-single-head .rv-tag{margin-bottom:12px;padding:0 12px;font-size:12px;height:24px;line-height:24px;display:inline-flex;align-items:center}
  .rv-single-title{margin:0 0 12px;font-size:17px;line-height:1.5}
  .rv-single-meta{font-size:12px;gap:6px}
  .rv-single-body{font-size:14.5px;line-height:1.8;min-height:auto;letter-spacing:0}
  .rv-single-body p{margin:0 0 12px}
  .rv-single-tags{gap:8px;margin-top:18px;padding-top:14px}
  .rv-single-tags span{font-size:12px}
  .rv-single-footer{margin-top:28px}
  .rv-back-btn{padding:9px 24px;font-size:13px;border-radius:6px}
}

/* admin (運営者) reply under a review */
.rv-admin-reply{margin:24px 0 4px;padding:18px 20px;background:#f4f7fb;border-left:3px solid #0047AB;border-radius:6px}
.rv-admin-reply-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rv-admin-reply-badge{font-size:12px;font-weight:700;color:#fff;background:#0047AB;padding:3px 11px;border-radius:999px;white-space:nowrap}
.rv-admin-reply-date{font-size:12px;color:#8a93a0}
.rv-admin-reply-body{font-size:14px;line-height:1.85;color:#333}
@media (max-width:1023.98px){.rv-admin-reply{margin:16px 0;padding:14px 16px}.rv-admin-reply-body{font-size:13px}.rv-admin-reply-badge{font-size:11px}}

/* admin reply — letterhead style (brand / hr / body / hr / contact) */
.rv-admin-reply-head{justify-content:space-between;align-items:flex-start;margin-bottom:0}
.rv-admin-reply-brand{display:flex;flex-direction:column;gap:3px}
.rv-reply-name{font-size:14px;font-weight:800;letter-spacing:1.5px;color:#0047AB}
.rv-reply-tag{font-size:12px;color:#8a93a0}
.rv-reply-hr{border:0;border-top:1px solid #d7deea;margin:13px 0}
.rv-admin-reply-foot{font-size:12.5px;line-height:1.75;color:#5a6470}
.rv-admin-reply-foot .rv-reply-name{font-size:13px}
@media (max-width:1023.98px){.rv-reply-name{font-size:13px}.rv-reply-tag{font-size:11px}.rv-admin-reply-foot{font-size:12px}}

/* ══════════════════════════════════════════════════════════
   レビュー投稿の案内バナー — タイアンらしさを強化
   ネイビー(#000B83)を基調 + レッド(#C00000)をポイントに、カードサーフェス
   ══════════════════════════════════════════════════════════ */
.page-reviews .rv-coupon-card{
  width:680px;max-width:92%;padding:0 20px 8px;margin:0 auto 42px;
  background:transparent;border:0;border-radius:0;box-shadow:none;
}
.page-reviews .rv-coupon-card::before{content:none}
.page-reviews .rv-coupon-label{
  margin:0;font-size:28px;font-weight:700;color:#000B83;line-height:1.45;letter-spacing:-.6px;
}
.page-reviews .rv-coupon-amount{
  margin:24px 0 0;font-size:78px;font-weight:800;color:#C00000;line-height:1;letter-spacing:-2px;
}
.page-reviews .rv-coupon-amount span{
  font-size:32px;font-weight:700;color:#000B83;margin-left:10px;letter-spacing:-.5px;
}
.page-reviews .rv-coupon-help{
  margin:0 0 26px;font-size:19px;font-weight:600;color:#1A1A1A;line-height:1.7;letter-spacing:-.4px;
}
.page-reviews .rv-coupon-note{
  display:block;margin-top:16px;font-size:13.5px;font-weight:400;
  color:#6E7687;line-height:1.9;letter-spacing:-.2px;
}
/* CTAバナー(ネイビー)内の注釈 */
.page-reviews .fxl-cta-note{
  margin:10px 0 0;font-size:13px;font-weight:400;line-height:1.85;
  color:rgba(255,255,255,.82);letter-spacing:-.2px;
}
@media (max-width:1023.98px){
  .page-reviews .rv-coupon-card{padding:0 16px 6px}
  .page-reviews .rv-coupon-label{font-size:21px}
  .page-reviews .rv-coupon-amount{font-size:54px}
  .page-reviews .rv-coupon-amount span{font-size:24px}
  .page-reviews .rv-coupon-help{font-size:16px}
  .page-reviews .rv-coupon-note{font-size:12px;line-height:1.8}
  .page-reviews .fxl-cta-note{font-size:11px}
}

/* ── 「最新の投稿」カード → 口コミ詳細へ遷移 (2026-08-07) ──
   <a> でカード全体を包まず、透明レイヤーを重ねる方式。
   アンカー内に h3/p などのブロックを入れると、iOS Safari がアンカーを分割してクリックが効かなくなる事例があるため
   (front-page-mobile の m-review-row で起きたのと同じ問題) オーバーレイで処理する。
   .rv-featured-card は既に position:relative のため、そのまま基準になる。 */
.rv-featured-card.is-linked{transition:box-shadow .2s ease, transform .2s ease}
.rv-featured-card.is-linked:hover{box-shadow:0 10px 30px rgba(0,11,131,.14);transform:translateY(-2px)}
.rv-featured-link{position:absolute;inset:0;z-index:3;display:block;border-radius:inherit;text-decoration:none}
.rv-featured-link:focus-visible{outline:3px solid #1F3DFF;outline-offset:-3px}
.rv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
