@charset "utf-8";
/* =========================================================
   セミナー・イベント一覧（613:32531）
   前半の .pg- は event / event-detail / awards / privacy / tokushoho / 404 で共用（共通化候補）
     .pg      … 地の三角（Vector 77）＋上 70 / 下 130 の余白（Frame 963）
     .pg .crumb … 高さ 23 の行に置くパンくず（Frame 851 の簡易版）
     .pg-ttl  … 英字の大見出し＋和文見出し＋リード（Frame 901）
     .pg-sec / .pg-bh … セクション（上下 70）とオレンジ棒見出し（Frame 253：38px）
     .pg-tbl  … 白い 1px 枠のセル表（Frame 1321321266）
     .pg-cta  … 相談フォーム CTA（Frame 637 / 627）
   1rem = 100 design-px
   ========================================================= */
.pg { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: .70rem 0 1.30rem; }
.pg::before { content: ""; position: absolute; left: 0; top: 0; width: 3.18rem; height: 2.59rem; background: rgba(255,255,255,.12); clip-path: polygon(0 0, 100% 0, 0 100%); pointer-events: none; }
.pg .crumb { position: relative; height: .23rem; align-items: flex-start; background: none; }

.pg-ttl { position: relative; width: 11rem; margin: 0 auto; display: flex; flex-direction: column; align-items: flex-start; color: #fd6a05; }
.pg-ttl__en { height: 1.40rem; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 1.07074rem; line-height: 1.39196rem; letter-spacing: .139196rem; white-space: nowrap; }
.pg-ttl__ja { margin-top: .17rem; height: .38rem; font-weight: 700; font-size: .24rem; line-height: .37166rem; letter-spacing: .0168rem; white-space: nowrap; }
.pg-ttl__lead { margin-top: .35rem; width: 100%; color: #fff; font-weight: 400; font-size: .16rem; line-height: .34rem; letter-spacing: .024rem; }

.pg-sec { display: flex; flex-direction: column; align-items: center; gap: .70rem; padding: .70rem 0; }
.pg-bh { width: 11rem; display: flex; align-items: stretch; gap: .19rem; font-weight: 700; font-size: .38rem; line-height: .64rem; letter-spacing: .0266rem; white-space: nowrap; }
.pg-bh::before { content: ""; flex: none; width: .10rem; background: #f1a36e; }

/* 白い 1px 枠の表（各セルが自分の枠を持つため、隣り合うセルの間は 2px になる＝Figma 通り） */
.pg-tbl { --lw: 1.14rem; --vw: 3.49rem; --h: .49rem; display: flex; flex-direction: column; color: #fff; }
.pg-tbl__row { display: flex; }
.pg-tbl__row > * { display: flex; align-items: center; height: var(--h); padding: 0 .28rem; box-shadow: inset 0 0 0 .01rem #fff; font-size: .16rem; letter-spacing: .0112rem; }
.pg-tbl__row > :first-child { flex: none; width: var(--lw); background: #4b4344; font-weight: 700; line-height: .35542rem; }
.pg-tbl__row > :last-child { flex: none; width: var(--vw); background: #352e2e; font-weight: 400; line-height: .25rem; }

/* ---------- 開催予定のカード（Frame 368） ---------- */
.evc-list { display: flex; align-items: flex-start; gap: .38rem; }
.evc { flex: none; width: 3.41464rem; display: flex; flex-direction: column; align-items: flex-start; gap: .18rem; filter: drop-shadow(0 .10561rem .14081rem rgba(0,0,0,.08)); }
.evc__img { display: block; width: 100%; height: 1.91853rem; border-radius: .10501rem; overflow: hidden; }
.evc__img img { width: 100%; height: 100%; object-fit: cover; }
.evc__body { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: .21rem; }
.evc__info { width: 100%; display: flex; flex-direction: column; gap: .09rem; }
.evc__meta { display: flex; align-items: flex-start; gap: .12601rem; }
.evc__tag, .evc__btn { display: flex; align-items: center; justify-content: center; padding: .03839rem .22071rem; border-radius: .27319rem; font-weight: 500; font-size: .15357rem; line-height: .27955rem; letter-spacing: .016893rem; white-space: nowrap; }
.evc__tag { background: #ffead7; color: #fd6a05; }
.evc__date { width: .98rem; white-space: nowrap; height: .34rem; font-weight: 500; font-size: .16802rem; line-height: .33442rem; letter-spacing: .011761rem; }
.evc__ttl { font-weight: 700; font-size: .21002rem; line-height: .33442rem; letter-spacing: .014702rem; text-align: justify; min-height: 1.01rem; } /* テキスト枠の整数切り上げ（100.33→101） */
.evc__place { margin-top: calc(.06301rem - .09rem); height: .34rem; font-weight: 500; font-size: .16802rem; line-height: .33442rem; letter-spacing: .011761rem; }
.evc__btn { gap: .08rem; background: #fd6a05; color: #fff; }
.evc__btn i { flex: none; width: .16rem; height: .0736rem; margin: 0 -.005rem; background: url(../img/event/arw.svg) no-repeat 0 0 / 100% 100%; }

/* ---------- 過去のセミナー（Frame 1321321388） ---------- */
.evp { width: 9.53397rem; display: flex; flex-direction: column; gap: .42rem; }
.evp li { position: relative; display: flex; align-items: center; gap: .50rem; padding-bottom: .42rem; font-weight: 400; font-size: .16rem; line-height: .34rem; letter-spacing: .024rem; }
.evp li::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.005rem; height: .01rem; background: #fff; }
.evp time { flex: none; width: 1.02rem; white-space: nowrap; }
.evp a { flex: none; width: 6.25rem; }
.evp__rec { flex: none; display: flex; align-items: center; justify-content: center; height: .41924rem; padding: 0 .24698rem; border-radius: .28463rem; background: #4b4344; box-shadow: inset 0 0 0 .01703rem #fff; font-weight: 500; font-size: .18116rem; line-height: .29125rem; letter-spacing: .012681rem; white-space: nowrap; }

/* ---------- 相談フォーム CTA（Frame 637 / 627） ---------- */
.pg-cta { display: flex; flex-direction: column; align-items: center; padding: .70rem 0; background: #352e2e; color: #fff; }
.pg-cta__panel { position: relative; overflow: hidden; display: flex; align-items: flex-start; gap: .27rem; padding: .41rem .57rem; border-radius: .26421rem; }
.pg-cta__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pg-cta__panel::after { content: ""; position: absolute; left: 50%; top: calc(50% - .0041rem); width: 12.22003rem; height: 5.97588rem; transform: translate(-50%, -50%); background: #fd6a05; opacity: .6; pointer-events: none; }
.pg-cta__txt, .pg-cta__form { position: relative; z-index: 1; }
.pg-cta__txt { width: 5.39rem; display: flex; flex-direction: column; align-items: flex-start; }
.pg-cta__ttl { height: 1.30rem; text-indent: -.24rem; /* Figma 最新：1行目の「が左端にそろう */ font-weight: 700; font-size: .44096rem; line-height: .6499rem; letter-spacing: .030867rem; white-space: nowrap; }
.pg-cta__p { margin-top: .19376rem; font-weight: 500; font-size: .15503rem; line-height: .29rem; letter-spacing: .023254rem; white-space: nowrap; }
.pg-cta__tags { margin-top: .16rem; display: flex; gap: .14rem; }
.pg-cta__tags li { padding: .0688rem .19265rem; background: #352e2e; font-weight: 700; font-size: .18712rem; line-height: .27578rem; letter-spacing: .018712rem; white-space: nowrap; }
.pg-cta__stat { margin-top: .53rem; display: flex; align-items: center; gap: .20419rem; }
.pg-cta__stat .b { flex: none; width: 1.15308rem; height: 1.15308rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #352e2e; font-weight: 700; font-size: .18545rem; line-height: .27332rem; letter-spacing: .018545rem; text-align: center; white-space: nowrap; }
.pg-cta__stat .n { display: flex; align-items: flex-end; gap: .03603rem; font-weight: 700; font-size: .37701rem; line-height: .55565rem; letter-spacing: .026391rem; }
.pg-cta__stat .n b { display: flex; align-items: center; height: .63146rem; font-family: Montserrat, sans-serif; font-size: .81563rem; line-height: 1.947rem; letter-spacing: .024469rem; }
.pg-cta__form { width: 5.24906rem; display: flex; flex-direction: column; align-items: flex-end; }
.pg-cta__lb { position: relative; align-self: stretch; padding-bottom: calc(.00206rem + .06165rem); font-weight: 700; font-size: .19537rem; line-height: .28794rem; letter-spacing: .013676rem; white-space: nowrap; }
.pg-cta__lb::after { content: ""; position: absolute; left: 0; bottom: -.01rem; width: 100%; height: .02rem; background: #fff; } /* Figma 最新：水平な線（Vector 118・2px） */
.pg-cta__lb--2 { margin-top: .26rem; }
.pg-cta__ta { align-self: stretch; height: 1.52364rem; margin-top: .20rem; padding: .10rem; border: 0; border-radius: 0; box-shadow: inset 0 0 0 .00881rem #9f9f9f; background: #fff5e8; font: inherit; font-size: .14rem; color: #352e2e; resize: none; }
.pg-cta__chips { align-self: stretch; margin-top: .20rem; display: grid; grid-template-columns: 1fr 1fr; grid-auto-flow: column; grid-template-rows: repeat(3, auto); }
.pg-cta .chip { width: 100%; height: .305rem; display: flex; align-items: center; justify-content: space-between; gap: .0759rem; padding: 0 .17458rem; border: .00759rem solid #9f9f9f; background: #fff; font-size: .09108rem; line-height: .29691rem; letter-spacing: .013662rem; color: #9f9f9f; text-align: left; white-space: nowrap; cursor: pointer; }
.pg-cta__chips li:nth-child(3n+1) .chip { border-width: .01518rem; }
.pg-cta .chip img { flex: none; width: .10626rem; height: .10626rem; }
.pg-cta__btn { margin-top: .40rem; } /* 相談 CTA のボタン：メディア等（.mc-form__btn）と同じ部品。文字はカンプ実測 16px */
.pg-cta__btn.btn { gap: .18rem; padding: .15725rem .33415rem; border-radius: .77rem; font-size: .16rem; line-height: .176rem; letter-spacing: .024rem; }
.pg-cta__btn.btn > span { width: auto; }
.pg-cta__btn .btn__arw { width: .58967rem; height: .04586rem; margin: 0; }
/* ホバーは animations.txt「ボタンにホバーと矢印右ズレ（全共通）」のみ（申込ボタン） */
@media (hover: hover) {
  .evc__btn { transition: filter .3s; }
  .evc__btn:hover { filter: brightness(1.08); }
  .evc__btn i { transition: transform .3s cubic-bezier(.22,1,.36,1); }
  .evc__btn:hover i { transform: translateX(.04rem); }
}
.evc-none { font-size: .16rem; line-height: .3rem; letter-spacing: .024rem; color: #fff; }
