@charset "UTF-8";
/* ==================================================================
   セミナー動画・レポート（/hr/event-report/）専用スタイル

   このファイル1本で完結させている。読み込みは common.css → 本ファイルの順。
   以前は adps2.css と event.css も読み込んでいたが、
   それぞれから当ページ群が使っている分だけをここへ取り込み、参照をやめた。
     ・adps2.css 由来 … デザイン変数 / リセット / 共通パーツ（下記「1」「2」）
   ヘッダー・フッターにかかる上書きは common.css へ移してある。
     ・event.css 由来 … p.note のみ
   取り込みの並び順は元のカスケード（adps2.css → event.css → 固有）のままにしてある。
   ================================================================== */

/* ==================================================================
   1. adps2.css から取り込んだ基盤と共通パーツ
   ================================================================== */
body{
  font-family:"游ゴシック Medium",YuGothic,YuGothicM,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Noto Sans Japanese","メイリオ","ＭＳ Ｐゴシック","Helvetica",arial,sans-serif;
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  height:auto;
}

/* common.css が html の基準フォントサイズを62.5%(=10px)にしているため、
   本文側だけ明示的に16px基準へ戻す。
   共通ヘッダー・フッター（#js--header / #js--footer）は <main> の外にあるため
   対象にならず、本番の見た目がそのまま保たれる。
   .event-report は <main> に付けたラッパークラス。直下のタグの種類に依存させないため、
   セレクタは要素名ではなくこのクラスに当てている。
   img / a / ul は :where() で囲み、元の要素セレクタと同じ詳細度(0,0,1)のまま
   当たる範囲だけを限定している（そのままクラスを前置すると詳細度が上がり、
   .subnav-btn などの色指定を打ち消してしまうため）。 */

.event-report{font-size:16px;}

:where(.event-report) img{max-width:100%; display:block;}

:where(.event-report) a{color:inherit; text-decoration:none;}

:where(.event-report) ul{list-style:none;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);}

.reveal.is-in{opacity:1; transform:translateY(0);}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-weight:700; font-size:15px; padding:16px 30px; border-radius:99px;
  cursor:pointer; border:none; white-space:nowrap; transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.btn-primary{
  color:#fff; background:linear-gradient(120deg,var(--accent),var(--primary) 75%);
  box-shadow:0 10px 24px rgba(52,87,232,.32);
}

.btn-primary:hover{transform:translateY(-3px); box-shadow:0 14px 28px rgba(52,87,232,.4);}

.btn-outline{
  color:var(--primary); background:#fff; border:1.5px solid rgba(52,87,232,.3);
}

.btn-outline:hover{border-color:var(--primary); transform:translateY(-3px); box-shadow:var(--shadow-sm);}

.hero-copy h1{
  font-size:clamp(28px,3.6vw,42px); font-weight:900; line-height:1.36; letter-spacing:.01em; margin:0 0 16px;
}

.hero-btns{display:flex; gap:14px; flex-wrap:wrap;}

.support-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:48px;}

.support-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:40px;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
  display:flex; flex-direction:column; gap:14px;
  margin-top:28px; margin-bottom:0; flex:1;
}

.support-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}

.support-card > p{font-size:13.5px; color:var(--ink-soft); line-height:1.9;}

/* 新着カードの「NEW」アイコン（左上） */
.support-card.is-new{position:relative;}
.support-card .card-new-badge{
  position:absolute; top:-12px; left:20px; z-index:1;
  padding:4px 14px; border-radius:99px;
  background:#e6342b; color:#fff;
  font-size:12px; font-weight:800; letter-spacing:.08em; line-height:1.4;
  box-shadow:0 2px 6px rgba(230,52,43,.35);
}

/* カード上部に配置する画像スロット */

.card-photo{
  width:100%; height:150px; border-radius:var(--radius-md); overflow:hidden;
  background:linear-gradient(135deg,rgba(52,87,232,.08),rgba(77,208,240,.12));
  display:flex; align-items:center; justify-content:center;
}

