/* Akatsuki corporate 2026-10 — FV以外の改修。色はFVに合わせる（アイボリー・砂色・トープ・墨・シャンパンゴールド）。
   site.css の後に読む。FV（.flight / .hdr）には触れない。新しい区画は .cx-* で、既存の区画（.svc / .work / .contact /
   .owned-media / .ftr）は必要な分だけ上書きする。相談フォームの構造・ID・属性は変えず、色は .contact 内の変数の置き換えで整える。
   日本語の本文は、収録文字が限られるサブセット書体（FVで使用）ではなく、端末の日本語書体で表示する。 */

:root {
  --cx-bg: #f6f1e8;          /* FVの終端と同じアイボリー（境目なくつなぐ） */
  --cx-paper: #fbf8f2;
  --cx-white: #fffdf9;
  --cx-sand: #eee6d8;        /* 帯・面（FV の cream） */
  --cx-sand-2: #e4d5b8;      /* 区切り・選択中（FV の champagne-soft） */
  --cx-gold: #cbb48f;        /* 装飾の金（FV の champagne。文字には使わない） */
  --cx-gold-ink: #7a5f37;    /* 金系の文字・線（アイボリーと砂色の上で 4.8:1 以上） */
  --cx-walnut: #4a3a2c;      /* 相談ボタン・リンク（白文字 10.8:1） */
  --cx-walnut-2: #33281f;
  --cx-ink: #1b1e25;         /* FV の墨 */
  --cx-ink-2: #444852;
  --cx-ink-3: #5d6068;
  --cx-line: rgba(43, 37, 33, .13);
  --cx-error: #a3361f;
  --cx-art-line: #2b2521;     /* 図版の線（About のSVGと同じ色・太さの比率） */
  --cx-font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;
  --cx-sec: clamp(80px, 9vw, 132px);
  --cx-radius: 18px;
  --cx-shadow: 0 18px 40px -28px rgba(43, 37, 33, .35);
}

