/* 下層ページ：新デザイン案（v2）の共通部分
   ホーム（v2.css）と同じ考え方：英字の小見出しをやめる／箱を減らして罫線と余白で区切る／ページの中で強い面は一か所だけ。
   templates/v2/◯◯.php がないページ（会則・特商法・プライバシー・フォームなど）は、カンプ版の本文にこのCSSだけが当たる。 */

/* ===== 見出しの帯：ホームの最初の画面と同じ紺→緑の面と細い円弧 ===== */
body.design-v2 .page-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--navy) 0%,var(--navy-2) 42%,var(--teal) 80%,var(--green-2) 100%)}
body.design-v2 .page-hero::after{content:"";position:absolute;right:-80px;bottom:-220px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 90px transparent,0 0 0 91px rgba(255,255,255,.1);pointer-events:none}
body.design-v2 .page-hero .wrap{position:relative;z-index:1;max-width:1120px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,64px)}
body.design-v2 .page-hero h1{font-size:clamp(28px,4.4vw,44px);letter-spacing:.03em;line-height:1.35}
body.design-v2 .page-hero p:not(.crumb){font-size:clamp(15px,1.6vw,17px);line-height:2;max-width:40em;margin-top:18px}
body.design-v2 .crumb{font-size:12px;margin-bottom:16px;letter-spacing:.04em}

/* ===== ページ内の目次：丸いボタンをやめ、細い線の上の文字リンクに ===== */
body.design-v2 .toc-wrap{background:#fff;padding:0}
body.design-v2 .toc{gap:0}
body.design-v2 .toc a{background:none;border:0;border-radius:0;padding:14px 16px 13px;font-size:13px;color:var(--navy);border-bottom:2px solid transparent}
body.design-v2 .toc li:first-child a{padding-left:0}
body.design-v2 .toc a:hover{border-bottom-color:var(--green);color:var(--green)}
body.design-v2 .toc-wrap .wrap{max-width:1120px}

/* ===== カンプ版の本文に当てる分（v2 の本文がないページ） ===== */
body.design-v2 .sec-head .label{display:none}
body.design-v2 .section .wrap{max-width:1120px}

/* ===== 下層の v2 本文で共通に使う部品 ===== */
.v2-page{--v2-gap:clamp(64px,9vw,120px)}
.v2-page .wrap{max-width:1120px}

/* 左に見出し・右に本文（ホームの .v2-split と同じ比率で、見出しを上で止める） */
.v2-page .v2-split>.v2-split-head{position:sticky;top:120px}
@media (max-width:860px){.v2-page .v2-split>.v2-split-head{position:static}}

/* 定義の一覧（日時・会場・料金など）：表の枠をやめ、罫線だけで */
.v2-dl{border-top:2px solid var(--navy);margin:0}
.v2-dl>div{display:grid;grid-template-columns:9em minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.v2-dl dt{font-size:14px;font-weight:700;color:var(--sub)}
.v2-dl dd{margin:0;font-size:15px;line-height:1.85}
.v2-dl dd b{color:var(--navy)}
@media (max-width:600px){.v2-dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}

/* 料金の表：大きな数字を主役に */
.v2-price{width:100%;border-collapse:collapse;font-size:15px}
.v2-price th,.v2-price td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.v2-price thead th{font-size:13px;color:var(--sub);font-weight:700;border-bottom:2px solid var(--navy)}
.v2-price tbody th{color:var(--navy);font-weight:700}
.v2-price td b{font-size:22px;color:var(--navy)}
.v2-price-wrap{overflow-x:auto}

/* よくある質問：箱をやめ、罫線の開閉 */
.v2-faq{border-top:1px solid var(--line)}
.v2-faq details{border-bottom:1px solid var(--line)}
.v2-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:700;color:var(--navy);position:relative;line-height:1.7}
.v2-faq summary::-webkit-details-marker{display:none}
.v2-faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);transition:transform .2s}
.v2-faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.v2-faq .a{padding:0 0 20px;font-size:15px;line-height:1.9}
.v2-faq summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}

/* 人の紹介：丸い写真＋名前（世話人・講演者） */
.v2-person{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;padding:32px 0;border-bottom:1px solid var(--line)}
.v2-person:first-child{border-top:1px solid var(--line)}
.v2-person img{width:150px;height:150px;border-radius:50%;object-fit:cover}
.v2-person .v2-role{margin-bottom:2px}
.v2-person .v2-name{font-size:20px;margin:0 0 4px}
.v2-person .v2-org{font-size:13px;margin:0 0 14px}
.v2-person p{font-size:15px;line-height:1.9}
@media (max-width:600px){.v2-person{grid-template-columns:minmax(0,1fr);gap:16px}.v2-person img{width:110px;height:110px}}

/* 番号のない、短い線で始まる段落の見出し（本文の中の小見出し） */
.v2-h4{font-size:17px;color:var(--navy);margin:32px 0 10px;display:flex;align-items:center;gap:12px}
.v2-h4::before{content:"";width:18px;height:2px;background:var(--green);flex-shrink:0}

/* 下層ページの印刷・動きを減らす設定 */
@media print{body.design-v2 .page-hero::after{display:none}}
