/* SDL 下層ページ用スタイル（site.css の上に重ねる・2026-10-02） */

/* ---------- 確認待ちの印（公開前に久保寺さんと確定する箇所） ---------- */
.todo{display:inline-block;background:#fff7e0;border:1px dashed #f0c24b;color:#6a4b00;border-radius:.375rem;padding:0 .375rem;font-size:.8125rem;line-height:1.7;font-weight:500;letter-spacing:0}
.draft{background:#fff7e0;border-bottom:1px solid #f0c24b;font-size:.8125rem;line-height:1.7;color:#6a4b00;position:relative;z-index:1}
.draft .in{max-width:var(--w);margin:0 auto;padding:.75rem var(--gut)}

/* ---------- ページの見出し帯 ---------- */
.phd{position:relative;overflow:hidden;color:#fff;background:linear-gradient(115deg,#071f52 0%,#0b3a8f 38%,#0e5fc9 68%,#1a86f0 100%);padding:10rem 0 5rem}
.phd .artcv{z-index:0;opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 45%,#000 85%);mask-image:linear-gradient(90deg,transparent 0,transparent 45%,#000 85%)}
.phd .wrap{position:relative;z-index:1}
.phd .crumb{font-size:.8125rem;color:rgba(255,255,255,.75)}
.phd .crumb a{color:rgba(255,255,255,.75)}
.phd .crumb a:hover{color:#fff}
.phd .en{display:block;margin-top:2rem;font-family:var(--en);font-weight:500;font-size:5rem;line-height:.95;letter-spacing:-.03em;color:rgba(255,255,255,.95)}
.phd .en b{font-weight:500;color:var(--cyan)}
.phd h1{margin-top:1.25rem;font-size:2rem;color:#fff;line-height:1.5}
.phd .lead{color:rgba(255,255,255,.92);max-width:46em;margin-top:1rem;font-size:1rem}
.phd .floor{display:inline-block;font-family:var(--ja);font-weight:600;font-size:.75rem;color:#071f52;background:var(--cyan);border-radius:999px;padding:.125rem .625rem;margin-right:.5rem;letter-spacing:.04em;vertical-align:middle}

/* ---------- 本文ブロック ---------- */
.pg main{display:block}
.blk{padding:6rem 0;position:relative}
.blk.bg{background:linear-gradient(180deg,var(--bg2) 0,#e8ecf0 100%)}
.blk.tight{padding:4rem 0}
.blk .hd2{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:end;margin-bottom:3rem}
.blk .hd2 .big{font-size:4.5rem}
.blk .hd2 p{font-size:.9375rem;line-height:2}
.blk h2.jh{font-size:1.5rem}
.blk .sub-h{font-size:1.125rem;font-weight:700;color:var(--base);margin-top:2.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--base)}
.prose{max-width:780px}
.prose p{margin-top:1.25rem;line-height:2.05}
.prose p:first-child{margin-top:0}
.prose h3{font-size:1.25rem;margin-top:3rem}
.prose ul,.prose ol{margin:1rem 0 0;padding-left:1.4em;list-style:revert}
.prose li{margin:.25rem 0}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}
.prose figure{margin:1.75rem 0 0}
.prose figure img{border-radius:.75rem;border:1px solid var(--pale);background:#fff}
.prose figcaption{font-size:.8125rem;color:var(--muted);margin-top:.5rem;line-height:1.7}

/* 白いカード・グリッド */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.tiles.two{grid-template-columns:1fr 1fr}
.tiles.four{grid-template-columns:repeat(4,1fr)}
.tile{background:#fff;border-radius:var(--r-md);padding:1.75rem 1.75rem 2rem;box-shadow:0 .1875rem 2.25rem rgba(8,17,26,.06);border:1px solid rgba(8,17,26,.04)}
.tile .no{font-family:var(--en);font-weight:600;font-size:.8125rem;color:var(--accent);letter-spacing:.08em}
.tile h3{font-size:1.125rem;margin-top:.5rem;line-height:1.6}
.tile p{font-size:.9rem;margin-top:.625rem;line-height:1.9}
.tile ul{margin-top:.75rem;font-size:.9rem;line-height:1.9;list-style:disc;padding-left:1.2em}
a.tile{display:block;color:inherit;transition:.3s var(--ease)}  /* 2026-10-13 404 ページの行き先 */
a.tile:hover{transform:translateY(-3px);box-shadow:0 .5rem 2.5rem rgba(8,17,26,.1)}
a.tile h3{color:var(--base)}

/* 表 */
.tbl{width:100%;border-collapse:collapse;font-size:.9375rem;background:#fff;border-radius:var(--r-md);overflow:hidden}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:1.125rem 1.5rem;border-bottom:1px solid var(--pale);line-height:1.9}
.tbl th{width:11em;color:var(--muted);font-weight:500;font-size:.875rem;background:var(--bg2)}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0}
.tbl ul{list-style:disc;padding-left:1.2em}

/* 相談への帯 */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-lg);background:linear-gradient(135deg,#071f52,#0b3a8f 55%,#0e5fc9);color:#fff;padding:3.5rem 3.5rem;display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center}
.cta-band .artcv{z-index:0;opacity:.45;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 50%,#000 90%);mask-image:linear-gradient(90deg,transparent 0,transparent 50%,#000 90%)}
.cta-band>*:not(.artcv){position:relative;z-index:1}
.cta-band h2{color:#fff;font-size:1.75rem;line-height:1.6}
.cta-band p{margin-top:.75rem;opacity:.92}
.cta-band .acts{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}
.cta-band .tel{font-family:var(--en);font-size:.875rem;opacity:.9}
.cta-band .tel b{font-size:1.5rem;margin-left:.5rem;letter-spacing:.02em}

/* 「なぜ？」一覧の準備中カード */
.card.soon{cursor:default}
.card.soon:hover{transform:none;box-shadow:0 .1875rem 2.25rem rgba(8,17,26,.08)}
.card.soon:hover .ph img{transform:none}
.card.soon .ph{filter:saturate(.55);opacity:.8}
.card .soonb{position:absolute;left:.75rem;top:.75rem;background:#fff;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-min);font-size:.75rem;font-weight:700;padding:.25rem .5rem;z-index:1}

/* ---------- 記事（why/*） ---------- */
.art{--aw:760px;max-width:var(--aw);margin:0 auto;padding:3.5rem 24px 2rem;font-size:16px;line-height:2}
.art .meta{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.8125rem;color:var(--muted)}
.art .meta b{color:var(--base)}
.art .meta .floor{display:inline-block;font-family:var(--en);font-weight:600;font-size:.75rem;color:#fff;background:var(--accent);border-radius:999px;padding:.125rem .625rem;margin-right:.375rem;letter-spacing:.04em}
.art .ahero{margin-top:2rem;border-radius:var(--r-md);overflow:hidden;background:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:3px}
.art .ahero.one{grid-template-columns:1fr}
.art .ahero figure{margin:0;position:relative}
.art .ahero figcaption{position:absolute;left:.75rem;bottom:.75rem;background:rgba(255,255,255,.94);border-radius:.5rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:700;color:var(--base)}
.art .ahero figcaption em{font-style:normal;font-family:var(--en);color:#e4572e;margin-left:.375rem}
.art .answer{margin-top:2.5rem;border-radius:var(--r-md);background:var(--base);color:#fff;padding:1.75rem 2rem}
.art .answer .lb{font-family:var(--en);font-size:.75rem;letter-spacing:.12em;color:var(--primary);font-weight:600}
.art .answer p{margin-top:.5rem;font-size:1.0625rem;line-height:1.95}
.art .answer b{color:var(--cyan);font-weight:700}
.art .toc{margin-top:2.5rem;border:1px solid var(--pale);border-radius:var(--r-md);padding:1.25rem 1.5rem}
.art .toc b{font-size:.8125rem;color:var(--muted)}
.art .toc ol{margin:.5rem 0 0;padding-left:1.4em;font-size:.9375rem;line-height:1.9;list-style:decimal}
.art .toc a{color:var(--base)}
.art .toc a:hover{color:var(--accent)}
.art section{margin-top:3.5rem}
.art .step{display:flex;align-items:baseline;gap:.75rem}
.art .step .no{font-family:var(--en);font-weight:600;font-size:.8125rem;color:var(--accent);letter-spacing:.08em;white-space:nowrap}
.art h2{font-size:1.5rem;border-bottom:2px solid var(--base);padding-bottom:.5rem;flex:1}
.art h3{font-size:1.125rem;margin-top:2rem}
.art section p{margin-top:1rem}
.art section ul,.art section ol{margin:1rem 0 0;padding-left:1.4em;list-style:revert}
.art section li{margin:.25rem 0}
.art figure{margin:1.5rem 0 0}
.art figure img{border-radius:.75rem;border:1px solid var(--pale);background:#fff}
.art figure figcaption{font-size:.8125rem;color:var(--muted);margin-top:.5rem;line-height:1.7}
.art .src{font-size:.75rem;color:var(--muted)}
.art table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9375rem}
.art th,.art td{border-bottom:1px solid var(--pale);padding:.625rem .5rem;text-align:left;vertical-align:top}
.art th{color:var(--muted);font-weight:500;font-size:.8125rem}
.art td.hot{color:#e4572e;font-weight:700;font-family:var(--en)}
.art td.num{font-family:var(--en);font-weight:600}
.art .two{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem}
.art .two>div{border-radius:1rem;padding:1.125rem 1.25rem;background:var(--bg)}
.art .two>div.em{background:#e8f1fb}
.art .two b{display:block;font-size:.8125rem;color:var(--muted)}
.art .two p{margin-top:.375rem;font-size:.9375rem;line-height:1.85}
.art .tl{margin-top:1.25rem;border-left:3px solid var(--accent);padding-left:1.25rem}
.art .tl>div{position:relative;padding:.25rem 0 1.25rem}
.art .tl>div::before{content:"";position:absolute;left:-1.72rem;top:.8rem;width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid var(--accent)}
.art .tl .t{font-family:var(--en);font-weight:600;font-size:.8125rem;color:var(--accent)}
.art .tl h4{margin:.125rem 0 0;font-size:1rem;color:var(--base)}
.art .tl p{margin-top:.25rem;font-size:.9375rem;line-height:1.85}
.art .qa{margin-top:1.5rem;border-radius:var(--r-md);border:1px solid var(--pale);overflow:hidden}
.art .qa .q{background:var(--bg);padding:1rem 1.25rem;font-weight:700;color:var(--base);display:flex;gap:.75rem}
.art .qa .q::before{content:"Q";font-family:var(--en);color:#e4572e;font-weight:700}
.art .qa .a{padding:1rem 1.25rem;display:flex;gap:.75rem}
.art .qa .a::before{content:"A";font-family:var(--en);color:var(--accent);font-weight:700}
.art .qa .a p{margin:0}
.art .rule{margin-top:1.25rem;border-radius:1rem;border:1px solid var(--pale);padding:1rem 1.25rem}
.art .rule b{color:var(--base)}
.art .rule ul{margin-top:.5rem}
.art .yours{margin-top:4rem;border-radius:var(--r-md);background:linear-gradient(135deg,#071f52,#0b3a8f 55%,#0e5fc9);color:#fff;padding:2.25rem 2rem}
.art .yours h2{color:#fff;border:0;padding:0;font-size:1.5rem}
.art .yours p{margin-top:.75rem;line-height:1.9;opacity:.92}
.art .yours .case{display:block;margin-top:1rem;padding:.875rem 1.25rem;border-radius:.75rem;background:rgba(255,255,255,.12);color:#fff;font-size:.875rem;font-weight:700;line-height:1.7}
.art .yours .case small{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.06em;color:var(--cyan)}
.art .yours .case:hover{background:rgba(255,255,255,.2)}
.art .go{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem}
.art .go a{display:block;background:#fff;color:var(--base);border-radius:1rem;padding:1rem 1.125rem;transition:.25s}
.art .go a:hover{transform:translateY(-2px);box-shadow:0 .75rem 2rem rgba(0,0,0,.25)}
.art .go small{display:block;font-family:var(--en);font-weight:600;font-size:.6875rem;color:var(--accent);letter-spacing:.08em}
.art .go b{display:block;font-size:.9375rem;margin-top:.25rem;line-height:1.5}
.art .go span{display:block;font-size:.75rem;color:var(--muted);margin-top:.25rem;line-height:1.6}
.art .go a.main{background:var(--cyan)}
.art .author{margin-top:3rem;display:grid;grid-template-columns:96px 1fr;gap:1.25rem;border-top:1px solid var(--pale);padding-top:2rem}
.art .author img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.art .author .lb{font-size:.75rem;color:var(--muted)}
.art .author .nm{font-size:1.125rem;font-weight:700;color:var(--base)}
.art .author .nm small{font-size:.8125rem;font-weight:500;color:var(--muted);margin-left:.5rem}
.art .author p{font-size:.875rem;line-height:1.85;margin-top:.5rem}
.art .cond{margin-top:2rem;border-radius:1rem;background:var(--bg);padding:1.25rem 1.5rem}
.art .cond h3{margin:0;font-size:.9375rem}
.art .cond table{font-size:.875rem}
.art .cond th{width:9em}
.art .rel{margin-top:3rem}
.art .rel h3{margin:0;font-size:1rem}
.art .rel ul{list-style:none;padding:0;margin:.75rem 0 0}
.art .rel li{border-bottom:1px solid var(--pale)}
.art .rel a{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;color:var(--base);font-weight:700;font-size:.9375rem}
.art .rel a small{color:var(--muted);font-weight:500;white-space:nowrap}
.art .rel a:hover{color:var(--accent)}

/* 特集（インタビュー）の聞き手・話し手 */
.talk{margin-top:1.5rem;display:grid;grid-template-columns:4.5rem 1fr;gap:1rem;align-items:start}
.talk .who{font-size:.75rem;font-weight:700;color:var(--muted);line-height:1.4;text-align:center}
.talk .who img{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover;margin-bottom:.375rem}
.talk .say{background:var(--bg);border-radius:var(--r-sm);padding:1rem 1.25rem;font-size:.9375rem;line-height:1.95}
.talk.q .say{background:#e8f1fb;font-weight:700;color:var(--base)}
.talk .say p+p{margin-top:.75rem}

/* ---------- フォーム（mailformpro をそのまま使う） ---------- */
.fm{background:#fff;border-radius:var(--r-lg);padding:3rem;box-shadow:0 .1875rem 2.25rem rgba(8,17,26,.06)}
.fm dl{margin:0;display:grid;grid-template-columns:13em 1fr;gap:0}
.fm dt,.fm dd{margin:0;padding:1.125rem 0;border-bottom:1px solid var(--pale)}
.fm dt{font-weight:700;font-size:.9375rem;color:var(--base);padding-right:1rem;display:flex;align-items:flex-start;gap:.5rem}
.fm .must{flex:none;display:inline-block;font-size:.6875rem;font-weight:700;color:#fff;background:#e4572e;border-radius:.25rem;padding:.0625rem .375rem;margin-top:.3rem;line-height:1.6}
.fm .opt{flex:none;display:inline-block;font-size:.6875rem;font-weight:700;color:var(--muted);background:var(--bg);border-radius:.25rem;padding:.0625rem .375rem;margin-top:.3rem;line-height:1.6}
.fm input[type=text],.fm input[type=email],.fm input[type=tel],.fm textarea,.fm select{font:inherit;font-size:1rem;width:100%;max-width:32rem;padding:.75rem .875rem;border:1px solid var(--border);border-radius:.625rem;background:#fff;color:var(--text)}
.fm .pair{display:flex;gap:.75rem;max-width:32rem}
.fm .pair input{flex:1;min-width:0}
.fm textarea{max-width:none;min-height:12rem;line-height:1.8}
.fm input:focus,.fm textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--accent)}
.fm .chk{display:grid;gap:.5rem}
.fm .chk label,.fm .agree label{display:flex;gap:.625rem;align-items:flex-start;font-size:.9375rem;line-height:1.7;cursor:pointer}
.fm .chk input,.fm .agree input{margin-top:.35rem;flex:none;width:1.05rem;height:1.05rem;accent-color:var(--accent)}
.fm .hint{font-size:.8125rem;color:var(--muted);margin-top:.375rem}
.fm .agree{margin-top:1.5rem;text-align:center}
.fm .agree label{justify-content:center}
.fm .send{margin-top:1.75rem;text-align:center}
.fm .send button{font:inherit;cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center;min-width:280px;padding:1.125rem 2rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:1rem;box-shadow:0 .5rem 1.5rem rgba(14,115,235,.3);transition:.3s var(--ease)}
.fm .send button:hover{background:var(--accent-dark);transform:translateY(-2px)}
.fm .stg{margin-top:1rem;font-size:.75rem;color:#6a4b00;text-align:center}

/* 困りごとチェック（フォームの上） */
.trouble.inform{margin-top:0}

/* ---------- お知らせ・セミナー履歴 ---------- */
.hist{border-top:1px solid var(--pale)}
.hist li{display:grid;grid-template-columns:8.5em 7em 1fr;gap:1rem;padding:1.125rem 0;border-bottom:1px solid var(--pale);align-items:baseline}
.hist time{font-family:var(--en);font-weight:600;font-size:.875rem;color:var(--muted)}
.hist .cat{font-size:.75rem;font-weight:700;color:var(--accent);background:#e8f1fb;border-radius:999px;padding:.125rem .625rem;justify-self:start}
.hist b{font-weight:700;color:var(--base)}
.hist p{font-size:.875rem;color:var(--muted);margin-top:.25rem}

/* ---------- 会社情報 ---------- */
.vis{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;counter-reset:v}
.vis .tile h3::before{counter-increment:v;content:"0" counter(v);display:block;font-family:var(--en);font-weight:500;font-size:2.5rem;color:var(--accent);line-height:1;margin-bottom:.75rem}
.msg2{display:grid;grid-template-columns:340px 1fr;gap:4rem;align-items:start}
.msg2 .ph img{border-radius:var(--r-lg);width:100%;aspect-ratio:4/5;object-fit:cover}
.msg2 .nm{font-size:1.375rem;font-weight:700;color:var(--base);margin-top:1.5rem}
.msg2 .nm small{display:block;font-size:.8125rem;color:var(--muted);font-weight:500}
.books{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;align-items:start;margin-top:2rem;background:#fff;border-radius:var(--r-md);padding:1.5rem}
.books img{width:120px;height:auto;border-radius:.25rem}
.books b{color:var(--base)}
.works{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem;font-size:.9375rem}
.works li{padding:.75rem 0;border-bottom:1px solid var(--pale);display:flex;justify-content:space-between;gap:1rem}
.works li small{color:var(--muted);white-space:nowrap}
/* 部品削減の例（/company/#costdown） */
.cd{margin-top:3.5rem}
.cd h3{font-size:1.375rem;color:var(--base)}
.cd>p{margin-top:.75rem;font-size:.9375rem;max-width:44em}
.cd h4{font-size:1.0625rem;font-weight:700;color:var(--base);margin-top:2.5rem;padding-left:.75rem;border-left:3px solid var(--accent)}
.cd figure{margin:0}
.cd figure img{display:block;width:100%;height:auto;border-radius:.75rem;border:1px solid var(--pale);background:#fff}
.cd figcaption{font-size:.8125rem;color:var(--muted);margin-top:.5rem;line-height:1.7}
.cd2{display:grid;grid-template-columns:repeat(auto-fill,240px);gap:1.25rem;margin-top:1.25rem;align-items:start}  /* 2026-10-13 久保寺さん「写真は今の半分以下に」→ 1枚 240px（もと約560px）。押すと原寸 */
.cd figure a{display:block;cursor:zoom-in}
.cd figure a+a img{margin-top:.5rem;border-radius:.5rem}
.cd .cdn{font-size:.8125rem;color:var(--muted);margin-top:.75rem}
.map{margin-top:1.5rem;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--pale);aspect-ratio:16/7;background:var(--bg)}
.map iframe{width:100%;height:100%;border:0;display:block}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .tiles,.tiles.four{grid-template-columns:1fr 1fr}
  .msg2{grid-template-columns:260px 1fr;gap:2.5rem}
}
@media (max-width:767px){
  .phd{padding:7.5rem 0 3.5rem}
  .phd .en{font-size:3.25rem;margin-top:1.5rem}
  .phd h1{font-size:1.5rem}
  .blk{padding:4rem 0}
  .blk .hd2{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}
  .blk .hd2 .big{font-size:3.25rem}
  .tiles,.tiles.two,.tiles.four,.vis{grid-template-columns:1fr}
  .tbl th,.tbl td{display:block;width:auto;padding:.75rem 1.125rem}
  .tbl th{padding-bottom:.25rem;border-bottom:0}
  .cta-band{grid-template-columns:1fr;padding:2.25rem 1.5rem;border-radius:var(--r-md)}
  .cta-band h2{font-size:1.375rem}
  .art{font-size:15px;padding-top:2.5rem}
  .art .ahero,.art .two,.art .go{grid-template-columns:1fr}
  .art .answer{padding:1.5rem 1.25rem}
  .art .author{grid-template-columns:64px 1fr}.art .author img{width:64px;height:64px}
  .art .yours{padding:1.75rem 1.25rem}
  .talk{grid-template-columns:3.25rem 1fr;gap:.75rem}.talk .who img{width:3.25rem;height:3.25rem}
  .fm{padding:1.5rem 1.25rem;border-radius:var(--r-md)}
  .fm dl{grid-template-columns:1fr}
  .fm dt{border-bottom:0;padding-bottom:.25rem}
  .fm dd{padding-top:.25rem}
  .fm .send button{min-width:0;width:100%}
  .hist li{grid-template-columns:1fr;gap:.25rem}
  .msg2{grid-template-columns:1fr;gap:2rem}
  .msg2 .ph img{aspect-ratio:1/1}
  .works{grid-template-columns:1fr}
  .cd2{grid-template-columns:1fr 1fr;gap:1rem .75rem}
  .books{grid-template-columns:80px 1fr}.books img{width:80px}
  .map{aspect-ratio:4/3}
}

/* ============================================================
   2026-10-05 メールフォームプロ（/contact-form/ /seminar/）── 確認画面・エラー表示・送信完了を SDL の見た目に
   （spiceup.steamboat.jp の設定をもとに。mailformpro.css は読み込まず、ここで必要なものだけ指定）
   ============================================================ */
form#mailformpro div.mfp_err{display:none;margin:.375rem 0 0;color:var(--hot,#e4572e);font-size:.8125rem;line-height:1.5}
form#mailformpro .mfp_parent_error,form#mailformpro .problem{border-color:#e4572e !important;background:rgba(228,87,46,.05) !important}
form#mailformpro label.mfp_checked{color:var(--accent)}
div#mfp_hidden{overflow:hidden;width:1px;height:1px;padding:0;margin:0;position:absolute;left:-9999px}
div#mfp_overlay{position:absolute;display:none;z-index:10001}
div#mfp_overlay_background{background:#08111a;position:absolute;display:none;z-index:10000}
div#mfp_overlay_inner{background:#fff;padding:2.25rem 2rem;margin:0 auto;border-radius:var(--r-md);box-shadow:0 1.5rem 4rem rgba(8,17,26,.3);width:720px;max-width:92%;font-family:var(--ja)}
div#mfp_phase_confirm{clear:both}
div#mfp_phase_confirm h4{font-size:1.25rem;font-weight:700;text-align:center;margin:0 0 1.25rem;color:var(--base)}
table#mfp_confirm_table{width:100%;border-collapse:collapse}
table#mfp_confirm_table tr th,table#mfp_confirm_table tr td{text-align:left;font-size:.875rem;border-top:1px solid var(--pale);padding:.75rem .875rem;vertical-align:top}
table#mfp_confirm_table tr th{width:11em;color:var(--muted);font-weight:700}
table#mfp_confirm_table tr td{line-height:1.8;word-break:break-all;color:var(--base)}
div.mfp_buttons{clear:both;padding:1.5rem 0 0;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
div.mfp_buttons button{font:inherit;font-weight:700;font-size:.9375rem;padding:.875rem 1.75rem;border-radius:999px;border:1.5px solid var(--base);background:#fff;color:var(--base);cursor:pointer}
div.mfp_buttons button#mfp_button_send{background:var(--accent);border-color:var(--accent);color:#fff}
div.mfp_buttons button:hover{opacity:.85}
div#mfp_loading_screen{z-index:20000;opacity:.6;display:none;background:#08111a;position:absolute}
div#mfp_loading{z-index:20001;position:absolute;display:none;width:40px;height:40px;background-image:url(../../mfp.statics/_images/mfp_loading.gif)}
div#mfp_error,div#mfp_warning{display:none;background:rgba(228,87,46,.08);border:1px solid #e4572e;padding:.75rem 1rem;border-radius:.625rem;margin-bottom:1rem}
div#mfp_error p,div#mfp_warning p{margin:0;font-size:.875rem;text-align:center;color:var(--base)}
div#mfp_error p strong,div#mfp_warning p strong{color:#e4572e;font-size:1rem}
div#mfp_thanks{font-size:1rem;color:var(--base);line-height:1.9}
div#mfp_thanks strong{display:block;font-size:1.375rem;color:var(--accent);margin-bottom:.5rem}
div.mfp_thanks ul.mfp_caution{margin:0;padding:0;list-style:none}
.thanks-receipt{padding:4rem 0}
@media (max-width:600px){
  table#mfp_confirm_table tr th,table#mfp_confirm_table tr td{display:block;width:100%}
  table#mfp_confirm_table tr th{padding-bottom:.125rem}
  table#mfp_confirm_table tr td{border-top:none;padding-top:0}
}

/* ===== 2026-10-06 基板の外側：筐体・ハーネス（トップ #beyond）／よくあるご質問（/service/ #faq） ===== */
.beyond .head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}
.beyond .head p{font-size:.9375rem;line-height:2}
.beyond .head p b{color:var(--base)}
.beyond .note{margin-top:1.5rem;font-size:.8125rem;color:var(--muted)}
.cons .who{grid-template-columns:repeat(4,1fr)}
@media (max-width:1080px){.cons .who{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.cons .who{grid-template-columns:1fr}}
@media (max-width:767px){.beyond .head{grid-template-columns:1fr;gap:1.5rem}}
.faq{margin-top:2.5rem;border-top:1px solid var(--gray)}
.faq details{border-bottom:1px solid var(--gray)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:1rem;align-items:baseline;padding:1.25rem 2.5rem 1.25rem 0;position:relative;font-weight:700;color:var(--base);line-height:1.7}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--en);font-weight:600;color:var(--accent);flex:none}
.faq summary::after{content:"+";position:absolute;right:.5rem;top:1.125rem;font-family:var(--en);font-size:1.25rem;color:var(--muted);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{display:flex;gap:1rem;padding:0 0 1.5rem;font-size:.9375rem;line-height:2}
.faq .a::before{content:"A";font-family:var(--en);font-weight:600;color:var(--muted);flex:none}
.faq .a p+p{margin-top:.5rem}

/* ===== 2026-10-11 相談の事例（5行）・勉強会の参加のしかた ===== */
.case5,.join5{display:grid;grid-template-columns:10rem 1fr;margin-top:1.5rem;border-top:1px solid rgba(8,17,26,.12)}
.case5 dt,.case5 dd,.join5 dt,.join5 dd{padding:.875rem 0;border-bottom:1px solid rgba(8,17,26,.12);margin:0;font-size:.9375rem;line-height:1.8}
.case5 dt,.join5 dt{font-weight:700;color:var(--base)}
.join5{max-width:60rem}
@media (max-width:767px){
  .case5,.join5{grid-template-columns:1fr}
  .case5 dt,.join5 dt{border-bottom:0;padding-bottom:0}
  .case5 dd,.join5 dd{padding-top:.25rem}
}

/* ===== 2026-10-11 日本語を主見出しに（見出し帯の英字は小さなラベルに） ===== */
.phd .en{font-size:1rem;font-weight:600;letter-spacing:.06em;line-height:1.2;color:var(--cyan)}
.phd h1{margin-top:.75rem;font-size:2.75rem;line-height:1.4}
.blk .hd2{align-items:start}
@media (max-width:767px){
  .phd h1{font-size:1.75rem}
}

/* 2026-10-11 フォームの項目名が途中で折れないように（「確認のためもう一度」「聞いてみたいこと・」など） */
.fm dl{grid-template-columns:15em 1fr}
.fm dt{white-space:nowrap}
@media (max-width:767px){.fm dl{grid-template-columns:1fr}}