/* ---------- 共通 ---------- */
.cx-about, .cx-svc, .cx-work, .cx-process, .contact, .owned-media, .ftr, .cx-float { font-family: var(--cx-font); }
.cx-about .kicker, .cx-svc .kicker, .cx-work .kicker, .cx-process .kicker { color: var(--cx-gold-ink); font-weight: 500; }
.cx-h2 {
  font-family: var(--cx-font); font-weight: 700; font-size: clamp(1.55rem, 2.7vw, 2.3rem);
  line-height: 1.5; letter-spacing: .04em; color: var(--cx-ink);
}
.cx-head { display: grid; gap: 14px; max-width: 760px; margin-bottom: clamp(36px, 4.4vw, 56px); }
.cx-head--split { max-width: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: 16px 56px; }
.cx-head--split > div { display: grid; gap: 14px; }
.cx-head__lead { font-size: 15.5px; line-height: 2; color: var(--cx-ink-2); max-width: 40em; }
.cx-text { font-size: 15.5px; line-height: 2; color: var(--cx-ink-2); }
.cx-note { font-size: 14px; line-height: 1.9; color: var(--cx-ink-3); padding-left: 14px; border-left: 2px solid var(--cx-sand-2); }
.cx-tag { display: inline-flex; align-items: center; width: fit-content; padding: 3px 12px; border-radius: 999px; background: var(--cx-sand); color: var(--cx-walnut); font-size: 13px; font-weight: 600; letter-spacing: .06em; line-height: 1.7; }
.cx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 6px; }
.cx-btn {
  display: inline-flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 26px;
  border-radius: 999px; border: 1px solid transparent; text-decoration: none; cursor: pointer;
  font-size: 15px; font-weight: 600; letter-spacing: .05em;
  transition: background-color .2s var(--ease), transform .12s ease;
}
.cx-btn .btn__arrow { font-family: var(--en); transition: transform .3s var(--ease); }
.cx-btn:hover .btn__arrow { transform: translateX(4px); }
.cx-btn:active { transform: translateY(1px); }
.cx-btn--primary { background: var(--cx-walnut); color: #fff; }
.cx-btn--primary:hover { background: var(--cx-walnut-2); }
.cx-btn--ink { background: var(--cx-ink); color: #fff; }
.cx-btn--ink:hover { background: var(--cx-walnut); }
.cx-link {
  color: var(--cx-walnut); font-size: 15px; font-weight: 500;
  text-decoration: underline; text-decoration-color: rgba(122, 95, 55, .35); text-underline-offset: 6px;
}
.cx-link:hover { text-decoration-color: currentColor; }
.cx-about :focus-visible, .cx-svc :focus-visible, .cx-work :focus-visible, .cx-process :focus-visible, .owned-media :focus-visible, .ftr :focus-visible, .cx-float:focus-visible { outline: 2px solid var(--cx-gold-ink); outline-offset: 3px; }

/* ---------- 会社の紹介（FVの直後） ---------- */
.cx-about { background: var(--cx-bg); padding: clamp(72px, 8vw, 120px) 0 var(--cx-sec); }
.cx-about__inner { display: grid; grid-template-columns: minmax(0, 12fr) minmax(0, 11fr); grid-template-areas: "head art" "body art"; column-gap: clamp(28px, 4vw, 64px); row-gap: 20px; align-items: center; }
.cx-about__head { grid-area: head; align-self: end; display: grid; gap: 16px; justify-items: start; }
.cx-about__body { grid-area: body; align-self: start; display: grid; gap: 18px; justify-items: start; }
.cx-about__sub { font-size: clamp(1.05rem, 1.5vw, 1.25rem); font-weight: 600; color: var(--cx-walnut); letter-spacing: .06em; }
.cx-about__art { grid-area: art; margin: 0; }
.cx-about__art img { width: 100%; height: auto; }
.cx-flow {
  margin-top: clamp(40px, 5vw, 64px); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  background: var(--cx-sand); border-radius: var(--cx-radius); overflow: hidden; counter-reset: flow;
}
.cx-flow li {
  position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center;
  padding: 22px 26px 22px 30px;
}
.cx-flow li + li::before {
  content: ""; position: absolute; left: -9px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%) rotate(45deg);
  border-top: 1.5px solid var(--cx-sand-2); border-right: 1.5px solid var(--cx-sand-2); background: var(--cx-sand);
}
.cx-flow__icon { grid-row: 1 / span 2; width: 32px; height: 32px; fill: none; stroke: var(--cx-gold-ink); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cx-flow__name { font-size: 17px; font-weight: 700; color: var(--cx-ink); letter-spacing: .06em; line-height: 1.5; }
.cx-flow__text { grid-column: 2; font-size: 13.5px; color: var(--cx-ink-2); line-height: 1.6; }

/* ---------- サービス ---------- */
.cx-svc.svc { background: var(--cx-paper); padding: var(--cx-sec) 0; border-top: 1px solid var(--cx-line); }
.cx-svc .svc__head { margin-bottom: clamp(36px, 4.4vw, 56px); max-width: 760px; gap: 14px; }
.cx-svc .svc__lead { font-size: 15.5px; color: var(--cx-ink-2); }
.cx-svc__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.cx-card {
  display: grid; grid-template-rows: auto auto 1fr auto; gap: 10px; align-content: start;
  padding: 26px 22px 22px; background: var(--cx-white); border: 1px solid var(--cx-line); border-radius: var(--cx-radius);
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);
}
.cx-card:hover { border-color: rgba(122, 95, 55, .4); box-shadow: var(--cx-shadow); }
.cx-art { width: 76px; height: 76px; margin-bottom: 4px; }
.cx-art .a-bg { fill: var(--cx-sand); }
.cx-art .a-fill { fill: var(--cx-white); stroke: var(--cx-art-line); stroke-width: 2.4; stroke-linejoin: round; }
.cx-art .a-line { fill: none; stroke: var(--cx-art-line); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.cx-art .a-accent { fill: var(--cx-gold); stroke: none; }
.cx-art .a-dot { fill: var(--cx-art-line); }
.cx-card__name { font-size: 17.5px; font-weight: 700; line-height: 1.5; letter-spacing: .04em; color: var(--cx-ink); }
.cx-card__text { font-size: 14.5px; line-height: 1.9; color: var(--cx-ink-2); }
.cx-card__more { justify-self: start; margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--cx-walnut); text-decoration: none; border-bottom: 1px solid rgba(122, 95, 55, .35); padding-bottom: 2px; }
.cx-card__more:hover { border-bottom-color: currentColor; }

.cx-details { margin-top: clamp(28px, 3.4vw, 44px); border-top: 1px solid var(--cx-line); }
.cx-detail { border-bottom: 1px solid var(--cx-line); scroll-margin-top: 80px; }
.cx-detail__sum {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) 28px; grid-template-rows: auto auto; column-gap: 14px; align-items: center;
  padding: 22px 0; cursor: pointer; list-style: none;
}
.cx-detail__sum::-webkit-details-marker { display: none; }
.cx-detail__sum::after {
  content: ""; grid-column: 3; grid-row: 1 / span 2; width: 28px; height: 28px; border-radius: 50%; background: var(--cx-sand)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10M14 9v10' stroke='%237a5f37' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 28px no-repeat;
  transition: transform .3s var(--ease);
}
.cx-detail[open] > .cx-detail__sum::after { transform: rotate(45deg); }
.cx-detail__no { grid-row: 1 / span 2; font-family: var(--en); font-size: 15px; color: var(--cx-gold-ink); letter-spacing: .08em; }
.cx-detail__name { font-size: clamp(1.1rem, 1.6vw, 1.3rem); font-weight: 700; color: var(--cx-ink); letter-spacing: .04em; line-height: 1.5; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.cx-detail__en { font-family: var(--en); font-size: 13px; font-weight: 400; color: var(--cx-ink-3); letter-spacing: .1em; }
.cx-detail__line { grid-column: 2; font-size: 14.5px; color: var(--cx-ink-2); line-height: 1.7; }
.cx-detail__sum:hover .cx-detail__name { color: var(--cx-walnut); }
.cx-detail__sum:focus-visible { outline: 2px solid var(--cx-gold-ink); outline-offset: 2px; border-radius: 6px; }
.cx-detail__body { display: grid; gap: 18px; padding: 4px 0 34px 66px; max-width: 980px; }
.cx-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 36px; }
.cx-cols section { display: grid; gap: 8px; align-content: start; }
.cx-label { font-size: 14.5px; font-weight: 700; color: var(--cx-walnut); letter-spacing: .06em; }
.cx-list { display: grid; gap: 6px; }
.cx-list li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.85; color: var(--cx-ink-2); }
.cx-list li::before { content: ""; position: absolute; left: 2px; top: .72em; width: 8px; height: 8px; border-radius: 50%; background: var(--cx-sand-2); box-shadow: inset 0 0 0 2px var(--cx-gold-ink); }
.cx-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cx-scope > div { padding: 16px 18px; border-radius: 12px; background: var(--cx-white); border: 1px solid var(--cx-line); }
.cx-scope dt { font-size: 15px; font-weight: 700; color: var(--cx-ink); margin-bottom: 4px; }
.cx-scope dd { font-size: 14.5px; line-height: 1.85; color: var(--cx-ink-2); }
.cx-steps { display: grid; gap: 8px; counter-reset: cx-step; }
.cx-steps li { counter-increment: cx-step; position: relative; padding-left: 38px; font-size: 15px; line-height: 1.85; color: var(--cx-ink-2); }
.cx-steps li::before {
  content: counter(cx-step); position: absolute; left: 0; top: .1em; width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center; background: var(--cx-sand); color: var(--cx-walnut); font-family: var(--en); font-size: 13px; font-weight: 600; line-height: 1;
}
.cx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cx-chips li { padding: 6px 14px; border-radius: 999px; background: var(--cx-white); border: 1px solid var(--cx-line); font-size: 14px; color: var(--cx-ink-2); line-height: 1.6; }

