/*
Theme Name: Venture Rookies Child
Theme URI: https://venture-rookies.com/
Template: cocoon-master
Description: ベンチャールーキーズ（ベンチャー就活の情報メディア）用 Cocoon 子テーマ。デザインは site/output/mockup を移植。
Author: 株式会社ヘルスベイシス
Version: 1.4.0
Text Domain: vr-child
*/
:root{
  --navy:#0A1F3C; --navy-mid:#273953; --navy-deep:#051121;--navy-panel:#3A557C;
  --accent:#FF9100; --accent-sub:#FFC078; --accent-soft:#FFEED8;
  --accent-line:#FFD9AE; --accent-ink:#6B3F0B;
  --ink:#1A1F26; --muted:#5B6672; --line:#E3E7EC; --soft:#F7F8FA; --paper:#FBF8F1;
  --warn-bg:#FCEFED; --warn-line:#E0B4AD; --warn-ink:#8E3328;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);line-height:1.9;font-size:16px;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--navy)}
h1,h2,h3,h4{font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}


/* --- ヘッダー --- */
.hd{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50}
.hd .wrap{display:flex;align-items:center;gap:18px;min-height:64px}
.hd__logo{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:17px;line-height:1.25;
  color:#fff;text-decoration:none;white-space:nowrap}
.hd__logo small{display:block;font-size:10px;font-weight:400;opacity:.85;letter-spacing:.02em}
.hd__logo i{font-style:normal;font-size:9.5px;opacity:.55;margin-left:4px}
.hd__nav{display:none;gap:16px;font-size:13px;margin-left:auto}
.hd__nav a{color:#fff;text-decoration:none;opacity:.94}
.hd__nav a:hover{opacity:1;border-bottom:2px solid var(--accent)}
.hd__cta{margin-left:auto;background:var(--accent);color:#fff;font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:700;font-size:14px;padding:11px 17px;border-radius:8px;text-decoration:none;white-space:nowrap}
@media(min-width:900px){ .hd__nav{display:flex} .hd__cta{margin-left:18px} }

/* --- パンくず --- */
.crumb{font-size:12.5px;color:var(--muted);padding:14px 0 0}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{text-decoration:underline}

/* --- 見出し --- */
h1.ttl{font-size:24px;line-height:1.5;margin:10px 0 14px}
h2.sec{font-size:21px;line-height:1.5;color:var(--navy);margin:48px 0 16px;padding-bottom:8px;border-bottom:3px solid var(--accent)}
h3.sub{font-size:18px;line-height:1.6;color:var(--navy);margin:32px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line)}
h4.min{font-size:16px;color:var(--navy);margin:24px 0 8px}
@media(min-width:900px){ h1.ttl{font-size:32px} h2.sec{font-size:24px} h3.sub{font-size:20px} body{font-size:17px} }

/* --- 本文 --- */
.art{max-width:720px}
.art p{margin:0 0 20px}
.lead{font-size:15px;color:var(--ink);margin:0 0 24px;max-width:720px}
.meta{font-size:13px;color:var(--muted);margin:0 0 18px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.meta img{width:16px;height:16px;vertical-align:-3px;margin-right:4px}

/* --- チップ --- */
.chip{display:inline-block;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-line);
  border-radius:999px;font-size:12.5px;padding:3px 11px;text-decoration:none;margin:0 6px 6px 0;line-height:1.7}
.chip:hover{background:var(--accent-line)}

/* --- ボタン --- */
.btn{display:inline-block;background:var(--accent);color:#fff;font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:700;font-size:16px;padding:14px 30px;border-radius:8px;text-decoration:none;min-height:48px;border:none;cursor:pointer}
.btn--full{display:block;text-align:center;width:100%}
.btn--ghost{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}

/* --- カード --- */
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;display:block}
.card:hover{border-color:var(--accent-line)}
.card__im{aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy-mid),var(--navy))}
.card__bd{padding:13px 14px}
.card__ttl{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:15px;line-height:1.55;margin:8px 0 8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__m{font-size:12px;color:var(--muted);margin:0}

/* --- カテゴリ導線 --- */
.cats{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.cat{border:1px solid var(--line);border-radius:10px;padding:18px;text-decoration:none;color:inherit;background:#fff;display:block}
.cat:hover{border-color:var(--accent);background:var(--soft)}
.cat img{width:48px;height:48px;display:block;margin-bottom:10px}
.cat em{font-style:normal;font-size:11px;color:var(--accent-ink);background:var(--accent-soft);
  border:1px solid var(--accent-line);border-radius:999px;padding:1px 9px;display:inline-block;margin-bottom:8px}
.cat b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:16px;color:var(--navy);margin-bottom:4px}
.cat span{display:block;font-size:13px;color:var(--muted);line-height:1.7}

/* --- 相談メニュー --- */
.menu{list-style:none;margin:0 0 18px;padding:0}
.menu li{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;
  padding:14px 16px;margin-bottom:10px;background:#fff}
.menu img{width:44px;height:44px;flex:none}
.menu b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:16px;color:var(--navy)}
.menu span{display:block;font-size:13px;color:var(--muted);line-height:1.7}

/* --- ノート（A方向） --- */
.paper{background:var(--paper);
  background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(10,31,60,.06) 31px 32px);
  border:1px solid #E6DFD1;border-radius:6px;padding:20px 20px 16px;margin:0 0 24px}
.paper__ttl{display:inline-block;background:#FFC85C;color:#5A3D00;font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:700;font-size:13.5px;padding:4px 14px;transform:rotate(-1.4deg);box-shadow:1px 2px 0 rgba(0,0,0,.08);margin-bottom:12px}
.paper ul{margin:0;padding-left:1.3em}
.paper li{margin:7px 0}
.mk{background:linear-gradient(transparent 58%,#FFD98A 58%);padding:0 2px}

/* --- 吹き出し（案2：三角のしっぽ・上寄せ） --- */
.talk{display:flex;gap:14px;align-items:flex-start;margin:0 0 26px}
.talk__av{width:60px;height:60px;border-radius:50%;flex:none;border:2px solid var(--navy);
  background:var(--accent-soft);overflow:hidden}
.talk__av img{width:100%;height:100%;display:block;object-fit:cover}
.talk__bd{flex:1;min-width:0}
.talk__who{font-size:11.5px;color:var(--muted);margin:0 0 5px}
.talk__b{background:var(--accent-soft);border:2px solid var(--navy);border-radius:12px;padding:14px 16px;
  font-size:15px;position:relative;margin:0}
.talk__b::before,.talk__b::after{content:"";position:absolute;left:-13px;top:14px;width:0;height:0;
  border-style:solid;border-width:9px 13px 9px 0}
.talk__b::before{border-color:transparent var(--navy) transparent transparent}
.talk__b::after{left:-10px;border-color:transparent var(--accent-soft) transparent transparent}
.talk--me{flex-direction:row-reverse}
.talk--me .talk__who{text-align:right}
.talk--me .talk__b{background:var(--soft);border-color:var(--line)}
.talk--me .talk__b::before,.talk--me .talk__b::after{left:auto;right:-13px;border-width:9px 0 9px 13px}
.talk--me .talk__b::before{border-color:transparent transparent transparent var(--line)}
.talk--me .talk__b::after{right:-10px;border-color:transparent transparent transparent var(--soft)}

/* --- 目次 --- */
.toc{border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin:0 0 24px;background:#fff}
.toc__t{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:15px;color:var(--navy);margin:0 0 10px}
.toc ol{margin:0;padding-left:1.35em;font-size:14.5px}
.toc ol ol{padding-left:1.1em;margin:4px 0;font-size:13.5px;color:var(--muted)}
.toc li{margin:5px 0}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{text-decoration:underline}
.toc .cur{color:var(--accent-ink);font-weight:700}

/* --- FAQ --- */
.faq{border:1px solid var(--line);border-radius:8px;background:#fff;margin:0 0 24px}
.faq__i{padding:16px 18px;border-bottom:1px solid var(--line)}
.faq__i:last-child{border-bottom:none}
.faq__q{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;color:var(--navy);font-size:15.5px;margin:0 0 6px}
.faq__a{margin:0;font-size:14.5px}

/* --- CTA --- */
.ctaline{font-size:14.5px;margin:0 0 26px}
.ctaline a{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:1px}
.ctabox{background:var(--navy);color:#fff;border-radius:10px;padding:26px;margin:36px 0}
.ctabox h3{font-size:19px;margin:0 0 10px;color:#fff}
.ctabox p{font-size:14px;color:#D9E1EA;margin:0 0 14px}
.ctabox ul{margin:0 0 20px;padding:0;list-style:none}
.ctabox li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:#E6ECF3;margin:8px 0}
.ctabox li img{width:34px;height:34px;flex:none;background:#fff;border-radius:7px;padding:2px}
.sticky{position:fixed;left:0;right:0;bottom:0;background:var(--accent);color:#fff;text-align:center;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:16px;padding:16px;text-decoration:none;z-index:60}
@media(min-width:900px){ .sticky{display:none} }
body.has-sticky{padding-bottom:62px}
@media(min-width:900px){ body.has-sticky{padding-bottom:0} }

/* --- 表・注意 --- */
.tblwrap{overflow-x:auto;margin:0 0 24px}
table.d{width:100%;border-collapse:collapse;font-size:14.5px;min-width:420px}
table.d th,table.d td{border:1px solid var(--line);padding:10px 12px;text-align:left}
table.d th{background:var(--soft);color:var(--navy);font-family:"Zen Kaku Gothic New",sans-serif}
.warn{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:8px;padding:14px 16px;
  margin:0 0 24px;font-size:14.5px;color:var(--warn-ink)}
.warn b{display:block;margin-bottom:4px}

/* --- 2カラム --- */
.layout{display:block}
.main{min-width:0}
.side{display:none}
@media(min-width:980px){
  .layout{display:flex;gap:40px;align-items:flex-start}
  .main{flex:1}
  .side{display:block;width:300px;flex:none;position:sticky;top:84px}
}
.sbox{border:1px solid var(--line);border-radius:8px;padding:15px 16px;margin-bottom:14px;background:#fff}
.sbox__t{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:13.5px;color:var(--navy);
  margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.sbox p{font-size:12.5px;line-height:1.75;margin:0}
.sbox ol{margin:0;padding-left:1.2em;font-size:13px;line-height:1.75;max-height:40vh;overflow-y:auto}
.sbox li{margin:5px 0}
.sbox .lnk{font-size:12.5px;color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent)}
.sbox .menu li{padding:9px 0;border:none;border-bottom:1px solid var(--line);border-radius:0;margin:0;gap:10px}
.sbox .menu li:last-child{border-bottom:none}
.sbox .menu img{width:34px;height:34px}
.sbox .menu b{font-size:13.5px}
.sbox .menu span{font-size:11.5px}
.sbox .list{list-style:none;margin:0;padding:0}
.sbox .list li{font-size:12.5px;line-height:1.6;padding:9px 0;border-bottom:1px solid var(--line)}
.sbox .list li:last-child{border-bottom:none}
.who-in{display:flex;gap:11px;align-items:flex-start}
.who-in img{width:48px;height:48px;flex:none;border-radius:50%;border:2px solid var(--navy);background:var(--accent-soft)}

/* --- ヒーロー --- */
.hero{background:var(--navy-panel);color:#fff;padding:40px 0 44px}
.hero__in{display:flex;gap:32px;align-items:center;flex-wrap:wrap}
.hero__tx{flex:1;min-width:290px}
.hero h1{font-size:26px;line-height:1.5;margin:0 0 14px}
.hero p{font-size:15px;opacity:.94;margin:0 0 22px;max-width:520px}
.hero__im{flex:1;min-width:280px;max-width:540px}
.hero__im img{display:block;width:100%;height:auto}
@media(min-width:900px){ .hero h1{font-size:34px} .hero{padding:56px 0 60px} }

/* --- フォーム --- */
.form{max-width:600px}
.form .f{margin-bottom:22px}
.form label{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:14px;color:var(--navy);margin:0 0 7px}
.req{background:var(--accent);color:#fff;font-size:10.5px;border-radius:3px;padding:2px 7px;margin-left:7px;vertical-align:2px}
.opt{background:var(--soft);color:var(--muted);font-size:10.5px;border:1px solid var(--line);border-radius:3px;padding:1px 7px;margin-left:7px;vertical-align:2px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{
  width:100%;border:1px solid #C6CDD5;border-radius:6px;padding:12px 13px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}
.form textarea{min-height:120px;resize:vertical}
.form .hint{font-size:12.5px;color:var(--muted);margin:6px 0 0}
.radio{display:flex;flex-direction:column;gap:9px}
.radio label{display:flex;align-items:center;gap:10px;font-family:inherit;font-weight:400;font-size:15px;color:var(--ink);
  border:1px solid var(--line);border-radius:6px;padding:13px 14px;background:#fff;margin:0;cursor:pointer}
.radio label.on{border-color:var(--accent);background:var(--accent-soft)}
.radio i{width:18px;height:18px;border:2px solid #9AA4AF;border-radius:50%;display:inline-block;flex:none}
.radio label.on i{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--accent)}
.privacy-note{font-size:12.5px;color:var(--muted);background:var(--soft);border:1px solid var(--line);
  border-radius:6px;padding:11px 13px;margin:0 0 22px}

/* --- ページャ --- */
.pager{display:flex;gap:7px;justify-content:center;margin:32px 0 0;flex-wrap:wrap}
.pager a,.pager span{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:8px;font-size:14.5px;text-decoration:none;color:var(--ink);background:#fff}
.pager .on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* --- 汎用 --- */
.box{border:1px solid var(--line);border-radius:8px;padding:18px;background:#fff;margin:0 0 16px}
.box--a{background:var(--accent-soft);border-color:var(--accent-line)}
.g2{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g3{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.sm{font-size:13.5px;color:var(--muted)}
.steps{counter-reset:s;list-style:none;margin:0 0 24px;padding:0}
.steps li{counter-increment:s;position:relative;padding:0 0 18px 50px;font-size:15px}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:34px;height:34px;background:var(--navy);
  color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:15px}
.steps b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:16px;color:var(--navy);margin-bottom:2px}
.sec-pad{padding:44px 0}
.sec-pad--soft{background:var(--soft)}

/* --- フッター --- */
.ft{background:var(--navy);color:#fff;padding:36px 0 26px;margin-top:64px;font-size:13.5px}
.ft__g{display:flex;gap:36px;flex-wrap:wrap;margin-bottom:24px}
.ft__c{min-width:160px}
.ft__h{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;margin:0 0 10px;font-size:13.5px}
.ft ul{list-style:none;margin:0;padding:0;opacity:.9}
.ft li{margin:6px 0}
.ft a{color:#fff;text-decoration:none}
.ft a:hover{text-decoration:underline}
.ft__cp{opacity:.7;font-size:11.5px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px;margin:0}

/* ===================== グローバルナビ（改訂版） ===================== */
.hd .wrap{position:relative}
.gnav{display:none;margin-left:auto}
.gnav__l{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.gnav__i>a{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:14px;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;padding:20px 14px;line-height:1.3}
.gnav__i>a:hover{background:rgba(255,255,255,.08)}
.gnav__i>a .cv{font-size:10px}
.gnav__i--mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:3px solid var(--accent);
  box-shadow:0 12px 28px rgba(10,31,60,.18);padding:22px 0 24px;display:none;z-index:70}
.gnav__i--mega:hover .mega,.gnav__i--mega:focus-within .mega{display:block}
.mega__lead{font-size:13px;color:var(--muted);margin:0 0 16px}
.mega__g{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}
.mega__c{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);
  border-radius:8px;text-decoration:none;color:inherit;background:#fff}
.mega__c:hover{border-color:var(--accent);background:var(--soft)}
.mega__c img{width:40px;height:40px;flex:none}
.mega__c b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:14.5px;color:var(--navy);margin-bottom:2px}
.mega__c span{display:block;font-size:12px;color:var(--muted);line-height:1.6}
.mega__ft{margin:16px 0 0;font-size:13px}
.mega__ft a{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent)}
@media(min-width:1000px){ .gnav{display:block} .hd__cta{margin-left:14px} }

/* --- モバイル：ドロワー --- */
.mnav__cb{display:none}
.mnav__btn{margin-left:auto;display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;cursor:pointer;flex:none}
.mnav__btn span{display:block;height:2px;background:#fff;border-radius:2px}
.mnav__panel{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;
  box-shadow:0 12px 28px rgba(10,31,60,.18);border-top:3px solid var(--accent);padding:18px 0 24px;z-index:70;
  max-height:76vh;overflow-y:auto}
.mnav__cb:checked ~ .mnav__panel{display:block}
.mnav__h{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:12.5px;color:var(--muted);
  margin:0 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.mnav__g{display:grid;gap:10px;margin-bottom:22px}
.mnav__c{display:flex;gap:11px;align-items:center;text-decoration:none;color:inherit}
.mnav__c img{width:38px;height:38px;flex:none}
.mnav__c b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:14.5px;color:var(--navy)}
.mnav__c span{display:block;font-size:12px;color:var(--muted);line-height:1.6}
.mnav__list{list-style:none;margin:0 0 20px;padding:0}
.mnav__list li{border-bottom:1px solid var(--line)}
.mnav__list a{display:block;padding:13px 2px;text-decoration:none;color:var(--ink);font-size:15px}
@media(min-width:1000px){ .mnav__btn{display:none} .mnav__panel{display:none!important} }

/* ===================== ページ個別 ===================== */
/* 中央揃えフォーム（お問い合わせ） */
.centered{max-width:620px;margin:0 auto;text-align:center}
.centered .lead{margin-left:auto;margin-right:auto}
.centered .form{margin:0 auto;text-align:left}
.centered .privacy-note{text-align:left}

/* 資料ダウンロード：横並び */
.dl{display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap;margin-top:14px}
.dl__l{flex:1 1 340px;min-width:300px}
.dl__r{flex:1 1 380px;min-width:300px;background:var(--soft);border:1px solid var(--line);
  border-radius:12px;padding:24px}
.dl__r h2{font-family:"Zen Kaku Gothic New",sans-serif;font-size:18px;color:var(--navy);margin:0 0 6px}
.dl__cover{aspect-ratio:1/1.414;max-width:230px;background:linear-gradient(135deg,var(--navy-mid),var(--navy));border-radius:10px;margin:0 0 18px}
.radio--row{flex-direction:row;flex-wrap:wrap;gap:8px}
.radio--row label{flex:1 1 calc(50% - 8px);min-width:130px}

/* サイトマップ */
.stats{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 30px;padding:16px 20px;background:var(--soft);
  border:1px solid var(--line);border-radius:10px}
.stats div{font-size:13px;color:var(--muted)}
.stats b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:26px;color:var(--navy);line-height:1.2}
.smap__g{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.smap h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:16px;color:var(--navy);margin:0 0 10px;
  padding-bottom:8px;border-bottom:2px solid var(--accent)}
.smap ul{list-style:none;margin:0;padding:0}
.smap li{border-bottom:1px solid var(--line)}
.smap li:last-child{border-bottom:none}
.smap a{display:block;padding:10px 0;text-decoration:none;color:var(--ink);font-size:14.5px;line-height:1.6}
.smap a:hover{color:var(--accent-ink)}

/* 規約・ポリシー本文 */
.legal{max-width:760px}
.legal h2{font-size:19px;color:var(--navy);margin:40px 0 12px;padding-bottom:8px;border-bottom:3px solid var(--accent)}
.legal h3{font-size:16px;color:var(--navy);margin:26px 0 8px}
.legal p,.legal li{font-size:15px}
.legal ul,.legal ol{padding-left:1.4em;margin:0 0 20px}
.legal li{margin:7px 0}
.legal .tblwrap{margin:0 0 20px}

.mega__in,.mnav__in{padding:0 20px}
@media(max-width:430px){
  .hd .wrap{gap:8px}
  .hd__logo{font-size:15px}
  .hd__logo small{font-size:9px}
  .hd__cta{font-size:12.5px;padding:10px 12px}
}
@media(max-width:760px){ .mega__g{grid-template-columns:1fr} }

/* --- 記事カード：各行を固定高さにして基準線を揃える ---
   ※ カード全体が <a> のため、内側のチップは <span>（リンクの入れ子は不可） */
.card__bd{padding:13px 14px}
.card__cat{height:30px;line-height:0;margin:0 0 4px}
.card__cat .chip{margin:0;vertical-align:top;white-space:nowrap}
.card__ttl{margin:0 0 10px;height:3.1em;line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__m{margin:0}
.card .chip{pointer-events:none}

/* --- 別タブで開くリンクの表示 --- */
.ext::after{content:"";display:inline-block;width:.78em;height:.78em;margin-left:.36em;vertical-align:-.04em;
  background-color:currentColor;opacity:.75;
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 3h7v7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/><path d='M21 3l-9 9' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/><path d='M19 14v6H4V5h6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
          mask:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 3h7v7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/><path d='M21 3l-9 9' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/><path d='M19 14v6H4V5h6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.sbox a.dlcard{display:block;text-decoration:none;color:inherit}
.sbox a.dlcard:hover b{color:var(--accent-ink)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* --- ロゴ（実素材） --- */
.hd__logo{display:flex;flex-direction:column;gap:3px;padding:8px 0}
.hd__logo img{width:196px;height:auto;display:block}
.hd__logo small{font-size:10px;font-weight:400;opacity:.85;letter-spacing:.02em;line-height:1.3}
@media(max-width:430px){ .hd__logo img{width:158px} .hd__logo small{font-size:9px} }
.ft__brand{display:flex;flex-direction:column;gap:10px;margin:0 0 20px;padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.18)}
.ft__brand img{width:220px;height:auto;display:block}
.ft__brand p{margin:0;font-size:12.5px;opacity:.85;line-height:1.8}


/* =====================================================================
   本番用の追加（モックアップに無いもの）
   ===================================================================== */

/* 管理バー表示時のヘッダー位置 */
body.admin-bar .hd{top:32px}
@media(max-width:782px){ body.admin-bar .hd{top:46px} }

/* 記事本文 */
.art ul,.art ol{margin:0 0 20px;padding-left:1.4em}
.art li{margin:6px 0}
.art strong{font-weight:700}
.art .tblwrap{margin:0 0 20px}
.art blockquote{margin:0 0 20px;padding:12px 16px;border-left:0;background:var(--soft);border-radius:8px}
.art p.src{font-size:13px;color:var(--muted);margin:-8px 0 22px}
.paper h2.paper__ttl{font-size:13.5px;line-height:1.6;margin:0 0 12px;padding:4px 14px;border:0;color:#5A3D00}
.art h4.min{margin:22px 0 8px}
.checklist{list-style:none;padding-left:0 !important}
.checklist li{position:relative;padding-left:1.7em}
.checklist li::before{content:"";position:absolute;left:0;top:.45em;width:1em;height:1em;border:2px solid var(--navy);border-radius:3px;background:#fff}
.faq h3.faq__q{font-size:16px;line-height:1.6;margin:0 0 6px;color:var(--navy);border:0;padding:0}
.faq .faq__a p{margin:0 0 8px}
.faq .faq__a p:last-child{margin:0}

/* 本文中の目次（スマホ・タブレットのみ。PCは右カラムに出す） */
.toc--inline{margin:0 0 28px}
@media(min-width:980px){ .toc--inline{display:none} }
/* 目次だけの固定はしない：右カラム全体（.side）が固定され、記事の終わりで一緒に上へ流れる（目次が下の枠に重ならない。2026-09-30 COO） */
.sbox--toc ol{counter-reset:none}
.sbox--toc a{text-decoration:none;color:inherit}
.sbox--toc a:hover{text-decoration:underline}

/* アイキャッチ */
.eyecatch{margin:0 0 26px;border-radius:10px;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy-mid),var(--navy))}
.eyecatch img{display:block;width:100%;height:100%;object-fit:cover}
.card__im img{display:block;width:100%;height:100%;object-fit:cover}

/* フォーム（実際に操作できる形） */
.radio label{position:relative;cursor:pointer}
.radio input[type=radio],.radio input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
.radio label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.radio label:has(input:checked) i{border-color:var(--accent);box-shadow:inset 0 0 0 4px #fff;background:var(--accent)}
.radio label:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:2px}
.f__err{color:var(--warn-ink);font-size:13px;margin:6px 0 0}
.form [aria-invalid="true"]{border-color:var(--warn-ink)}
.form-notice{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:8px;padding:12px 16px;margin:0 0 22px;font-size:14px}
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.6;cursor:wait}

/* Cocoon 親テーマが wp_footer に出す要素を表示しない */
#go-to-top,.go-to-top,.mobile-menu-buttons,.mobile-footer-menu-buttons,#mobile-menu-buttons,.navi-menu-close,.search-menu-content,.sidebar-menu-content,.navi-menu-content{display:none !important}

/* 吹き出しの中の段落（本文生成時は div.talk__b の中に p が入る） */
div.talk__b p{margin:0 0 10px}
div.talk__b p:last-child{margin:0}
.ctaline{margin:0 0 26px}

/* ===== 面談申し込みへの切り替え（2026-09-30・D-23）：TOPの新しい部品 ===== */
.hero .hero__qh{font-size:14px;font-weight:700;margin:0 0 8px;opacity:1}
.hero__q{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;max-width:520px}
.qbtn{display:flex;align-items:center;justify-content:center;background:#fff;color:var(--navy);border:1.5px solid #fff;border-radius:8px;
  padding:10px 10px;min-height:48px;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:14px;line-height:1.4;text-align:center;text-decoration:none}
.qbtn:hover{background:var(--accent-soft);border-color:var(--accent-line)}
.btn--hero{display:block;text-align:center;max-width:520px;font-size:17px}
.cta-note{font-size:12.5px;color:var(--muted);margin:8px 0 0}
.hero .cta-note{font-size:12.5px;color:#fff;opacity:.9;margin:8px 0 0}
.cta-c{max-width:520px;margin:6px 0 0}
.cta-c .btn{display:block;text-align:center}
.worry{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.worry li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px 14px 46px;position:relative;font-size:15px;line-height:1.7}
.worry li::before{content:"";position:absolute;left:16px;top:17px;width:20px;height:20px;background:url(img/icon/common/ic-check.webp) center/contain no-repeat}
.people{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.person{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.person b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:16px;color:var(--navy);margin-bottom:6px}
.person p{margin:0;font-size:14px;color:var(--muted);line-height:1.8}
.ctabox--end{margin:36px 0 0}
.ctabox--end h2{color:#fff;font-size:21px;line-height:1.5;margin:0 0 10px;padding:0;border:0}
.ctabox--end .btn{max-width:520px}
.ctabox .cta-note{color:#D9E1EA}
.line-sub{font-size:13.5px;color:var(--muted);text-align:center;margin:14px 0 0}
.line-sub a{color:var(--navy);font-weight:700}
.sbox .cta-note{text-align:center}

/* ===== v1.1.1（2026-09-30）：CTAボックスを中央寄せ（COO）・日本語の改行位置・スマホの相談メニュー ===== */
.ctabox{text-align:center}
.ctabox p{margin-left:auto;margin-right:auto;max-width:640px}
.ctabox ul{display:inline-block;text-align:left;margin:0 auto 20px;max-width:100%}
.ctabox .btn{display:block;width:100%;max-width:520px;margin-left:auto;margin-right:auto}
.ctabox .cta-note{font-size:12.5px;color:#D9E1EA;margin:10px auto 0}
/* 文節の途中で改行しない・最後の1文字だけの行を作らない（対応ブラウザのみ。非対応でも表示は崩れない） */
h1,h2,h3,.qbtn,.cta-note,.worry li,.ctabox p,.ctabox li,.line-sub{word-break:auto-phrase;text-wrap:pretty}
.ctabox h2,.ctabox h3{text-wrap:balance;border:0;padding-bottom:0}   /* 記事内の h3 の下線を消す（中央寄せで浮くため） */
/* 本文の段落は折り返しを調整しない（右端まで文字を詰める。2026-09-30 COO） */
@media(max-width:640px){
  .cats--menu{gap:10px}
  .cats--menu .cat{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:start;padding:14px 16px}
  .cats--menu .cat img{grid-row:span 2;width:44px;height:44px;margin:2px 0 0}
  .cats--menu .cat b{margin-bottom:2px}
  .qbtn{font-size:13.5px;padding:8px}
}

/* ===== v1.1.2（2026-09-30 COO）：PCのキャッチを大きく・「こんなあなたに」3×2・申し込みパーツはすべて中央寄せ ===== */
@media(min-width:900px){ .hero h1{font-size:clamp(34px,3.3vw,42px);line-height:1.45} }
.worry{grid-template-columns:1fr}
@media(min-width:600px){ .worry{grid-template-columns:repeat(2,1fr)} }
@media(min-width:900px){ .worry{grid-template-columns:repeat(3,1fr)} }
.cta-c{max-width:520px;margin:8px auto 0;text-align:center}
.cta-c .btn{display:block;width:100%}
.cta-note{text-align:center}
.hero .cta-note{max-width:520px}
.worry + .lead{text-align:center;margin-left:auto;margin-right:auto}
.ft__cp{border-top:0;padding-top:0}   /* 上の .ft__brand の下線と二重にならないように */

/* ===== v1.1.3（2026-09-30 COO）：記事を書いた人の余白 ===== */
.sbox .sbox__t{margin:0 0 12px}   /* .sbox p{margin:0} が見出しの下の余白まで消していた */
.who-in{align-items:center}
.who-in p{line-height:1.7}

/* ===== v1.1.4（2026-09-30 COO）：本文はヘッダーの右端（.wrap の内幅）まで使う ===== */
.lead{max-width:none}
.legal{max-width:none}

/* ===== v1.1.5（2026-09-30 COO）：フォームを短く・広く ===== */
.centered{max-width:720px}                       /* 620 → 720（約16%広げる） */
.form{max-width:700px}                           /* 600 → 700 */
.form .f{margin-bottom:18px}
.form label{margin:0 0 6px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{padding:8px 12px}   /* 入力欄の高さを約80%に */
.form textarea{min-height:96px}
.radio label{padding:9px 12px}
.radio--kind{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.radio--kind label:last-child{grid-column:1 / -1}   /* 「まだ決まっていない・その他」は下の行に1つ */
.form .f--agree{margin:6px 0 20px}
.form label.agree{display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:400;font-size:14.5px;color:var(--ink);margin:0;cursor:pointer}
.form label.agree input{width:18px;height:18px;margin:0;accent-color:var(--accent);flex:none}
.form label.agree a{color:var(--navy);font-weight:700;text-decoration:underline}
.form label.agree .req{margin-left:2px}
.form label.agree[aria-invalid="true"] span{color:var(--warn-ink)}
.f--agree .f__err{text-align:center}
.centered .lead{word-break:auto-phrase}   /* 中央寄せの説明文は文節の途中で改行しない */
@media(max-width:480px){ .radio--kind label{font-size:14px;padding:9px 10px;gap:8px} }

/* ===== v1.1.7（2026-09-30）：固定ページの表はスマホで横にはみ出さない（記事の比較表は横スクロールのまま） ===== */
@media(max-width:640px){
  .tblwrap table.d{min-width:0}
  .tblwrap table.d th{width:34%}
  .art .tblwrap table.d{min-width:420px}
  .art .tblwrap table.d th{width:auto}
}

/* ===== v1.1.11（2026-09-30 COO）：ヘッダーのロゴを「ベンチャー就活の情報メディア」入りの素材に（_source/OG_1200_630.png の紺を白に置き換えた版） ===== */
.hd__logo{gap:0;padding:9px 0}
.hd__logo img{width:236px}
@media(max-width:430px){ .hd__logo img{width:178px} }

/* ===== v1.1.12（2026-10-02 COO）：記事の表をスマホで読みやすく（1列目が1文字ずつ折り返していた） =====
   2列の表は画面幅に収め、3列以上の表は最小幅を広げて横スクロールにする。1列目には最低限の幅を持たせる。
   横にスクロールできることが分かるよう、端に薄い影を出す（スクロールし切ると消える）。 */
@media(max-width:640px){
  .art .tblwrap table.d{min-width:0}
  .art .tblwrap table.d:has(tr > :nth-child(3)){min-width:540px}
  .art .tblwrap table.d:has(tr > :nth-child(4)){min-width:620px}
  .art .tblwrap table.d tr > :first-child{min-width:7em}
  .art .tblwrap{
    background:
      linear-gradient(to right,#fff 30%,rgba(255,255,255,0)),
      linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) 100% 0,
      radial-gradient(farthest-side at 0 50%,rgba(10,31,60,.16),rgba(10,31,60,0)),
      radial-gradient(farthest-side at 100% 50%,rgba(10,31,60,.16),rgba(10,31,60,0)) 100% 0;
    background-repeat:no-repeat;
    background-size:40px 100%,40px 100%,14px 100%,14px 100%;
    background-attachment:local,local,scroll,scroll;
  }
}

/* ===== v1.1.13（2026-10-02 COO）：TOPの見た目を「幾何学的で味気ない」から、ノートと相談の温かさへ =====
   構成（ブロックの順番・ボタンの位置）は変えない。記事ページの見た目も変えない（body.home だけに効かせる）。
   ただし「話す相手」のカード（.person、helpers.php の vr_people_cards）は、TOP・運営者情報・相談メニューで同じ見た目にするため全ページに効かせる。
   記事の「先に結論」と同じノートの表現（紙の色・蛍光ペン）をTOPにも使う。 */
body.home .sec-pad--soft{background:var(--paper)}

/* 見出し：全幅のオレンジ線をやめ、文字の下にだけ蛍光ペンで引いたような線 */
body.home h2.sec{display:inline-block;border-bottom:0;padding:0 6px;margin-bottom:20px;
  background:linear-gradient(transparent 60%,var(--accent-line) 60%,var(--accent-line) 90%,transparent 90%)}

/* カード：細い灰色の枠をやめ、角を丸くして影で浮かせる */
body.home .cat,.person,body.home .card,body.home .faq,body.home .worry li{
  border:0;border-radius:16px;box-shadow:0 1px 2px rgba(10,31,60,.06),0 8px 22px rgba(10,31,60,.07)}
body.home .cat:hover{background:#fff;box-shadow:0 1px 2px rgba(10,31,60,.08),0 10px 28px rgba(10,31,60,.12)}
body.home .faq__i{border-bottom:1px dashed #E6DFCF}

/* こんなあなたに：学生の声として、顔のアイコンを添える（表情は3種類を順番に） */
body.home .worry{gap:12px 16px}
body.home .worry li{display:flex;align-items:center;min-height:68px;padding:12px 16px 12px 70px}
body.home .worry li::before{left:14px;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
  background:var(--accent-soft) url(img/character/char-student-think-face.webp) center/40px no-repeat}
body.home .worry li:nth-child(3n+2)::before{background-image:url(img/character/char-student-trouble-face.webp)}
body.home .worry li:nth-child(3n)::before{background-image:url(img/character/char-student-normal-face.webp)}

/* 面談で話せること：アイコンを淡い丸にのせる */
body.home .cats--menu .cat img{background:var(--accent-soft);border-radius:50%;padding:6px;box-sizing:content-box}

/* いま、どの段階ですか：記事のアイキャッチと同じカテゴリの色（site/output/thumbnail-rules.md） */
body.home .cats:not(.cats--menu) .cat{box-shadow:none}
body.home .cats:not(.cats--menu) .cat:hover{box-shadow:0 8px 22px rgba(10,31,60,.10)}
body.home .cat[href*="/about-venture/"]{background:#E6ECF4}
body.home .cat[href*="/major-or-venture/"]{background:#FFEED8}
body.home .cat[href*="/company-choice/"]{background:#F3EBDD}
body.home .cat[href*="/venture-selection/"]{background:#E1E8F2}
body.home .cat[href*="/after-offer/"]{background:#D9E3F0}
body.home .cats:not(.cats--menu) .cat em{background:#fff;border-color:#fff}

/* 話す相手：顔写真と名前の代わりに、立場のアイコン・タグ・向いている相談で見せる */
.person{padding:20px;display:flex;flex-direction:column;gap:6px}
.person__ic{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;margin-bottom:6px}
.person__ic img{width:40px;height:40px}
.person b{margin:0}
.person p{margin:0}
.person__tags{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.person__tags span{font-size:12px;font-weight:700;color:var(--navy);background:#EEF2F8;border-radius:999px;padding:2px 10px}
.person__fit{margin-top:auto!important;padding-top:12px;border-top:1px dashed #E6DFCF;font-size:13.5px;color:var(--ink)!important}
.person__fit em{display:block;font-style:normal;font-size:12px;font-weight:700;color:var(--accent-ink);margin-bottom:2px}

/* 申し込みから面談まで：紺の丸をやめ、淡い丸の番号を点線でつなぐ */
body.home .steps li::before{background:#fff;color:var(--navy);border:2px solid var(--accent-line)}
body.home .steps li:not(:last-child)::after{content:"";position:absolute;left:17px;top:40px;bottom:2px;border-left:2px dotted var(--accent-line)}

/* 最後のボタン：濃い紺の箱をやめ、クリーム色に。人物の顔を添える */
body.home .ctabox--end{background:radial-gradient(120% 140% at 50% 0%,#FFF7ED 0%,var(--accent-soft) 100%);color:var(--ink);
  border-radius:20px;text-align:center;position:relative;padding:34px 22px 28px}
body.home .ctabox--end::before{content:"";display:block;width:96px;height:48px;margin:0 auto 10px;
  background:url(img/character/char-editor-notice-face.webp) left center/48px no-repeat,url(img/character/char-student-notice-face.webp) right center/48px no-repeat}
body.home .ctabox--end h2{color:var(--navy)}
body.home .ctabox--end p{color:var(--ink)}
body.home .ctabox--end .btn{margin:0 auto}
body.home .ctabox--end .cta-note{color:var(--muted)}
/* 段階のカードは5枚。PCは5列、タブレットは3列（3＋2）にして、1枚だけ残る行を作らない */
@media(min-width:600px){ body.home .cats:not(.cats--menu){grid-template-columns:repeat(3,1fr)} }
@media(min-width:980px){ body.home .cats:not(.cats--menu){grid-template-columns:repeat(5,1fr);gap:14px} body.home .cats:not(.cats--menu) .cat{padding:18px 16px} }
/* 話す相手：「こんな相談に」の高さをそろえ、区切り線の位置をカード間で合わせる */
@media(min-width:600px){ .person__fit{min-height:88px} }
/* スマホの段階カード：アイコンを左、文字を右に詰めて、縦に長くしない */
@media(max-width:599px){
  body.home .cats:not(.cats--menu){gap:10px}
  body.home .cats:not(.cats--menu) .cat{display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center;padding:14px 16px}
  body.home .cats:not(.cats--menu) .cat em{grid-column:1/-1;justify-self:start;margin-bottom:6px}
  body.home .cats:not(.cats--menu) .cat img{grid-row:span 2;margin:0}
  body.home .cats:not(.cats--menu) .cat b{margin:0}
}

/* ===== v1.1.14（2026-10-02 COO）：相談メニューに「詳しく見る」（押せる部品だと分かるように） =====
   TOPの「面談で話せること」・記事の右カラム・記事末のCTAボックスの4メニュー。矢印は文字色で描く（紺の箱の中でも見える）。 */
.more{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;
  font-size:13.5px;color:var(--navy);white-space:nowrap}
.more::after{content:"";width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-top:1px}
a:hover .more,a:focus-visible .more{text-decoration:underline;text-underline-offset:3px}
/* TOPのカード：PCは「詳しく見る」を下にそろえる。スマホ（640px以下・既存の切り替えと同じ）は文字の列に置く */
.cats--menu .cat .more{margin-top:12px}
@media(min-width:641px){ .cats--menu .cat{display:flex;flex-direction:column} .cats--menu .cat .more{margin-top:auto;padding-top:12px} .cats--menu .cat span{margin-bottom:0} }
@media(max-width:640px){ .cats--menu .cat .more{grid-column:2;margin-top:6px} body.home .cats--menu .cat{grid-template-columns:56px 1fr} }
/* 記事の右カラム */
.menu li a{display:flex;gap:inherit;align-items:inherit;color:inherit;text-decoration:none;width:100%}
.sbox .menu .more{font-size:12px;margin-top:3px}
/* 記事末のCTAボックス（紺の箱） */
.ctabox li a{display:flex;gap:10px;align-items:center;flex:1;color:inherit;text-decoration:none}
.ctabox li a > span{flex:1}
.ctabox .more{color:var(--accent-sub);font-size:12.5px}
@media(max-width:640px){ .ctabox li a{flex-wrap:wrap;row-gap:2px} .ctabox li a > span{flex:1 1 calc(100% - 44px)} .ctabox .more{margin-left:44px} }

/* ===== v1.1.15（2026-10-02 COO）：CSSの変更なし。申込者への自動返信・完了ページ・フォームの説明を、LINE希望の人は「友だち追加→お名前の送信→日程の連絡」の順に。「顔を出すかどうか」→「カメラをONにするか」（inc/form.php・page-thanks.php・front-page.php） ===== */

/* ===== v1.2.0（2026-10-03 D-27）：診断・体験ツールと資料ダウンロード（inc/tools.php・js/tools.js） ===== */
/* 幅は .wrap の内幅いっぱい（v1.1.4 と同じ考え方。2026-10-05 COO「左に寄っている」）。PCでは2列にして余白を残さない */
.tool__sub{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:18px;color:var(--navy);margin:0 0 10px}
.tool__intro p{margin:0 0 14px}
.tool__time{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}
.tool__time img{width:18px;height:18px}
.tool__go{margin:6px 0 0}
.tool__h{font-size:20px;line-height:1.5;color:var(--navy);margin:0 0 16px}
.tool__h3{font-size:17px;color:var(--navy);margin:26px 0 10px}
.tool__bar{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:13.5px;color:var(--muted)}
.tool__bar[hidden]{display:none}
.tool__track{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.tool__track i{display:block;height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .2s}
.tool__nav{margin:14px 0 0}
.tool__back{background:none;border:0;padding:8px 0;font:inherit;font-size:14px;color:var(--navy);text-decoration:underline;cursor:pointer}
.tq{border:0;padding:0;margin:0 0 18px;min-width:0}
.tq__q{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:17px;line-height:1.6;color:var(--navy);margin:0 0 14px;padding:0}
.tq__q b{font-size:19px;color:var(--ink)}
.tq__q small{display:block;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:12.5px;color:var(--accent-ink);margin:0 0 4px}
.tq__q .tq__hint{color:var(--muted);font-weight:400;margin:4px 0 0}
.tool [tabindex="-1"]:focus{outline:none}   /* 画面を切り替えたときに見出しへ移すフォーカス（読み上げ用）。枠は出さない */
.tq__opts--row{flex-direction:row;flex-wrap:wrap;gap:8px}
.tq__opts--row label{flex:1 1 140px}
.radio i.ck{border-radius:4px}
.radio label:has(input:checked) i.ck{box-shadow:none;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.pair{display:grid;gap:10px;margin:0 0 14px}
.pair p{margin:0;background:var(--paper);border-radius:12px;padding:14px 16px;font-size:15.5px;line-height:1.7}
.pair span{display:inline-block;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:12.5px;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:0 10px;margin:0 8px 0 0}
@media(min-width:640px){
  .pair{grid-template-columns:1fr 1fr}
  .scale{flex-direction:row;gap:6px}
  .scale label{flex:1 1 0;flex-direction:column;justify-content:flex-start;text-align:center;gap:6px;padding:12px 6px;font-size:13px;line-height:1.5}
}
.es{background:var(--paper);border-radius:14px;padding:18px 20px;margin:0 0 14px}
.es__no{display:inline-block;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:13px;color:var(--navy);background:#fff;border-radius:999px;padding:2px 12px;margin:0 0 6px}
.es h3{font-size:14.5px;color:var(--navy);margin:12px 0 4px}
.es p{margin:0;font-size:15px;line-height:1.85}
.es__rule,.esr__es{margin:0 0 18px;font-size:14.5px}
.es__rule summary,.esr__es summary{cursor:pointer;color:var(--navy);font-weight:700}
.es__rule-lead{margin:10px 0}
.rubric{display:grid;gap:10px;margin:0 0 6px}
.rubric div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.rubric dt{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;color:var(--navy)}
.rubric dt small{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:12px;color:var(--muted);margin-left:8px}
.rubric dd{margin:4px 0 0;font-size:14.5px;line-height:1.7}
.rubric dd span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
@media(min-width:760px){ .rubric{grid-template-columns:repeat(3,1fr)} }
.tool__lead .btn{margin-top:6px}

/* 結果 */
.res__card{background:var(--paper);border-radius:16px;padding:22px 22px 18px;margin:0 0 8px}
.res__lbl{font-size:13px;font-weight:700;color:var(--accent-ink);margin:0 0 4px}
.res__ttl{font-size:22px;line-height:1.5;color:var(--navy);margin:0 0 10px}
.res__state{margin:0 0 6px}
.res__h{font-size:18px;color:var(--navy);margin:32px 0 10px}
.res p{margin:0 0 14px}
.res__list{margin:0 0 14px;padding-left:1.4em}
.res__list li{margin:6px 0}
.res__arts{list-style:none;margin:0 0 14px;padding:0}
.res__arts li{margin:8px 0}
.res__arts span{font-size:13.5px;color:var(--muted)}
.res__cta{background:var(--accent-soft);border-radius:16px;padding:22px;margin:34px 0 18px}
.res__cta-h{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:18px;color:var(--navy);margin:0 0 6px !important}
.res__note{margin-top:8px}
.bars{display:grid;gap:10px;margin:16px 0 4px}
.bar{display:grid;grid-template-columns:7.5em 1fr 3.4em;align-items:center;gap:10px;font-size:14px}
.bar i{height:10px;border-radius:999px;background:#fff;overflow:hidden}
.bar i b{display:block;height:100%;background:var(--navy-panel);border-radius:999px}
.bar em{font-style:normal;font-weight:700;text-align:right}
.bar em small{font-weight:400;color:var(--muted)}
.res__nums{display:flex;gap:12px;margin:14px 0 4px}
.res__nums div{flex:1;background:#fff;border-radius:12px;padding:10px 12px;text-align:center}
.res__nums b{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:26px;color:var(--navy);line-height:1.3}
.res__nums b small{font-size:14px;color:var(--muted)}
.res__nums span{font-size:13px;color:var(--muted)}
.esr{padding:0 0 6px;margin:0 0 18px;border-bottom:1px dashed #E6DFCF}
.esr__h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 8px !important}
.esr__h b{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--navy)}
.esr__v{font-size:13.5px;color:var(--muted)}
.esr__v em{font-style:normal;font-size:12px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:1px 8px;margin-left:6px}
.esr__p{font-size:14.5px}
.esr__es h4{font-size:14px;color:var(--navy);margin:10px 0 4px}
.esr__es p{font-size:14.5px}
.vbars{margin:6px 0 10px}
.vbar{margin:0 0 16px}
.vbar__h{font-weight:700;font-size:14.5px;margin:0 0 6px !important}
.vbar.is-open .vbar__h::after{content:"（まだ決めきれていない）";font-weight:400;font-size:12.5px;color:var(--accent-ink);margin-left:6px}
.vbar__t{position:relative;height:10px;border-radius:999px;background:linear-gradient(90deg,#E6ECF4,#fff 50%,var(--accent-soft))}
.vbar__t::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;border-left:2px solid var(--line)}
.vbar__t i{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 1px 4px rgba(10,31,60,.3)}
.vbar.is-open .vbar__t i{background:#fff;border-color:var(--navy)}
.vbar__ends{display:flex;justify-content:space-between;gap:16px;font-size:12.5px;color:var(--muted);margin:6px 0 0 !important;line-height:1.5}
.vbar__ends span:last-child{text-align:right}
.vbars__key{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--navy);margin:0 !important}
.res__two .box p{margin:0}
.dlbtns .btn{margin:10px 0 0}
.dlbtns .cta-note{margin:4px 0 0}
.tools-list .cat .more{color:var(--muted);font-weight:400}
.esr__l{list-style:none;margin:0 0 10px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.esr__l li{padding:10px 14px;border-top:1px solid var(--line)}
.esr__l li:first-child{border-top:0}
.esr__l li.is-diff{background:#FFF7ED}
.esr__l p{margin:0 !important;font-size:14.5px}
.esr__ax{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin-bottom:4px !important}
.esr__ax b{color:var(--navy);min-width:6.5em}
.esr__ax span{font-size:13.5px;color:var(--muted)}
.esr__ax em{font-style:normal;font-size:12px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:1px 8px}
.dl h2.min{font-size:16px;color:var(--navy);margin:0 0 8px}
.dl table.d th{white-space:nowrap}
.dl__r .tool__h{font-size:18px}
.dl__note{font-size:13px;color:var(--muted);margin:14px 0 0}   /* 締切チェックリスト（D-35） */
.dl__art{font-size:14px;margin:10px 0 0}
.res__two .box h4.min{margin-top:0}
.tool__ok{display:inline-block;font-size:13.5px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:3px 14px;margin:0 0 14px}
.tool__done p{margin:0 0 16px}

/* ===== v1.2.0（2026-10-05 COO）：診断・資料の画面をページの幅いっぱいに ===== */
.treg__gets ul{margin:0;padding-left:1.25em;font-size:14.5px}
.treg__gets li{margin:6px 0}
.treg__gets h2.min{font-size:16px;color:var(--navy);margin:0 0 8px}
.treg__r .tool__form{max-width:none}
.tool__done .btn,.tool__done .tool__nav{max-width:520px}
.esr-list{display:grid;gap:4px 28px}
.res__cta{margin-top:28px}
@media(min-width:980px){
  .treg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
  .treg__r{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:24px 28px}
  .tool--interview-check .tq__opts{flex-direction:row}
  .tool--interview-check .tq__opts label{flex:1 1 0}
  .es-step{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:start}
  .es-step__r{position:sticky;top:84px}
  .res__card--2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:center}
  .res__card--2 .bars,.res__card--2 .res__nums{margin:0}
  .res__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px;align-items:start}
  .res__grid .res__cta{margin-top:32px}
  .esr-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
.tool .tool__form{max-width:none}                 /* .form（面談のフォーム）の幅 700px をツールでは使わない */
.treg__r .tool__form{max-width:none}
#vr-result,#vr-tool{scroll-margin-top:84px}       /* 追従ヘッダーの下に隠れないように */

/* ===== v1.2.1（2026-10-05 COO・D-30）：診断・資料への導線（inc/promo.php） ===== */
/* 記事の見出しの間のバナー（1200×628） */
.art .bn{margin:32px 0 36px}
.art .bn a{display:block;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(10,31,60,.06),0 6px 18px rgba(10,31,60,.08);transition:box-shadow .15s,transform .15s}
.art .bn a:hover{box-shadow:0 2px 4px rgba(10,31,60,.08),0 10px 26px rgba(10,31,60,.14);transform:translateY(-1px)}
.art .bn img{display:block;width:100%;height:auto;aspect-ratio:1200/628}
/* 診断1つのカード（右カラム・記事の終わり・完了ページ） */
.tcard{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 10px}
.tcard:hover{border-color:var(--accent-line);background:#FFFBF5}
.tcard img{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);padding:4px;box-sizing:content-box}
.tcard__b{display:flex;flex-direction:column;gap:3px;min-width:0}
.tcard__b b{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--navy);font-size:15px;line-height:1.5}
.tcard__b>span{font-size:13px;color:var(--muted);line-height:1.65}
.tcard__b em{font-style:normal;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:13.5px;color:var(--navy);display:inline-flex;align-items:center;gap:4px;margin-top:2px}
.tcard__b em::after{content:"";width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:2px}
.tcard__b b small{display:block;font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:12px;color:var(--muted);line-height:1.5}
.sbox--tool .tcard:last-of-type{margin-bottom:0}
/* 右カラムのカード：何をするかが分かるボタン（2026-10-05 COO）。文言が長いのでカードの下に幅いっぱいで出す */
.tcard--act{flex-wrap:wrap}
.tcard--act .tcard__b{flex:1}
.tcard__go{flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px;padding:9px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-style:normal;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:13.5px;line-height:1.4;text-align:center}
.tcard__go::after{content:"";flex:none;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.tcard--act:hover .tcard__go{background:var(--accent-line)}
.sbox__more{margin:10px 0 0;font-size:13px;text-align:right}
.tend{margin:24px 0 0}
.tend__h{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;color:var(--navy);font-size:15px;margin:0 0 8px !important}
.tend .tcard{padding:16px 18px;background:var(--paper);border-color:transparent}
.tend--wide{max-width:none;margin:0 0 10px}
/* TOPの帯 */
.sec-tools .tools-list .cat{background:#fff}

/* ===== v1.3.0（D-33）：就活の逆算チェック・ガクチカの題材さがし診断 ===== */
/* チェックボックスの設問：選べる数の上限（4つ）に達したら、残りは薄く・押せない。問1は8つ並ぶので PC では2列 */
.radio label:has(input:disabled){opacity:.45;cursor:not-allowed}
@media(min-width:640px){ .tq__opts--2col{display:grid;grid-template-columns:1fr 1fr;gap:9px} }
/* 逆算：判定の根拠（ラベルのすぐ下に小さく） */
.res .res__basis{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0 0 10px}
/* 逆算：この時期にやっておきたいこと（○△－の一覧） */
.res__marks{list-style:none;margin:0 0 16px;padding:0}
.res__marks li{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--line)}
.res__mk{flex:none;width:1.4em;text-align:center;font-weight:700}
.res__marks .is-0 .res__mk{color:var(--accent)}
.res__marks .is-2 .res__mk{color:var(--muted)}
/* 逆算：次にやること（それぞれの下に記事） */
.res__next > li{margin:10px 0}
.res__next .res__arts{margin:4px 0 0}
.res__next .res__arts li{margin:2px 0;font-size:14.5px}
/* 結果の「使える診断・資料」：カードを PC 2列／スマホ 1列（2列の欄の中では1列） */
.res__tools{display:grid;gap:10px;margin:0 0 8px}
.res__tools .tcard{margin:0}
@media(min-width:640px){ .res__tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
.res__grid .res__tools{grid-template-columns:minmax(0,1fr)}
/* 題材さがし：候補のカード（縦に並べる） */
.fcands{display:grid;gap:14px;margin:18px 0 0}
.fcand{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:#fff}
.res .fcand__lbl{display:inline-block;font-size:12.5px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:1px 12px;margin:0 0 8px}
.fcand__ttl{font-size:18px;line-height:1.55;color:var(--navy);margin:0 0 4px}
.fcand__h{font-size:13.5px;font-weight:700;color:var(--muted);margin:14px 0 4px}
.res .fcand p{margin:0;font-size:15px}
.fcand .res__list{margin:0}
@media(min-width:980px){ .fcand__b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 32px} }
/* 右カラムのボタン：15字以上の文言（就活で次にやることをチェックする）は1行に収まるよう少し小さく。狭い幅で折り返すときは2行に均等に */
.tcard__go{text-wrap:balance}
.tcard__go--s{font-size:12.5px;padding-left:6px;padding-right:6px}
