@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap");
/* Haivision イベントページ共通CSS（/dcms_media/other/haivision-event.css） */

/* ---------- ルート・リセット ---------- */
.hve{--hve-navy:#0c2036;--hve-blue:#0056a3;--hve-vivid:#0066dd;--hve-line:#c4c1b7;width:calc(100vw - var(--hve-sbw,0px));max-width:none;margin-left:calc(50% - (100vw - var(--hve-sbw,0px)) / 2);margin-right:0;font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.8;color:#333;text-align:left;-webkit-font-smoothing:antialiased}
html body div.hve:not(#hve-x1):not(#hve-x2){width:calc(100vw - var(--hve-sbw,0px)) !important;max-width:none !important;margin-left:calc(50% - (100vw - var(--hve-sbw,0px)) / 2) !important;margin-right:0 !important}
.hve :where(*,*::before,*::after){box-sizing:border-box}
.hve :where(h1,h2,h3,p,ul,ol,li){margin:0;padding:0;border:0;background:none;letter-spacing:normal}
.hve :where(h1,h2,h3,li)::before,.hve :where(h1,h2,h3,li)::after{content:none}
.hve :where(ul,ol){list-style:none}
.hve :where(img){max-width:100%;height:auto;display:block}
.hve :where(a){color:#0056a3}
.hve :where(a:hover){color:#00427d}

/* CMS側の p/h要素スタイル（.l_contents p など）に負けないよう、クラス単位で打ち消す */
.hve :is(.hve-hero-title,.hve-h2,.hve-sp-title,.hve-date,.hve-time,.hve-lead,.hve-sp-org,.hve-sp-role,.hve-sp-name,.hve-sp-desc,.hve-entry-text){margin:0;padding:0;border:0;background:none;font-family:inherit;letter-spacing:normal;text-indent:0}
.hve :is(.hve-hero-title,.hve-h2,.hve-sp-title)::before,.hve :is(.hve-hero-title,.hve-h2,.hve-sp-title)::after{content:none}
.hve .hve-date-unit,.hve .hve-date-dow{font-family:'Noto Sans JP',sans-serif}

/* ---------- 共通レイアウト ---------- */
.hve-inner{max-width:1200px;margin:0 auto;padding:0 24px}
.hve-sec{position:relative;overflow:hidden}
.hve-sec > .hve-inner{position:relative}
.hve .hve-deco{position:absolute;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-style:italic;font-size:clamp(96px,14vw,200px);line-height:.9;letter-spacing:.02em;color:#eef1f5;pointer-events:none;user-select:none;white-space:nowrap}
.hve .hve-deco.-tl{top:20px;left:-8px}
.hve .hve-deco.-tr{top:24px;right:-10px;color:#e3e7ed}
.hve .hve-deco.-ml{top:50%;left:-8px;transform:translateY(-50%)}
.hve .hve-h2{font-size:28px;line-height:1.5;font-weight:700;color:#1a1a1a}
.hve .hve-btn{display:inline-flex;align-items:center;gap:12px;background:#0066dd;color:#fff;font-weight:700;font-size:17px;line-height:1.5;padding:18px 34px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.hve .hve-btn:hover,.hve .hve-btn:focus-visible{transform:translateY(-3px);box-shadow:0 6px 14px rgba(0,102,221,.35);color:#fff;background:#0052b3}
.hve .hve-btn.-entry{padding:18px 36px}
.hve .hve-btn-arrow{font-family:'Barlow Condensed',sans-serif;font-size:20px;line-height:1}
.hve-cta{display:flex}

/* ---------- ヒーロー ---------- */
.hve-hero{background:#fff;border-bottom:1px solid var(--hve-line)}
.hve-hero-bannerwrap{background:#2b2b2b}
.hve-hero-bannerinner{max-width:1200px;margin:0 auto}
.hve .hve-hero-banner{width:100%}
.hve .hve-hero-band{position:relative;background:linear-gradient(90deg,rgba(12,32,54,.93) 0%,rgba(12,32,54,.86) 55%,rgba(12,32,54,.5) 100%),url(/dcms_media/image/haivision_interbee2026_title_bg.jpg) 50% 50%/cover no-repeat,#0c2036;color:#fff}
.hve-hero-band > .hve-inner{padding-top:64px;padding-bottom:60px;display:flex;flex-direction:column;gap:24px}
.hve-hero-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hve .hve-hero-logo{height:18px;width:auto}
.hve .hve-hero-kicker{font-size:16px;font-weight:700;letter-spacing:.06em;color:#fff}
.hve-hero-badgewrap{display:flex;margin-bottom:-8px}
.hve .hve-badge{display:inline-block;background:#0056a3;color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;line-height:1;padding:8px 14px}
.hve .hve-hero-title{font-size:clamp(20px,4.6vw,56px);line-height:1.4;font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);letter-spacing:.01em}
.hve-hero-info{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px;padding-top:36px;padding-bottom:64px}
.hve-when{display:flex;flex-direction:column;gap:16px;min-width:0}
.hve-when-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 28px;color:#0c2036}
.hve .hve-date{display:flex;align-items:baseline;font-weight:700;color:#0056a3;line-height:1}
.hve .hve-date-num{font-family:'Barlow Condensed',sans-serif;font-size:clamp(64px,7.4vw,96px);letter-spacing:-.01em}
.hve .hve-date-unit{font-size:clamp(26px,2.8vw,36px);margin:0 4px}
.hve .hve-date-unit.-last{margin:0 0 0 4px}
.hve .hve-date-dow{font-size:clamp(24px,2.6vw,32px);color:#0c2036;margin-left:6px}
.hve .hve-time{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(44px,4.8vw,62px);line-height:1;color:#0c2036}
.hve-venue{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:#0c2036}
.hve .hve-venue-label{background:#0c2036;color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;line-height:1;padding:7px 12px}
.hve .hve-venue-name{font-size:clamp(18px,1.8vw,22px);font-weight:700}
.hve .hve-venue-note{font-size:14px;color:#555}

/* ---------- イントロ ---------- */
.hve-intro{background:#fff}
.hve-intro > .hve-inner{padding-top:64px;padding-bottom:64px}
.hve-intro-body{display:flex;flex-direction:column;gap:16px;max-width:808px}
.hve .hve-lead{font-size:17px;max-width:760px;text-wrap:pretty}

/* ---------- 講演内容・登壇者 ---------- */
.hve-speakers{background:#f2f4f7;border-top:1px solid var(--hve-line)}
.hve-speakers > .hve-inner{padding-top:64px;padding-bottom:72px;display:flex;flex-direction:column;gap:32px}
.hve-sp-list{background:#fff;border:1.5px solid #b0ada3}
.hve-sp{display:flex;flex-wrap:wrap}
.hve-sp + .hve-sp{border-top:1px solid var(--hve-line)}
.hve-sp-profile{flex:1 1 340px;max-width:100%;padding:32px;display:flex;gap:20px;align-items:flex-start;background:#fafbfc;border-right:1px solid var(--hve-line)}
.hve .hve-sp-no{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:44px;line-height:.9;color:#0056a3}
.hve-sp-person{display:flex;flex-direction:column;gap:10px;min-width:0}
.hve .hve-sp-photo{width:150px;height:172px;object-fit:cover;border:1px solid var(--hve-line)}
.hve .hve-sp-org{font-size:14px;font-weight:700;line-height:1.5}
.hve .hve-sp-role{font-size:13px;color:#555;line-height:1.5}
.hve .hve-sp-name{font-size:18px;font-weight:700;color:#1a1a1a;line-height:1.5}
.hve-sp-talk{flex:2.2 1 460px;padding:32px 36px;display:flex;flex-direction:column;gap:14px;min-width:0}
.hve .hve-sp-title{font-size:20px;line-height:1.6;font-weight:700;color:#0c2036}
.hve .hve-sp-title.-tbd{color:#888}
.hve .hve-sp-desc{font-size:16px;line-height:1.9;max-width:760px;text-wrap:pretty}

/* ---------- お申込み ---------- */
.hve-entry{background:#fff;border-top:1px solid var(--hve-line);scroll-margin-top:24px}
.hve-entry > .hve-inner{padding-top:56px;padding-bottom:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 48px}
.hve-entry-body{display:flex;flex-direction:column;gap:10px;max-width:680px}
.hve .hve-entry-text{font-size:16px}

/* ---------- レスポンシブ ---------- */
@media (max-width:1024px){
  .hve-sp-talk{padding:28px}
}
@media (max-width:767px){
  .hve-inner{padding:0 16px}
  .hve .hve-deco{font-size:80px}
  .hve .hve-h2{font-size:22px}
  .hve-hero-band > .hve-inner{padding-top:40px;padding-bottom:40px;gap:18px}
  .hve .hve-hero-kicker{font-size:14px}
  .hve .hve-hero-title{font-size:24px}
  .hve-hero-info{padding-top:28px;padding-bottom:44px;gap:24px}
  .hve .hve-date-num{font-size:60px}
  .hve .hve-time{font-size:40px}
  .hve-cta{width:100%}
  .hve .hve-btn{flex:1;justify-content:center;padding:16px 20px}
  .hve .hve-btn.-entry{padding:16px 20px}
  .hve-intro > .hve-inner{padding-top:44px;padding-bottom:44px}
  .hve .hve-lead{font-size:16px}
  .hve-speakers > .hve-inner{padding-top:44px;padding-bottom:48px;gap:24px}
  .hve-sp-profile{flex-basis:100%;border-right:0;border-bottom:1px solid var(--hve-line);padding:24px 20px}
  .hve-sp-talk{flex-basis:100%;padding:24px 20px}
  .hve .hve-sp-no{font-size:36px}
  .hve .hve-sp-photo{width:120px;height:138px}
  .hve .hve-sp-title{font-size:18px}
  .hve .hve-sp-desc{font-size:15px}
  .hve-entry > .hve-inner{padding-top:44px;padding-bottom:44px}
}