.cx-guide {
  margin-top: clamp(36px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 40px; align-items: center;
  padding: clamp(24px, 3vw, 36px) clamp(24px, 3.4vw, 44px); border-radius: var(--cx-radius); background: var(--cx-sand);
}
.cx-guide__title { font-size: clamp(1.05rem, 1.5vw, 1.2rem); font-weight: 700; color: var(--cx-ink); letter-spacing: .04em; }
.cx-guide .cx-text { grid-column: 1; }
.cx-guide .cx-btn { grid-column: 2; grid-row: 1 / span 2; }

/* ---------- 取り組み ---------- */
.cx-work.work { background: var(--cx-bg); padding: var(--cx-sec) 0; }
.cx-case {
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 60px); align-items: center;
  padding: clamp(20px, 2.6vw, 32px); background: var(--cx-white); border: 1px solid var(--cx-line); border-radius: 24px; scroll-margin-top: 80px;
}
.cx-case__shot { margin: 0; }
.cx-case__body { display: grid; gap: 14px; justify-items: start; }
.cx-case__title { font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 700; letter-spacing: .04em; color: var(--cx-ink); }
.cx-products { margin-top: clamp(48px, 6vw, 80px); }
.cx-products__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: clamp(1.15rem, 1.7vw, 1.4rem); font-weight: 700; color: var(--cx-ink); letter-spacing: .04em; margin-bottom: 22px; }
.cx-products__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cx-product { display: grid; grid-template-rows: auto auto 1fr auto; gap: 8px; align-content: start; padding: 14px 14px 18px; background: var(--cx-white); border: 1px solid var(--cx-line); border-radius: var(--cx-radius); }
.cx-product__shot { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; border: 1px solid var(--cx-line); background: var(--cx-paper); }
.cx-product__shot img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.cx-product__name { margin-top: 6px; font-size: 16.5px; font-weight: 700; color: var(--cx-ink); letter-spacing: .04em; }
.cx-product__text { font-size: 14px; line-height: 1.85; color: var(--cx-ink-2); }
.cx-product .cx-link { font-size: 14px; justify-self: start; }
.cx-product__status { justify-self: start; padding: 2px 10px; border-radius: 999px; background: var(--cx-sand-2); color: var(--cx-walnut); font-size: 13px; font-weight: 600; }

