/*
 * 身近なネーミングライツ診断のスタイル
 *
 * 色・書体はテーマ本体の変数を使う。ネーミングライツの色は、ネーミングノートのカードと同じ黄。
 * 黄は白地の文字には使えないので、文字は --lg-yellow-ink、面と線だけ --lg-yellow。
 * .form / .form-row / .btn-ghost はテーマ側の定義を再利用している。
 */

.nr-wrap{
  --nr: var(--lg-yellow);
  --nr-ink: var(--lg-yellow-ink);
  max-width:720px; margin:40px auto 0;
}
.nr-wrap [hidden]{ display:none !important; }

/* ---------- 進み具合 ---------- */

.nr-progress{ margin-bottom:28px; }
.nr-progress-bar{ height:6px; background:var(--gray); border-radius:999px; overflow:hidden; }
.nr-progress-bar i{ display:block; height:100%; background:var(--nr); border-radius:999px; transition:width .35s ease; }
.nr-progress-text{
  display:flex; justify-content:space-between; align-items:baseline;
  margin:10px 0 0; font-size:12.5px; font-weight:700; color:var(--steel);
}
.nr-progress-text b{ color:var(--ink); font-size:15px; }

/* ---------- 設問 ---------- */

.nr-step{ border:none; padding:0; margin:0; min-width:0; }
.nr-step-title{ font-size:20px; font-weight:900; line-height:1.6; padding:0; margin:0 0 20px; }
.nr-q{ font-size:14px; font-weight:900; line-height:1.7; margin:28px 0 10px; }
.nr-step-title + .nr-q{ margin-top:0; }

.nr-opts{ display:grid; gap:8px; }
.nr-opts-2{ grid-template-columns:repeat(2,1fr); }

.nr-form .nr-opt{
  display:flex; align-items:flex-start; gap:10px;
  font-size:14px; font-weight:700; line-height:1.6; margin:0; cursor:pointer;
  border:1.5px solid var(--line); border-radius:8px; padding:13px 14px;
  transition:border-color .2s, background .2s;
}
.nr-opt:hover{ border-color:var(--ink); }
.nr-opt input{ margin:.28em 0 0; flex-shrink:0; accent-color:var(--ink); }
.nr-opt span{ min-width:0; }
.nr-form .nr-opt small{
  display:block; margin:2px 0 0; font-size:12px; font-weight:400; line-height:1.6; color:var(--steel);
}
.nr-opt:has(input:checked){ border-color:var(--ink); background:rgba(255,200,0,.14); }
.nr-opt:has(input:focus-visible){ outline:2px solid var(--ink); outline-offset:2px; }

.nr-row{ margin:26px 0 0; }

/* ---------- ボタン ---------- */

.nr-nav{ display:flex; gap:12px; align-items:center; margin-top:32px; }
.nr-next, .nr-submit{
  flex:1; background:var(--ink); color:#fff; border:2px solid var(--ink); border-radius:999px;
  padding:16px 24px; font-size:15px; font-weight:900; font-family:inherit; cursor:pointer;
  transition:transform .3s, box-shadow .3s;
}
.nr-next:hover, .nr-submit:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(17,17,17,.2); }
.nr-next:disabled{ opacity:.5; cursor:default; transform:none; box-shadow:none; }
.nr-back{
  background:none; border:2px solid var(--line); border-radius:999px; color:var(--ink);
  padding:14px 22px; font-size:14px; font-weight:700; font-family:inherit; cursor:pointer;
  transition:border-color .2s;
}
.nr-back:hover{ border-color:var(--ink); }

.nr-privacy{
  font-size:12.5px; line-height:1.9; color:var(--steel);
  margin:24px 0 0; padding-top:18px; border-top:1px solid var(--line);
}

/* ---------- 結果 ---------- */

.nr-result:focus{ outline:none; }
.nr-verdict{
  background:var(--gray); border-left:6px solid var(--nr); border-radius:4px; padding:30px 32px;
}
.nr-verdict p{ margin:0; }
.nr-verdict .nr-verdict-thing{ font-size:13px; font-weight:700; color:var(--steel); overflow-wrap:anywhere; }
.nr-verdict .nr-verdict-title{
  font-family:var(--font-display); font-size:clamp(22px,3.4vw,30px); font-weight:900; line-height:1.5; margin:8px 0 12px;
}
.nr-verdict .nr-verdict-text{ font-size:15px; line-height:2; color:var(--steel); }

.nr-axes{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px 28px; margin:24px 0 0; }
.nr-axis{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:10px 0; border-bottom:1px solid var(--line);
}
.nr-axis dt{ font-size:13px; font-weight:700; }
.nr-axis dd{ display:flex; gap:5px; margin:0; }
.nr-axis dd i{ width:22px; height:8px; border-radius:2px; background:var(--line); }
.nr-axis dd i.on{ background:var(--nr); }

