/* Akatsuki 作りかえ 2026-11。テーマの全ページで読む（site.css・corporate.css の後）。末尾に下層ページ用の指定。
   - 新しい区画は .rn の中に置き、クラスは rn- で始める（site.css の .btn・.hero・.wrap などと混ざらないように）。
   - ヘッダー・相談フォーム・フッターは既存の部品のまま、site.css の色の変数をこのページだけ置き換えて色をそろえる。
   - 書体はテーマ内のファイルだけ（外部の読み込みなし）。見出し用の日本語は、このページで使う文字だけを収めた部分フォント。 */

@font-face { font-family: "RN Gothic"; src: url("../fonts/renewal/rn-gothic-700.woff2?v=6") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "RN Gothic"; src: url("../fonts/renewal/rn-gothic-900.woff2?v=6") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "RN Wide"; src: url("../fonts/renewal/rn-wide-700.woff2?v=2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "RN Wide"; src: url("../fonts/renewal/rn-wide-800.woff2?v=2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }

:root {
  --rn-ink: #1b1b1a;
  --rn-sub: #5c5c58;
  --rn-line: #e4e3df;
  --rn-gray: #f4f4f1;
  --rn-gray2: #e8e7e3;
  --rn-mint: #8fd0bf;
  --rn-mint-soft: #e6f3ef;
  --rn-mint-light: #a5dccd;
  --rn-mint-text: #1f6f60;
  --rn-on-dark: #b9b8b2;
  --rn-card-dark: #272726;
  --rn-r: 20px;
  --rn-gutter: clamp(20px, 4.4vw, 64px);
  --rn-ja: "RN Gothic", "Noto Sans JP Subset", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", system-ui, sans-serif;
  --rn-en: "RN Wide", "Instrument Sans", "RN Gothic", system-ui, sans-serif;

  /* site.css の色をこのページだけ置き換える（ヘッダー・相談・フッターに効く） */
  --ivory: #ffffff;
  --paper: #f4f4f1;
  --cream: #e8e7e3;
  --ink: #1b1b1a;
  --ink-2: #4a4a47;
  --ink-3: #5c5c58;
  --line: rgba(27, 27, 26, .14);
  --line-strong: rgba(27, 27, 26, .32);
  --champagne: #8fd0bf;
  --champagne-deep: #1f6f60;
  --champagne-soft: #a5dccd;
  --night: #1b1b1a;
  --night-2: #272726;
  --on-night: #ffffff;
  --on-night-2: rgba(255, 255, 255, .74);
  --night-line: rgba(165, 220, 205, .3);
}

body { background: #ffffff; color: var(--rn-ink); font-family: var(--rn-ja); letter-spacing: .01em; }

/* ---------- ヘッダー（2026-11：太いゴシック・ミントの相談ボタン・黒い丸のメニューボタン。構造とidは既存のまま） ---------- */
.hdr.is-compact { background: rgba(255, 255, 255, .92); box-shadow: 0 1px 0 var(--rn-line); }
.hdr__inner { max-width: 1360px; margin: 0 auto; padding: 0 var(--rn-gutter); }
.hdr .nav__list { gap: clamp(18px, 2.6vw, 40px); }
.hdr .nav__list a { font-family: var(--rn-ja); font-weight: 700; font-size: 14px; letter-spacing: .02em; color: var(--rn-ink); }
.hdr .nav__list a:not(.nav__cta)::after { bottom: 0; height: 2px; background: var(--rn-mint); }
.hdr .nav__en { font-family: var(--rn-en); font-weight: 800; letter-spacing: 0; }
.hdr .nav__cta { gap: 10px; padding: 11px 22px !important; background: var(--rn-mint); color: var(--rn-ink); border-color: var(--rn-mint); }
.hdr .nav__cta::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.hdr .nav__cta:hover { background: var(--rn-mint-light); border-color: var(--rn-mint-light); color: var(--rn-ink); }
.hdr__menu { gap: 9px; height: 42px; padding: 0 16px 0 15px; border-radius: 99px; background: var(--rn-ink); color: #ffffff; }
.hdr__menu-label { font-family: var(--rn-en); font-weight: 700; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.hdr__menu-lines { width: 16px; height: 7px; }
.hdr__menu-lines::before, .hdr__menu-lines::after { height: 2px; border-radius: 1px; }
.hdr__menu-lines::after { top: 5px; }
.hdr__menu[aria-expanded="true"] .hdr__menu-lines::before, .hdr__menu[aria-expanded="true"] .hdr__menu-lines::after { top: 2.5px; }
.hdr :focus-visible { outline: 3px solid var(--rn-mint-text); outline-offset: 3px; }
@media (max-width: 760px) {
  .hdr .nav { background: #ffffff; padding: 96px var(--rn-gutter) 32px; overflow-y: auto; }
  .hdr .nav__list li, .hdr .nav__list li:last-child { border-color: var(--rn-line); }
  .hdr .nav__list a { align-items: center; padding: 18px 0; font-size: 13px; }
  .hdr .nav__list a:not(.nav__cta)::after { display: none; }
  .hdr .nav__en { font-size: clamp(26px, 8vw, 34px); line-height: 1.15; }
  .hdr .nav__ja { color: var(--rn-sub); }
  .hdr .nav__list li:has(.nav__cta), .hdr .nav__list li:nth-last-child(2) { border-bottom: 0; }
  .hdr .nav__list li:nth-last-child(2) { border-bottom: 1px solid var(--rn-line); }
  .hdr .nav__list li:has(.nav__cta) { border: 0; margin-top: 22px; }
  .hdr .nav__cta { border-radius: 20px; padding: 20px 22px !important; }
  .hdr .nav__cta .nav__ja { color: var(--rn-ink); margin-left: auto; }
  .hdr .nav__cta:hover { background: var(--rn-mint-light); color: var(--rn-ink); }
}

/* ---------- 共通 ---------- */
.rn { padding-top: var(--hdr, 76px); overflow-x: clip; }
.rn p, .rn h1, .rn h2, .rn h3, .rn ul, .rn ol, .rn dl, .rn dd, .rn figure { margin: 0; }
.rn ul, .rn ol { padding: 0; list-style: none; }
.rn a { text-decoration: none; }
.rn h1, .rn h2, .rn h3, .rn p, .rn li, .rn dd { word-break: auto-phrase; }
.rn img { max-width: 100%; height: auto; }
.rn-wrap { max-width: 1320px; margin: 0 auto; padding: 0 var(--rn-gutter); }
.rn-sec { padding: clamp(72px, 9vw, 136px) 0; }
.rn-sec--tight { padding-top: 0; }
.rn-gray, .rn-dark { border-radius: 28px; margin: 0 clamp(8px, 1.4vw, 20px); }
.rn-gray { background: var(--rn-gray); }
.rn-dark { background: var(--rn-ink); color: #ffffff; }
.rn-head { margin-bottom: clamp(28px, 4vw, 52px); }
.rn-head__ja { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; margin: 0 0 6px; line-height: 1.6; }
.rn-head__ja::before { content: ""; width: 4px; height: 16px; background: var(--rn-mint); border-radius: 2px; }
.rn-head__en { font-family: var(--rn-en); font-weight: 800; font-size: clamp(40px, 6.4vw, 88px); line-height: 1; letter-spacing: -.01em; }
.rn-statement { font-weight: 900; font-size: clamp(24px, 3.3vw, 44px); line-height: 1.5; letter-spacing: 0; }
.rn-lead { color: var(--rn-sub); max-width: 640px; line-height: 1.85; }
.rn-dark .rn-lead { color: var(--rn-on-dark); }
.rn-cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 80px); align-items: end; }
.rn-cols .rn-head { margin-bottom: 24px; }
.rn-cols--end { margin-bottom: 40px; }
.rn-cols--end .rn-head { margin-bottom: 0; }
.rn .cx-nw { display: inline-block; }

.rn-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.rn-btn { display: inline-flex; align-items: center; gap: 12px; border-radius: 99px; font-weight: 700; padding: 15px 28px; font-size: 15px; line-height: 1.4; background: var(--rn-mint); color: var(--rn-ink); transition: transform .2s, box-shadow .2s, background-color .2s; }
.rn-btn::after { content: ""; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.rn-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -12px rgba(27, 27, 26, .55); }
.rn-btn--black { background: var(--rn-ink); color: #ffffff; }
.rn-btn--white { background: #ffffff; color: var(--rn-ink); }
.rn-btn--line { background: transparent; color: var(--rn-ink); box-shadow: inset 0 0 0 1.5px var(--rn-ink); }
.rn-link { font-weight: 700; font-size: 14px; color: var(--rn-ink); border-bottom: 1.5px solid currentColor; padding-bottom: 4px; }
.rn-btn:focus-visible, .rn-link:focus-visible, .rn-menu a:focus-visible { outline: 3px solid var(--rn-mint-text); outline-offset: 3px; }

/* ---------- 最初の画面 ---------- */
.rn-hero { padding: clamp(8px, 1.4vw, 20px) clamp(8px, 1.4vw, 20px) 0; }
.rn-hero__panel { position: relative; overflow: hidden; background: var(--rn-gray); border-radius: 28px; padding: clamp(28px, 5vw, 76px); display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
.rn-hero__bg { display: none; }
.rn-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; margin-bottom: 26px !important; }
.rn-kicker::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--rn-mint); }
.rn-h1 { font-weight: 900; font-size: clamp(36px, 5.2vw, 78px); line-height: 1.22; letter-spacing: -.01em; margin-bottom: 26px !important; }
.rn-h1 em { font-style: normal; color: var(--rn-mint-text); }
.rn-hero__lead { color: var(--rn-sub); max-width: 520px; margin-bottom: 36px !important; font-size: 15px; line-height: 1.85; }
.rn-bento { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 12px; aspect-ratio: 1 / .92; }
.rn-t { border-radius: var(--rn-r); padding: 18px; display: flex; flex-direction: column; justify-content: space-between; min-height: 0; overflow: hidden; }
.rn-t small { font-family: var(--rn-en); font-weight: 700; font-size: 11px; letter-spacing: .06em; }
.rn-t b { font-weight: 900; font-size: clamp(16px, 1.9vw, 26px); line-height: 1.3; }
.rn-t--im { padding: 0; }
.rn-t--im img { width: 100%; height: 100%; object-fit: cover; }
.rn-t--ac { background: var(--rn-mint); }
.rn-t--bk { background: var(--rn-ink); color: #ffffff; }
.rn-t--wh { background: #ffffff; }
.rn-t--sf { background: var(--rn-mint-soft); }
.rn-t--ol { box-shadow: inset 0 0 0 1.5px var(--rn-ink); }
.rn-t--wide { grid-column: 1 / 3; }
.rn-t--tall { grid-column: 3; grid-row: 2 / 4; }
.rn-marquee { overflow: hidden; padding: clamp(28px, 4vw, 52px) 0 0; white-space: nowrap; font-family: var(--rn-en); font-weight: 800; }
.rn-marquee div { display: inline-block; font-size: clamp(44px, 8vw, 120px); line-height: 1; color: transparent; -webkit-text-stroke: 1.2px var(--rn-gray2); }
.rn-marquee span { margin-right: .5em; }
.rn-marquee span:nth-child(3n+1) { color: var(--rn-gray); -webkit-text-stroke: 0; }
@media (prefers-reduced-motion: no-preference) { .rn-marquee div { animation: rn-mq 38s linear infinite; } }
@keyframes rn-mq { to { transform: translateX(-50%); } }

/* ---------- お悩み ---------- */
.rn-issues { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 48px !important; }
.rn-issues li { background: var(--rn-gray); border-radius: var(--rn-r); padding: 26px 24px 30px; font-weight: 700; font-size: 16px; line-height: 1.75; }
.rn-issues i { display: block; font-style: normal; font-family: var(--rn-en); font-weight: 800; font-size: 13px; color: var(--rn-mint-text); margin-bottom: 40px; }

/* ---------- できること・料金 ---------- */
.rn-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 56px !important; }
.rn-step { background: var(--rn-card-dark); border-radius: var(--rn-r); padding: 30px 28px 34px; position: relative; }
.rn-step__no { font-family: var(--rn-en); font-weight: 700; font-size: 12px; letter-spacing: .06em; color: var(--rn-on-dark); }
.rn-step__name { font-weight: 900; font-size: clamp(34px, 4vw, 54px); line-height: 1.2; margin: 56px 0 6px !important; }
.rn-step__what { font-size: 14px; font-weight: 700; color: var(--rn-mint-light); margin-bottom: 14px !important; }
.rn-step__text { font-size: 14px; color: var(--rn-on-dark); line-height: 1.85; }
.rn-step:not(:last-child)::after { content: ""; position: absolute; right: -27px; top: 50%; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; z-index: 2; background: var(--rn-mint-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M17 13l7 7-7 7' fill='none' stroke='%231b1b1a' stroke-width='2.5'/%3E%3C/svg%3E") center / 40px no-repeat; }
.rn-price { margin-top: 14px; background: var(--rn-mint); color: var(--rn-ink); border-radius: var(--rn-r); padding: clamp(28px, 4vw, 52px); display: grid; grid-template-columns: auto 1fr auto; gap: clamp(20px, 4vw, 60px); align-items: center; }
.rn-price__cap { font-size: 13px; font-weight: 700; }
.rn-price__yen { font-weight: 900; white-space: nowrap; line-height: 1; margin-top: 8px !important; font-size: clamp(18px, 2vw, 26px); }
.rn-price__num { font-family: var(--rn-en); font-weight: 800; font-size: clamp(72px, 9vw, 128px); margin: 0 6px 0 8px; letter-spacing: -.03em; }
.rn-price__yen small { font-size: 13px; font-weight: 500; margin-left: 6px; }
.rn-price__notes { font-size: 14px; line-height: 1.7; }
.rn-price__notes li { padding: 4px 0 4px 22px; position: relative; }
.rn-price__notes li::before { content: ""; position: absolute; left: 0; top: 15px; width: 10px; height: 2px; background: currentColor; }
.rn-price__notes li:first-child { font-weight: 700; font-size: 16px; }

/* ---------- 理由 ---------- */
.rn-reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 48px); margin-top: 56px !important; }
.rn-reasons li { border-top: 2px solid var(--rn-ink); padding-top: 22px; }
.rn-reason__no { font-family: var(--rn-en); font-weight: 800; font-size: clamp(48px, 5.4vw, 76px); line-height: 1; color: var(--rn-mint-text); }
.rn-reason__name { margin: 22px 0 12px !important; font-size: clamp(18px, 1.8vw, 23px); line-height: 1.6; font-weight: 900; }
.rn-reasons li > p:last-child { color: var(--rn-sub); font-size: 14px; line-height: 1.85; }
.rn-own { margin-top: 56px !important; background: var(--rn-gray); border-radius: var(--rn-r); padding: 22px 28px; display: flex; flex-wrap: wrap; gap: 10px 36px; align-items: center; font-size: 13px; color: var(--rn-sub); }
.rn-own b { color: var(--rn-ink); font-size: 18px; font-weight: 900; }

/* ---------- 事例 ---------- */
.rn-case { background: #ffffff; border-radius: var(--rn-r); overflow: hidden; display: grid; grid-template-columns: 1.15fr 1fr; align-items: stretch; }
.rn-case__shot { background: var(--rn-gray2); }
.rn-case__shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.rn-case__body { padding: clamp(24px, 3.6vw, 52px); display: flex; flex-direction: column; gap: 14px; }
.rn-tag { align-self: flex-start; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 99px; background: var(--rn-mint-soft); color: var(--rn-mint-text); }
.rn-case__title { font-size: clamp(22px, 2.6vw, 34px); font-weight: 900; line-height: 1.4; }
.rn-case__text { font-size: 14px; color: var(--rn-sub); line-height: 1.85; }
.rn-case__points { font-size: 14px; line-height: 1.7; margin-bottom: 10px !important; }
.rn-case__points li { padding: 10px 0 10px 22px; position: relative; border-top: 1px solid var(--rn-line); }
.rn-case__points li::before { content: ""; position: absolute; left: 0; top: 21px; width: 10px; height: 2px; background: var(--rn-mint-text); }

/* ---------- Kuchiyose ---------- */
.rn-feature { background: var(--rn-mint-soft); border-radius: 28px; padding: clamp(28px, 5vw, 72px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 72px); align-items: center; overflow: hidden; }
.rn-feature__lbl { font-family: var(--rn-en); font-weight: 700; font-size: 12px; letter-spacing: .06em; color: var(--rn-mint-text); margin-bottom: 14px !important; }
.rn-feature__title { font-weight: 900; font-size: clamp(24px, 3vw, 40px); line-height: 1.45; margin-bottom: 16px !important; }
.rn-feature__text { color: var(--rn-sub); margin-bottom: 28px !important; max-width: 480px; line-height: 1.85; }
.rn-feature__img { width: 112%; max-width: none !important; margin: -6%; filter: drop-shadow(0 30px 40px rgba(27, 27, 26, .18)); }

/* ---------- サービス一覧 ---------- */
.rn-menu { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.rn-menu .rn-menu__all a { background: var(--rn-ink); color: #ffffff; }
.rn-menu .rn-menu__all small { color: var(--rn-on-dark); }
.rn-menu .rn-menu__all a:hover { background: var(--rn-mint); color: var(--rn-ink); }
.rn-menu .rn-menu__all a:hover small { color: var(--rn-ink); }
.rn-menu a { border-radius: var(--rn-r); background: var(--rn-gray); color: var(--rn-ink); padding: 22px 20px 20px; min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; transition: background-color .25s, color .25s; }
.rn-menu small { font-family: var(--rn-en); font-weight: 700; font-size: 11px; letter-spacing: .06em; color: var(--rn-sub); transition: color .25s; }
.rn-menu b { font-size: 18px; font-weight: 900; line-height: 1.4; display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; }
.rn-menu b::after { content: ""; flex: 0 0 9px; height: 9px; margin-bottom: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.rn-menu a:hover { background: var(--rn-ink); color: #ffffff; }
.rn-menu a:hover small { color: var(--rn-on-dark); }

/* ---------- 会社情報 ---------- */
.rn-company { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 80px); align-items: start; }
.rn-company .rn-statement { margin-bottom: 24px !important; }
.rn-company__photo { border-radius: var(--rn-r); overflow: hidden; margin-top: 36px !important; aspect-ratio: 3 / 2; }
.rn-company__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rn-facts { font-size: 14px; line-height: 1.8; border-top: 2px solid var(--rn-ink); }
.rn-facts > div { display: grid; grid-template-columns: 104px 1fr; padding: 18px 0; border-bottom: 1px solid var(--rn-line); }
.rn-facts dt { font-weight: 700; font-size: 13px; }
.rn-facts a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }

/* ---------- 相談の流れ（既存の区画の色と書体だけ） ---------- */
.cx-process { background: #ffffff; color: var(--rn-ink); }
.cx-process .kicker { font-family: var(--rn-en); font-weight: 800; color: var(--rn-mint-text); }
.cx-process .cx-h2 { font-family: var(--rn-ja); font-weight: 900; color: var(--rn-ink); }
.cx-process .cx-head__lead, .cx-process__list p { color: var(--rn-sub); }
.cx-process__list li { background: var(--rn-gray); border-color: transparent; border-radius: var(--rn-r); }
.cx-process__no { font-family: var(--rn-en); font-weight: 800; color: var(--rn-mint-text); }
.cx-process__name { font-family: var(--rn-ja); font-weight: 900; color: var(--rn-ink); }

/* ---------- 相談（既存のフォームの書体だけ） ---------- */
.contact .kicker { font-family: var(--rn-en); font-weight: 800; }
.contact__title { font-family: var(--rn-ja); font-weight: 900; letter-spacing: 0; }

@media (max-width: 900px) {
  .rn-hero__panel { grid-template-columns: 1fr; border-radius: 22px; min-height: calc(100svh - var(--hdr, 76px) - 24px); padding: 24px 22px 28px; align-items: end; background: var(--rn-ink); color: #ffffff; }
  .rn-hero__bg { display: block; position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 0; }
  .rn-hero__panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27, 27, 26, 0) 36%, rgba(27, 27, 26, .74) 64%, rgba(27, 27, 26, .94) 100%); }
  .rn-hero__text { position: relative; z-index: 1; }
  .rn-bento { display: none; }
  .rn-h1 { font-size: clamp(34px, 9.6vw, 44px); margin-bottom: 16px !important; }
  .rn-h1 em { color: var(--rn-mint-light); }
  .rn-kicker { margin-bottom: 14px !important; }
  .rn-hero__lead { color: #e2e1dc; margin-bottom: 22px !important; font-size: 14px; }
  .rn-hero .rn-btn { background: var(--rn-mint-light); padding: 14px 22px; }
  .rn-hero .rn-btn--line { background: transparent; color: #ffffff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .8); }
  .rn-cols, .rn-feature, .rn-company, .rn-case { grid-template-columns: 1fr; }
  .rn-issues { grid-template-columns: 1fr 1fr; }
  .rn-issues i { margin-bottom: 20px; }
  .rn-steps, .rn-reasons { grid-template-columns: 1fr; }
  .rn-step__name { margin-top: 24px !important; }
  .rn-step:not(:last-child)::after { right: 50%; top: auto; bottom: -27px; margin: 0 -20px 0 0; transform: rotate(90deg); }
  .rn-price { grid-template-columns: 1fr; }
  .rn-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .rn-menu a { min-height: 112px; padding: 16px 14px 14px; }
  .rn-menu b { font-size: 15px; }
  .rn-menu b > span:first-child { min-width: 0; }
  .rn-menu b::after { flex-basis: 7px; height: 7px; margin-bottom: 6px; }
  .rn-feature__img { width: 100%; margin: 0; }
  .rn-case__shot img { aspect-ratio: 16 / 10; }
}
@media (max-width: 520px) {
  .rn-issues { grid-template-columns: 1fr; }
}

/* ---------- corporate.css（2026-10 改修）の色の変数も、このページだけ置き換える ---------- */
:root {
  --cx-bg: #ffffff;
  --cx-paper: #f4f4f1;
  --cx-white: #ffffff;
  --cx-sand: #f4f4f1;
  --cx-sand-2: #e6f3ef;
  --cx-gold: #8fd0bf;
  --cx-gold-ink: #1f6f60;
  --cx-walnut: #1b1b1a;
  --cx-walnut-2: #33332f;
  --cx-ink: #1b1b1a;
  --cx-ink-2: #4a4a47;
  --cx-ink-3: #5c5c58;
  --cx-line: rgba(27, 27, 26, .13);
  --cx-font: "RN Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;
}
.contact .opt:hover { background: rgba(31, 111, 96, .06); }
.contact .opt:has(input:checked) { background: rgba(143, 208, 191, .3); }
.contact .field__input:focus, .contact .consult-native input:focus, .contact .consult-native select:focus, .contact .consult-native textarea:focus { box-shadow: 0 0 0 3px rgba(31, 111, 96, .2); }
.contact .kicker--light { font-weight: 800; }

/* ---------- 細部の調整 ---------- */
.rn-company .rn-head__en { font-size: clamp(32px, 4.6vw, 72px); }
.rn-case { align-items: center; }
.rn-case__shot { align-self: stretch; display: flex; align-items: center; padding: clamp(16px, 2.6vw, 36px); }
.rn-case__shot img { height: auto; aspect-ratio: 1265 / 712; object-fit: cover; border-radius: 12px; box-shadow: 0 24px 44px -30px rgba(27, 27, 26, .5); }

/* ---------- 事例：PCとスマホのモックアップ画像（背景透過） ---------- */
.rn-case__shot { background: var(--rn-gray2); }
.rn-case .rn-case__shot img { aspect-ratio: 3 / 2; object-fit: contain; border-radius: 0; box-shadow: none; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.rn-works { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px !important; }
.rn-work a { display: flex; flex-direction: column; gap: 8px; height: 100%; background: #ffffff; color: var(--rn-ink); border-radius: var(--rn-r); padding: clamp(16px, 2.2vw, 30px); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s; }
.rn-work__shot { display: block; background: var(--rn-gray); border-radius: 14px; padding: clamp(12px, 2vw, 28px); margin-bottom: 10px; overflow: hidden; }
.rn-work__shot img { display: block; width: 100%; height: auto; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.rn-work__cat { font-size: 12px; font-weight: 700; color: var(--rn-mint-text); line-height: 1.6; }
.rn-work__name { font-size: clamp(18px, 2vw, 24px); font-weight: 900; line-height: 1.4; }
.rn-work__text { font-size: 14px; color: var(--rn-sub); line-height: 1.85; }
.rn-work__more { margin-top: auto; padding-top: 8px; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.rn-work a:focus-visible { outline: 3px solid var(--rn-mint-text); outline-offset: 3px; }
@media (max-width: 900px) {
  .rn-works { grid-template-columns: 1fr; }
  .rn-case .rn-case__shot img { aspect-ratio: 3 / 2; }
}

.rn-svc-more { margin: 28px 0 0 !important; }

/* ---------- 最初の画面の H1（「福岡のマーケティング会社」を見出しに含める）・紹介・よくある質問 ---------- */
.rn-hero__h { font: inherit; letter-spacing: inherit; }
.rn-hero__h .rn-kicker { display: flex; width: fit-content; }
.rn-h1 { display: block; }
.rn-about .rn-cols { align-items: start; }
.rn-about .rn-lead { color: var(--rn-ink); font-size: 16px; line-height: 2; max-width: none; }
.rn-chips { display: grid; gap: 10px; margin-top: 28px !important; }
.rn-chips li { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 12px; align-items: baseline; background: var(--rn-gray); border-radius: 14px; padding: 14px 18px; font-size: 14px; font-weight: 700; line-height: 1.7; }
.rn-chips span { font-size: 12px; color: var(--rn-mint-text); }
.rn-qa { margin-top: 44px !important; border-top: 2px solid var(--rn-ink); }
.rn-qa > div { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 8px clamp(20px, 4vw, 64px); padding: 26px 0; border-bottom: 1px solid var(--rn-line); }
.rn-qa dt { font-weight: 900; font-size: 17px; line-height: 1.7; padding-left: 34px; position: relative; }
.rn-qa dt::before { content: "Q"; position: absolute; left: 0; top: -2px; font-family: var(--rn-en); font-weight: 800; font-size: 20px; color: var(--rn-mint-text); }
.rn-qa dd { font-size: 15px; line-height: 1.95; color: var(--rn-sub); }
@media (max-width: 900px) {
  .rn-qa > div { grid-template-columns: 1fr; padding: 20px 0; }
  .rn-qa dd { padding-left: 34px; }
  .rn-chips li { grid-template-columns: 84px minmax(0, 1fr); }
}

/* ---------- 最初の画面：動画（黒い面に、右側で動く。文字は左に重ねる） ---------- */
.rn-hero__panel { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; height: clamp(520px, 54vw, calc(100svh - var(--hdr, 76px) - 28px)); background: #0e0f0f; color: #ffffff; }
.rn-hero__media { position: absolute; inset: 0; }
.rn-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0e0f0f 0%, #0e0f0f 14%, rgba(14, 15, 15, 0) 42%); }
.rn-hero__poster, .rn-hero__video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain; object-position: 100% 50%; }
.rn-hero__poster--sp { display: none; }
.rn-hero__video { opacity: 0; transition: opacity .7s; }
.rn-hero__video.is-on { opacity: 1; }
.rn-hero__text { position: relative; z-index: 1; max-width: min(46%, 620px); }
.rn-h1 em { color: var(--rn-mint-light); }
.rn-hero__lead { color: #e2e1dc; }
.rn-hero .rn-btn { background: var(--rn-mint-light); }
.rn-hero .rn-btn--line { background: transparent; color: #ffffff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .8); }
.rn-h1 { font-size: clamp(34px, 4.5vw, 70px); }
@media (max-width: 900px) {
  .rn-hero__panel { height: auto; min-height: calc(100svh - var(--hdr, 76px) - 24px); align-items: end; }
  .rn-hero__panel::after { display: none; }
  .rn-hero__poster, .rn-hero__video { object-fit: cover; object-position: 50% 0; }
  .rn-hero__poster--pc { display: none; }
  .rn-hero__poster--sp { display: block; }
  .rn-hero__text { max-width: none; }
  .rn-hero__media::after { background: linear-gradient(180deg, rgba(14, 15, 15, 0) 48%, rgba(14, 15, 15, .92) 60%, #0e0f0f 100%); }
  .rn-hero__lead { display: none; }
  .rn-h1 { font-size: clamp(34px, 9.6vw, 44px); }
}

/* ---------- 動き（「視差効果を減らす」設定の端末では出さない） ---------- */
.rn-btn::after, .ftr__btn::after, .hdr .nav__cta::after { transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
.rn-progress { position: fixed; left: 0; top: 0; z-index: 60; width: 100%; height: 3px; background: var(--rn-mint); transform: scaleX(0); transform-origin: 0 50%; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  @keyframes rn-rise { from { opacity: 0; transform: translateY(90px) rotate(3deg); } to { opacity: 1; transform: none; } }
  @keyframes rn-pop { from { opacity: 0; transform: translateY(70px) scale(.55) rotate(-9deg); } 70% { transform: translateY(-6px) scale(1.04) rotate(1deg); } to { opacity: 1; transform: none; } }
  @keyframes rn-zoom { from { transform: scale(1.45); } to { transform: none; } }
  @keyframes rn-float { from { translate: 0 0; } to { translate: 0 -16px; } }
  @keyframes rn-sway { from { rotate: -2.2deg; } to { rotate: 2.2deg; } }
  @keyframes rn-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(143, 208, 191, .8); } 60% { box-shadow: 0 0 0 14px rgba(143, 208, 191, 0); } }
  @keyframes rn-panel { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
  @keyframes rn-drop { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: none; } }

  /* 最初の画面：パネルが広がり、文字は下から大きく、タイルは回りながら1枚ずつ */
  /* ヘッダーの動きは終わったら指定を残さない（backwards）。変形（transform）が残ると、中の全画面メニュー（position: fixed）がヘッダーの高さに閉じ込められ、スマホで1項目しか押せなくなる */
  .hdr { animation: rn-drop .8s cubic-bezier(.2, .7, .2, 1) backwards; }
  .rn-hero__panel { animation: rn-panel 1s cubic-bezier(.2, .7, .2, 1) both; transform-origin: 50% 0; }
  .rn-hero .rn-kicker, .rn-h1 .cx-nw, .rn-hero__lead, .rn-hero .rn-btns { animation: rn-rise 1.1s cubic-bezier(.16, .8, .2, 1) both; transform-origin: 0 100%; }
  .rn-hero .rn-kicker { animation-delay: .25s; }
  .rn-h1 .cx-nw:nth-child(1) { animation-delay: .35s; }
  .rn-h1 .cx-nw:nth-child(2) { animation-delay: .5s; }
  .rn-h1 .cx-nw:nth-child(3) { animation-delay: .65s; }
  .rn-hero__lead { animation-delay: .85s; }
  .rn-hero .rn-btns { animation-delay: 1s; }
  .rn-kicker::before { animation: rn-pulse 2.2s ease-out 1.6s infinite; }
  .rn-bento .rn-t { animation: rn-pop 1s cubic-bezier(.2, .8, .2, 1) both, rn-float 5s ease-in-out 2s infinite alternate; }
  .rn-bento .rn-t:nth-child(1) { animation-delay: .35s, 2s; animation-duration: 1s, 6.5s; }
  .rn-bento .rn-t:nth-child(2) { animation-delay: .45s, 2.3s; animation-duration: 1s, 4.6s; }
  .rn-bento .rn-t:nth-child(3) { animation-delay: .55s, 2.6s; animation-duration: 1s, 5.4s; }
  .rn-bento .rn-t:nth-child(4) { animation-delay: .65s, 2.1s; animation-duration: 1s, 6s; }
  .rn-bento .rn-t:nth-child(5) { animation-delay: .75s, 2.8s; animation-duration: 1s, 7s; }
  .rn-bento .rn-t:nth-child(6) { animation-delay: .85s, 2.4s; animation-duration: 1s, 5s; }
  .rn-bento .rn-t:nth-child(7) { animation-delay: .95s, 2.2s; animation-duration: 1s, 5.8s; }
  .rn-hero__bg, .rn-t--im img { animation: rn-zoom 3.2s cubic-bezier(.2, .7, .2, 1) both; }
  .rn-marquee div { animation-duration: 22s; }
  .rn-marquee span:nth-child(even) { animation: rn-sway 3s ease-in-out infinite alternate; display: inline-block; }

  /* スクロールで画面に入った要素（renewal.js が rn-rv を付け、入ったら is-in を足す） */
  .rn-rv { opacity: 0; transform: translateY(110px) scale(.94); transition: opacity 1.05s cubic-bezier(.16, .8, .2, 1) var(--rn-d, 0s), transform 1.05s cubic-bezier(.16, .8, .2, 1) var(--rn-d, 0s) !important; will-change: transform, opacity; }
  .rn-rv--x { transform: translateX(-38vw) skewX(-8deg); }
  .rn-rv--zoom { transform: scale(.7) rotate(-4deg); }
  .rn-rv--panel { transform: translateY(140px) scale(.86); transform-origin: 50% 0; }
  .rn-rv--flip { transform: perspective(900px) rotateX(38deg) translateY(90px); transform-origin: 50% 100%; }
  .rn-rv--left { transform: translateX(-90px) rotate(-3deg); }
  .rn-rv--right { transform: translateX(90px) rotate(3deg); }
  .rn-rv.is-in { opacity: 1; transform: none; }

  /* hover */
  .rn-btn, .ftr__btn { transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s, background-color .2s; }
  .rn-btn:hover, .ftr__btn:hover { transform: translateY(-4px) scale(1.05); }
  .rn-btn:hover::after, .ftr__btn:hover::after, .hdr .nav__cta:hover::after { transform: translateX(7px) rotate(45deg); }
  .rn-issues li, .rn-reasons li, .rn-step, .rn-chips li { transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s; }
  .rn-t { transition: scale .4s cubic-bezier(.2, .7, .2, 1), rotate .4s cubic-bezier(.2, .7, .2, 1); }
  .rn-issues li:hover, .rn-reasons li:hover, .rn-chips li:hover { transform: translateY(-10px) rotate(-1deg); box-shadow: 0 30px 44px -30px rgba(27, 27, 26, .45); }
  .rn-t:hover { scale: 1.07; rotate: -2deg; }
  .rn-work a { transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s; }
  .rn-work a:hover { transform: translateY(-12px); box-shadow: 0 36px 54px -30px rgba(27, 27, 26, .5); }
  .rn-work a:hover .rn-work__shot img, .rn-case:hover .rn-case__shot img { transform: scale(1.09) rotate(-1.5deg); }
  .rn-menu a { transition: background-color .25s, color .25s, transform .35s cubic-bezier(.2, .7, .2, 1); }
  .rn-menu a:hover { transform: translateY(-8px); }
  .rn-menu b::after { transition: transform .3s; }
  .rn-menu a:hover b::after { transform: translateX(7px) rotate(45deg); }
  .pg .own li { transition: transform .4s cubic-bezier(.2, .7, .2, 1); }
  .pg .own li:hover { transform: translateY(-10px) rotate(-1deg); }

  /* 下層ページの題字 */
  .pg-head { animation: rn-panel 1s cubic-bezier(.2, .7, .2, 1) both; transform-origin: 50% 0; }
  .pg-head__inner > * { animation: rn-rise 1.1s cubic-bezier(.16, .8, .2, 1) both; transform-origin: 0 100%; }
  .pg-head__inner > :nth-child(1) { animation-delay: .2s; }
  .pg-head__inner > :nth-child(2) { animation-delay: .32s; }
  .pg-head__inner > :nth-child(3) { animation-delay: .44s; }
  .pg-head__inner > :nth-child(4) { animation-delay: .6s; }
}

/* ---------- フッター（2026-11：黒い角丸のパネル） ---------- */
.ftr { background: #ffffff; padding: clamp(8px, 1.4vw, 20px); font-family: var(--rn-ja); }
.ftr__panel { background: var(--rn-ink); color: #ffffff; border-radius: 28px; padding: clamp(36px, 6vw, 88px) max(22px, calc(var(--rn-gutter) - clamp(8px, 1.4vw, 20px))) clamp(22px, 2.6vw, 36px); }
.ftr__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px 40px; padding-bottom: clamp(32px, 5vw, 64px); border-bottom: 1px solid rgba(255, 255, 255, .16); }
.ftr .ftr__tag { margin: 0; font-weight: 900; font-size: clamp(26px, 4.4vw, 60px); line-height: 1.35; letter-spacing: -.01em; color: #ffffff; }
.ftr .cx-nw { display: inline-block; }
.ftr__btn { display: inline-flex; align-items: center; gap: 12px; border-radius: 99px; background: var(--rn-mint); color: var(--rn-ink); font-weight: 700; font-size: 15px; line-height: 1.4; padding: 15px 28px; text-decoration: none; transition: transform .2s, background-color .2s; }
.ftr__btn::after { content: ""; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.ftr__btn:hover { background: var(--rn-mint-light); transform: translateY(-2px); }
.ftr .ftr__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px clamp(32px, 6vw, 96px); align-items: start; max-width: none; padding: clamp(32px, 5vw, 64px) 0; }
.ftr .brand--footer .brand__logo { height: 48px; filter: invert(1); mix-blend-mode: screen; }
.ftr .ftr__addr { display: grid; gap: 2px; margin-top: 20px; font-style: normal; font-size: 13px; line-height: 1.8; color: var(--rn-on-dark); }
.ftr .ftr__addr-name { font-weight: 700; color: #ffffff; }
.ftr .ftr__addr a { color: inherit; text-underline-offset: 4px; }
.ftr__menu { display: flex; gap: clamp(32px, 6vw, 96px); }
.ftr .ftr__nav { display: grid; gap: 14px; align-content: start; margin: 0; padding: 0; list-style: none; font-size: 14px; font-weight: 700; }
.ftr .ftr__nav a { color: #ffffff; text-decoration: none; }
.ftr .ftr__nav a:hover { color: var(--rn-mint-light); text-decoration: none; }
.ftr .ftr__meta { display: block; margin: 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: 12px; color: var(--rn-on-dark); }
.ftr :focus-visible { outline: 3px solid var(--rn-mint-light); outline-offset: 3px; }
@media (max-width: 900px) {
  .ftr__panel { border-radius: 22px; }
  .ftr .ftr__inner { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .ftr__menu { gap: 24px; }
  .ftr__menu .ftr__nav { flex: 1 1 0; min-width: 0; }
}

/* ---------- 下層ページ（会社概要・プライバシーポリシー・相談・404・終了案内）：既存のマークアップのまま、形と書体をトップにそろえる ---------- */
/* 本文は端末の標準の太さの書体。見出し用の部分フォント（太字だけ）は、太字にした要素にだけ使う */
.pg, .nf { --rn-body: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", "Noto Sans JP", system-ui, sans-serif; font-family: var(--rn-body); font-weight: 400; letter-spacing: .02em; color: var(--rn-ink); }
.pg-title, .pg-h2, .pg-mission__h, .pg-cta__h, .pg .kicker, .pg-crumbs, .pg .facts dt, .pg .own h3, .pg .own__status, .pg .link-quiet, .pg .prose h2, .pg .prose h3, .pg .btn--ink, .nf h1, .nf .btn--ink, .pg strong, .pg b { font-family: var(--rn-ja); }
.pg h1, .pg h2, .pg h3, .nf h1 { word-break: auto-phrase; }
.pg-head { margin: clamp(8px, 1.4vw, 20px) clamp(8px, 1.4vw, 20px) 0; padding: clamp(36px, 6vw, 96px) 0 clamp(40px, 6vw, 96px); background: var(--rn-gray); border: 0; border-radius: 28px; }
.pg-head__inner { gap: 18px; max-width: 1320px; }
.pg-crumbs ol { font-size: 12px; font-weight: 700; color: var(--rn-sub); }
.pg-crumbs a { color: inherit; }
.pg .kicker, .nf .kicker { font-size: 13px; font-weight: 700; letter-spacing: .01em; text-transform: none; color: var(--rn-ink); gap: 10px; }
.pg .kicker::before { width: 10px; height: 10px; border-radius: 50%; background: var(--rn-mint); }
.pg-title { font-weight: 900; font-size: clamp(28px, 6vw, 84px); overflow-wrap: anywhere; line-height: 1.2; letter-spacing: -.01em; }
.pg-lead { font-size: 15px; line-height: 1.95; color: var(--rn-sub); max-width: 640px; }
.pg-sec { padding: clamp(56px, 8vw, 120px) 0; border: 0; }
.pg-sec--paper { background: var(--rn-gray); border-radius: 28px; margin: 0 clamp(8px, 1.4vw, 20px); }
.pg .wrap { max-width: 1320px; padding-left: var(--rn-gutter); padding-right: var(--rn-gutter); }
.pg-sec--paper > .wrap, .pg-head > .wrap, .pg-mission > .wrap { padding-left: max(22px, calc(var(--rn-gutter) - clamp(8px, 1.4vw, 20px))); padding-right: max(22px, calc(var(--rn-gutter) - clamp(8px, 1.4vw, 20px))); }
.pg-h2 { font-weight: 900; font-size: clamp(24px, 3vw, 40px); line-height: 1.5; letter-spacing: 0; margin-top: 12px; }
.pg-text { font-size: 15px; line-height: 1.95; color: var(--rn-sub); }

.pg .facts { border-top: 1px solid var(--rn-line); }
.pg .facts > div { grid-template-columns: 148px minmax(0, 1fr); padding: 20px 0; border-bottom: 1px solid var(--rn-line); }
.pg .facts dt { font-size: 13px; font-weight: 700; letter-spacing: 0; color: var(--rn-ink); padding-top: 4px; }
.pg .facts dd { font-size: 15px; line-height: 1.9; }
.pg .facts a { color: inherit; text-underline-offset: 4px; }
.pg .facts li::before { top: .8em; width: 6px; height: 6px; border-radius: 50%; background: var(--rn-mint); }

.pg-mission { background: var(--rn-ink); color: #ffffff; border-radius: 28px; margin: 0 clamp(8px, 1.4vw, 20px); padding: clamp(64px, 9vw, 136px) 0; }
.pg-mission__inner { max-width: 1320px; gap: 22px; }
.pg-mission .kicker { color: #ffffff; }
.pg-mission__h { font-weight: 900; font-size: clamp(34px, 5.6vw, 78px); line-height: 1.25; letter-spacing: -.01em; }
.pg-mission p:not(.kicker) { font-size: 15px; line-height: 1.95; color: var(--rn-on-dark); max-width: 640px; }

.pg .own { gap: 12px; border: 0; }
.pg .own li { background: var(--rn-gray); border: 0; border-radius: var(--rn-r); padding: 24px 22px; gap: 8px; }
.pg .own h3 { font-weight: 900; font-size: 19px; letter-spacing: 0; }
.pg .own p { font-size: 14px; line-height: 1.85; color: var(--rn-sub); }
.pg .own__status { font-size: 12px; font-weight: 700; letter-spacing: 0; color: var(--rn-mint-text); }
.pg .link-quiet { font-size: 13px; font-weight: 700; color: var(--rn-ink); text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 5px; }

.pg-cta { padding: 0 clamp(8px, 1.4vw, 20px) clamp(8px, 1.4vw, 20px); }
.pg-cta__inner { background: var(--rn-mint-soft); border-radius: 28px; max-width: none; padding: clamp(36px, 6vw, 88px) max(22px, calc(var(--rn-gutter) - clamp(8px, 1.4vw, 20px))) !important; align-items: center; }
.pg-cta__h { font-weight: 900; font-size: clamp(24px, 3.3vw, 44px); line-height: 1.5; letter-spacing: 0; }
.pg-cta p { font-size: 15px; color: var(--rn-sub); }
.pg .btn--ink, .nf .btn--ink { border-radius: 99px; background: var(--rn-ink); color: #ffffff; border-color: var(--rn-ink); font-weight: 700; font-size: 15px; letter-spacing: 0; padding: 15px 28px; }
.pg .btn--ink:hover, .nf .btn--ink:hover { background: var(--rn-card-dark); color: #ffffff; }
.pg :focus-visible, .nf :focus-visible { outline: 3px solid var(--rn-mint-text); outline-offset: 3px; }

.pg .prose { max-width: 820px; font-size: 15px; line-height: 1.95; color: var(--rn-ink-2, #4a4a47); }
.pg .prose h2 { font-weight: 900; font-size: clamp(19px, 2vw, 24px); line-height: 1.6; letter-spacing: 0; color: var(--rn-ink); margin-top: 2.6em; padding-left: 14px; border: 0; border-left: 4px solid var(--rn-mint); }
.pg .prose h3 { font-weight: 700; font-size: 16px; letter-spacing: 0; color: var(--rn-ink); }
.pg .prose a { color: var(--rn-mint-text); }

.nf h1 { font-weight: 900; font-size: clamp(28px, 4.4vw, 52px); line-height: 1.4; letter-spacing: 0; }
.nf__code { font-family: var(--rn-en); font-weight: 800; font-size: 14px; letter-spacing: .04em; color: var(--rn-mint-text); }
.nf p { color: var(--rn-sub); }

@media (max-width: 900px) {
  .pg-head, .pg-sec--paper, .pg-mission, .pg-cta__inner { border-radius: 22px; }
}
@media (max-width: 640px) {
  .pg .facts > div { grid-template-columns: 1fr; gap: 4px; padding: 16px 0; }
  .pg-cta__inner { align-items: start; }
}
