@charset "UTF-8";
/* =========================================================================
   はやぶさ採用 セミナーコーナー 共通スタイル
   本番：hayabusa.falcon-search.co.jp/event/_style.css
   ※ 色・書体はトップページ（/index.html）と同一。見た目を揃えるため。
   ※ 2026-09-07 改訂：スクロール量を減らすため、
      ①アイキャッチが見出しを兼ねるのでページ側の重複文言を削除
      ②本文を2カラム化 ③フォームを2カラム化 ④スマホは下部に申込バーを固定
   ========================================================================= */
:root{--aka:#E01F26;--akd:#B8151B;--kuro:#141414;--ki:#F2B01E;--kik:#A06E08;--pale:#FBF1F1;--ink:#2B2B2B;--gray:#6B6560;--line:#E6DDDB}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:#fff;line-height:1.8;letter-spacing:.02em}
img{max-width:100%;height:auto}
.wrap{max-width:1020px;margin:0 auto;padding:0 20px}
section{padding:40px 0}
section.alt{background:var(--pale)}

/* 読み上げだけに使う（画面には出さない） */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h2{font-size:clamp(19px,2.5vw,25px);font-weight:900;color:var(--kuro);margin-bottom:6px;line-height:1.5}
h2 b{color:var(--aka)}
.sub{color:var(--gray);font-size:13px;margin-bottom:18px}
.rule{width:44px;height:4px;background:var(--aka);margin-bottom:16px}

/* ボタン */
.cta{display:block;width:100%;background:var(--ki);color:var(--kuro);text-align:center;
     font-size:clamp(16px,2.2vw,20px);font-weight:900;padding:16px 12px;border-radius:12px;
     box-shadow:0 5px 0 var(--kik);text-decoration:none;border:none;cursor:pointer;
     font-family:inherit;transition:transform .1s}
.cta:hover{transform:translateY(3px);box-shadow:0 2px 0 var(--kik)}
.cta:focus-visible{outline:3px solid var(--kuro);outline-offset:3px}
.ctanote{text-align:center;font-size:12px;color:var(--gray);margin-top:8px}

/* ヘッダー */
header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:20}
.hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 20px;max-width:1020px;margin:0 auto}
.hd .lg img{height:36px;width:auto;display:block}
.hd .go{background:var(--ki);color:var(--kuro);font-weight:900;padding:9px 18px;border-radius:8px;
        box-shadow:0 3px 0 var(--kik);text-decoration:none;font-size:14px;white-space:nowrap}

/* パンくず */
.crumb{font-size:12px;color:var(--gray);padding:10px 20px 0;max-width:1020px;margin:0 auto}
.crumb a{color:var(--gray)}

/* ===== ページ本体：PCは「左＝内容／右＝申込フォーム」の2カラム ===== */
.hero{background:#fff;padding:22px 0 0}
.hero .eye{display:block;width:100%;border-radius:10px;margin-bottom:8px}

.cols{display:grid;grid-template-columns:1fr 380px;gap:0 40px;
      max-width:1020px;margin:0 auto;padding:0 20px;align-items:start}
.main > section{padding:34px 0}
.main > section:first-child{padding-top:22px}
.side{background:var(--pale);padding:24px 22px 28px;border-radius:12px;margin:22px 0 40px}
.side h2{font-size:20px;text-align:left}
.side .cta{max-width:none}


.tx{font-size:14px;line-height:1.95}
.tx + .tx{margin-top:.9em}
.h2like{font-size:clamp(19px,2.5vw,25px);font-weight:900;color:var(--kuro);margin-bottom:6px;line-height:1.5}

/* ===== 2カラムの本文（スクロールを短くする要） ===== */
.two{display:block}
.two > * + *{margin-top:30px}

/* 箇条書き（枠で囲まず、線と余白で区切る） */
.list{list-style:none}
.list li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid var(--line);
         font-weight:700;color:var(--kuro);font-size:14px;line-height:1.75}
.list li:first-child{border-top:1px solid var(--line)}
.list li::before{content:"";position:absolute;left:4px;top:19px;width:10px;height:10px;border-radius:50%;background:var(--aka)}

.pts{list-style:none;counter-reset:p}
.pts li{counter-increment:p;position:relative;padding:12px 0 12px 40px;border-bottom:1px solid var(--line);
        font-weight:700;color:var(--kuro);font-size:14px;line-height:1.75}
