@charset "UTF-8";
/* =========================================================
   なまはげ 追加機能（ゲーム評価・チャットボット）専用CSS
   既存テンプレートと干渉しないよう #nmr- / #nmb- 配下のみ
   ========================================================= */

/* ---- テンプレートの button / input 指定を打ち消す共通リセット ---- */
#nmr-reviews button, #nmb-root button,
#nmr-reviews input, #nmb-root input,
#nmr-reviews textarea, #nmb-root textarea {
  width: auto; height: auto; min-width: 0; margin: 0; float: none;
  font: inherit; letter-spacing: normal; text-transform: none;
  box-shadow: none; -webkit-appearance: none; appearance: none;
  box-sizing: border-box;
}

/* =========================
   ゲーム評価セクション
   ========================= */
#nmr-reviews{margin:40px auto;padding:clamp(22px,5vw,44px) clamp(14px,4vw,32px);background:#fff;border:2px solid #ecd9ba;border-radius:20px;color:#35231d;box-sizing:border-box}
#nmr-reviews *{box-sizing:border-box}
#nmr-reviews .nmr-heading{text-align:center}
#nmr-reviews .nmr-eyebrow{display:block;color:#a52c23;font-size:12px;font-weight:800;letter-spacing:.15em}
#nmr-reviews .nmr-heading h2{margin:10px 0 10px;font-size:clamp(22px,4.6vw,32px);color:#76241f;line-height:1.4}
#nmr-reviews .nmr-heading p{margin:0 0 22px;font-size:15px;line-height:1.8}

/* タブ */
#nmr-reviews .nmr-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 0 20px}
#nmr-reviews .nmr-tab{cursor:pointer;border:2px solid #e9d7c5;background:#fff8eb;color:#75241f;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:800;min-height:44px;line-height:1.3}
#nmr-reviews .nmr-tab[aria-selected="true"]{background:#a92720;border-color:#a92720;color:#fff}
#nmr-reviews .nmr-tab:focus-visible{outline:3px solid #c17a13;outline-offset:3px}

/* パネル */
#nmr-reviews .nmr-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}
#nmr-reviews .nmr-panel[hidden]{display:none}
#nmr-reviews .nmr-box{background:#fff8eb;border:1px solid #ecd9ba;border-radius:16px;padding:20px}
#nmr-reviews .nmr-box h3{margin:0 0 12px;font-size:18px;color:#75241f;line-height:1.5}

/* 集計 */
#nmr-reviews .nmr-avg{display:flex;align-items:center;gap:12px;margin-bottom:14px}
#nmr-reviews .nmr-avg-num{font-size:44px;font-weight:900;color:#a92720;line-height:1}
#nmr-reviews .nmr-avg-stars{font-size:22px;letter-spacing:2px;color:#e2a312;line-height:1}
#nmr-reviews .nmr-avg-count{font-size:13px;color:#7a5a4c;margin-top:4px}
#nmr-reviews .nmr-bars{list-style:none;margin:0;padding:0}
#nmr-reviews .nmr-bars li{display:grid;grid-template-columns:34px 1fr 34px;gap:8px;align-items:center;font-size:13px;margin:4px 0}
#nmr-reviews .nmr-bar{height:10px;background:#ecdfce;border-radius:99px;overflow:hidden}
#nmr-reviews .nmr-bar span{display:block;height:100%;background:#e2a312;border-radius:99px}
#nmr-reviews .nmr-play{display:inline-block;margin-top:14px;color:#8d281e;font-weight:800;font-size:14px}

/* フォーム */
#nmr-reviews .nmr-stars{display:flex;gap:4px;margin:0 0 6px}
#nmr-reviews .nmr-star{cursor:pointer;background:none;border:0;padding:2px;font-size:38px;line-height:1;color:#d9cbbb;min-width:44px;min-height:44px}
#nmr-reviews .nmr-star.on{color:#e2a312}
#nmr-reviews .nmr-star:focus-visible{outline:3px solid #c17a13;border-radius:8px}
#nmr-reviews .nmr-star-label{font-size:13px;color:#7a5a4c;min-height:1.6em;margin:0 0 10px}
#nmr-reviews label.nmr-label{display:block;font-size:14px;font-weight:700;margin:10px 0 4px}
#nmr-reviews .nmr-input,#nmr-reviews .nmr-textarea{display:block;width:100%;border:2px solid #e3d2c0;border-radius:10px;background:#fff;padding:10px 12px;font-size:16px;color:#35231d;line-height:1.6}
#nmr-reviews .nmr-textarea{min-height:90px;resize:vertical}
#nmr-reviews .nmr-input:focus,#nmr-reviews .nmr-textarea:focus{outline:none;border-color:#a92720}
#nmr-reviews .nmr-count{text-align:right;font-size:12px;color:#7a5a4c;margin-top:2px}
#nmr-reviews .nmr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#nmr-reviews .nmr-submit{cursor:pointer;display:block;width:100%;margin-top:14px;border:0;border-radius:999px;background:#a92720;color:#fff;font-size:16px;font-weight:800;padding:14px 20px;min-height:48px}
#nmr-reviews .nmr-submit:disabled{opacity:.5;cursor:not-allowed}
#nmr-reviews .nmr-note{font-size:12px;color:#7a5a4c;line-height:1.7;margin:10px 0 0}
#nmr-reviews .nmr-msg{font-size:14px;font-weight:700;margin:10px 0 0;min-height:1.4em}
#nmr-reviews .nmr-msg.ok{color:#2f7a3a}
#nmr-reviews .nmr-msg.ng{color:#b3261e}