/* ---------- AKATSUKI JOURNAL（front-media.php の内側の style より詳細度を上げて、明るい帯に） ---------- */
body .owned-media { background: var(--cx-bg); color: var(--cx-ink); padding: 0 var(--pad) var(--cx-sec); }
body .owned-media__inner {
  width: min(1192px, 100%); margin: 0 auto; padding: clamp(28px, 4vw, 52px) clamp(24px, 4vw, 56px);
  background: var(--cx-sand); border-radius: 24px; gap: 22px 48px;
}
body .owned-media .kicker { color: var(--cx-gold-ink); }
body .owned-media__title img { filter: none; width: clamp(200px, 26vw, 280px); }
body .owned-media__text { color: var(--cx-ink-2); font-size: 15.5px; }
body .owned-media .btn--champagne { background: var(--cx-ink); color: #fff; font-family: var(--cx-font); font-weight: 600; }
body .owned-media .btn--champagne:hover { background: var(--cx-walnut); }
body .owned-media :focus-visible { outline-color: var(--cx-gold-ink); }

/* ---------- 相談の流れ（トップのみ） ---------- */
.cx-process { background: var(--cx-paper); padding: var(--cx-sec) 0 clamp(64px, 7vw, 96px); border-top: 1px solid var(--cx-line); }
.cx-process__inner { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 24px clamp(32px, 5vw, 80px); align-items: start; }
.cx-process .cx-head { margin-bottom: 0; }
.cx-process__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cx-process__list li { position: relative; display: grid; gap: 8px; align-content: start; padding: 22px 20px; background: var(--cx-white); border: 1px solid var(--cx-line); border-radius: var(--cx-radius); }
.cx-process__no { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--cx-sand); color: var(--cx-walnut); font-family: var(--en); font-weight: 600; font-size: 14px; }
.cx-process__name { font-size: 17px; font-weight: 700; color: var(--cx-ink); letter-spacing: .04em; }
.cx-process__list p { font-size: 14.5px; line-height: 1.85; color: var(--cx-ink-2); }