.pts li:first-child{border-top:1px solid var(--line)}
.pts li::before{content:counter(p);position:absolute;left:0;top:14px;width:26px;height:26px;line-height:26px;
                text-align:center;background:var(--aka);color:#fff;font-weight:900;border-radius:50%;font-size:13px}

/* プログラム */
.prog{list-style:none}
.prog li{display:flex;gap:11px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.prog li:first-child{border-top:1px solid var(--line)}
.prog li i{font-style:normal;font-weight:900;color:var(--aka);min-width:1.4em}
.prog li b{font-weight:700;color:var(--kuro);flex:1}
.prog li em{font-style:normal;font-size:12px;color:var(--gray);white-space:nowrap}

/* 開催情報 */
.info{width:100%;border-collapse:collapse}
.info th,.info td{text-align:left;vertical-align:top;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.75}
.info th{width:6.5em;font-weight:900;color:var(--kuro);white-space:nowrap}
.info tr:first-child th,.info tr:first-child td{border-top:1px solid var(--line)}
/* 開催日時：1行1回。日付と時刻を並べて「どの回も同じ時間」が一目で分かるように */
.info .day{display:flex;gap:.7em;align-items:baseline;flex-wrap:wrap;
           font-weight:900;color:var(--kuro);padding:3px 0}
.info .day em{font-style:normal;font-weight:700;color:var(--aka)}

/* 登壇者 */
.spk{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.spk .ph{width:132px;flex:none;border-radius:8px;display:block}
.spk .bd{flex:1;min-width:240px}
.spk .nm{font-size:19px;font-weight:900;color:var(--kuro);line-height:1.5}
.spk .ttl{font-size:12.5px;color:var(--gray);font-weight:700;margin-bottom:8px}
.spk p{font-size:13.5px;line-height:1.85}

/* 注意事項 */
.note{list-style:none;font-size:12.5px;color:var(--gray);line-height:1.85}
.note li{padding-left:1.1em;text-indent:-1.1em}
.note li::before{content:"・"}

/* ===== フォーム（2カラムで縦を詰める） ===== */
.form{max-width:none}
.fgrid{display:block}
.form label.fl{display:block;margin-bottom:14px;font-weight:900;font-size:13.5px;color:var(--kuro)}
.form label.fl.wide{grid-column:1 / -1}
.form input[type=text],.form input[type=tel],.form input[type=email],.form textarea,.form select{
  width:100%;margin-top:6px;padding:11px 12px;border:1px solid #CFC7C4;border-radius:8px;
  font-size:16px;font-family:inherit;color:var(--ink);background:#fff;font-weight:400}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--aka);outline-offset:1px;border-color:var(--aka)}
.req,.opt{font-size:10.5px;font-weight:900;padding:2px 6px;border-radius:4px;margin-left:5px;vertical-align:2px}
.req{background:var(--aka);color:#fff}
.opt{background:#EFEAE8;color:var(--gray)}
.fgroup{font-weight:900;font-size:15px;color:var(--kuro);margin:8px 0 14px;
        padding-top:16px;border-top:2px solid var(--kuro)}
.fs{border:none;margin-bottom:16px}
.fs legend{font-weight:900;font-size:13.5px;color:var(--kuro);margin-bottom:6px}
.cks{display:block}
.ck{display:block;font-weight:400;font-size:13.5px;color:var(--ink);padding:7px 0;
    border-bottom:1px solid var(--line);cursor:pointer;line-height:1.6}
.ck input{margin-right:8px;transform:scale(1.1);accent-color:var(--aka)}
.form .cta{max-width:460px;margin:6px auto 0}
.hp{display:none}

/* スマホで下に出す申込バー（常に押せるようにする） */
.bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(20,20,20,.96);
     padding:9px 14px;gap:11px;align-items:center;border-top:1px solid #3A3330}
.bar .t{color:#fff;font-size:11.5px;font-weight:700;line-height:1.45}
.bar .t b{color:var(--ki);display:block;font-size:13px}
.bar a{margin-left:auto;background:var(--ki);color:var(--kuro);font-weight:900;font-size:14px;
       padding:11px 18px;border-radius:8px;text-decoration:none;white-space:nowrap}

/* フッター */
footer{background:var(--kuro);color:#CFC9C4;text-align:center;padding:32px 20px;font-size:12px}
footer img{height:30px;width:auto;margin-bottom:12px;filter:brightness(0) invert(1)}
.fnav{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
.fnav a{color:#CFC9C4;font-size:12.5px;text-decoration:none}
.fnav a:hover{color:#fff}

/* 一覧（コーナーのトップ） */
.sem{text-decoration:none;color:inherit;padding:22px 0;border-bottom:1px solid var(--line);
     display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}
.sem:first-of-type{border-top:1px solid var(--line)}
.sem img{width:100%;border-radius:8px;display:block}
.sem .st{display:inline-block;background:var(--aka);color:#fff;font-weight:900;font-size:11.5px;
         padding:3px 11px;border-radius:4px;margin-bottom:8px}
.sem .st.owari{background:var(--gray)}
.sem h3{font-size:clamp(15px,2vw,19px);font-weight:900;color:var(--kuro);line-height:1.55;margin-bottom:7px}
.sem .dt{font-size:12.5px;color:var(--gray);font-weight:700;margin-bottom:5px}
.sem .ex{font-size:12.5px;color:var(--gray);line-height:1.75}
.sem .more{display:inline-block;margin-top:8px;color:var(--aka);font-weight:900;font-size:13.5px}
.sem:hover h3{color:var(--aka)}

@media(max-width:900px){
  .cols{grid-template-columns:1fr;gap:0}
  .side{margin:8px 0 32px}
  .sem{grid-template-columns:1fr;gap:12px}
  .bar{display:flex}
  body{padding-bottom:66px}          /* 固定バーの高さぶん */
  section{padding:32px 0}
  .info th{width:5.6em;font-size:12.5px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
