
/* NEXT RISE ARC | 全ページ共通 CTA と FAQ (v1.16.0)
   Link semantics maintained: navigation stays a text link; visual CTAs become buttons. */
a.nra-cta-button,
a.nra-cta-button:link,
a.nra-cta-button:visited {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:.55em !important; width:auto; max-width:100%; min-height:44px;
  padding:12px 22px !important; border-radius:7px !important;
  text-decoration:none !important; font-weight:750 !important;
  font-size:clamp(13px,1vw,15px); line-height:1.4 !important;
  white-space:normal; text-align:center;
  cursor:pointer; transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  box-shadow:0 8px 18px rgb(30 41 59 / 10%); border:2px solid currentColor;
}
a.nra-cta-button:hover{transform:translateY(-1px) !important;}
a.nra-cta-button.nra-primary-cta,
a.nra-cta-button.nra-primary-cta:link,
a.nra-cta-button.nra-primary-cta:visited {
  background:#EA580C !important; color:#FFFFFF !important; border-color:#EA580C !important;
  min-height:48px; padding:13px 24px !important; font-weight:850 !important;
  box-shadow:0 10px 22px rgb(234 88 12 / 22%);
}
a.nra-cta-button.nra-primary-cta:hover,
a.nra-cta-button.nra-primary-cta:focus-visible {
  background:#F97316 !important; border-color:#F97316 !important; color:#FFFFFF !important;
}
a.nra-cta-button.nra-secondary-cta,
a.nra-cta-button.nra-secondary-cta:link,
a.nra-cta-button.nra-secondary-cta:visited {
  background:#F97316 !important; color:#FFFFFF !important; border-color:#F97316 !important;
}
a.nra-cta-button.nra-secondary-cta:hover,
a.nra-cta-button.nra-secondary-cta:focus-visible {
  background:#EA580C !important; color:#FFFFFF !important; border-color:#EA580C !important;
}
/* Keep dark-panel CTAs visible with the same orange button treatment. */
:is(.hero,.final-cta,.svc-hero,.svc-final-cta,.meo-hero,.meo-final-cta,.works-hero,.works-final-cta,.reason-hero,.reason-final-cta,.price-hero,.price-final-cta,.company-hero,.company-final-cta,.blog-hero,.blog-final-cta,.lp-hero,.lp-final-cta,.about-hero,.about-final-cta,.message-hero,.message-final-cta,.nfaq-hero,.nfaq-final-cta,.ncs-hero,.ncs-final-cta) a.nra-secondary-cta {
  background:#F97316 !important; border-color:#F97316 !important; color:#FFFFFF !important;
}
:is(.hero,.final-cta,.svc-hero,.svc-final-cta,.meo-hero,.meo-final-cta,.works-hero,.works-final-cta,.reason-hero,.reason-final-cta,.price-hero,.price-final-cta,.company-hero,.company-final-cta,.blog-hero,.blog-final-cta,.lp-hero,.lp-final-cta,.about-hero,.about-final-cta,.message-hero,.message-final-cta,.nfaq-hero,.nfaq-final-cta,.ncs-hero,.ncs-final-cta) a.nra-secondary-cta:hover {background:#EA580C !important;color:#FFFFFF !important;border-color:#EA580C !important}
a.nra-cta-button:focus-visible {outline:3px solid #F97316 !important; outline-offset:3px}
/* Keep primary free consultation first even when existing HTML visually orders another button first. */
:is([class*="actions"],[class*="cta-buttons"],[class*="button-group"],[class*="btn-row"]) > a.nra-primary-cta {order:-2}
:is([class*="actions"],[class*="cta-buttons"],[class*="button-group"],[class*="btn-row"]) > a.nra-secondary-cta {order:0}
/* The free consultation card is the default recommended choice. */
.works-consult-card.nra-priority-consult-card {border:2px solid #EA580C; box-shadow:0 5px 18px rgb(30 41 59 / 9%)}
.works-consult-card.nra-priority-consult-card h3 {color:#EA580C}
/* FAQ: reuse the top-page's simple Q / A / + / − language across templates. */
details.nra-faq-unified {
  display:block !important; width:100% !important; max-width:100%;
  border:1px solid #33415532 !important; border-radius:6px !important;
  background:#FFFFFF !important; margin:0 0 8px !important;
  box-shadow:none !important; overflow:hidden !important;
}
details.nra-faq-unified[open] {border-color:#F9731699 !important}
details.nra-faq-unified > summary {
  display:flex !important; align-items:center !important; gap:12px !important;
  position:relative; min-height:52px !important;
  padding:12px 17px !important; color:#1E293B !important;
  font-size:clamp(14px,1.1vw,16px) !important; font-weight:750 !important;
  line-height:1.6 !important; background:#FFFFFF !important;
  cursor:pointer; list-style:none !important; border:0 !important;
}
details.nra-faq-unified > summary::-webkit-details-marker{display:none}
details.nra-faq-unified > summary::marker{content:""}
details.nra-faq-unified > summary::before {
  content:"Q" !important; display:grid !important; place-items:center !important;
  flex:0 0 27px; width:27px;height:27px;border-radius:50%;
  background:#EA580C;color:#FFFFFF; font-weight:850;font-size:14px;line-height:1;
}
details.nra-faq-unified > summary::after {
  content:"+" !important;display:block !important; flex:0 0 23px;
  margin-left:auto !important; color:#EA580C !important; font-weight:700;
  font-size:24px !important;text-align:center;line-height:1 !important;
  width:23px;height:auto;position:static !important;transform:none !important;
  background:none !important;border:0 !important;
}
details.nra-faq-unified[open] > summary::after {content:"−" !important}
details.nra-faq-unified > summary:focus-visible {outline:2px solid #F97316;outline-offset:-3px}
/* hide historic decorative Q + icons, not question labels */
details.nra-faq-unified > summary > :is(.faq-q,.faq-sign,.about-faq-q,.about-faq-toggle,.blog-faq-mark,.blog-faq-toggle,.company-faq-q,.company-faq-toggle,.company-faq-mark,.company-faq-sign,.lp-faq-toggle,.meo-faq-q,.meo-faq-plus,.message-faq-q,.price-faq-q,.price-faq-toggle,.reason-faq-q,.reason-faq-toggle,.reason-q-mark,.svc-faq-q,.svc-faq-toggle,.svc-q-mark,.svc-faq-mark,.works-faq-q,.works-faq-toggle,.nfaq-q-round,.nfaq-expand-icon),
details.nra-faq-unified > summary > b,
details.nra-faq-unified > summary > strong {display:none !important}
/* service child FAQ has trailing + plain span (aria-hidden). */
details.nra-faq-unified > summary > span[aria-hidden="true"] {display:none !important}
/* Answers: common left A marker with flexible content; preserve existing actual text / links. */
details.nra-faq-unified > :not(summary) {
  display:flex !important;gap:12px !important;align-items:flex-start !important;
  border:0 !important;border-top:1px solid #33415524 !important;
  background:#FFFFFF !important;padding:13px 17px 17px !important;
  color:#334155 !important;font-size:clamp(13px,1vw,15px) !important;
  font-weight:400 !important;line-height:1.85 !important;
}
details.nra-faq-unified > :not(summary)::before {
  content:"A" !important; display:grid !important;place-items:center !important;
  flex:0 0 27px;width:27px;height:27px;border-radius:4px;
  color:#FFFFFF;background:#334155;font-size:14px;font-weight:800;line-height:1;
}
details.nra-faq-unified > :not(summary) > :is(.faq-a,.blog-faq-mark,.about-faq-a,.company-faq-a,.lp-faq-answer > strong,.meo-faq-answer > strong,.nfaq-a-square,.price-faq-a,.reason-faq-a,.reason-a-mark,.svc-faq-a,.works-faq-a),
details.nra-faq-unified > :not(summary) > span[aria-hidden="true"],
details.nra-faq-unified > :not(summary) > b,
details.nra-faq-unified > :not(summary) > strong {display:none !important}
details.nra-faq-unified > :not(summary) p {margin:0 0 .45em;line-height:inherit !important;color:#334155 !important;font-size:inherit !important}
details.nra-faq-unified > :not(summary) p:last-child{margin-bottom:0}
details.nra-faq-unified > :not(summary) > div {min-width:0;flex:1}
/* Two-column FAQ layouts are one continuous readable list, like the homepage. */
:is(.lp-faq-grid,.meo-faq-grid,.nfaq-groups,.about-faq-list,.blog-faq-list,.company-faq-list,.price-faq-list,.reason-faq-list,.svc-faq-list,.works-faq-list,.ncs-faq,.faq-list){
  display:flex !important;flex-direction:column !important;align-items:stretch !important;
  gap:0 !important;grid-template-columns:1fr !important;
}
.nfaq-groups .nfaq-group {max-width:100%;width:100%}
.nfaq-group-rows {display:flex !important;flex-direction:column !important;gap:0 !important}
/* Search results are hidden by the FAQ JS: preserve [hidden] despite display-flex overrides. */
details.nra-faq-unified[hidden],.nfaq-group[hidden]{display:none !important}
@media (max-width:700px){
 a.nra-cta-button{max-width:100%;min-height:46px !important;padding:12px 14px !important;font-size:13px !important}
 details.nra-faq-unified > summary{padding:11px 12px !important;font-size:14px !important;gap:9px !important}
 details.nra-faq-unified > :not(summary){padding:12px !important;font-size:13px !important;gap:9px !important}
 details.nra-faq-unified > summary::before,details.nra-faq-unified > :not(summary)::before{flex-basis:24px;width:24px;height:24px}
}
@media (prefers-reduced-motion:reduce){a.nra-cta-button{transition:none}}

/* FAQ action goes to the main FAQ page as a real button on every page. */
.faq-more > a.nra-cta-button,.ncs-end-link > a.nra-cta-button {margin-top:12px}
/* Keep FAQs and CTA readable when white backgrounds are used on all pages. */
.nfaq-contact-card:has(a.nra-primary-cta) {border:2px solid #EA580C !important}