/* ---------- 相談（構造は既存のまま。.contact 内の色の変数を明るい配色へ置き換える） ---------- */
.contact {
  --night: #ffffff;
  --on-night: var(--cx-ink);
  --on-night-2: var(--cx-ink-2);
  --night-line: rgba(31, 42, 46, .14);
  --champagne: var(--cx-walnut);
  --champagne-soft: var(--cx-walnut-2);
  --alert: var(--cx-error);
  background: var(--cx-sand);
  color: var(--cx-ink);
  padding: var(--cx-sec) 0;
}
.contact::before { display: none; }
.contact .kicker--light { color: var(--cx-gold-ink); font-weight: 500; }
.contact__title {
  font-family: var(--cx-font); font-weight: 700; font-size: clamp(1.55rem, 2.7vw, 2.3rem);
  line-height: 1.5; letter-spacing: .04em; display: block; color: var(--cx-ink);
}
.contact__lead { color: var(--cx-ink-2); font-size: 15.5px; }
.contact .consult, .contact .consult-native {
  background: #fff; border-radius: 24px; padding: clamp(22px, 3.2vw, 44px); box-shadow: 0 30px 60px -44px rgba(31, 42, 46, .55); border: 1px solid rgba(31, 42, 46, .06);
}
.contact .consult__q { font-family: var(--cx-font); font-weight: 700; font-size: clamp(1.2rem, 1.9vw, 1.55rem); letter-spacing: .04em; }
.contact .opt__title { font-weight: 700; }
.contact .opt:hover { background: rgba(122, 95, 55, .05); }
.contact .opt:has(input:checked) { background: rgba(203, 180, 143, .2); }
.contact .field__label, .contact .consult-native label { color: var(--cx-ink); font-weight: 600; }
.contact .field__input, .contact .consult-native input[type="text"], .contact .consult-native input[type="email"], .contact .consult-native input[type="tel"], .contact .consult-native select, .contact .consult-native textarea {
  border: 1px solid rgba(31, 42, 46, .22); border-radius: 10px; padding: 10px 14px; background: #fff; color: var(--cx-ink);
}
.contact .field__input:hover { border-color: rgba(31, 42, 46, .4); }
.contact .field__input:focus, .contact .consult-native input:focus, .contact .consult-native select:focus, .contact .consult-native textarea:focus {
  border-color: var(--cx-gold-ink); box-shadow: 0 0 0 3px rgba(122, 95, 55, .18);
}
.contact .field__input[aria-invalid="true"] { border-color: var(--alert); box-shadow: 0 0 0 3px rgba(163, 54, 31, .14); }
.contact .consult-native ::placeholder { color: rgba(31, 42, 46, .42); }
.contact .btn { font-family: var(--cx-font); font-weight: 600; }
.contact .btn--light:hover { background: var(--cx-walnut); }
.contact .btn-back, .contact .btn-edit { color: var(--cx-ink-2); text-decoration-color: rgba(31, 42, 46, .3); }
.contact .btn-back:hover, .contact .btn-edit:hover { color: var(--cx-ink); }
.contact .consult__error, .contact .field__error, .contact .consult-native .wpcf7-not-valid-tip { font-weight: 600; }
.contact :focus-visible { outline-color: var(--cx-gold-ink); }