/* テーマは section 全部に大きな余白を付け、本文の ul li にひし形の印を付ける。診断の中では両方とも外す */
.nr-wrap .nr-sec{ margin-top:44px; padding:0; }
.nr-wrap ul li::before{ content:none !important; }
.nr-wrap .nr-h3{
  font-size:clamp(17px,2.2vw,21px); font-weight:900; line-height:1.5;
  margin:0 0 14px; padding:0 0 0 16px; position:relative; border:none;
}
.nr-wrap .nr-h3::before{
  content:''; position:absolute; left:0; top:.4em; width:6px; height:.9em; background:var(--nr); border-radius:1px; transform:none;
}
.nr-wrap .nr-p{ font-size:15px; line-height:2; margin:0 0 14px; }
.nr-wrap .nr-note{ font-size:13px; line-height:1.9; color:var(--steel); margin:12px 0 0; }

.nr-wrap .nr-chips{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.nr-wrap .nr-chips li{
  margin:0; padding:8px 16px; background:var(--gray); border:1px solid var(--line);
  border-radius:999px; font-size:13.5px; font-weight:700;
}
.nr-wrap .nr-names{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.nr-wrap .nr-names li{
  margin:0; padding:14px 18px; border:1.5px solid var(--ink); border-radius:8px;
  font-size:16px; font-weight:900; line-height:1.6; overflow-wrap:anywhere;
}
.nr-wrap .nr-tips{ margin:0; padding-left:1.4em; }
.nr-wrap .nr-tips li{ font-size:15px; line-height:2; margin:0 0 10px; }

.nr-wrap .nr-idea-box{ background:var(--gray); border-radius:8px; padding:28px 30px; }
.nr-idea-form .nr-row{ margin:0 0 16px; }
.nr-idea-form .nr-row input{ margin-top:8px; }
.nr-trap{ position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }
.nr-form .nr-consent, .nr-idea-form .nr-consent{
  display:flex; align-items:flex-start; gap:10px; margin:4px 0 20px;
  font-size:13px; font-weight:400; line-height:1.8; cursor:pointer;
}
.nr-consent input{ margin:.35em 0 0; flex-shrink:0; accent-color:var(--ink); }
.nr-idea-form .nr-next{ width:100%; }
.nr-wrap .nr-msg{ font-size:13px; line-height:1.8; color:var(--lg-red-ink); margin:12px 0 0; min-height:1.8em; }
.nr-wrap .nr-done{ font-size:15px; font-weight:700; line-height:1.9; margin:0; }

.nr-next-links{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; margin-top:40px; }
.nr-wrap .nr-link{ font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }

/* ---------- みんなの一覧 ---------- */

.page-body .nr-ideas{
  list-style:none; margin:24px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px;
}
.page-body .nr-idea{
  margin:0; padding:18px 20px; background:#fff; border:1px solid var(--line);
  border-top:4px solid var(--lg-yellow); border-radius:4px;
}
.page-body .nr-idea::before{ content:none; }
.nr-idea p{ margin:0; }
.nr-idea .nr-idea-cat{
  display:flex; align-items:center; gap:8px;
  font-size:11.5px; font-weight:700; color:var(--steel); line-height:1.6;
}
.nr-idea-sample{
  border:1px solid var(--line); border-radius:3px; padding:0 6px; font-size:11px; color:var(--steel);
}
.nr-idea .nr-idea-thing{ font-size:15px; font-weight:900; line-height:1.6; margin-top:6px; overflow-wrap:anywhere; }
.nr-idea .nr-idea-name{ font-size:13.5px; line-height:1.7; color:var(--lg-yellow-ink); font-weight:700; margin-top:4px; overflow-wrap:anywhere; }
.nr-idea .nr-idea-nick{ font-size:12px; color:var(--steel-light); margin-top:8px; }
.page-body .nr-ideas-note{ font-size:12.5px; line-height:1.9; color:var(--steel); margin:16px 0 0; }

@media(max-width:600px){
  .nr-opts-2{ grid-template-columns:1fr; }
  .nr-axes{ grid-template-columns:1fr; }
  .nr-verdict{ padding:24px 22px; }
  .nr-wrap .nr-idea-box{ padding:22px 20px; }
  .nr-nav{ flex-wrap:wrap; }
  .nr-next-links > *{ width:100%; justify-content:center; text-align:center; }
}

/* ---------- 記事・事業ページからの案内カード ---------- */

.page-body .nr-card, .entry-body .nr-card{
  margin:48px 0 0; padding:30px 32px; background:#fff;
  border:1px solid var(--line); border-left:6px solid var(--lg-yellow); border-radius:4px;
}
.nr-card p{ margin:0; }
.nr-card .nr-card-eyebrow{
  font-family:var(--font-en); font-size:13px; letter-spacing:.12em; color:var(--lg-yellow-ink); line-height:1.4; margin:0 0 10px;
}
.nr-card .nr-card-title{
  font-family:var(--font-display); font-weight:900; font-size:clamp(19px,2.4vw,24px); line-height:1.5; margin:0 0 10px;
}
.nr-card .nr-card-text{ font-size:14.5px; line-height:1.95; color:var(--steel); margin:0 0 20px; }
.page-body .nr-card-btn, .entry-body .nr-card-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--ink); color:#fff !important; text-decoration:none !important;
  padding:14px 26px; border-radius:999px; font-size:14px; font-weight:900;
  transition:transform .3s, box-shadow .3s;
}
.nr-card-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(17,17,17,.2); }
@media(max-width:600px){
  .page-body .nr-card, .entry-body .nr-card{ padding:24px 20px; }
  .page-body .nr-card-btn, .entry-body .nr-card-btn{ display:flex; justify-content:center; }
}