.card-photo img{width:100%; height:100%; object-fit:cover; display:block;}

@media (max-width:980px){
  .support-grid{grid-template-columns:1fr;}
}

@media (max-width:640px){
  .hero-btns .btn{width:100%;}
  .support-card{padding:24px;}
}

.breadcrumb-mini{display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:12.5px; color:var(--ink-soft); margin-bottom:22px;}

.breadcrumb-mini a{color:var(--ink-soft); font-weight:600;}

.breadcrumb-mini a:hover{color:var(--primary);}

.breadcrumb-mini span.sep{color:var(--ink-faint);}

.breadcrumb-mini span.cur{color:var(--primary); font-weight:700;}

.page-hero{
  position:relative; background:linear-gradient(155deg,#eef4ff 0%,#e6f1ff 45%,#dcecff 100%); color:var(--ink); overflow:hidden;
  padding:64px 0 96px;
}

.page-hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(50% 60% at 8% 0%, rgba(52,87,232,.24), transparent 60%),
    radial-gradient(45% 55% at 100% 12%, rgba(77,208,240,.32), transparent 60%),
    radial-gradient(50% 60% at 80% 95%, rgba(124,58,237,.14), transparent 60%),
    radial-gradient(40% 45% at 15% 100%, rgba(28,58,168,.16), transparent 60%);
  filter:blur(4px);
  pointer-events:none;
}

.page-hero::after{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:linear-gradient(rgba(15,24,38,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,24,38,.055) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 30%, black, transparent 75%);
}

.page-hero .wrap{position:relative; z-index:2;}

.page-hero .hero-copy h1{font-size:clamp(26px,3.4vw,40px); line-height:1.42; margin:16px 0 16px;}

@media (max-width:640px){
  .page-hero{padding:48px 0 64px;}
}


/* ==================================================================
   デザイン変数とリセット
   ヘッダー・フッター（共通パーツ）にかかる上書きは common.css へ移した。
   ここに残しているのはこのページ群用の変数とリセットのみ。
   ================================================================== */

:root {
  --ink: #0f1826;
  --ink-soft: #57667a;
  --ink-faint: #93a1b3;
  --line: #e1e8f2;
  --accent: #4dd0f0;
  --primary: #3457e8;
  --radius-lg: 28px;
  --radius-md: 18px;
  --shadow-sm: 0 4px 16px rgba(15, 25, 60, .06);
  --shadow-md: 0 12px 40px rgba(15, 25, 60, .10);
  --maxw: 1180px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}


/* ==================================================================
   2. event.css から取り込んだもの
   ================================================================== */

p.note {
  font-size: 1.2em;
  font-size: 1.2rem; }

/* ==================================================================
   3. セミナー動画・レポート固有のスタイル
   ================================================================== */