/* コメント一覧 */
#nmr-reviews .nmr-comments{grid-column:1 / -1}
#nmr-reviews .nmr-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#nmr-reviews .nmr-list li{background:#fff;border:1px solid #ecd9ba;border-radius:12px;padding:12px 14px}
#nmr-reviews .nmr-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#7a5a4c;margin-bottom:4px}
#nmr-reviews .nmr-meta .s{color:#e2a312;letter-spacing:1px;font-size:14px}
#nmr-reviews .nmr-list p{margin:0;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
#nmr-reviews .nmr-empty{font-size:14px;color:#7a5a4c;text-align:center;padding:10px}

@media(max-width:760px){
  #nmr-reviews{margin:24px auto;border-radius:14px}
  #nmr-reviews .nmr-panel{grid-template-columns:1fr;gap:14px}
  #nmr-reviews .nmr-tab{font-size:14px;padding:9px 14px}
}

/* =========================
   チャットボット
   ========================= */
#nmb-root{--nmb-red:#a92720;--nmb-bottom:88px;position:fixed;right:16px;bottom:var(--nmb-bottom);z-index:9990;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;color:#35231d}
#nmb-root *{box-sizing:border-box}

#nmb-root .nmb-fab{cursor:pointer;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--nmb-red);color:#fff;padding:12px 18px 12px 14px;font-size:15px;font-weight:800;box-shadow:0 8px 22px rgba(80,20,10,.3);min-height:52px}
#nmb-root .nmb-fab .ico{font-size:26px;line-height:1}
#nmb-root .nmb-fab:focus-visible{outline:3px solid #c17a13;outline-offset:3px}
#nmb-root.open .nmb-fab{display:none}

#nmb-root .nmb-panel{display:none;flex-direction:column;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - var(--nmb-bottom) - 24px));background:#fff;border-radius:18px;box-shadow:0 14px 40px rgba(60,20,10,.28);overflow:hidden;border:1px solid #ecd9ba}
#nmb-root.open .nmb-panel{display:flex}

#nmb-root .nmb-head{display:flex;align-items:center;gap:10px;background:var(--nmb-red);color:#fff;padding:12px 12px 12px 16px}
#nmb-root .nmb-head .ico{font-size:28px;line-height:1}
#nmb-root .nmb-head .t{flex:1;line-height:1.3}
#nmb-root .nmb-head .t b{display:block;font-size:16px}
#nmb-root .nmb-head .t small{font-size:11px;opacity:.85}
#nmb-root .nmb-close{cursor:pointer;background:rgba(255,255,255,.15);border:0;color:#fff;border-radius:50%;width:40px;height:40px;font-size:22px;line-height:1;padding:0}

#nmb-root .nmb-log{flex:1;overflow-y:auto;padding:14px;background:#fff8eb;display:flex;flex-direction:column;gap:10px}
#nmb-root .nmb-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
#nmb-root .nmb-msg.bot{align-self:flex-start;background:#fff;border:1px solid #ecd9ba;border-top-left-radius:4px}
#nmb-root .nmb-msg.user{align-self:flex-end;background:var(--nmb-red);color:#fff;border-top-right-radius:4px}
#nmb-root .nmb-msg a{color:#8d281e;font-weight:700}
#nmb-root .nmb-msg.typing{color:#7a5a4c}

#nmb-root .nmb-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:6px;padding:8px 12px;background:#fff;border-top:1px solid #f0e3d3}
#nmb-root .nmb-chip{cursor:pointer;flex:0 0 auto;white-space:nowrap;border:1px solid #e3cdb6;background:#fff8eb;color:#75241f;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;min-height:36px}

#nmb-root .nmb-form{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #f0e3d3}
#nmb-root .nmb-input{flex:1;border:2px solid #e3d2c0;border-radius:999px;padding:10px 14px;font-size:16px;min-height:44px;background:#fff;color:#35231d}
#nmb-root .nmb-input:focus{outline:none;border-color:var(--nmb-red)}
#nmb-root .nmb-send{cursor:pointer;border:0;border-radius:999px;background:var(--nmb-red);color:#fff;font-weight:800;font-size:15px;padding:0 16px;min-height:44px}
#nmb-root .nmb-send:disabled{opacity:.5}

@media(max-width:600px){
  #nmb-root{right:12px;--nmb-bottom:76px}
  #nmb-root .nmb-fab .lbl{display:none}
  #nmb-root .nmb-fab{padding:12px}
  #nmb-root.open{right:8px;left:8px}
  #nmb-root .nmb-panel{width:100%}
}
@media print{#nmb-root{display:none}}
