/*
Theme Name: 会社のつぎかた (Tsugikata)
Theme URI: https://tsugikata.jp/
Author: MEGURIWA / コーディ (Claude Code)
Description: 事業承継・M&Aメディア「会社のつぎかた」専用クラシックテーマ。寄り添い系v1.1デザイン（白×ブルー×黄／Zen Maru Gothic）。CSSトークンは design/site 正本をそのまま継承（上書き禁止）。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tsugikata
*/

/* ==== 以下、design/site(v1.1正本) の assets/tsugikata.css をそのまま統合（変更禁止） ==== */

/* ==========================================================
   会社のつぎかた — 共通スタイル v1.0（寄り添い系・確定トークン）
   白 × ブルー #2456c8 × 黄 #ffc83d ／ Zen Maru Gothic + Noto Sans JP
   シグネチャ：吹き出しラベル（beyebrow）＋蛍光マーカー＋線画サムネ
   ========================================================== */
:root{
  --white:#ffffff;--paper:#f6f9fe;--blue:#2456c8;--blue-deep:#1c3f96;--blue-soft:#eaf1fb;
  --yellow:#ffc83d;--mark:rgba(255,200,61,.55);--coral:#f47b5e;
  --ink:#233040;--ink-soft:#5b6b7d;--line:#e3eaf4;--maxw:1080px;
  --maru:"Zen Maru Gothic",sans-serif;--sans:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--ink);font-family:var(--sans);line-height:1.9;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.maru{font-family:var(--maru)}
.mark{background:linear-gradient(transparent 58%,var(--mark) 58%);padding:0 .1em}

