@charset "UTF-8";
/* ============================================================
   丸天産業 AI診断アンケート
   Phase1：テーマ選択 → 設問回答 → スコア速報
   ============================================================ */

/* 補助テキストの下限は11px。
   欧文なら10pxでも読めるが、日本語は漢字の画数があるため
   11pxを下回ると、特にスマホで急に読みづらくなる。
   （2026-08-17 デザインレビューを受けて、10〜10.5pxを一律11pxに）
   ------------------------------------------------------------ */

/* ------------------------------------------------------------
   1. デザイントークン
   ------------------------------------------------------------ */
:root{
  /* 面 */
  --cream:#FBF8F3;
  --white:#FFFFFF;
  --sand:#F0E7DA;
  --line:#E7DFD2;
  --line-soft:#F0E9DE;

  /* 文字 */
  --navy:#1B2A4A;
  --navy2:#2C3F63;
  --ink:#3D4A63;
  /* 補助テキスト。#6C7C96 はクリーム地でコントラスト比4.00、白地で4.23と、
     小さい文字の基準（4.5:1）に届いていなかったため一段濃くした。
     #5A6A84 はクリーム地5.18／白地5.48／サンド地4.48。見た目の印象は変えていない。 */
  --navy-soft:#5A6A84;
  --apricot:#E8B48A;

  /* テーマ色（JSから --theme に流し込む） */
  /* テーマ色。#C75B26 は白地でコントラスト4.24、サンド地で3.46と、
     小さい文字の基準（4.5:1）に届いていなかったため一段濃くした。
     #B75322 は白地4.91／クリーム地4.64／サンド地4.01。色みは変えていない。 */
  --orange:#B75322;
  --theme:var(--orange);

  /* 余白 */
  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px;
  --s5:22px; --s6:30px; --s7:44px; --s8:60px;

  /* 文字サイズ */
  --fs-xs:11px; --fs-sm:12.5px; --fs-md:14.5px;
  --fs-lg:17px; --fs-xl:21px;  --fs-2xl:29px;

  /* 角丸 */
  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-pill:99px;

  /* 動き */
  --ease:cubic-bezier(.22,.61,.36,1);
  --bounce:cubic-bezier(.34,1.56,.64,1);   /* 「はずむ」用 */

  /* 紙の質感（SVGノイズをデータURIで埋め込み。外部画像は使わない）
     ─ 画像ファイルを読み込まないため表示が速く、PDF出力にも影響しない
     ─ 濃度は rect の opacity で調整する */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");
  --grain-soft:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");

  /* 背景画像に重ねる白のベール。
     数値を下げるほど背景の曲線が強く出る（0.70＝かなり見える／0.92＝ほぼ無地） */
  --veil:rgba(255,255,255,.86);
}

/* 本文へのスキップリンク（アクセシビリティ）
   ふだんは画面の外に逃がしておき、Tabキーで focus が当たったときだけ現れる。
   display:none で隠すと、そもそも focus が当たらず機能しないため、
   位置で逃がす方法を使う。 */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--navy);color:#fff;padding:12px 20px;border-radius:0 0 var(--r-sm) 0;
  font-size:14px;text-decoration:none}
.skip-link:focus{left:0}

/* ------------------------------------------------------------
   2. ベース
   ------------------------------------------------------------ */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
/* hidden属性は display の指定より優先させる
   （.btn-primary の display:block に負けて、空のボタンが表示される不具合を防ぐ） */