.seminar-detail {
  background: #fff;
}
.seminar-detail p {
  font-size: 1.5em;
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 30px !important;
}
.draft-content {
  font-family:"游ゴシック Medium",YuGothic,YuGothicM,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Noto Sans Japanese","メイリオ","ＭＳ Ｐゴシック","Helvetica",arial,sans-serif;
  color: #222;
  line-height: 1.85;
  background: #fff;
}
.meta {
  font-size: 13px;
  color: #767676;
  margin-bottom: 8px;
  text-align: right
}
.event-date-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #3457E8;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  padding: 8px 18px;
  border-radius: 30px;
  margin: 10px 0 4px;
}
.event-date-badge .label {
  font-size: 12px;
  font-weight: normal;
  background: rgba(255,255,255,0.25);
  padding: 2px 8px;
  border-radius: 12px;
}
.survey-box {
  background: #f2f8ff;
  border: 1px solid #d3e6fb;
  border-radius: 10px;
  padding: 20px 24px;
  margin: 20px 0 28px;
}
.survey-headline {
  font-weight: bold;
  color: #143686;
  font-size: 16px;
  margin: 0 0 16px;
  text-align: center;
}
.survey-bar-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 13px;
}
.survey-bar-row:last-child {
  margin-bottom: 0;
}
.survey-label {
  flex: 0 0 160px;
  color: #444;
}
.survey-bar-track {
  flex: 1 1 auto;
  height: 10px;
  background: #e3edfa;
  border-radius: 6px;
  overflow: hidden;
}
.survey-bar-fill {
  display: block;
  height: 100%;
  background: #1a6fd1;
  border-radius: 6px;
}
.survey-bar-fill.is-zero {
  background: #c7d3e3;
}
.survey-pct {
  flex: 0 0 40px;
  text-align: right;
  font-weight: bold;
  color: #1a6fd1;
}
@media (max-width: 480px) {
  .survey-label {
    flex: 0 0 108px;
    font-size: 12px;
  }
}
.toc {
  background: #f7f7f7;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 32px 0;
}
.toc p.toc-title {
  font-weight: bold;
  margin: 0 0 10px;
  text-align: center
}
.toc ol {
  margin: 0;
  padding-left: 20px;
}
.toc li {
  margin-bottom: 6px;
  font-size: 1.5rem;
}
.toc a {
  color: #1a6fd1;
  text-decoration: none;
}
.toc a:hover {
  text-decoration: underline;
}
.speaker-box {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  padding: 20px;
  margin: 28px 0 36px;
  background: #fbfbfb;
}
.speaker-photo {
  flex: 0 0 96px;
  height: 96px;
  width: 96px;
  border-radius: 50%;
  overflow: hidden;
}
.speaker-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.speaker-info .role {
  font-size: 12px;
  color: #767676;
  margin: 0 0 2px;
}
.speaker-info .name {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 8px;
}
.speaker-info p {
  margin: 0;
  font-size: 14px;
  color: #444;
}
.cta-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  text-align: center;
  margin: 32px 0;
}
.cta-btn {
  display: inline-block;
  background: #143686;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 30px;
  text-decoration: none;
}
.cta-btn:hover {
  opacity: 0.8;
}
.teaser-list {
  margin: 20px 0;
  padding: 0;
  list-style: none;
}
.teaser-list li {
  position: relative;
  padding: 6px 16px 6px 24px;
  margin-bottom: 10px;
  font-size: 15px;
}
.teaser-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 6px;
  color: #1a6fd1;
  font-weight: bold;
}
.draft-content h2 {
  font-size: 21px;
  border-left: 5px solid #1a6fd1;
  padding-left: 12px;
  margin: 48px 0 20px;
}
.draft-content h3 {
  font-size: 17px;
  margin: 28px 0 12px;
}
.point-box {
  background: #f2f8ff;
  border: 1px solid #d3e6fb;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0;
}
.point-box p.point-title {
  font-weight: bold;
  color: #1a6fd1;
  margin: 0 0 8px;
}
table.compare {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 14px;
}
table.compare th, table.compare td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  text-align: left;
}
table.compare th {
  background: #f2f2f2;
}
/* 行見出し（tbody内のth）は幅を固定して表ごとのズレを防ぐ */
table.compare tbody th {
  width: 9em;
  white-space: nowrap;
  vertical-align: top;
}
.qa-item {
  margin: 24px 0;
  padding: 16px 20px;
  background: #fafafa;
  border-radius: 8px;
}
.qa-item .q {
  font-weight: bold;
  margin: 0 0 8px;
}
.qa-item .a {
  margin: 0;
}
.qa-item.qa-teaser {
  background: #fff;
  border: 1px solid #eee;
}
/* 横並びカードの高さを揃える。グリッドの直接の子はカードを包む <a> なので、
   <a> を伸縮コンテナにし、中のカードを flex:1 で余白いっぱいまで伸ばす。 */
.support-grid > a{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* 本文中のテキストリンク（目次・ボタンは除く）は青色＋下線で明示する */
.draft-content p a,
.draft-content ul.teaser-list a,
.draft-content td a {
  color: #1a6fd1;
  text-decoration: underline;
}
.draft-content p a:hover,
.draft-content ul.teaser-list a:hover,
.draft-content td a:hover {
  opacity: 0.8;
}