/* 吹き出しラベル（シグネチャ） */
.beyebrow{position:relative;display:inline-block;font-family:var(--maru);font-weight:700;font-size:13px;color:var(--blue);background:var(--blue-soft);padding:8px 18px;border-radius:16px;margin-bottom:16px;line-height:1.2}
.beyebrow::after{content:"";position:absolute;left:24px;bottom:-8px;border:9px solid transparent;border-top-color:var(--blue-soft);border-bottom:0}
.beyebrow.coral{color:#c4513a;background:#ffe6de}.beyebrow.coral::after{border-top-color:#ffe6de}
.beyebrow.yellow{color:#9a6a00;background:#fff2cf}.beyebrow.yellow::after{border-top-color:#fff2cf}

/* ヘッダー */
header.bar{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.logo{display:flex;align-items:center;gap:10px}
.logo .ic{width:34px;height:34px;flex:0 0 auto}
.logo .ja{font-family:var(--maru);font-weight:900;font-size:19px}
nav.main{display:flex;gap:18px;font-family:var(--maru);font-weight:500;font-size:13.5px}
nav.main a{color:var(--ink);padding:4px 0}nav.main a:hover{color:var(--blue)}
nav.main a[aria-current="true"]{color:var(--blue);border-bottom:2px solid var(--yellow)}
.btn-mail{font-family:var(--maru);font-weight:700;font-size:13.5px;background:var(--blue);color:#fff;padding:9px 18px;border-radius:999px;transition:.2s}
.btn-mail:hover{background:var(--blue-deep)}
.menu-ic{display:none;font-family:var(--maru);font-weight:700;color:var(--blue)}

/* パンくず */
.crumb{font-family:var(--maru);font-weight:500;font-size:12px;color:var(--ink-soft);padding:14px 0 0}
.crumb a{color:var(--blue)}
.crumb span{margin:0 6px;color:#b6c2d2}

/* HERO（トップ） */
.hero{background:linear-gradient(180deg,#fbfdff,#eef4fe);padding:48px 0 54px;border-top:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:30px;align-items:center}
.hero h1{font-family:var(--maru);font-weight:900;font-size:clamp(26px,4.3vw,40px);line-height:1.5;margin:0 0 .5em}
.hero .sub{font-size:15px;color:var(--ink-soft);line-height:1.95;max-width:28em}
.hero .cta{margin-top:24px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cta-main{font-family:var(--maru);font-weight:700;font-size:15px;background:var(--blue);color:#fff;padding:14px 26px;border-radius:999px;box-shadow:0 8px 18px rgba(36,86,200,.25);transition:.2s}
.cta-main:hover{background:var(--blue-deep);transform:translateY(-1px)}
.cta-main small{display:block;font-family:var(--sans);font-weight:400;font-size:10.5px;opacity:.85;margin-top:1px}
.cta-sub{font-family:var(--maru);font-weight:500;font-size:13px;color:var(--blue);border-bottom:2px solid var(--yellow);padding-bottom:1px}

/* 2円ヒーロー画像＋モーション */
.hero-figure{position:relative;width:100%;max-width:480px;margin:0 auto;aspect-ratio:1/.94}
.circle{position:absolute;border-radius:50%;overflow:hidden;border:1px solid #d6e0ef;background:#fff;box-shadow:0 18px 44px rgba(28,63,150,.14)}
.circle img{width:100%;height:100%;object-fit:cover;display:block}
.c-big{top:2%;left:0;width:68%;aspect-ratio:1/1;z-index:2;opacity:0;animation:fadein .8s ease .15s forwards,floatA 6.5s ease-in-out 1.1s infinite}
.c-small{bottom:0;right:0;width:45%;aspect-ratio:1/1;z-index:3;opacity:0;animation:fadein .8s ease .35s forwards,floatB 7.6s ease-in-out 1.4s infinite}
.deco-blob{position:absolute;left:4%;bottom:4%;width:42%;height:42%;background:var(--blue-soft);border-radius:48% 52% 56% 44%/54% 46% 54% 46%;z-index:1;opacity:0;animation:fadein 1s ease .5s forwards}
.deco-arc{position:absolute;left:-3%;top:3%;z-index:4;opacity:0;animation:fadein 1s ease .55s forwards,floatA 6.5s ease-in-out 1.1s infinite}
.deco-dots{position:absolute;top:-3%;right:8%;z-index:4}
.deco-dots circle{transform-box:fill-box;transform-origin:center;animation:twinkle 3.4s ease-in-out infinite}
.deco-dots circle:nth-child(2){animation-delay:.6s}.deco-dots circle:nth-child(3){animation-delay:1.1s}.deco-dots circle:nth-child(4){animation-delay:.3s}
.deco-dash{position:absolute;right:25%;top:38%;z-index:1}
.deco-dash path{stroke-dasharray:5 8;animation:dashmove 7s linear infinite}
@keyframes fadein{to{opacity:1}}
@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes twinkle{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@keyframes dashmove{to{stroke-dashoffset:-52}}

/* 下層ページヘッダー */
.page-head{background:linear-gradient(180deg,#fbfdff,#eef4fe);border-top:1px solid var(--line);padding:36px 0 34px}
.page-head h1{font-family:var(--maru);font-weight:900;font-size:clamp(23px,3.6vw,32px);line-height:1.55;margin:.1em 0 .35em}
.page-head .sub{font-size:14px;color:var(--ink-soft);max-width:38em;line-height:1.95}

/* チップ */
.ask{padding:30px 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:var(--maru);font-weight:500;font-size:13.5px;color:var(--blue);background:var(--blue-soft);padding:8px 16px;border-radius:999px;transition:.18s}
.chip:hover{background:var(--blue);color:#fff}
.chip[aria-current="true"]{background:var(--blue);color:#fff}

/* セクション */
.sec{padding:46px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}
.sec-head .t{font-family:var(--maru);font-weight:900;font-size:23px}
.sec-head .more{font-family:var(--maru);font-weight:500;font-size:13px;color:var(--blue)}

/* 記事カード（線画サムネ） */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.card:hover{box-shadow:0 12px 26px rgba(36,86,200,.1);transform:translateY(-2px)}
.thumb{height:124px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center}
.thumb.y{background:#fff4d6}.thumb.c{background:#fde7e0}
.thumb svg{width:74px;height:74px}
.card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.tag{font-family:var(--maru);font-weight:700;font-size:11px;color:var(--blue);background:var(--blue-soft);align-self:flex-start;padding:3px 10px;border-radius:999px}
.tag.new{color:#fff;background:var(--coral)}
.card h3,.card h4{font-family:var(--maru);font-weight:700;font-size:15.5px;line-height:1.6}
.card p{font-size:12.5px;color:var(--ink-soft);line-height:1.8}
.card .date{font-size:11.5px;color:#9aa7b6;margin-top:auto;font-weight:500}
/* 一覧（リスト型・下層用） */
.list-rows{display:flex;flex-direction:column;gap:14px}
.row-card{display:grid;grid-template-columns:108px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s}
.row-card:hover{box-shadow:0 12px 26px rgba(36,86,200,.1);transform:translateY(-2px)}
.row-card .thumb{height:100%;min-height:96px}
.row-card .thumb svg{width:56px;height:56px}
.row-card .body{padding:14px 18px 14px 0;display:flex;flex-direction:column;gap:6px}
.row-card h3{font-family:var(--maru);font-weight:700;font-size:15.5px;line-height:1.6}
.row-card p{font-size:12.5px;color:var(--ink-soft);line-height:1.8}
.row-card .date{font-size:11.5px;color:#9aa7b6;font-weight:500}

/* 節目タイムライン */
.fushime{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fushime .inner{padding:42px 0}
.fushime h2{font-family:var(--maru);font-weight:900;font-size:22px;margin-bottom:4px}
.fushime .lead{font-size:13.5px;color:var(--ink-soft);margin-bottom:24px}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}
.timeline::before{content:"";position:absolute;left:8px;right:8px;top:9px;height:3px;background:var(--blue-soft);border-radius:2px}
.node{position:relative;padding-top:28px}
.node::before{content:"";position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;background:var(--yellow);border:3px solid #fff;box-shadow:0 0 0 2px var(--blue-soft)}
.node.keep::before{background:var(--blue)}
.node .yr{font-family:var(--maru);font-weight:900;color:var(--blue);font-size:15px}
.node .d{font-family:var(--maru);font-weight:700;font-size:15px;margin:3px 0 5px}
.node .x{font-size:12.5px;color:var(--ink-soft);line-height:1.8}
.node .badge{display:inline-block;font-family:var(--maru);font-weight:700;font-size:10px;color:var(--blue);background:var(--blue-soft);border-radius:8px;padding:2px 8px;margin-top:8px}

/* 2列導線 */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.duo>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.duo h2,.duo h3{font-family:var(--maru);font-weight:900;font-size:18px;margin-bottom:8px}
.duo p{font-size:13.5px;color:var(--ink-soft);line-height:1.85;margin-bottom:14px}
.pref{display:flex;flex-wrap:wrap;gap:7px}
.pref a{font-family:var(--maru);font-weight:500;font-size:12px;color:var(--blue);background:var(--blue-soft);padding:5px 11px;border-radius:999px}
.pref a:hover{background:var(--blue);color:#fff}
.pref a.wip{color:#9aa7b6;background:#f1f4f8;cursor:default}

/* 都道府県グリッド（chiiki） */
.pref-block{margin-bottom:26px}
.pref-block h2{font-family:var(--maru);font-weight:700;font-size:15px;color:var(--blue);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.pref-block h2::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--yellow)}

/* 声 */
.koe{background:linear-gradient(180deg,#fffdf6,#fff7e8);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.koe .inner{padding:46px 0}
.koe h2{font-family:var(--maru);font-weight:900;font-size:24px;margin-bottom:6px}
.koe .lead{font-size:13.5px;color:var(--ink-soft);margin-bottom:24px}
.koe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.koe-card{background:#fff;border:1px solid #f0e2c4;border-radius:16px;padding:22px}
.koe-card .bubble{background:var(--blue-soft);border-radius:14px;padding:14px 16px;font-family:var(--maru);font-weight:700;font-size:14px;line-height:1.7;position:relative;margin-bottom:16px}
.koe-card .bubble::after{content:"";position:absolute;left:24px;bottom:-9px;border:9px solid transparent;border-top-color:var(--blue-soft);border-bottom:0}
.koe-card .who{display:flex;align-items:center;gap:11px}
.koe-card .who .face{width:42px;height:42px;flex:0 0 auto}
.koe-card .who .meta{font-size:12px;color:var(--ink-soft);line-height:1.6}
.koe-card .who .meta b{font-family:var(--maru);font-weight:700;color:var(--ink);font-size:13px;display:block}
.koe-card.wip{border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--ink-soft)}
.koe-card.wip .pill{font-family:var(--maru);font-weight:700;font-size:12px;color:#fff;background:var(--coral);padding:4px 14px;border-radius:999px}
.koe-card.wip p{font-size:12.5px;line-height:1.8}
.koe-note{font-size:11.5px;color:var(--ink-soft);margin-top:18px;text-align:center}

/* ソフトCTA */
.softcta{background:var(--blue);color:#fff;text-align:center;padding:52px 0}
.softcta h2{font-family:var(--maru);font-weight:900;font-size:25px;margin-bottom:10px}
.softcta .mk{background:linear-gradient(transparent 58%,rgba(255,200,61,.85) 58%);padding:0 .1em}
.softcta p{font-size:14px;opacity:.9;max-width:30em;margin:0 auto 22px;line-height:1.9}
.softcta .form{display:flex;gap:10px;justify-content:center;max-width:460px;margin:0 auto;flex-wrap:wrap}
.softcta input{flex:1;min-width:210px;font-size:14px;padding:13px 16px;border:none;border-radius:999px;color:var(--ink)}
.softcta button{font-family:var(--maru);font-weight:700;font-size:14px;background:var(--yellow);color:var(--blue-deep);border:none;padding:13px 26px;border-radius:999px;cursor:pointer}
.softcta .pv{font-size:11px;opacity:.7;margin-top:13px}

/* フッター */
footer.foot{padding:38px 0 32px;border-top:1px solid var(--line);margin-top:8px}
footer.foot .row{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
footer.foot .ja{font-family:var(--maru);font-weight:900;font-size:16px;margin-bottom:6px}
footer.foot .ymyl{font-size:12px;color:var(--ink-soft);line-height:1.8;max-width:30em}
footer.foot nav{display:flex;gap:18px;font-family:var(--maru);font-weight:500;font-size:12.5px;color:var(--ink-soft);flex-wrap:wrap}
footer.foot nav a:hover{color:var(--blue)}
footer.foot .cp{font-size:11.5px;color:#9aa7b6;margin-top:20px}

/* 記事 */
.article{display:grid;grid-template-columns:1fr 300px;gap:42px;padding:34px 0 52px}
.art h1{font-family:var(--maru);font-weight:900;font-size:clamp(23px,3.3vw,31px);line-height:1.55;margin:6px 0 14px}
.stamp{display:inline-flex;align-items:center;gap:8px;font-family:var(--maru);font-weight:500;font-size:12px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 13px;margin-bottom:20px}
.stamp .dot{width:7px;height:7px;border-radius:50%;background:var(--yellow)}
.lead-sum{font-size:15px;color:var(--ink-soft);line-height:2;background:var(--paper);border-radius:14px;padding:18px 20px;margin-bottom:26px}
.box-concl{background:var(--blue-soft);border-radius:14px;padding:20px 22px;margin-bottom:26px}
.box-concl .h{font-family:var(--maru);font-weight:700;font-size:13px;color:var(--blue);margin-bottom:8px}
.box-concl p{font-size:15px;line-height:1.95}
.art h2{font-family:var(--maru);font-weight:900;font-size:20px;margin:28px 0 14px}
.art h3{font-family:var(--maru);font-weight:700;font-size:16.5px;margin:22px 0 10px}
.art p{font-size:15px;line-height:2.05;margin-bottom:16px}
.art ul,.art ol{margin:0 0 16px 1.4em}
.art li{font-size:14.5px;line-height:1.95;margin-bottom:6px}
.art .term{color:var(--blue);font-weight:700}
.ryoken{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 24px}
.ryoken>div{border-radius:14px;padding:18px 20px}
.ryoken .now{background:#f1f4f8;border:1px solid var(--line)}.ryoken .new{background:#fff;border:2px solid var(--blue)}
.ryoken .k{font-family:var(--maru);font-weight:700;font-size:11.5px;margin-bottom:9px}.ryoken .now .k{color:var(--ink-soft)}.ryoken .new .k{color:var(--blue)}
.ryoken .v{font-family:var(--maru);font-weight:700;font-size:16px;line-height:1.6;margin-bottom:6px}
.ryoken .note{font-size:12.5px;color:var(--ink-soft);line-height:1.8}
.box-care{background:#fff7e8;border:1px solid #f3e3bf;border-radius:14px;padding:18px 20px;margin:6px 0 24px}
.box-care .h{font-family:var(--maru);font-weight:700;font-size:12.5px;color:#c47b1a;margin-bottom:7px}.box-care p{font-size:14px;line-height:1.9;margin:0}
.inline-mail{background:var(--blue);color:#fff;border-radius:16px;padding:22px 24px;margin:6px 0 24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.inline-mail .tx{flex:1;min-width:200px}
.inline-mail b{font-family:var(--maru);font-weight:700;font-size:16px;display:block;margin-bottom:3px}
.inline-mail span{font-size:12.5px;opacity:.9}
.inline-mail a{font-family:var(--maru);font-weight:700;font-size:13px;background:var(--yellow);color:var(--blue-deep);padding:11px 22px;border-radius:999px;white-space:nowrap}
.ymyl-box{border:2px dashed var(--line);border-radius:14px;padding:16px 20px;margin-top:26px;background:#fbfdff}
.ymyl-box .h{font-family:var(--maru);font-weight:700;font-size:11px;color:var(--ink-soft);margin-bottom:5px}
.ymyl-box p{font-size:12.5px;color:var(--ink-soft);line-height:1.9;margin:0}
.aside{display:flex;flex-direction:column;gap:18px;align-self:start;position:sticky;top:18px}
.side-card{border:1px solid var(--line);border-radius:16px;padding:18px}
.side-card .h{font-family:var(--maru);font-weight:700;font-size:12px;color:var(--blue);margin-bottom:12px}
.side-card ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.side-card li a{font-family:var(--maru);font-weight:500;font-size:13.5px;line-height:1.6}
.side-card li a:hover{color:var(--blue)}
.slot005{border:2px solid var(--blue);border-radius:16px;overflow:hidden}
.slot005 .top{background:var(--blue);color:#fff;font-family:var(--maru);font-weight:700;font-size:10.5px;padding:7px 14px}
.slot005 .b{padding:18px}
.slot005 .b b{font-family:var(--maru);font-weight:900;font-size:17px;display:block;margin-bottom:6px}
.slot005 .b p{font-size:12.5px;color:var(--ink-soft);line-height:1.8;margin-bottom:13px}
.slot005 .b a{font-family:var(--maru);font-weight:700;font-size:12.5px;color:#fff;background:var(--coral);padding:9px 16px;border-radius:999px;display:inline-block}
.slot005 .note{font-size:10px;color:#9aa7b6;text-align:center;padding:7px;border-top:1px dashed var(--line)}

/* 窓口情報カード（chiiki記事用） */
.mado-card{border:2px solid var(--blue);border-radius:16px;overflow:hidden;margin:6px 0 24px}
.mado-card .top{background:var(--blue);color:#fff;font-family:var(--maru);font-weight:700;font-size:13px;padding:10px 18px}
.mado-card .b{padding:20px;display:grid;grid-template-columns:110px 1fr;gap:8px 14px;font-size:13.5px}
.mado-card .k{font-family:var(--maru);font-weight:700;color:var(--ink-soft);font-size:12.5px}
.mado-card .v{line-height:1.8}
.needs-check{display:inline-block;font-family:var(--maru);font-weight:700;font-size:10.5px;color:#c47b1a;background:#fff2cf;border:1px dashed #e8c96a;border-radius:8px;padding:1px 8px}

/* ステップ（相談の流れ） */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:6px 0 24px}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;position:relative}
.step .n{font-family:var(--maru);font-weight:900;font-size:13px;color:var(--blue-deep);background:var(--yellow);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.step b{font-family:var(--maru);font-weight:700;font-size:14.5px;display:block;margin-bottom:6px}
.step p{font-size:12.5px;color:var(--ink-soft);line-height:1.8}

/* about用 */
.pillar{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:6px 0 10px}
.pillar>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.pillar .ic{width:44px;height:44px;margin-bottom:12px}
.pillar b{font-family:var(--maru);font-weight:900;font-size:16px;display:block;margin-bottom:8px}
.pillar p{font-size:13px;color:var(--ink-soft);line-height:1.85}

/* LP */
.lp{padding:54px 0 58px;max-width:680px;margin:0 auto;text-align:center}
.lp .face-big{width:84px;margin:0 auto 16px;display:block}
.lp h1{font-family:var(--maru);font-weight:900;font-size:clamp(25px,4vw,36px);line-height:1.55;margin:.3em 0}
.lp .reassure{font-size:15px;color:var(--ink-soft);line-height:2.05;max-width:26em;margin:0 auto 34px}
.lp-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left;margin-bottom:34px}
.lp-list>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 18px}
.lp-list .ic{width:40px;height:40px;margin-bottom:10px}
.lp-list b{font-family:var(--maru);font-weight:700;font-size:15px;display:block;margin-bottom:6px}
.lp-list p{font-size:12.5px;color:var(--ink-soft);line-height:1.8}
.lp-form{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:32px 30px;text-align:left}
.lp-form label{font-family:var(--maru);font-weight:700;font-size:12.5px;display:block;margin-bottom:6px}
.lp-form .opt{color:#9aa7b6;font-weight:400;font-size:11px}
.lp-form input,.lp-form select{width:100%;font-size:15px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:18px;color:var(--ink)}
.lp-form button{width:100%;font-family:var(--maru);font-weight:700;font-size:16px;background:var(--blue);color:#fff;border:none;padding:15px;border-radius:999px;cursor:pointer;box-shadow:0 8px 18px rgba(36,86,200,.25)}
.lp-form button:hover{background:var(--blue-deep)}
.lp-form .pv{font-size:11.5px;color:#9aa7b6;text-align:center;line-height:1.8;margin-top:15px}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:880px){
  .hero .wrap{grid-template-columns:1fr}.hero-figure{order:-1;max-width:320px}
  .grid,.grid.two,.koe-grid,.pillar,.steps{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr;gap:16px}.timeline::before{display:none}.node{padding-top:0;padding-left:28px}.node::before{top:4px}
  .duo,.article,.ryoken,.lp-list{grid-template-columns:1fr}.aside{position:static}
  .row-card{grid-template-columns:88px 1fr}
  nav.main{display:none}.menu-ic{display:block}
}
@media(max-width:520px){.grid,.grid.two,.koe-grid,.pillar,.steps{grid-template-columns:1fr}.wrap{padding:0 18px}.mado-card .b{grid-template-columns:1fr}}