/* ---------- フッター ---------- */
.ftr { background: var(--cx-paper); }
.ftr__addr { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px 22px; font-style: normal; font-size: 14px; line-height: 1.8; color: var(--cx-ink-2); }
.ftr__addr-name { font-weight: 700; color: var(--cx-ink); }
.ftr__addr a { color: inherit; text-underline-offset: 5px; }

/* ---------- スマートフォンの相談ボタン（JSで、FVを過ぎて相談欄が見えていない間だけ表示） ---------- */
.cx-float {
  position: fixed; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 40;
  display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 999px;
  background: var(--cx-walnut); color: #fff; text-decoration: none; font-size: 15px; font-weight: 700; letter-spacing: .05em;
  box-shadow: 0 14px 30px -14px rgba(31, 42, 46, .6);
  transition: opacity .25s var(--ease), transform .25s var(--ease);
}
.cx-float.is-away { opacity: 0; transform: translateY(12px); pointer-events: none; visibility: hidden; transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s linear .25s; }
@media (min-width: 761px) { .cx-float { display: none !important; } }

/* ---------- 画面幅 ---------- */
@media (max-width: 1180px) {
  .cx-svc__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cx-products__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  .cx-flow { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cx-flow li { grid-template-columns: 1fr; grid-template-rows: auto auto auto; justify-items: center; text-align: center; padding: 18px 8px; row-gap: 4px; }
  .cx-flow__icon { grid-row: auto; }
  .cx-flow__text { grid-column: 1; font-size: 12.5px; }
  .cx-process__inner { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .cx-about__inner { grid-template-columns: 1fr; grid-template-areas: "head" "art" "body"; }
  .cx-about__art { width: 100%; max-width: 560px; justify-self: center; }
  .cx-head--split { grid-template-columns: 1fr; }
  .cx-case { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .cx-flow { grid-template-columns: 1fr; border-radius: 14px; }
  .cx-flow li { grid-template-columns: 32px auto 1fr; grid-template-rows: auto; justify-items: start; text-align: left; column-gap: 12px; padding: 14px 18px; }
  .cx-flow li + li { border-top: 1px solid var(--cx-sand-2); }
  .cx-flow li + li::before { display: none; }
  .cx-flow__icon { width: 26px; height: 26px; }
  .cx-flow__text { grid-column: 3; }
  .cx-svc__grid { grid-template-columns: 1fr; gap: 10px; }
  .cx-card { grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 16px; row-gap: 4px; padding: 18px 16px; }
  .cx-card .cx-art { grid-row: 1 / span 3; width: 64px; height: 64px; margin: 0; }
  .cx-detail__sum { grid-template-columns: 40px minmax(0, 1fr) 28px; }
  .cx-detail__body { padding-left: 0; }
  .cx-cols, .cx-scope { grid-template-columns: 1fr; }
  .cx-guide { grid-template-columns: 1fr; }
  .cx-guide .cx-btn { grid-column: 1; grid-row: auto; justify-self: start; }
  .cx-process__list { grid-template-columns: 1fr; }
  .cx-products__list { grid-template-columns: 1fr; }
  body .owned-media__inner { padding: 26px 22px; }
  .ftr__addr { flex-direction: column; gap: 2px; }
}
@media (max-width: 400px) {
  .cx-btn { padding: 0 20px; font-size: 14.5px; }
  .cx-flow li { grid-template-columns: 26px 1fr; row-gap: 0; }
  .cx-flow__icon { grid-row: 1 / span 2; }
  .cx-flow__text { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .cx-btn, .cx-btn .btn__arrow, .cx-card, .cx-detail__sum::after, .cx-float { transition: none; }
}

/* ---------- 2026-10 QA 1回目の調整 ---------- */
.cx-svc h4, .cx-work h4 { margin: 0; }
.cx-nw { display: inline-block; }
.cx-products .cx-tag { margin-bottom: 10px; }
.cx-product { grid-template-rows: auto auto auto 1fr; }
.cx-product .cx-link, .cx-product__status { align-self: end; }
/* 相談：選択肢を読みやすい大きさに、左の列に案内 */
@media (min-width: 1001px) { .contact .contact__inner { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } .contact .contact__title { font-size: clamp(1.5rem, 2.2vw, 2rem); } }
.contact .opt { grid-template-columns: 34px 1fr 44px; }
.contact .opt__title { font-size: clamp(1.05rem, 1.4vw, 1.2rem); letter-spacing: .04em; }
.contact .opt__line { font-size: 13.5px; }
.contact .opt__art { width: 40px; height: 40px; }
.contact__points { display: grid; gap: 10px; padding-top: 18px; border-top: 1px solid rgba(31, 42, 46, .12); }
.contact__points li { position: relative; padding-left: 26px; font-size: 14.5px; line-height: 1.85; color: var(--cx-ink-2); }
.contact__points li::before {
  content: ""; position: absolute; left: 2px; top: .5em; width: 14px; height: 14px; border-radius: 50%; background: #fff;
  box-shadow: inset 0 0 0 1.5px var(--cx-gold-ink);
}
.contact__points li::after { content: ""; position: absolute; left: 7px; top: calc(.5em + 3px); width: 4px; height: 7px; border-right: 1.5px solid var(--cx-gold-ink); border-bottom: 1.5px solid var(--cx-gold-ink); transform: rotate(45deg); }
/* フッター：ロゴと一言、メニュー、会社情報、著作権の順に段を分ける */
@media (min-width: 761px) {
  .ftr__inner { grid-template-columns: auto minmax(0, 1fr); }
  .ftr__nav { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .contact .consult, .contact .consult-native { padding: 20px 16px; border-radius: 18px; }
}
@media (max-width: 400px) {
  .cx-h2, .contact__title { font-size: 1.32rem; letter-spacing: .02em; }
  .contact .consult__q { font-size: 1.12rem; }
}
/* 見出しは句読点・区切りの位置で折り返す（1字だけ次の行に残さない）。はみ出す場合だけ文字の途中で折る */
.cx-h2, .contact__title, .cx-card__name, .cx-detail__name, .cx-guide__title, .contact .opt__title, .contact .consult__q { word-break: keep-all; overflow-wrap: anywhere; }

/* ---------- 2026-10 R2：Root 実画面レビューの調整 ---------- */
/* 相談テーマ：旧の線画は文字幅を狭めるので隠す（input・value・ラベルはそのまま） */
.contact .opt { grid-template-columns: 34px minmax(0, 1fr); padding-right: 16px; }
.contact .opt__art { display: none; }
/* 必須の表示は語の途中で折り返さない */
.contact .field__req { display: inline-block; white-space: nowrap; }
.contact .consult__stepbtn { white-space: nowrap; }
@media (max-width: 640px) {
  /* 相談へ移動した直後に、最初の質問と選択肢が1画面に入るよう前置きを詰める */
  .contact { padding: 36px 0 56px; }
  .contact .contact__inner { gap: 22px; }
  .contact .contact__head { gap: 12px; }
  .contact .contact__lead { font-size: 14.5px; line-height: 1.85; }
  .contact__points { display: none; }
  .contact .consult { gap: 20px; }
  .contact .consult__step { gap: 18px; }
  .contact .opt { padding-top: 16px; padding-bottom: 16px; }
}
.cx-about .cx-h2 { font-size: clamp(1.4rem, 2.3vw, 2rem); }
/* site.css の英字見出し用（最後の span を金色に）を、日本語見出しでは打ち消す */
.contact .contact__title span { color: inherit; }
/* JOURNAL ロゴの画像は地が明るい不透明色のため、帯の砂色になじませる（画像・PHPは変更しない） */
body .owned-media__title img { mix-blend-mode: multiply; }