[hidden]{display:none !important}
body{
  background-color:#fff;
  color:var(--navy);
  font-family:'Hiragino Sans','Yu Gothic UI','Noto Sans JP','Meiryo',sans-serif;
  font-size:var(--fs-md);
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
a{color:inherit}

/* ------------------------------------------------------------
   背景画像「はたらく」を、はずませよう
   ─ 素材は左3割が意図的に白紙。「絵柄は右・文字は左」の前提で作られている。
     そのため background-position を右寄せにして、その意図どおりに使う。
   ─ 色は原寸のまま（ベールで薄めない）。
   ─ 適用はトップ画面のみ。設問や結果は文章を読む画面なので白地にする。
     10問を読み続ける画面に模様を敷くと、目が疲れて離脱の原因になるため。
   ------------------------------------------------------------ */
/* ------------------------------------------------------------
   背景の模様：画面に固定し、その上をコンテンツがスクロールしていく
   ─ background-attachment:fixed は iOS Safari で不安定なため、
     position:fixed の専用レイヤーで実装する（全端末で確実に固定される）
   ─ 画面いっぱい（cover）に広げて見える範囲を最大にする
   ─ 上部は模様の色をほぼそのまま、下へいくほど白を重ねて文字を読みやすくする
   ------------------------------------------------------------ */
html{background:#fff}
body{position:relative;background:transparent}
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;                     /* 本文より奥、htmlの白より手前 */
  pointer-events:none;
  /* 背景の模様（2026-08-15 軽量化）
     元は 3508×1974px・webp143KB＋png292KB の2枚組だった。
     画面いっぱいに敷く装飾なので、2000×1125px・品質90 に落としても
     見た目の違いは出ない（実機で並べて確認済み）。77KB になった。
     PNGの控えは外した。webpに対応しない環境では模様が出ないだけで、
     白い背景として成立し、文字の読みやすさには影響しないため。 */
  background-image:
    linear-gradient(to bottom,
      rgba(255,255,255,.10) 0,
      rgba(255,255,255,.55) 42%,
      rgba(255,255,255,.78) 78%,
      rgba(255,255,255,.82) 100%),
    url("../img/hataraku-bg.webp");
  background-repeat:no-repeat, no-repeat;
  background-position:center center, center center;
  background-size:cover, cover;
}
/* スマホは画面が狭く、絵柄と文字を左右に分けられない（PCは絵柄が右・文字が左で分離できる）。
   同じ濃度を共用すると必ず見出しと曲線が重なるため、スマホだけ白を強める。 */
@media (max-width:767px){
  body::before{
    background-image:
      linear-gradient(to bottom,
        rgba(255,255,255,.56) 0,
        rgba(255,255,255,.80) 42%,
        rgba(255,255,255,.90) 78%,
        rgba(255,255,255,.92) 100%),
      url("../img/hataraku-bg.webp");
  }
}

/* --- 案A：模様の上に直接置く「文字」だけ、白い面に載せて読めるようにする --- */
.hd .r{
  background:rgba(255,255,255,.92);
  border-radius:var(--r-pill);
  padding:5px 14px;
}
.pick-label{
  display:block;width:fit-content;
  background:rgba(255,255,255,.92);
  border-radius:var(--r-pill);
  padding:7px 18px;
  margin:var(--s3) 0 var(--s3);
}

.wrap{max-width:430px;margin:0 auto;padding:0 var(--s4)}
/* 小さめのタブレットや、ウィンドウを半分にして見る場合の中間幅。
   430pxのままだと左右が大きく余って、内容だけが細く中央に残ってしまう。
   広げすぎると1行が長くなって読みにくいので、560pxで止めている。 */
@media (min-width:600px) and (max-width:767px){
  .wrap{max-width:560px;padding:0 var(--s5)}
}
.screen{display:none}
.screen.active{display:block;animation:fadeUp .5s var(--ease) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ヘッダー */
.hd{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 0}
/* ロゴはトップへ戻る導線。押せることが分かるようにする */
/* ロゴは <button> で包んでいる（キーボードで到達できるようにするため）。
   ボタンの既定の見た目は打ち消し、画像だけが見えるようにする。 */
.hd .logo-btn{display:inline-flex;padding:0;border:0;background:none;cursor:pointer;
  border-radius:var(--r-sm);line-height:0}
.hd .logo-btn:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.hd .logo{height:25px;width:auto;opacity:.9;cursor:pointer;transition:opacity .15s}
@media (hover:hover){.hd .logo:hover{opacity:1}}
.logo-link{display:inline-block;line-height:0}
.hd .r{font-size:13px;color:var(--navy-soft);letter-spacing:.05em}
.hd .r.theme{font-size:15px;color:var(--theme);font-weight:600}
/* トップのヘッダー右：マイページへの動線 */
.hd-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.hd-link{
  font-size:12.5px;color:var(--navy);text-decoration:none;
  background:rgba(255,255,255,.92);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:6px 14px;white-space:nowrap;
  transition:border-color .15s,background .15s;
}
@media (hover:hover){.hd-link:hover{border-color:var(--orange);background:#FDF4EC}}

/* デモ表示の告知（本物のデータと取り違えないように） */
.demo-banner{
  background:#FDF4EC;border:1px solid #E8CDB8;border-radius:var(--r-md);
  padding:12px 15px;font-size:12.5px;line-height:1.8;color:#6B5B47;margin-bottom:var(--s4);
}
.demo-banner b{color:var(--orange)}

/* ------------------------------------------------------------
   3. トップ（テーマ選択）
   ------------------------------------------------------------ */
.hero{padding:var(--s6) 0 var(--s5)}
/* このページの主役。同業のブランドサイト（ヴィス・DRAFT等）は
   見出しを大きく取って余白を広くしている。ここが弱いと印象が平坦になる。 */
.hero h1{font-size:27px;line-height:1.5;font-weight:600;letter-spacing:.01em}
/* 「伸びしろ」が途中で改行されないようにする */
.hero h1 em{font-style:normal;color:var(--orange);white-space:nowrap}
.hero .sub{font-size:13px;color:var(--ink);margin-top:var(--s3);line-height:1.85}
.badges{display:flex;gap:6px;margin-top:var(--s4);flex-wrap:wrap}
.badge{font-size:var(--fs-xs);background:var(--white);border:1px solid var(--line);
       border-radius:var(--r-pill);padding:4px 11px;color:#4A5670}
/* 「入力不要」だけ、少しだけ前に出す。
   4つ並ぶうちで最も効く一言なので、同じ見た目に埋もれさせない。
   ただし色は主張しすぎない程度にとどめる（バッジは主役ではないため）。 */
.badge-key{border-color:var(--orange);color:var(--orange);font-weight:600}

/* 途中まで答えた方への再開の案内。
   テーマカードの直前に置くが、カード群と競合しないよう
   面の色を変えて「お知らせ」だと分かるようにする。
   押しどころは2つだけにして、迷わせない。 */
/* 本文と2つのボタンを横1行に収める。
   .btn-primary / .btn-text はどちらも width:100% が既定のため、
   ここで幅と余白を打ち消さないと縦に積み上がって高さが3倍になる。 */
.resume{background:var(--sand);border:1px solid var(--line);
  border-radius:var(--r-md);padding:11px 14px;margin-bottom:var(--s4);
  display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.rs-text{font-size:13px;line-height:1.7;color:var(--ink)}
.rs-text b{color:var(--navy)}
.rs-btns{display:flex;align-items:center;gap:14px;margin:0;flex:0 0 auto}
.rs-btns .btn-primary{width:auto;margin:0;padding:9px 18px;font-size:13px;
  border-radius:var(--r-pill);min-height:0}
.rs-btns .btn-text{width:auto;margin:0;padding:4px 0;font-size:12.5px}

/* ============================================================
   診断の流れと、結果の見本（2026-09-09 追加）
   ------------------------------------------------------------
   トップは「払うもの（3分・10問・入力不要）」は丁寧に書いてあったが、
   「もらえるもの（点数・グラフ・レポート）」が一言も具体的に
   示されていなかった。この2つで、それを補っている。
   ページの高さは90pxしか増えていない。
   ============================================================ */

/* 診断の流れ。箱を3つ並べず1行にして、34pxに収める。 */
.flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  margin-top:var(--s4);font-size:11.5px;color:var(--navy-soft);line-height:1.7}
.flow b{color:var(--navy);font-weight:700}
.flow .ar{color:var(--line);font-size:13px}
.flow .last{color:var(--orange)}

/* 結果の見本を開くボタン。
   ★色は薄めにとどめる。背景に模様があるため、濃い枠で囲うと主張が強すぎる。
     このサイトは「白い面を敷いて模様の上で読ませる」作り（.pick-label と同じ）。
     面は白を強めにし、枠のオレンジは落とす。
     差し色は矢印と図だけに残し、押しどころだと分かる最小限にする。 */
.peek-row{display:flex;justify-content:center;margin-top:10px}
.peek{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;
  padding:6px 12px 6px 7px;background:rgba(255,255,255,.92);
  border:1px solid rgba(183,83,34,.38);border-radius:var(--r-pill);
  cursor:pointer;font:inherit;font-size:12px;font-weight:600;
  color:var(--navy);line-height:1.5;
  transition:background .15s var(--ease),border-color .15s var(--ease)}
@media (hover:hover){.peek:hover{background:#fff;border-color:var(--orange)}}
.peek:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
/* 図は白い丸の上に置く。面に直接置くと線が沈んで見えない。 */
.peek-thumb{flex:0 0 28px;height:28px;display:block;background:var(--white);
  border-radius:50%;padding:2px;box-sizing:border-box}
.peek-thumb svg{width:100%;height:100%;display:block}
/* 28pxまで縮めると、通常の薄い塗りでは形が見えない。
   このボタンの中だけ、塗りと線を濃くして輪郭を出す。 */
.peek-thumb .radar-data{fill:var(--orange);fill-opacity:.22;
  stroke:var(--orange);stroke-width:8}
.peek-thumb polygon[fill="none"]{stroke-width:5}
.peek-ch{color:var(--orange);font-weight:700;font-size:13px}

/* 「気になるテーマを、ひとつ選んでください」を中央へ。
   白い丸帯（width:fit-content）なので text-align では動かない。 */
.pick-row{display:flex;justify-content:center}
.pick-row .pick-label{margin-left:auto;margin-right:auto;margin-top:6px}

.pick-label{font-size:var(--fs-xs);letter-spacing:.1em;color:var(--navy-soft);padding:var(--s2) 0 var(--s3)}
.themes{display:flex;flex-direction:column;gap:10px}
.theme-card{
  display:block;width:100%;text-align:left;background:var(--white);
  border-radius:15px;padding:15px 16px;border:1px solid var(--line);
  /* 模様の上に載るため、わずかに浮かせて境界をはっきりさせる */
  box-shadow:0 2px 12px rgba(60,50,35,.07);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease);
}
@media (hover:hover){.theme-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(60,50,35,.10)}}
/* span は既定で inline のため、明示的に block にしないと1行に流れてしまう */
.theme-card .tn{display:block;font-size:15.5px;font-weight:600}
.theme-card .td{display:block;font-size:12px;color:var(--navy-soft);line-height:1.7;margin-top:3px}
.theme-card .tm{display:block;font-size:11px;color:var(--tc);margin-top:7px;
                letter-spacing:.04em;padding-top:7px;border-top:1px solid #F2EEE7}

/* テーマ選択の補助（設計書2-3章） */
.helper{margin-top:var(--s5);background:var(--white);border:1px solid var(--line);
        border-radius:var(--r-md);padding:var(--s4) 16px}
.helper .ht{font-size:12.5px;font-weight:600;margin-bottom:var(--s3)}
.helper .hq{font-size:var(--fs-xs);color:var(--navy-soft);margin-bottom:var(--s2)}
#helperList{display:flex;flex-direction:column;gap:7px}
.helper button{
  display:block;width:100%;text-align:left;font-size:13px;line-height:1.65;
  padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);
  transition:border-color .15s,background .15s;
}
@media (hover:hover){.helper button:hover{border-color:var(--orange);background:#FDF4EC}}
/* 受け皿の選択肢は、他と少し見た目を分ける */
.helper button.pinned{border-style:dashed;color:var(--navy-soft)}

.note{margin:var(--s5) 0 var(--s7);background:var(--sand);border-radius:var(--r-md);
      padding:14px 16px;font-size:12px;line-height:1.85;color:#6B5B47}
.note b{color:var(--navy)}

/* スマホでは「約束」パネルを出さない（.note に同じ内容があるため） */
.promise{display:none}

/* トップのフッター */
.site-foot{
  display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;
  padding:var(--s5) 0 var(--s7);font-size:12px;color:var(--navy-soft);
}
.site-foot a{color:var(--navy-soft);text-decoration:underline;text-underline-offset:3px}
@media (hover:hover){.site-foot a:hover{color:var(--orange)}}

/* ------------------------------------------------------------
   4. 設問画面
   ------------------------------------------------------------ */
.qbar{padding:var(--s4) 0 0}
.qbar .meta{display:flex;justify-content:space-between;font-size:11.5px;
            color:var(--navy-soft);margin-bottom:7px}
/* 模様の上に直接置く文字は白い面に載せる（案A・全画面共通のルール） */
.qbar .meta span{background:rgba(255,255,255,.92);border-radius:var(--r-pill);padding:3px 11px}
.track{height:4px;background:var(--line);border-radius:var(--r-pill);overflow:hidden}
.track i{display:block;height:100%;background:var(--theme);border-radius:var(--r-pill);
         transition:width .45s var(--ease)}

/* 設問は白い面に載せる（模様の上に文字を直接置かない・案A）
   舞台に載る形になり、10問続けて読む負担も軽くなる */
.qbody{
  background:var(--white);
  background-image:var(--grain-soft);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:0 2px 12px rgba(60,50,35,.07);
  padding:var(--s5) 20px var(--s5);
  margin-top:var(--s5);
}
.qcat{font-size:11px;letter-spacing:.14em;color:var(--theme);font-weight:600;margin-bottom:var(--s3)}
.qtext{font-size:19.5px;line-height:1.75;font-weight:600;letter-spacing:.01em}
/* 設問が変わるたびに、ここへフォーカスを移している（main.js）。
   マウスで操作している方に枠が出ると驚かせるので、
   キーボード操作のときだけ枠を出す。 */
.qtext:focus{outline:none}
.qtext:focus-visible{outline:2px solid var(--orange);outline-offset:6px;border-radius:var(--r-sm)}

.opts{padding:var(--s5) 0;display:flex;flex-direction:column;gap:9px}
.opt{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  background:var(--white);border:1.5px solid var(--line);border-radius:var(--r-md);
  padding:15px 16px;font-size:14.5px;
  transition:border-color .15s,background .15s;
}
.opt .k{
  width:24px;height:24px;border-radius:7px;background:var(--sand);color:#6F6049;
  font-size:12px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-weight:600;transition:background .15s,color .15s;
}
@media (hover:hover){.opt:hover{border-color:var(--theme)}}
.opt.on{border-color:var(--theme);background:#FDF4EC}
.opt.on .k{background:var(--theme);color:#fff}
/* ★動き その3：選択した瞬間に弾む */
.opt.tapped{animation:tap .34s var(--bounce)}
@keyframes tap{0%{transform:scale(1)}40%{transform:scale(.97)}100%{transform:scale(1)}}

.qfoot{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--s7)}
/* ★「前の質問へ」の押しどころを広げる。
   設問画面でいちばん使う戻る操作なのに、実測で98×24pxしかなく、
   ほかの画面の戻る（55px）より小さかった。指で押す場所としては
   44px前後を確保したい。文字の大きさは変えず、余白だけを足す
   （見た目はほとんど変わらない）。左は行頭に合わせたいので0にする。
   （2026-09-09 実測して調整） */
.qfoot .back{font-size:12.5px;color:var(--navy-soft);
  padding:11px 12px 11px 0;margin:-11px 0}
.qfoot .save{font-size:11px;color:var(--navy-soft)}

/* 自由記述 */
.free-note{font-size:12px;color:var(--navy-soft);margin-top:var(--s3);line-height:1.7}
textarea{
  width:100%;min-height:120px;margin-top:var(--s4);padding:14px 15px;
  border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--white);
  font:inherit;font-size:16px;line-height:1.85;resize:vertical;   /* 16px未満だとiPhoneで画面が拡大する */
}
textarea:focus{outline:none;border-color:var(--theme)}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:var(--s3)}
.chip{
  font-size:12px;background:var(--white);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:6px 13px;color:#4A5670;
  transition:border-color .15s,background .15s;
}
@media (hover:hover){.chip:hover{border-color:var(--theme);background:#FDF4EC}}
.caution{font-size:11px;color:var(--navy-soft);margin-top:var(--s3);line-height:1.7}

.btn-primary{
  display:block;width:100%;background:var(--theme);color:#fff;text-align:center;
  padding:16px;border-radius:var(--r-pill);font-size:15px;font-weight:600;
  margin-top:var(--s5);transition:opacity .15s;
}
@media (hover:hover){.btn-primary:hover{opacity:.92}}
.btn-primary small{display:block;font-size:11.5px;font-weight:400;opacity:.85;margin-top:2px}

/* ------------------------------------------------------------
   5. スコア速報
   ------------------------------------------------------------ */
.flash-top{
  background:var(--navy);color:#fff;text-align:center;
  padding:var(--s6) var(--s5) var(--s5);
  margin:var(--s4) calc(var(--s4) * -1) 0;
}
.flash-top .ey{font-size:11px;letter-spacing:.18em;color:var(--apricot);margin-bottom:10px}
.flash-top .n{font-size:74px;font-weight:700;line-height:1;letter-spacing:-.04em;display:inline-block}
.flash-top .n span{font-size:20px;font-weight:400;letter-spacing:0;margin-left:4px}
/* ★動き その1：スコアが出る瞬間に弾む */
.flash-top .n.pop{animation:pop .6s var(--bounce) both}
@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1}100%{opacity:1;transform:scale(1)}}
.flash-top .rk{font-size:13.5px;color:var(--apricot);margin-top:12px}
.flash-top .msg{font-size:13.5px;color:rgba(255,255,255,.8);margin-top:10px;line-height:1.8}
.flash-top .free-badge{
  font-size:11px;background:rgba(255,255,255,.13);border-radius:var(--r-pill);
  padding:4px 12px;display:inline-block;margin-top:var(--s4);color:rgba(255,255,255,.9);
}

/* 背景の曲線がチャートの真後ろに透けると、10pxのラベルが読めなくなる。
   768px以上では白い面を敷いていたが、スマホでは敷いていなかったため、
   基本形の側に白い面を持たせる（PC側の指定はそのまま効く）。 */
.radar-box{padding:var(--s5) var(--s3) var(--s4);text-align:center;
  background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r-md)}
.radar-box svg{width:100%;max-width:260px;height:auto;margin:0 auto;display:block}
.axis-label{font-size:11px;fill:var(--navy-soft)}
/* ★動き その2：レーダーが描かれる */
.radar-data{
  stroke-dasharray:600;stroke-dashoffset:600;
  animation:draw 1s var(--ease) .25s forwards;
}
@keyframes draw{to{stroke-dashoffset:0}}
.radar-dot{opacity:0;animation:dotIn .3s var(--ease) forwards}

.breakdown{background:var(--white);border-radius:var(--r-md);padding:18px 18px 16px;margin-top:var(--s4);text-align:left}
.breakdown .bt{font-size:var(--fs-xs);letter-spacing:.1em;color:var(--navy-soft);margin-bottom:var(--s3)}
.brow{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.brow:last-of-type{margin-bottom:0}
.bn{font-size:12.5px;width:88px;flex-shrink:0;line-height:1.4}
.btr{flex:1;height:6px;background:var(--line);border-radius:var(--r-pill);overflow:hidden}
/* 0点でもバーが見えるように最小幅を持たせる（最大の伸びしろが不可視になるのを防ぐ） */
.btr i{display:block;height:100%;border-radius:var(--r-pill);background:var(--navy);
       width:0;min-width:6px;transition:width .7s var(--ease)}
.btr i.low{background:var(--theme)}
.bv{font-size:11.5px;width:21px;text-align:right;color:var(--navy-soft)}
/* ベンチマーク（データ蓄積後に表示。それまでは hidden） */
.bench{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;
       margin-top:var(--s3);padding-top:11px;border-top:1px solid var(--line)}
.bench .bl{font-size:11.5px;color:var(--navy-soft)}
.bench .bv2{font-size:12px;color:var(--navy-soft)}
.bench .bv2 b{font-size:17px;color:var(--navy);font-weight:700;margin-right:1px}
.bench .bd{font-size:11.5px;color:var(--theme);margin-left:auto}

.bnote{font-size:11.5px;color:var(--navy-soft);margin-top:var(--s3);padding-top:11px;
       border-top:1px solid var(--line);line-height:1.75}
.bnote em{font-style:normal;color:var(--theme)}
/* 点数の出どころ。主張ではなく前提なので、行を分けて一段落とす。 */
.bnote-src{display:block;margin-top:5px;font-size:11px;color:var(--navy-soft);opacity:.8}

.summary{margin-top:var(--s4);background:var(--white);border-radius:var(--r-md);padding:18px}
.sline{display:flex;gap:10px;font-size:13.5px;line-height:1.8;margin-bottom:10px;color:var(--ink)}
.sline:last-child{margin-bottom:0}
.sline b{color:var(--navy)}
.mark{color:var(--theme);flex-shrink:0}

.phase-note{
  margin:var(--s5) 0 var(--s7);background:var(--sand);border-radius:var(--r-md);
  padding:16px;font-size:12px;line-height:1.85;color:#6B5B47;
}
.phase-note b{color:var(--navy)}
.btn-ghost{
  display:block;width:100%;text-align:center;border:1px solid var(--line);
  border-radius:var(--r-pill);padding:14px;font-size:13px;color:var(--navy-soft);
  margin-top:10px;background:var(--white);
}
/* 補足を添えるボタン用。指定がないと本文と続けて表示され、
   「〜を印刷社内共有に〜」のようにつながって読めてしまう。 */
.btn-ghost small{display:block;font-size:11px;font-weight:400;opacity:.8;margin-top:3px}

/* レポート冒頭の要点（設計：長いレポートの前に結論を置く）
   ------------------------------------------------------------
   本文と同じ白い面にすると、ただの1段落に見えて読み飛ばされる。
   面の色を変えて「まとめ」だと分かるようにしつつ、
   主役はあくまで本文なので、囲みは細く、文字も本文より小さくする。 */
.rep-lead{background:var(--sand);border:1px solid var(--line);
  border-radius:var(--r-md);padding:16px 18px;margin-bottom:var(--s4)}
.rl-row{display:flex;gap:12px;align-items:baseline;margin-bottom:9px}
.rl-row:last-of-type{margin-bottom:0}
.rl-key{flex:0 0 auto;font-size:11.5px;font-weight:700;color:var(--white);
  background:var(--navy);border-radius:var(--r-sm);padding:3px 9px;line-height:1.6}
.rl-val{font-size:13.5px;line-height:1.85;color:var(--ink)}
.rl-note{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);
  font-size:11.5px;color:var(--navy-soft)}
@media (max-width:520px){
  /* 幅が狭いと、見出しの札と本文が1行に収まらず窮屈になる。縦に置く。 */
  .rl-row{display:block}
  .rl-key{display:inline-block;margin-bottom:5px}
}

/* ------------------------------------------------------------
   5-1. Phase2：リード入力・レポート・相談フォーム
   ------------------------------------------------------------ */
/* 予告（ぼかしではなく、実際の書き出しを自然にフェードさせる） */
.teaser{
  position:relative;overflow:hidden;height:132px;margin-top:var(--s4);
  background:var(--white);border-radius:var(--r-md);padding:18px 20px 0;
}
.teaser .tt{font-size:11px;letter-spacing:.14em;color:var(--theme);font-weight:600;margin-bottom:10px}
.teaser p{font-size:13.5px;line-height:1.9;color:var(--ink)}
.teaser .fade{position:absolute;left:0;right:0;bottom:0;height:62px;
              background:linear-gradient(180deg,rgba(255,255,255,0),#fff 78%)}
.privacy{font-size:11.5px;color:var(--navy-soft);text-align:center;margin-top:var(--s3);line-height:1.8}

/* フォーム共通 */
/* ★入力欄の文字は16px以上にすること（2026-10-03）
   iPhoneのSafariは、16px未満の入力欄に触れると画面を勝手に拡大する。
   拡大されたまま次の欄へ進むため、入力のたびに画面がずれて見える。 */
form label{display:block;font-size:12.5px;color:var(--navy-soft);margin-top:var(--s4)}
form input[type=text],form input[type=email],form input[type=tel]{
  display:block;width:100%;margin-top:5px;padding:13px 14px;font:inherit;font-size:16px;
  border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--white);
}
/* プルダウン（従業員数・業種）。入力欄と見た目を揃える */
form select{
  display:block;width:100%;margin-top:5px;padding:13px 14px;font:inherit;font-size:16px;
  border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--white);
  color:var(--ink);appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--navy-soft) 50%),
                   linear-gradient(135deg,var(--navy-soft) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 14px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
form input:focus,textarea:focus,form select:focus{outline:none;border-color:var(--theme)}
.req{background:var(--theme);color:#fff;font-size:12px;border-radius:4px;padding:1px 6px;margin-left:5px}
.hint{display:block;font-size:12px;color:var(--navy-soft);margin-top:4px;line-height:1.6}
/* 登録済みのアドレスのときの案内（診断コード欄の真上）。
   まだ間違いではなく「もう一手間」のお願いなので、赤ではなく案内の色にする */
#codeBox{scroll-margin-top:16px}   /* 自動で動かしたとき、画面の端に貼り付かないように */
.code-notice{display:flex;gap:10px;background:#FDF1E6;border:1.5px solid #F0C9A8;
  border-radius:12px;padding:12px 13px;margin:4px 0 12px;scroll-margin-top:16px}
.cn-ic{flex:0 0 22px;height:22px;border-radius:50%;background:var(--orange);color:#fff;
  font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.code-notice p{margin:0;font-size:13px;line-height:1.7;color:var(--navy)}
.code-notice b{display:block;font-size:13.5px}
/* お問い合わせ先のアドレス（contact.js が差し込む）。途中で改行されると読みにくいので1かたまりにする */
.contact-mail{color:var(--navy);font-weight:600;white-space:nowrap}
/* 部署と役職は横並び（狭い画面では縦に折り返す） */
.field-row{display:flex;gap:10px;flex-wrap:wrap}
.field-row label{flex:1 1 140px;margin-top:var(--s4)}
.hint-row{margin-top:5px}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:var(--s5);
       background:var(--sand);border-radius:var(--r-md);padding:14px 16px;font-size:13px;color:var(--ink)}
.check input{margin-top:5px;flex-shrink:0;width:18px;height:18px;accent-color:var(--theme)}
.check em{display:block;font-style:normal;font-size:11.5px;color:var(--navy-soft);margin-top:4px;line-height:1.7}
.err{color:#B3261E;font-size:13px;margin-top:var(--s3);background:#FCEEEC;
     border-radius:var(--r-sm);padding:10px 13px}
/* ハニーポット：人には見せず、支援技術からも隠す */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
fieldset{border:none;margin-top:var(--s5)}
legend{font-size:12.5px;color:var(--navy-soft);margin-bottom:var(--s2)}
.radio{display:flex;align-items:center;gap:10px;background:var(--white);
       border:1.5px solid var(--line);border-radius:var(--r-md);padding:13px 15px;
       margin:0 0 8px;font-size:14px;color:var(--navy);cursor:pointer}
.radio input{width:18px;height:18px;accent-color:var(--theme);flex-shrink:0}
.radio:has(input:checked){border-color:var(--theme);background:#FDF4EC}
/* 選択肢を横並びにする（相談フォーム）
   縦に9個並べるとスマホで送信ボタンが画面外に出るため、
   高さを3分の1程度に詰める。選ばれているかは色で示す。 */
.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s2)}
.chip-r{display:inline-flex;align-items:center;gap:7px;background:var(--white);
  border:1.5px solid var(--line);border-radius:var(--r-pill);
  padding:9px 15px;font-size:13.5px;color:var(--navy);cursor:pointer;
  transition:border-color .15s var(--ease),background .15s var(--ease)}
@media (hover:hover){.chip-r:hover{border-color:var(--theme)}}
.chip-r input{width:15px;height:15px;accent-color:var(--theme);flex-shrink:0;margin:0}
.chip-r:has(input:checked){border-color:var(--theme);background:#FDF4EC;font-weight:600}
/* 任意であることを、見出しの横に小さく添える */
.lg-any{font-size:11.5px;font-weight:400;color:var(--navy-soft);margin-left:6px}

.sla{font-size:12.5px;color:var(--ink);background:var(--sand);border-radius:var(--r-md);
     padding:12px 15px;margin-top:var(--s5);line-height:1.75}

/* 生成中
   背景の模様の上に文字を直接置かない（案A・全画面共通のルール）。
   白い面に載せないと、待ち画面の文言が読めなくなる。 */
.loading{
  text-align:center;margin:var(--s8) auto;padding:var(--s7) var(--s5);
  background:var(--white);background-image:var(--grain-soft);
  border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:0 2px 14px rgba(60,50,35,.07);
}
.spinner{width:40px;height:40px;margin:0 auto var(--s5);border-radius:50%;
         border:3px solid var(--line);border-top-color:var(--theme);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lmsg{font-size:16px;line-height:1.9;font-weight:600}
.lsub{font-size:12.5px;color:var(--navy-soft);margin-top:var(--s3)}
/* レポート下の「次に診断するとよいテーマ」（main.js renderNextTheme・2026-09-14） */
.next-theme{background:var(--white);border:1.5px solid var(--line);border-radius:14px;padding:16px;margin:var(--s5) 0 var(--s2);text-align:left}
.next-theme .nt-k{font-size:12px;font-weight:700;color:#A94C1F;letter-spacing:.06em}
.next-theme .nt-n{font-size:17px;font-weight:700;color:var(--navy);margin-top:4px}
.next-theme p{font-size:13.5px;line-height:1.8;color:var(--navy-soft);margin:6px 0 12px}
.next-theme .nt-b{display:block;width:100%;box-sizing:border-box;text-align:center;background:var(--white);
  border:1.5px solid var(--navy);color:var(--navy);border-radius:999px;padding:11px;font-weight:700;font-size:14px;
  text-decoration:none;cursor:pointer;font-family:inherit}
/* 読み込み中の「丸天産業での実践／参考事例」（cases.js・2026-09-14） */
.wait-card{margin:var(--s6) auto 0;max-width:420px;background:var(--white);border:1px solid var(--line);
  border-radius:14px;padding:14px 18px;text-align:left}
.wait-card .wk{font-size:12px;font-weight:700;letter-spacing:.06em}
.wait-card .wk.m{color:#A94C1F}
.wait-card .wk.c{color:#4E7A5E}
.wait-card .wt{font-size:14.5px;line-height:1.75;color:var(--navy);margin:6px 0 0;min-height:5.25em}
/* スマホ幅では最長の文が4行になる。切り替えのたびに枠の高さが変わらないよう、4行ぶん確保する（2026-09-15 実測） */
@media (max-width:480px){ .wait-card .wt{min-height:7em} }
.wait-card .dots{display:flex;gap:6px;justify-content:center;margin-top:8px}
.wait-card .dots i{width:7px;height:7px;border-radius:50%;background:#E7DFD2}
.wait-card .dots i.on{background:#A94C1F}

/* レポート */
.rep-side{background:var(--white);border-radius:var(--r-lg);padding:var(--s5) var(--s4);text-align:center;margin-top:var(--s4)}
.rside-score{font-size:52px;font-weight:700;line-height:1;letter-spacing:-.03em}
.rside-score small{font-size:15px;font-weight:400;color:var(--navy-soft);margin-left:3px}
.rside-rank{font-size:13px;color:var(--theme);margin-top:7px;padding-bottom:var(--s4);border-bottom:1px solid #F2EEE7}
/* 点数の性質を添える1行（2026-10-04）。点数の主張を弱めたくないので、小さく静かに置く */
.rside-note{font-size:11px;line-height:1.7;color:var(--navy-soft);margin-top:var(--s3)}
/* レポートは見出しごとに白い面へ分ける（背景の模様の上に文章を直接置かない） */
.report{margin-top:var(--s5)}
.rep-sec{
  background:var(--white);background-image:var(--grain-soft);
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--s5) 20px;margin-bottom:12px;
  box-shadow:0 2px 12px rgba(60,50,35,.07);
}
.rep-sec:last-child{margin-bottom:0}
.report h3{font-size:16px;font-weight:600;margin:0 0 var(--s3);padding-left:11px;
           border-left:3px solid var(--theme);line-height:1.5}
.report p{font-size:14.5px;line-height:2;color:var(--ink);margin-bottom:var(--s3)}
.report p:last-child{margin-bottom:0}
.report b{color:var(--navy)}
.disclaimer{font-size:11px;color:var(--navy-soft);line-height:1.75;margin-top:var(--s5);
            padding-top:var(--s3);border-top:1px solid var(--line)}
/* この診断でわかること・わからないこと（2026-10-04）。
   レポート本文とは別の声なので、面を作らず、細い線で区切るだけにする。
   印刷（PDF）にも出す。A4サマリーには入れない（1枚に収めるため）。 */
.limits{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}
.limits h3{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:var(--s3)}
.limits p{font-size:13px;line-height:1.95;color:var(--ink);margin-bottom:var(--s2)}
.limits p:last-child{margin-bottom:0}
/* 自社の実践＋ライブオフィス（結果画面・複合レポート共通）
   レポート本文とは別の声なので、面の色を変えて「差出人が変わった」ことを示す */
/* 丸天産業の取り組み。レポート本文より一段控えめに置く。
   主役はお客様の診断結果であり、ここは補足の位置づけのため。 */
.story{background:var(--white);border:1px solid var(--line);
       border-radius:var(--r-md);padding:16px 18px;margin-top:var(--s5)}
.story-h{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--navy-soft);
         margin-bottom:10px}
.story p{font-size:12.5px;line-height:1.85;color:#4A5670;margin-bottom:9px}
.story-e{margin-bottom:0 !important}
/* 実績は事実だけを淡々と並べる */
.story-ach{list-style:none;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px}
.story-ach li{font-size:11.5px;line-height:1.5;color:#5B5142;
              background:var(--sand);border-radius:var(--r-pill);padding:4px 12px}

.live{background:var(--sand);border-radius:var(--r-sm);padding:14px 16px;margin-top:var(--s4)}
.live-ey{font-size:11px;letter-spacing:.16em;color:var(--orange);font-weight:600;margin-bottom:5px}
.live-t{font-size:13.5px;font-weight:600;line-height:1.6;color:var(--navy)}
.live-s{font-size:12px;line-height:1.85;color:#5B5142;margin-top:7px}
.live-n{font-size:11.5px;line-height:1.8;color:var(--navy-soft);margin-top:7px}
.live-btn{margin-top:var(--s4)}
@media (min-width:768px){
  .live{display:flex;align-items:center;gap:24px}
  .live-l{flex:1;min-width:0}
  .live-btn{margin-top:0;flex-shrink:0;width:auto;padding-left:24px;padding-right:24px}
}

.rep-actions{margin-top:var(--s5)}
/* 副：持ち帰る手段。狭い画面では縦に積む */
.ra-sub{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.ra-sub .btn-ghost{flex:1 1 220px;margin-top:0}

/* スマートフォンで、印刷ボタンの代わりに出す案内。
   ボタンではないことが伝わるよう、枠は点線にして押せる見た目を避ける。 */
/* 印刷ボタンの下に常時出す案内。
   ★以前はボタンの代わりに出していたため、枠を付けて存在感を持たせていた。
     いまはボタンと併記するので、枠を外して一段下げる。
     枠が残っていると、ボタンが2つ並んでいるように見えてしまう。 */
.print-note{margin-top:10px;padding:0 4px;
  font-size:12px;line-height:1.85;color:var(--navy-soft)}
.print-note b{color:var(--navy)}
.print-note a{color:var(--orange);font-weight:600}
/* ============================================================
   結果の見本（重ねて表示）
   ------------------------------------------------------------
   閉じたときにページの見え方が変わらないよう、重ねる形にしている。
   その場で開く（アコーディオン）と、テーマカードが下へ動いてしまう。
   ============================================================ */
.sample-ov{position:fixed;inset:0;z-index:100;display:flex;
  align-items:center;justify-content:center;
  background:rgba(27,42,74,.55);padding:18px}
.sample-ov[hidden]{display:none}
.sample-dlg{background:var(--white);border-radius:16px;max-width:400px;width:100%;
  max-height:88vh;overflow:auto;padding:20px 18px 18px;position:relative;
  box-shadow:0 18px 50px rgba(27,42,74,.28)}
.sample-x{position:absolute;top:10px;right:10px;width:34px;height:34px;
  border-radius:50%;border:1px solid var(--line);background:var(--white);
  color:var(--navy);font-size:16px;line-height:1;cursor:pointer}
.sample-h{font-size:14px;color:var(--navy);margin:0 0 3px}
.sample-cap{font-size:11px;color:var(--navy-soft);margin-bottom:14px}
.sample-row{display:flex;gap:14px;align-items:center}
.sample-score{flex:0 0 82px;text-align:center;background:var(--navy);color:#fff;
  border-radius:var(--r-md);padding:12px 6px}
.sample-score b{display:block;font-size:27px;line-height:1.1;font-weight:700}
.sample-score small{font-size:10px;opacity:.85}
.sample-score span{display:block;font-size:11px;margin-top:5px}
.sample-radar{flex:1;min-width:0}
.sample-radar svg{width:100%;height:auto;display:block}
/* 「すぐ見られるもの」と「メールを頂いてからのもの」を色で分ける。
   どこから入力が必要になるかが、ここでひと目で伝わる。 */
.sample-get{margin-top:14px;border-top:1px solid var(--line);padding:12px 0 0;list-style:none}
.sample-get li{display:flex;gap:9px;font-size:12px;line-height:1.75;
  color:var(--ink);margin-bottom:7px}
.sample-get li:last-child{margin-bottom:0}
.sample-get .tag{flex:0 0 auto;font-size:10px;font-weight:700;border-radius:var(--r-sm);
  padding:2px 7px;height:fit-content;margin-top:2px}
.sample-get .free{background:#E8F0E6;color:#3E6B36}
.sample-get .mail{background:var(--sand);color:var(--orange)}
.sample-close{width:100%;margin-top:15px;padding:12px;border:1px solid var(--line);
  background:var(--sand);border-radius:var(--r-md);font:inherit;font-size:13px;
  color:var(--navy);cursor:pointer}
/* 見本は画面用。印刷には出さない。 */
@media print{.sample-ov{display:none !important}}

/* ボタンの見た目を <a> にも使っている箇所がある（マイページ・個人情報ページ・404）。
   リンクは既定で下線が付くため、そのままだとボタンの中に下線が出て安っぽくなる。
   文字の色もリンク色に引きずられるので、あわせて打ち消す。 */
a.btn-primary,a.btn-ghost{text-decoration:none}
a.btn-primary{color:#fff}
a.btn-ghost{color:var(--navy)}
/* その他：文字リンクの見た目まで下げる。枠を付けると副と同じ強さに見えるため */
.btn-text{display:block;width:100%;margin-top:var(--s4);padding:10px;
  background:none;border:none;font-size:12.5px;color:var(--navy-soft);
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (hover:hover){.btn-text:hover{color:var(--orange)}}
.code-box{margin:var(--s5) 0 var(--s7);background:var(--sand);border-radius:var(--r-md);padding:16px 18px;text-align:center}
.cb-t{font-size:11px;letter-spacing:.12em;color:#6B5B47}
.cb-v{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.08em;margin:6px 0 8px}
/* コードではなく案内文が入る場合（登録済みアドレス）。
   等幅・字間広めのままだと読みにくいので、本文と同じ見え方に戻す。 */
.cb-v.cb-sent{font-family:inherit;font-size:14px;letter-spacing:normal;font-weight:600;color:var(--navy)}
.cb-n{font-size:11.5px;color:#6B5B47;line-height:1.75}

/* ------------------------------------------------------------
   マイページ（Phase4）
   ------------------------------------------------------------ */
.mp-head{padding:var(--s5) 0 var(--s4)}
.mp-head h2{font-size:20px;font-weight:600}
/* 模様の上に直接置く文字は白い面に載せる（案A・全画面共通のルール） */
.mp-sub{display:block;width:fit-content;font-size:12.5px;color:var(--navy-soft);
        background:rgba(255,255,255,.92);border-radius:var(--r-pill);
        padding:4px 13px;margin-top:7px}
.mp-code{margin-top:var(--s4);text-align:center}
.mp-grid{display:flex;flex-direction:column;gap:10px}
/* テーマ色の縦線は入れない。カードの並びを静かに見せるため、
   枠線は全辺そろえる（複合診断のテーマ表示と同じ扱い） */
.mp-card{
  display:block;background:var(--white);background-image:var(--grain-soft);
  border:1px solid var(--line);
  border-radius:var(--r-md);padding:16px 18px;text-decoration:none;color:inherit;
  box-shadow:0 2px 12px rgba(60,50,35,.07);
}
.mp-card.todo{background:rgba(255,255,255,.7);border-style:dashed}
.mc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mc-name{font-size:15.5px;font-weight:600}
.mc-date{font-size:11.5px;color:var(--navy-soft);margin-top:2px}
.mc-score{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.mc-score small{font-size:11px;font-weight:400;color:var(--navy-soft);margin-left:2px}
.mc-rank{font-size:12px;color:var(--tc);margin-top:6px}
/* 前回との比較（2026-10-04）。点数の主張を邪魔しないよう、小さく静かに置く */
.mc-prev{font-size:12px;color:var(--navy-soft);margin-top:6px;line-height:1.7}
.mc-prev b{color:var(--navy);font-weight:600}
.mc-link{font-size:13px;color:var(--tc);font-weight:600;margin-top:10px;padding:0;background:none;border:none}
.mc-go{display:block;font-size:13px;color:var(--tc);font-weight:600;margin-top:10px}
.mc-none{display:block;font-size:11.5px;color:var(--navy-soft);margin-top:10px}
.combo{margin-top:var(--s5);background:var(--sand);border-radius:var(--r-md);padding:17px 18px}
.combo .ct2{font-size:14.5px;font-weight:600;margin-bottom:5px}
.combo p{font-size:12.5px;color:#6B5B47;line-height:1.85}
.mp-foot{padding:var(--s5) 0 var(--s7)}
.mpnote{display:block;width:fit-content;max-width:100%;font-size:11.5px;color:var(--navy-soft);
        text-align:center;margin:var(--s3) auto 0;line-height:1.75;
        background:rgba(255,255,255,.92);border-radius:var(--r-pill);padding:5px 15px}

/* ------------------------------------------------------------
   複合診断（Phase5）
   ------------------------------------------------------------ */
.cp-head{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;padding:var(--s5) 0 var(--s4)}
.cp-score{background:var(--navy);color:#fff;border-radius:var(--r-lg);
          padding:22px 26px;text-align:center;flex:1 1 200px;
          background-image:radial-gradient(120% 90% at 50% -10%, rgba(255,255,255,.10) 0, rgba(255,255,255,0) 62%)}
.cp-ey{font-size:11px;letter-spacing:.16em;color:var(--apricot)}
.cp-n{font-size:52px;font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-top:6px}
.cp-n small{font-size:14px;font-weight:400;margin-left:3px}
.cp-rank{font-size:13px;color:var(--apricot);margin-top:4px}
/* 点数の性質を添える1行（2026-10-04）。濃い面の上に置くので、文字色は白を薄くする */
.cp-note{font-size:11px;line-height:1.7;color:rgba(255,255,255,.72);margin-top:8px;max-width:22em}
.cp-themes{flex:2 1 320px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cpt{background:var(--white);border:1px solid var(--line);
     border-radius:var(--r-md);padding:11px 14px;display:flex;justify-content:space-between;
     align-items:center;gap:8px}
.cpt-n{font-size:13px;font-weight:600}
.cpt-s{font-size:20px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.cpt-s small{font-size:11px;font-weight:400;color:var(--navy-soft);margin-left:1px}

.cp-block{margin-top:var(--s6)}
.cp-h{font-size:16px;font-weight:600;padding-left:11px;border-left:3px solid var(--theme);
      margin-bottom:var(--s3);line-height:1.5}
.cp-lead{font-size:12.5px;color:var(--navy-soft);line-height:1.8;margin-bottom:var(--s4)}

/* 診断のきっかけ（リード入力画面・任意・複数選択）
   任意の設問なので、必須項目より控えめな面にする。
   10項目を縦2列で並べると600pxを超え、同意欄と送信ボタンが
   画面外に押し出されていた。相談フォームと同じ横並び（チップ）に
   そろえ、文字の長さに合わせて折り返す。約5分の1の高さになる。
   全項目が一度に目に入るため、当てはまるものを見落としにくい。 */
/* 読み上げにだけ伝える文字（画面には出さない）。
   fieldset には legend が要るが、開閉の見出し（summary）と
   同じ文が二重に読まれるのを避けるため、こちらは隠す。 */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* きっかけ欄の開閉。
   閉じているときは1行に収まり、必須項目の流れを妨げない。
   開く操作だと分かるよう、押しどころは行全体にする。 */
/* 自由記述の「書き方の例」。きっかけ欄と同じ開閉の作りにそろえる。 */
.free-ex{margin-top:12px}
.free-ex > summary{cursor:pointer;list-style:none;font-size:12.5px;
  color:var(--navy-soft);line-height:1.8;padding:4px 0;
  display:flex;align-items:center;gap:7px}
.free-ex > summary::-webkit-details-marker{display:none}
.free-ex > summary::before{content:'＋';color:var(--orange);font-weight:700}
.free-ex[open] > summary::before{content:'−'}
.free-ex > summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
/* 例文は文章なので、短い言葉のチップより行間を広くとる */
.chip-ex{text-align:left;line-height:1.75;padding-top:9px;padding-bottom:9px}

/* 診断のきっかけ（任意）。畳んだまま、入口だけを枠で囲んで目立たせる（2026-09-13） */
.triggers-fold{margin:var(--s4) 0 0;border:1.5px solid var(--line);border-radius:12px;
  background:#FBF8F3;padding:13px 14px}
.triggers-fold > summary{cursor:pointer;list-style:none;color:var(--navy);
  display:flex;align-items:center;gap:10px}
.triggers-fold > summary::-webkit-details-marker{display:none}
.triggers-fold > summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:8px}
.tf-ic{flex:0 0 30px;height:30px;border-radius:50%;background:#FDF1E6;color:var(--orange);
  font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.tf-ic::before{content:'＋'}
.triggers-fold[open] .tf-ic::before{content:'−'}
.tf-t{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.5}
.tf-t small{display:block;font-size:12px;font-weight:400;color:var(--navy-soft);margin-top:2px}
.tf-go{color:var(--orange);font-size:13px;font-weight:700;white-space:nowrap}
.tf-go::before{content:'開く ▾'}
.triggers-fold[open] .tf-go::before{content:'閉じる ▴'}
@media (hover:hover){.triggers-fold > summary:hover .tf-t{color:var(--orange)}}

.triggers{border:none;margin:var(--s3) 0 0;padding:0}
.triggers legend{font-size:13px;color:var(--navy);font-weight:600;
  padding:0;margin-bottom:var(--s3);line-height:1.6}
.tg-grid{display:flex;flex-wrap:wrap;gap:8px}
.tg{display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  background:var(--white);border:1.5px solid var(--line);border-radius:var(--r-pill);
  padding:9px 15px;font-size:13px;line-height:1.5;color:var(--navy);
  transition:border-color .15s var(--ease),background .15s var(--ease)}
@media (hover:hover){.tg:hover{border-color:var(--theme)}}
.tg input{margin:0;flex:0 0 auto;accent-color:var(--theme);width:15px;height:15px}
.tg:has(input:checked){border-color:var(--theme);background:#FDF6F0;font-weight:600}
/* 選ぶと太字になるぶん幅が変わり、行の折り返しがずれて見える。
   あらかじめ太字ぶんの幅を確保しておき、揺れを止める。 */
.tg span{display:inline-block}
.tg span::after{content:attr(data-t);font-weight:600;height:0;overflow:hidden;
  visibility:hidden;display:block;pointer-events:none}

/* 私たちの考え方（トップ・テーマカードの直後）
   面を作らず、細い罫と余白だけで区切る。カードにすると
   上のテーマカード・下の見学ブロックと3つ面が続いて重くなるため。 */
.our-way{max-width:720px;margin:var(--s7) auto var(--s6);padding:var(--s5) 0 0;
  border-top:1px solid var(--line);text-align:center}
.our-way .ow-ey{font-size:11px;letter-spacing:.16em;color:var(--orange);
  font-weight:600;margin-bottom:var(--s2)}
.our-way h2{font-size:19px;font-weight:600;color:var(--navy);
  line-height:1.6;margin-bottom:var(--s3)}
.our-way p{font-size:13.5px;line-height:2;color:var(--ink)}
.our-way .ow-line{margin-top:var(--s3);color:var(--navy)}
.our-way .ow-line b{font-weight:600;
  /* 下線を引かず、色の面でそっと強調する（主張しすぎない） */
  background:linear-gradient(transparent 62%, var(--sand) 62%)}
@media (max-width:767px){
  .our-way{margin:var(--s6) auto var(--s5);text-align:left}
  .our-way h2{font-size:17px}
  .our-way p{font-size:13px;line-height:1.95}
  /* スマホでは自動改行に任せる（brで不自然な位置で切れるため） */
  .our-way br{display:none}
}

/* 支援制度の一言。CTAのすぐ上に置き、相談する理由をもう一つ足す。
   主役はボタンなので、色も大きさも一段落とす。 */
.subsidy-note{max-width:640px;margin:0 auto var(--s4);padding:11px 16px;
  background:var(--white);border:1px dashed var(--line);border-radius:var(--r-sm);
  font-size:12px;line-height:1.8;color:var(--ink);text-align:center}

/* 2テーマの方への「もう1つ受けると、またがる課題が見えます」の案内。
   勧誘に見せたくないので、ボタンではなく文章＋文字リンクにとどめ、
   レポートを読み終えた位置（操作ボタンの下）に置く。 */
.cp-more{max-width:640px;margin:var(--s5) auto 0;padding:13px 18px;
  background:var(--sand);border-radius:var(--r-md);
  font-size:12.5px;line-height:1.9;color:var(--ink);text-align:center}
.cp-more a{display:inline-block;margin-top:4px;color:var(--orange);font-weight:600}

/* 3つの層で見た偏り（統合診断のみ）
   バーの並びは方針→仕組み→空間の順で固定。点数の順に並べ替えると、
   診断のたびに並びが変わって見比べにくくなるため。
   いちばん低い層だけテーマ色にして、目が最初にそこへ行くようにする。 */
.cp-layers{background:var(--white);border:1px solid var(--line);
  border-radius:var(--r-md);padding:16px 18px}
.cl-row{display:flex;align-items:center;gap:14px;padding:9px 0}
.cl-row + .cl-row{border-top:1px solid var(--line-soft)}
.cl-n{flex:0 0 150px;font-size:13px;font-weight:600;color:var(--navy);line-height:1.4}
.cl-n small{display:block;font-size:11px;font-weight:400;color:var(--navy-soft);margin-top:2px}
.cl-bar{flex:1;height:9px;background:var(--sand);border-radius:99px;overflow:hidden}
.cl-bar i{display:block;height:100%;background:var(--navy);border-radius:99px;
  transition:width .6s var(--ease)}
.cl-v{flex:0 0 46px;text-align:right;font-size:15px;font-weight:700;color:var(--navy)}
.cl-v small{font-size:11px;font-weight:400;margin-left:2px;color:var(--navy-soft)}
/* いちばん低い層 */
.cl-low .cl-bar i{background:var(--theme)}
.cl-low .cl-v{color:var(--theme)}
@media (max-width:640px){
  .cl-row{flex-wrap:wrap;gap:6px 10px}
  .cl-n{flex:1 1 auto}
  .cl-bar{order:3;flex:1 1 100%}
}

/* 4象限マップ（散布図）
   点には番号だけを打ち、名前は下の凡例に出す。
   名前を点の横に置くと重なって読めなくなるため。 */
.quad{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);
      padding:var(--s4) var(--s3) var(--s3)}
.qm{width:100%;height:auto;display:block}
.qm-frame{fill:none;stroke:var(--line)}
.qm-div{stroke:var(--line);stroke-dasharray:4 4}
.qm-hot{fill:#FDF4EC}
.qm-zone{font-size:12px;font-weight:600;fill:var(--navy)}
.qm-zone-sub{font-size:11px;fill:var(--navy-soft)}
.qm-axis{font-size:11px;fill:var(--navy-soft);letter-spacing:.04em}
.qm-dot circle{fill:var(--theme);opacity:.92}
.qm-dot text{font-size:12px;font-weight:700;fill:#fff}
.qm-dot{cursor:default}

/* ★表ごと中央に寄せる（2026-09-12）
   ------------------------------------------------------------
   以前は名前と説明が左端に密集し、「◯◯に効く」と実現ハードルが
   画面の右端まで飛ばされていた。あいだに大きな空白ができ、
   1行を読むのに視線が大きく往復する状態だった。
   すぐ上の4象限マップは中央に描かれているため、その真下にある
   この表も中央にそろえると、縦のつながりが自然になる。
   列幅を決めているのは下の .lg-* で、ここは器の幅だけを決める。 */
.qm-legend{list-style:none;margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s3);
  max-width:900px;margin-left:auto;margin-right:auto}
/* ゾーンの見出し。地図のどの区画の話かを示すだけなので、
   課題名より一段下げた見た目にして、行の流れを邪魔しない。 */
.qm-legend .lg-zone{display:block;font-size:12px;font-weight:600;color:var(--navy);
  letter-spacing:.06em;margin:var(--s3) 0 var(--s1);padding-bottom:3px;
  border-bottom:1px dashed var(--line)}
.qm-legend .lg-zone:first-child{margin-top:0}
.qm-legend li{display:flex;align-items:baseline;gap:9px;font-size:12.5px;
              line-height:1.9;flex-wrap:wrap}
.lg-no{flex-shrink:0;width:19px;height:19px;border-radius:50%;background:var(--theme);
       color:#fff;font-size:11px;font-weight:700;display:inline-flex;
       align-items:center;justify-content:center;align-self:center}
/* 名前の幅をそろえると、右隣の説明文の開始位置が縦にそろう */
.lg-name{font-weight:600;flex-shrink:0;min-width:172px}
/* 名前と右端の数値のあいだ。空きが出るので「どのテーマで共通か」を置く */
.lg-why{font-size:12.5px;color:var(--navy-soft);flex:0 0 380px;min-width:0;
        padding-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-why b{color:var(--theme);font-weight:600}
/* 手を入れると効いてくる経営面。地図には出ていない情報なので、少し目立たせる */
.lg-eff{font-size:12px;color:#6B5B47;background:var(--sand);border-radius:var(--r-pill);
        padding:2px 10px;white-space:nowrap;flex-shrink:0;align-self:center;
        margin-left:auto;min-width:92px;text-align:center;justify-content:center}
.lg-meta{font-size:12px;color:var(--navy-soft);white-space:nowrap;flex-shrink:0;
         min-width:104px;text-align:right}
/* 狭い画面では1行に収まらないので、名前の下へ回す。
   境目は768pxにそろえている（採用サイトと同じ。サイト内で値を混在させない） */
@media (max-width:767px){
  .qm-legend{max-width:none}
  .qm-legend li{flex-wrap:wrap}
  .lg-why{flex-basis:100%;padding-left:29px;padding-bottom:2px;order:3;white-space:normal}
  /* ★広い画面用に足した列幅は、ここで必ず戻す（2026-09-12）
     戻さないと 名前172px＋ラベル92px で1行が画面幅を超え、
     右端の「すぐ始められます」が切れる（実機幅390pxで確認）。 */
  .lg-name{min-width:0}
  .lg-eff{margin-left:auto;min-width:0}
  .lg-meta{min-width:0}
  /* ★1項目を必ず2段にそろえる（2026-09-13）
     1段目：番号・課題名・「〇〇に効く」／2段目：テーマ・時間。
     折り返し任せだと、項目ごとに「すぐ始められます」の位置がばらばらになる。 */
  .qm-legend li:not(.lg-zone){display:grid;grid-template-columns:20px 1fr auto;
    column-gap:9px;row-gap:3px;align-items:center;padding:7px 0;line-height:1.6}
  .lg-no{grid-column:1;grid-row:1}
  .lg-name{grid-column:2;grid-row:1}
  .lg-eff{grid-column:3;grid-row:1;margin-left:0}
  .lg-why{grid-column:2;grid-row:2;padding:0;white-space:normal}
  .lg-meta{grid-column:3;grid-row:2}
}
.quad-empty{font-size:13px;color:var(--navy-soft);line-height:1.9;padding:var(--s4) 0}

/* 狭い画面では図が縮むぶん、SVG内の文字を拡大して実寸を保つ */
@media (max-width:767px){
  .quad{padding:var(--s3) var(--s2) var(--s3)}
  .qm-zone{font-size:19px}
  .qm-zone-sub{font-size:15px}
  .qm-axis{font-size:16px}
  .qm-dot text{font-size:19px}
  /* ★半径は R_SAFE（mypage.js）と揃えること。
     ここだけ大きくすると、点どうしの間隔の計算が追いつかず重なる。 */
  .qm-dot circle{r:15px}
  /* ★区分の説明と軸の文字は、図と一緒に約51%へ縮んで読めないため、
     スマホ画面では図の中から隠し、図の下（.qm-cap）に普通の文字で出す（2026-09-13）。
     SVGの文字そのものは消さないこと。A4サマリーが同じ図を使っている。 */
  .quad .qm-zone-sub,.quad .qm-axis{display:none}
  .quad .qm-cap{display:block}
}
/* 図の下の説明。パソコンでは図が縮まずSVG内で読めるので出さない */
.qm-cap{display:none}
.qm-cap-axis{display:flex;justify-content:space-between;font-size:12.5px;color:var(--navy-soft);margin:8px 2px 10px}
.qm-cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qm-cap-grid>div{background:#F4F1EB;border-radius:8px;padding:8px 10px;font-size:12.5px;color:var(--navy-soft);line-height:1.5}
.qm-cap-grid>div.hot{background:#FDF4EC}
.qm-cap-grid b{display:block;font-size:13px;color:var(--navy);margin-bottom:2px}
.qm-cap-v{font-size:12.5px;color:var(--navy-soft);margin:8px 2px 0;line-height:1.6}

/* 共通課題 */
.cp-issues{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:4px 18px}
.cp-issue{display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #F2EEE7}
.cp-issue:last-child{border-bottom:none}
.ci-no{font-size:11px;font-weight:700;color:#fff;background:var(--theme);
       width:20px;height:20px;border-radius:6px;display:flex;align-items:center;
       justify-content:center;flex-shrink:0;margin-top:3px}
.ci-name{font-size:14px;font-weight:600}
.ci-desc{font-size:12px;color:var(--navy-soft);line-height:1.7;margin-top:2px}
.hurdle{font-size:11px;border:1px solid var(--line);padding:1px 7px;
        border-radius:var(--r-pill);color:var(--navy-soft);margin-left:7px;font-weight:400}

/* 送信完了 */
.done{text-align:center;padding:var(--s8) 0}
.done-mark{width:56px;height:56px;margin:0 auto var(--s5);border-radius:50%;background:var(--theme);
           color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center}
.done h2{font-size:20px;font-weight:600}
.done p{font-size:14px;color:var(--ink);margin-top:var(--s3);line-height:1.9}

/* ------------------------------------------------------------
   5-2. 紙の質感
   ※ background の一括指定より後に書くこと（上書きされるため）
   ------------------------------------------------------------ */
.theme-card,
.helper,
.breakdown,
.summary,
.radar-box,
.promise,
.note,
.phase-note,
.opt,
.btn-ghost,
textarea{
  background-image:var(--grain-soft);
}

/* 背景が白になったため、白い面は境界線がないと沈む。
   影ではなく細い線で区切る（紙らしさを保つため） */
.breakdown,
.summary,
.radar-box,
.teaser,
.rep-side,
.empathy{
  border:1px solid var(--line);
}

/* 濃紺の面は、ノイズではなく淡い光で奥行きを出す（平坦さを避ける） */
.flash-top{
  background-color:var(--navy);
  background-image:radial-gradient(120% 90% at 50% -10%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 62%);
}

/* ------------------------------------------------------------
   6. タブレット・PC（PC版レイアウトを縮めて使う）
   ------------------------------------------------------------ */
@media (min-width:768px){
  .wrap{max-width:1120px;padding:0 40px}

  .hero{padding:var(--s8) 0 var(--s7)}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
  /* 右の列。「ご入力の前に」パネルと、結果の見本のボタンを縦に並べる。
     ★2つを1つの入れ物にまとめるのが要。別々のグリッド項目にすると、
       行が分かれてパネルとボタンの間に150px近い余白ができる。
     面は分けたまま、中央の位置だけをそろえている。 */
  .hero-side{display:flex;flex-direction:column}
  .hero-side .peek-row{justify-content:center;margin-top:14px}
  /* 幅に応じて滑らかに変える。768pxで46pxのままだと4行に折り返して
     ヒーローが縦に伸びすぎるため、下限を32pxにして間を補間する。 */
  .hero h1{font-size:clamp(32px, 3.4vw, 46px);line-height:1.42;letter-spacing:-.01em}
  .hero .sub{font-size:15px}
  .promise{display:block;background:var(--white);border:1px solid var(--line);
           border-radius:var(--r-lg);padding:28px 30px;
           box-shadow:0 2px 14px rgba(60,50,35,.07)}
  /* PCでは .note が重複するので隠す */
  .note{display:none}
  .promise .pt{font-size:12px;letter-spacing:.14em;color:var(--orange);font-weight:600;margin-bottom:var(--s4)}
  .promise li{display:flex;gap:11px;font-size:13.5px;padding:9px 0;border-bottom:1px solid #F2EEE7;list-style:none;line-height:1.75}
  .promise li:last-child{border-bottom:none}
  .promise .ck{color:var(--orange);flex-shrink:0}

  /* 白い面ごと中央に置く（inline-block を margin auto で中央寄せ） */
  .pick-label{font-size:12.5px;margin:var(--s6) auto var(--s4);padding:8px 22px}
  /* テーマカードは高さを揃える（grid-auto-rows:1fr ＋ 説明文に最低高） */
  .themes{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-auto-rows:1fr}
  .theme-card{
    padding:22px 24px;
    display:flex;flex-direction:column;
  }
  .theme-card .tn{font-size:18px}
  .theme-card .td{font-size:13px;min-height:66px;flex:1}
  .theme-card .tm{margin-top:auto}

  /* 選択の補助：PCでは横2列 */
  .helper{max-width:860px;margin:var(--s6) auto 0;padding:26px 28px}
  .helper .ht{font-size:15px;text-align:center}
  .helper .hq{text-align:center;font-size:12.5px;margin-bottom:var(--s4)}
  #helperList{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .helper button.pinned{grid-column:1 / -1}
  .note{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
  .hd .r.theme{font-size:16px}

  /* 設問：中央寄せの狭い幅（視線の移動を抑える） */
  .qbody{max-width:720px;margin:var(--s6) auto 0;text-align:center;padding:var(--s6) var(--s6)}
  .qtext{font-size:27px}
  .opts{max-width:720px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .opt{padding:19px 21px;font-size:15.5px}
  .qfoot{max-width:720px;margin:var(--s5) auto 0}
  .free-wrap{max-width:720px;margin:0 auto}
  .btn-primary{max-width:420px;margin-left:auto;margin-right:auto}

  /* スコア速報：左に点数とレーダー、右に内訳と要約 */
  .flash-grid{
    display:grid;
    grid-template-columns:1fr 1.06fr;      /* 左右の面積をほぼ揃える */
    grid-template-areas:"score right" "radar right";
    grid-template-rows:auto 1fr;           /* 余りの高さはグラフの下へ回し、点数とグラフの間を詰める */
    gap:14px 26px;
    align-items:start;
    padding:var(--s6) 0 var(--s8);
  }
  .flash-top{grid-area:score;margin:0;border-radius:var(--r-lg);padding:32px 28px 28px}
  .flash-top .n{font-size:80px}
  .radar-box{grid-area:radar;background:var(--white);
             border-radius:var(--r-lg);padding:var(--s5) var(--s4) var(--s4)}
  .radar-box svg{max-width:275px}
  .hd .logo{height:28px}
  .flash-right{grid-area:right}
  .breakdown{margin-top:0}
  .phase-note{margin-bottom:0}

  /* フォーム系は読みやすい幅に絞る */
  .wrap.narrow{max-width:620px}
  .loading{max-width:520px;padding:var(--s8) var(--s6)}

  /* レポート：左に点数を固定表示、右に本文 */
  .rep-grid{display:grid;grid-template-columns:300px 1fr;gap:40px;
            align-items:start;padding:var(--s6) 0 var(--s8)}
  .rep-side{position:sticky;top:20px;margin-top:0}
  .rep-side .radar-box{background:none;padding:var(--s4) 0 0}
  .rep-side .radar-box svg{max-width:230px}
  .report{margin-top:0}
  .report h3{font-size:18px}
  .report p{font-size:15px}
  /* PCでは主を目立たせるため、副は主の下に横並びで置く（同じ行に混ぜない） */
  .rep-actions .btn-primary{margin-top:0;max-width:none}

  /* マイページ：カードを2列に */
  .mp-head{padding:var(--s6) 0 var(--s5)}
  .mp-head h2{font-size:26px}
  .mp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
  .mp-code{margin-top:0}
  .mp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .mp-card{padding:20px 22px}
  .mc-score{font-size:32px}
}

@keyframes dotIn{to{opacity:1}}

/* ------------------------------------------------------------
   7. 印刷・PDF出力
   Phase2のPDF出力に備え、質感は落として可読性を優先する
   ------------------------------------------------------------ */
@media print{
  /* 表示中の画面だけを印刷する（全画面が連なって印刷されるのを防ぐ） */
  .screen{display:none !important}
  .screen.active{display:block !important}

  /* 画面でしか意味のない操作は、紙に出さない（2026-09-09 追加）。
     トップを印刷したときに「結果の見本を見る」や
     復帰の案内が紙に残ってしまうため。 */
  .peek-row,.resume{display:none !important}

  /* 背景画像は紙に出さない（インク消費と可読性のため） */
  body::before{display:none !important}
  body,
  .theme-card,.helper,.breakdown,.summary,.radar-box,
  .promise,.note,.phase-note,.opt,.btn-ghost,textarea{
    background-image:none !important;
    background-color:#fff !important;
  }
  /* 紙の質感（--grain）は、画面では効いているが紙では見えない。
     それでいてPDFに保存すると、細かい模様がそのまま画像として
     埋め込まれ、ファイルが2.8MBまで膨らんでいた（実測）。
     外すと約330KBになる。見た目は変わらない。 */
  .rep-sec,.our-way,.cp-block,.cp-layers,.mp-card,.combo,.qbody,.card,
  .subsidy-note,.triggers,.tg{
    background-image:none !important;
  }
  .rep-side{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  /* ------------------------------------------------------------
     紙面での色の扱いは、次の2つに分けている。
       ・大きな面（点数パネルなど） … 白にして、文字を濃くする
       ・小さなデータ表現（棒・番号の丸）… 色を残す
     ブラウザは既定で背景色を印刷しない。そのため濃い面に白文字を
     載せた部品は、面だけが消えて「白地に白文字」になり読めなくなる。
     面の大きなものは白へ寄せ（インクの節約にもなる）、
     色そのものが情報になっている小さな部品だけ、色を残す。
     ------------------------------------------------------------ */

  /* 統合診断の総合点。画面では紺の面に白文字だが、
     そのままだと紙で消える。個別レポート・A4サマリーと同じ
     「白い面＋濃い文字」に揃える。 */
  .cp-score{
    background:#fff !important;
    background-image:none !important;
    color:var(--navy) !important;
    border:1px solid #E7DFD2;
  }
  /* 杏色は白地では薄すぎるため、濃いテーマ色に置き換える */
  .cp-ey,.cp-rank{color:#B75322 !important}

  /* 色そのものが情報になっている部品は、色を残す。
     面積が小さいのでインクへの影響はほとんどない。 */
  .cl-bar,.cl-bar i,          /* 3つの層の棒グラフ */
  .lg-no,                     /* 4象限マップ凡例の番号（丸） */
  .ci-no,                     /* 共通課題の先頭記号 */
  .btr,.btr i,                /* カテゴリ別の内訳の棒 */
  .sm-bb,.sm-bb i{            /* A4サマリーの棒 */
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  /* 操作用の要素は紙に不要 */
  /* .cp-more は画面上のご案内なので、紙には出さない
     （社内で回覧される資料に「もう1つ受けてください」は不要） */
  .btn-ghost,.btn-primary,.rep-actions,.hd .r,.teaser,.privacy,
  .cp-more{display:none !important}

  /* 自社の実践とライブオフィスは紙にも残す。
     PDFは社内で回覧されるため、丸天産業が何者かが伝わる部分は残したい。
     ただし面の色は落とし、途中で改ページされないようにする。 */
  .story,.live{background-image:none !important;background-color:#fff !important;
               border:1px solid #E7DFD2;break-inside:avoid}

  /* 4象限マップと凡例。地図は途中で切れると読めないのでまとめて送る */
  .quad{break-inside:avoid;border:1px solid #E7DFD2}
  .qm-legend li{break-inside:avoid}
  .lg-eff{background:#fff !important;border:1px solid #E7DFD2}
  .qm-hot{fill:#F7F1EA}

  /* レポートは1カラムに開き、固定表示を解除する */
  .wrap{max-width:100%;padding:0}
  .rep-grid{display:block !important;padding:0}
  .rep-side{position:static !important;width:100%;text-align:center;
            border:1px solid #E7DFD2;margin-bottom:16px;break-inside:avoid}
  .rep-side .radar-box svg{max-width:210px}
  .report h3{break-after:avoid}
  .report p{orphans:2;widows:2}
  .code-box{break-inside:avoid}
  .disclaimer{break-inside:avoid}
  /* 用紙をA4縦に明示する。指定が無いと、ブラウザに残っている
     用紙・向きの設定が使われ、A4前提の幅180mmが収まらないことがある。 */
  @page{size:A4 portrait;margin:14mm 12mm}
}

/* 動きを減らす設定にしているユーザーには、アニメーションを出さない */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}


/* ------------------------------------------------------------
   ライブオフィス見学の入口（設計書6-7章）
   ・トップではテーマ選択のあとに置く。診断の開始を邪魔しないため
   ・面は薄いサンド地にする。濃い面にすると「見学が主役」に見え、
     診断との優先順位が逆転して見えるため
   ・そのかわり、押す場所（ボタン）だけはオレンジで分かるようにする
   ------------------------------------------------------------ */
.live-entry{margin:var(--s6) 0 var(--s5);background:var(--sand);
  border:1px solid var(--line);border-radius:var(--r-md);
  padding:16px 18px;display:flex;gap:var(--s4);align-items:center;flex-wrap:wrap}
.live-entry .le-body{flex:1 1 300px}
/* サンド地の上では、テーマ色のままだとコントラストが4.01しか出ない。
   小さい文字なので、この面の上だけ一段濃い色を当てる（サンド地4.74）。 */
.live-entry .le-ey{font-size:11px;letter-spacing:.14em;color:#A64A1F;
  font-weight:600;margin-bottom:5px}
.live-entry h2{font-size:15px;line-height:1.6;font-weight:600;color:var(--navy)}
.live-entry .le-note{font-size:11.5px;color:#54637C;font-weight:400;
  margin-left:10px;white-space:nowrap}
/* 丸天産業がどういう会社かを一言だけ添える。
   見学は「誰の、どんな場所を見るのか」がわからないと申し込みにくいため。
   ただし主役は診断なので、2行以内に収めること。 */
.live-entry .le-desc{font-size:12px;line-height:1.8;color:#6B5B47;margin-top:6px}
.live-entry .btn-ghost{flex:0 0 auto;margin:0;width:auto;padding:11px 22px;
  font-size:13px;border-color:#A64A1F;color:#A64A1F;background:var(--white)}
@media (hover:hover){.live-entry .btn-ghost:hover{background:#FDF4EC}}

/* 速報画面の「または」の区切り */
.or-line{display:flex;align-items:center;gap:12px;margin:var(--s5) 0 var(--s4)}
.or-line::before,.or-line::after{content:'';flex:1;height:1px;background:var(--line)}
.or-line span{font-size:11.5px;color:var(--navy-soft)}

@media (max-width:767px){
  .live-entry{padding:14px 16px;gap:12px}
  .live-entry h2{font-size:14px}
  .live-entry .le-desc{font-size:11.5px;line-height:1.75}
  /* 狭い画面では「事前予約制です」を次の行に落とす（折り返しで読みにくくなるため） */
  .live-entry .le-note{display:block;margin-left:0;margin-top:4px}
  .live-entry .btn-ghost{width:100%}
}

/* ============================================================
   経営層向け A4・1枚サマリー（設計書7-4章）
   ------------------------------------------------------------
   画面では見せない。印刷ボタンを押したときだけ紙に出す。
   余白15mmとして、使える範囲は 180 × 267mm。
   高さの配分：見出し18 / 点数32 / 内訳58 / 状態26 / 課題34〜45 / 次20 / 脚注8
   合計196〜207mm。上限の269mmに対して余裕を持たせ、
   AIの文章が長めに出た場合でも2枚目に溢れないようにしている。
   変更したときは必ず印刷して1枚に収まることを確認すること。
   ============================================================ */
.sum-sheet{display:none}

@media print{
  /* サマリー印刷中は、通常のレポートを一切出さない */
  body.print-summary .screen,
  body.print-summary .mp-screen{display:none !important}
  body.print-summary .sum-sheet{
    display:block !important;
    width:180mm;margin:0 auto;color:#1B2A4A;
    /* ★行間は1.55。本文はAIが書くため長さが毎回変わる。
       1.65だと文章が長い回に1枚を超えるため、余裕を作っている
       （2026-09-12、実測で266mm／使える高さ269mmだった）。 */
    font-size:9.5pt;line-height:1.55;
  }

  /* 見出し 18mm */
  .sum-sheet .sm-head{display:flex;align-items:center;gap:6mm;height:18mm;
    border-bottom:1.2pt solid #1B2A4A}
  .sum-sheet .sm-logo{height:9mm;width:auto}
  .sum-sheet .sm-ht{flex:1}
  .sum-sheet .sm-t{font-size:12pt;font-weight:600;letter-spacing:.02em}
  .sum-sheet .sm-sub{font-size:9pt;color:#4A5A75;margin-top:1mm}
  .sum-sheet .sm-date{font-size:8.5pt;color:#4A5A75}

  /* 点数 32mm。決裁者が最初に見る数字なので、最上部に大きく置く */
  .sum-sheet .sm-score{height:32mm;display:flex;align-items:center;gap:8mm;
    border-bottom:.5pt solid #D9D2C6}
  .sum-sheet .sm-num b{font-size:30pt;font-weight:600;line-height:1}
  .sum-sheet .sm-num small{font-size:10pt;color:#4A5A75;margin-left:2mm}
  .sum-sheet .sm-rank{font-size:13pt;font-weight:600;color:#E07B39}
  .sum-sheet .sm-note{font-size:8.5pt;color:#4A5A75;margin-left:auto;text-align:right}

  /* 内訳 58mm。縦に積むと100mmを超えて溢れるため、必ず横並びにする */
  .sum-sheet .sm-grid{height:58mm;display:flex;align-items:center;gap:8mm;
    padding:3mm 0;border-bottom:.5pt solid #D9D2C6}
  .sum-sheet .sm-chart{flex:0 0 52mm}
  .sum-sheet .sm-chart svg{width:52mm;height:auto}
  /* 統合サマリーは4象限マップを載せるため、図の枠を広く取る（640×400の横長）。
     ★高さは 58mm 固定にしないこと。マップは幅に対して 400/640 の高さになるため、
       58mm に押し込めると図が行からはみ出し、X軸の「← 準備がいる」が
       すぐ下の「3つの層で見ると」の行に重なってしまう。
       高さは中身に合わせ、そのぶん幅を 100mm に抑えて1枚に収める。 */
  .sum-sheet .sm-grid--wide{height:auto}
  /* ★幅を変えると高さも変わる（図は 640×400 なので高さ＝幅×0.625）。
     100mm→92mm で約5mm縮む。1枚に収めるための調整（2026-09-12）。 */
  .sum-sheet .sm-grid--wide .sm-chart{flex:0 0 88mm}
  .sum-sheet .sm-grid--wide .sm-chart svg{width:88mm;height:auto}
  /* 4象限マップの番号が何を指すかの一行。図のすぐ下に小さく置く */
  .sum-sheet .sm-cap{font-size:7.4pt;line-height:1.5;color:#6B5B47;margin-top:1.5mm}
  .sum-sheet .sm-grid--wide .sm-bars{padding-left:2mm}
  .sum-sheet .sm-grid--wide .sm-bn{flex:0 0 26mm;font-size:8.5pt}
  .sum-sheet .sm-grid--wide .sm-bv{flex:0 0 10mm;font-size:8.5pt}
  /* 紙に出すときは、画面用の淡い色だと消えるので少し濃くする */
  .sum-sheet .qm-zone{font-size:15px;fill:#1B2A4A}
  .sum-sheet .qm-zone-sub{font-size:11px;fill:#4A5A75}
  /* X軸ラベルは統合サマリーで一番長い文字列になる。12pxだと図の右端を
     13pxはみ出して切れるため、11pxにして字間も詰める（実測 123px→110px以内）。 */
  .sum-sheet .qm-axis{font-size:11px;fill:#4A5A75;letter-spacing:0}
  .sum-sheet .qm-hot{fill:#F7F1EA}
  .sum-sheet .qm-frame,.sum-sheet .qm-div{stroke:#D9D2C6}
  .sum-sheet .sm-bars{flex:1;list-style:none;margin:0;padding:0}
  .sum-sheet .sm-bars li{display:flex;align-items:center;gap:3mm;margin-bottom:2.6mm}
  .sum-sheet .sm-bn{flex:0 0 34mm;font-size:9pt}
  .sum-sheet .sm-bv{flex:0 0 11mm;text-align:right;font-size:9pt;font-weight:600}
  .sum-sheet .sm-bb{flex:1;height:2.4mm;background:#EFE9DF;border-radius:1.2mm;overflow:hidden}
  .sum-sheet .sm-bb i{display:block;height:100%;background:#1B2A4A}

  /* 3層の帯（統合サマリーのみ）。横1行に収める。
     ここは「複数テーマを見て初めてわかること」なので、
     個別診断のサマリーには出さない。 */
  .sum-sheet .sm-layers{display:flex;align-items:center;gap:5mm;
    padding:2mm 0;border-bottom:.5pt solid #D9D2C6}
  .sum-sheet .sm-lt{font-size:8.5pt;color:#E07B39;font-weight:600;flex:0 0 auto}
  .sum-sheet .sm-lb{display:flex;align-items:center;gap:1.6mm;flex:1}
  .sum-sheet .sm-lb i{font-style:normal;font-size:8.5pt;flex:0 0 auto}
  .sum-sheet .sm-lbar{flex:1;height:2mm;background:#EFE9DF;border-radius:1mm;overflow:hidden}
  .sum-sheet .sm-lbar u{display:block;height:100%;background:#4A5A75;text-decoration:none}
  .sum-sheet .sm-lb em{font-style:normal;font-size:8.5pt;font-weight:600;flex:0 0 auto}

  /* 横断課題の件数。統合診断の値打ちが一言で伝わる場所 */
  .sum-sheet .sm-cross-note{margin-top:2mm;font-size:8.5pt;color:#E07B39;
    border-left:1.2pt solid #E9C9AC;padding-left:2.5mm}
  .sum-sheet .sm-cross{color:#1B2A4A;border-color:#1B2A4A;font-weight:600}

  .sum-sheet .sm-sec{padding:3.5mm 0;border-bottom:.5pt solid #D9D2C6}
  .sum-sheet .sm-sec h3{font-size:9.5pt;font-weight:600;color:#E07B39;margin-bottom:2mm}
  /* 本文の行数を上限で止める。字数だけで抑えると、文の切れ目の当たり方で
     1行増えることがあり、実測で余白が5mmまで縮むことがあった。
     行数を固定すれば、どんな文章でも高さが変わらず1枚に収まる。
     配分：いま起きていること4行＋このまま続くと3行＝最大992px（上限1017px）。 */
  .sum-sheet .sm-sec p{font-size:9pt;line-height:1.75;
    display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;
    -webkit-line-clamp:4}
  .sum-sheet .sm-risk p{-webkit-line-clamp:3}
  .sum-sheet .sm-sec ul{list-style:none;margin:0;padding:0}

  /* 課題。行動につながる部分なので、行間を広めに取って読みやすくする。
     高さは固定しない。固定すると、最初の一歩が短いときに
     ここだけ大きな空白になり、紙面が間延びして見えるため。
     3件×1行で約34mm、最も長い場合でも45mm程度に収まる。 */
  .sum-sheet .sm-issues li{margin-bottom:3.5mm}
  .sum-sheet .sm-issues li:last-child{margin-bottom:1mm}
  .sum-sheet .sm-ih{display:flex;align-items:center;gap:2.5mm;flex-wrap:wrap}
  .sum-sheet .sm-ih b{font-size:10pt}
  .sum-sheet .sm-tag{font-size:7.5pt;color:#4A5A75;border:.5pt solid #D9D2C6;
    border-radius:1mm;padding:.4mm 1.6mm}
  .sum-sheet .sm-eff{color:#E07B39;border-color:#E9C9AC}
  /* 「最初の一歩」は1行に収める。溢れると課題3件が84mmを超えるため。
     行末の「全体では〜」は縮めずに残し、長い説明文のほうを詰める。 */
  .sum-sheet .sm-is{font-size:8.5pt;color:#4A5A75;margin-top:1mm;padding-left:4mm;
    display:flex;align-items:baseline;gap:2mm;white-space:nowrap}
  .sum-sheet .sm-ist{overflow:hidden;text-overflow:ellipsis}
  .sum-sheet .sm-hd{flex:none;margin-left:auto;font-size:7.5pt;color:#4A5A75;
    border:.5pt solid #D9D2C6;border-radius:1mm;padding:.4mm 1.6mm}

  .sum-sheet .sm-next li{font-size:9pt;margin-bottom:1.6mm}
  /* 見出しの横に置く「社内で決めること」。行を増やさないため同じ行に収める（2026-09-14） */
  .sum-sheet .sm-ask{margin-left:1em;font-size:8.5pt;font-weight:400;color:#1B2A4A;white-space:nowrap}

  .sum-sheet .sm-invite{font-size:7.5pt;line-height:1.4;color:#4A5A75;margin:1.5mm 0 0;
    padding-top:1.2mm;border-top:.5pt solid #D9D2C6}
  /* ★上の案内を足したぶん、フッターの上の余白を 2.5mm→1mm に詰める。
     統合サマリーは余りが少なく、詰めないと上限269mmまで1mmほどしか残らない（2026-09-13 実測）。 */
  .sum-sheet .sm-invite a{color:#1B2A4A;font-weight:700;text-decoration:none}
  .sum-sheet .sm-foot{display:flex;justify-content:space-between;
    font-size:7.5pt;color:#4A5A75;padding-top:1mm}

  body.print-summary{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  /* 余白は既存の @page{margin:14mm 12mm} をそのまま使う。
     @page はセレクタで出し分けできないため、用紙の使える幅186mmに対して
     シートを180mmにし、高さも269mm以内（実配分267mm）に収めている。 */
}


/* ------------------------------------------------------------
   ライブオフィス見学で「見て分かること」（設計書6-7-2章）
   ・診断したテーマに合わせて3つだけ出す
   ・説明は付けない。見に行く理由が伝わる長さに留める
   ------------------------------------------------------------ */
.live-pts{list-style:none;margin:12px 0 0;padding:0}
.live-pts li{position:relative;padding-left:18px;font-size:13px;line-height:1.9;color:var(--ink)}
.live-pts li::before{content:'';position:absolute;left:2px;top:.72em;
  width:7px;height:7px;border-radius:50%;background:var(--orange)}

/* 見学申込画面。申し込む直前なので、少し面を作って目に留まるようにする */
.visit-pts{margin:var(--s5) 0 var(--s4);background:var(--sand);
  border-radius:var(--r-md);padding:14px 16px}
.visit-pts .vp-t{font-size:11px;letter-spacing:.1em;color:var(--orange);
  font-weight:600;margin-bottom:8px}
.visit-pts ul{list-style:none;margin:0;padding:0}
.visit-pts li{position:relative;padding-left:18px;font-size:13.5px;line-height:2;color:var(--ink)}
.visit-pts li::before{content:'';position:absolute;left:2px;top:.78em;
  width:7px;height:7px;border-radius:50%;background:var(--orange)}

@media print{
  /* 紙にも残す。見学の案内は持ち帰っていただく価値がある */
  .live-pts li::before,.visit-pts li::before{background:#E07B39 !important}
}


/* ------------------------------------------------------------
   再訪の方への分岐（設計書2-3-2章）
   ・文字だけにする。ボタンにするとテーマカードと強さが並び、迷わせる
   ・テーマの見出しより明確に小さくして、選択の邪魔をしない
   ------------------------------------------------------------ */
.revisit{font-size:12.5px;line-height:1.8;color:var(--navy-soft);
  text-align:center;margin:-6px 0 var(--s4)}
.revisit a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
@media (hover:hover){.revisit a:hover{color:var(--navy)}}
@media (max-width:767px){
  .revisit{font-size:12px;text-align:left;margin:2px 0 var(--s4)}
}

/* ============================================================
   トップページの見直し（2026-09-13）
   「誰が」「診断のあと何が得られるか」「どこまで入力不要か」を伝える。
   ★模様の上に直接置く文字は、白い面に載せて読めるようにする（.pick-label と同じ考え方）
   ============================================================ */
.pc-only{display:inline}
.sp-only{display:none}
@media (max-width:767px){
  .pc-only{display:none}
  .sp-only{display:block}
}

/* 見出しの上の会社紹介（ラベルにはせず、文字だけ） */
.hero-who{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--navy-soft);
  background:rgba(255,255,255,.92);border-radius:6px;padding:1px 6px;margin:0 0 8px -6px}
.flow .fl-opt{color:var(--navy-soft);font-weight:400;font-size:12px}
.flow .fs{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}

/* 右の「この診断でわかること」。.promise の器（白い面・影）をそのまま使う */
.gain ol{list-style:none;margin:0;padding:0}
.gain li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #F2EEE7;font-size:13.5px;line-height:1.6}
.gain li:last-child{border-bottom:none}
/* ★薄いオレンジの面の上では、標準のオレンジ（#B75322）だと文字の見やすさの基準
     （コントラスト比4.5以上）にわずかに届かない（4.42）。少し濃くして5.05にする（2026-09-13 Lighthouseで検出） */
.gain .no{flex:0 0 24px;height:24px;border-radius:50%;background:#FDF1E6;color:#A94C1F;
  font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.gain li b{flex:1;min-width:0;color:var(--navy);font-weight:600}
.gain li small{display:inline-block;font-size:11px;font-weight:400;color:var(--navy-soft);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:0 7px;margin-left:6px;vertical-align:1px}
.lbl{display:inline-block;flex-shrink:0;min-width:74px;text-align:center;font-size:11px;font-weight:700;
  border-radius:var(--r-pill);padding:0 8px;line-height:1.8;white-space:nowrap}
.lbl.easy{background:#E8F1EA;color:#3F6B4E}
.lbl.deep{background:#FDF1E6;color:#A94C1F}
.gain-note{display:none}
.hero-noinput{text-align:center;font-size:13.5px;line-height:1.7;color:var(--navy);
  background:rgba(255,255,255,.92);border-radius:var(--r-md);padding:8px 12px;margin:0 0 var(--s4)}
.hero-noinput b{color:var(--orange)}

/* テーマ選択の見出しを強める（右パネルや見本ボタンより弱く、視線が止まっていた） */
.pick-label.pick-strong{font-size:15px;font-weight:600;color:var(--navy);letter-spacing:.04em}

/* テーマカード：押すと始まることを示す */
.theme-card .go{display:block;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--tc)}

/* カードの下の再訪案内と、無料の理由 */
.revisit.revisit-below{margin:var(--s4) auto 0}
.why-free{width:fit-content;max-width:760px;margin:6px auto var(--s5);text-align:center;font-size:12.5px;
  line-height:1.8;color:var(--navy-soft);background:rgba(255,255,255,.92);border-radius:var(--r-md);padding:4px 12px}

@media (min-width:768px){
  /* 左の見出しの上端と、右のパネルの上端をそろえる */
  .hero{padding-top:44px;padding-bottom:28px}
  .hero-grid{align-items:start}
  .hero-side{padding-top:42px}
  .promise.gain{padding:22px 26px}
  .promise.gain .pt{margin-bottom:4px}
  .gain-note{display:block;width:fit-content;margin:10px auto 0;padding:4px 10px;
    background:rgba(255,255,255,.92);border-radius:var(--r-md)}
  .gain-note p{margin:2px 0 0;font-size:13px;line-height:1.7;color:var(--navy-soft)}
  .gain-note .t{font-weight:700}
  .gain-note .t.easy{color:#3F6B4E}
  .gain-note .t.deep{color:var(--orange)}
  .gain-note em{font-style:normal;font-weight:700;color:var(--orange)}
  .pick-label.pick-strong{font-size:16px;margin:10px auto 18px}

  /* テーマカードの縦を詰め、左右で中の配置をそろえる */
  .themes{gap:12px}
  .theme-card{padding:16px 22px}
  .theme-card .td{min-height:0;margin-top:2px;flex:1 1 auto}
  .theme-card .tm{margin-top:auto;padding-top:8px;min-height:calc(2 * 1.9em + 8px)}
}
@media (max-width:767px){
  .theme-card{padding-top:14px;padding-bottom:14px}
  .theme-card .tm{margin-top:6px}
  .hero-who{font-size:12px}
}

