/* =========================================
   onlineconference.css（修正版：LP見た目専用）
   - reset を最小化（style.css / default.css と競合させない）
   - CTA/カード/テーブル/フォーム/ヘッダー固定を安定化
========================================= */

:root{
  --navy:#0b2a4a;
  --navy2:#123b6a;
  --accent:#f39a1f;
  --accent2:#ffb454;
  --beige:#fffaef;
  --ink:#222;
  --muted:#555;
  --line:#e5e7eb;
  --shadow:0 12px 30px rgba(0,0,0,.08);
}

/* ===== base (最小限) ===== */
body{
  color:var(--ink);
  line-height:1.75; /* ★文章が詰まらないように */
}

img{
  max-width:100%;
  height:auto;
}

/* 固定ヘッダー分 */
.pad_rwd{ padding-top:70px; }
@media (max-width:765px){
  .pad_rwd{ padding-top:60px; }
}

/* ===== header ===== */
.head_nav01{
  height:70px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}
@media (max-width:765px){
  .head_nav01{ height:60px; }
}

/* ヘッダー右上CTA */
.btn-primary-header{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  color:#111 !important;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
  box-shadow:0 10px 18px rgba(243,154,31,.25);
  border:1px solid rgba(0,0,0,.05);
  text-decoration:none !important;
}
.btn-primary-header:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(243,154,31,.28);
}
.btn-primary-header:active{ transform:translateY(0); }

/* ===== sections ===== */
.bgbeige01{ background:var(--beige); }
.bggrey01{ background:#f3f4f6; }

.bgnavy01{
  background:linear-gradient(180deg, var(--navy) 0%, #0a2240 100%);
}

.bgorange01a{
  background:linear-gradient(180deg, #ff9f2a 0%, #f07d00 100%);
}

/* ===== container widths (元テンプレ互換) ===== */
.content2{
  width:min(980px, calc(100% - 32px));
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:765px){
  .content2{ width:88%; }
}

.center{ text-align:center; }
.bold{ font-weight:800; }
.white{ color:#fff; }
.orange{ color:var(--accent); }
.navy{ color:var(--navy); }

/* ===== CTA block ===== */
.btn-wrap{
  width:100%;
  background:transparent;
  clear:both;
  padding:30px 0;
}

.btn-wrap .btn-box{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:26px 22px;
  box-shadow:var(--shadow);
  text-align:center;
}

.btn-wrap h2{
  text-align:center;
  font-size:32px;
  line-height:1.35 !important;
  margin:0;
}

.arrow{
  max-width:220px;
  margin:12px auto 10px;
  height:auto;
}

.btn1{ text-align:center; }

a.btn--orange{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:min(520px, 92%);
  padding:14px 22px;
  border-radius:999px;
  font-size:22px;
  font-weight:900;
  color:#111 !important;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 14px 26px rgba(243,154,31,.22);
  text-decoration:none !important;
}
a.btn--orange:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 32px rgba(243,154,31,.26);
}
a.btn--orange:active{
  transform:translateY(0);
  box-shadow:0 12px 22px rgba(243,154,31,.22);
}

.btn-wrap .cap{
  font-size:14px;
  color:var(--muted);
  background:#f6f6f6;
  border:1px solid #e5e5e5;
  padding:10px 16px;
  width:min(560px, 92%);
  margin:16px auto 0;
  border-radius:12px;
}
.btn-wrap .cap p{ line-height:1.6 !important; margin:0; }

@media (max-width:765px){
  .btn-wrap h2{ font-size:20px; }
  a.btn--orange{ font-size:18px; padding:12px 18px; width:92%; }
  .btn-wrap .cap{ width:92%; }
}

/* ===== Speakers card ===== */
.list-box{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.bg03{
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 100%);
  color:#fff;
}

.bgred02{ background:#DA1725; }

.list-box h3{
  font-size:22px;
  margin:0;
  padding:16px;
  line-height:1.35;
}

.small{ font-size:14px; font-weight:normal; opacity:.95; }
.small2{ font-size:12px; line-height:1.6 !important; opacity:.95; }

.flex{ display:flex; gap:18px; padding:18px; }

.left-item{ width:34%; min-width:240px; }
.right-item{ flex:1; min-width:0; }

.name{
  text-align:center !important;
  padding:10px 12px;
  margin:0 0 10px;
  border-radius:14px;
}

.label{
  display:inline-block;
  margin-top:10px;
  text-align:center !important;
  font-size:14px !important;
  font-weight:bold;
  padding:6px 12px;
  background:rgba(218,23,37,0.7);
  color:#fff !important;
  border-radius:999px;
  line-height:1.6;
}

.detail{ line-height:1.85; }

@media (max-width:765px){
  .flex{ display:block; }
  .left-item{ width:100%; min-width:0; margin:auto; }
  .right-item{ margin-top:14px; }
}

/* ===== presenter section ===== */
.workh3{
  background:#000;
  color:#fff;
  padding:8px 12px;
  margin-top:18px;
  border-radius:10px;
  line-height:1.4;
}

/* ===== schedule table ===== */
table.table01{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(0,0,0,.06);
}

/* thead */
table.table01 thead th{
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 100%);
  color:#fff;
  line-height:1.4;
  padding:14px 12px;
  font-weight:900;
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  text-align:left;
}
table.table01 thead th:last-child{ border-right:none; }

/* body */
table.table01 tbody th{
  background:#fafafa;
  color:#111;
  width:110px;
  padding:14px 12px;
  line-height:1.6;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  white-space:nowrap;
}
table.table01 tbody td{
  background:#fff;
  padding:14px 12px;
  line-height:1.8;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
table.table01 tbody tr:hover th,
table.table01 tbody tr:hover td{
  background:#fffaf2;
}

/* SP: テーブル折りたたみ（元の挙動維持） */
@media (max-width:765px){
  .table-tit{
    background:#424242;
    padding:10px;
    font-size:18px;
    margin-bottom:10px;
    text-align:center;
    color:#fff;
    font-weight:bold;
  }
  table.table01 thead{ display:none; }
  table.table01 tbody th{
    display:block;
    width:auto;
    border-bottom:none;
    background:#f2f2f2;
  }
  table.table01 tbody td{
    display:block;
    border-top:1px solid var(--line);
  }
}

/* ===== form box ===== */
.form-box{
  width:min(640px, 100%);
  margin:18px auto 0;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:18px 18px 8px;
  box-shadow:var(--shadow);
}

/* ===== footer ===== */
footer{
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 100%);
  padding:26px 0;
}
footer a{ color:#fff !important; text-decoration:underline; }
footer p{ margin:6px 0 0; opacity:.95; }

/* ===== SNS buttons（元のまま） ===== */
.flowbtn{
  font-family:'Arial',sans-serif;
  border-radius:4px;
  position:relative;
  display:inline-block;
  width:66px;
  height:58px;
  font-size:30px;
  color:#fff!important;
  transition:.5s;
  text-decoration:none;
  box-shadow:0 1px 2px #999;
  line-height:2.3;
}
.flowbtn i{ position:relative; bottom:12px; }
.fl_tw1{ background:#55acee; }
.fl_fb1{ background:#3b5998; }
.fl_hb1{ background:#1ba5dc; }
.fl_pk1{ background:#ef3f56; }
.fl_fd1{ background:#6cc655; }
.fl_yu1{ background:#fc0d1c; }
.fl_li1{ background:#00c300; }
.fl_ma1{ background:#f3981d; }
.insta_btn1{
  background:linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  overflow:hidden;
}
.insta_btn1:before{
  content:'';
  position:absolute;
  top:33px;
  left:-20px;
  width:80px;
  height:50px;
  background:radial-gradient(#ffdb2c 5%, rgba(255,105,34,.65) 55%, rgba(255,88,96,0) 70%);
}
.flowbtn div{
  font-size:11px;
  font-weight:bold;
  letter-spacing:0;
  position:relative;
  bottom:33px;
}
.flowbtn:hover{
  transform:translateY(-5px);
  text-decoration:none;
}
ul.snsbtniti{ padding:0!important; }
.snsbtniti{ display:flex; flex-flow:row wrap; }
.snsbtniti li{ text-align:center!important; padding-right:10px; }

/* ===== Heading style ===== */
.midashi01{
  position:relative;
  padding:1.5rem 1.5rem calc(1.5rem + 10px);
  margin-bottom:20px;
  font-size:2rem;
  border-bottom:2px solid;
}
.midashi01:first-letter{
  font-size:150%;
  color:#eb6100;
}

/* プレゼンター欄（bgnavy01内）の経歴リスト文字を黒にする */
.person01 .work,
.person01 .work .workh3,
.person01 .work p {
  color: #222 !important;
}

/* 「メディア、セミナー出演等」見出しだけ白 */
.person01 .work .workh3{
  color: #fff !important;
}

/* 経歴リスト本文は黒 */
.person01 .work p{
  color: #222 !important;
}
/* プレゼンター欄 見出しを白に強制 */
.person01 .workh3{
  color: #ffffff !important;
}
/* 【最強指定】「メディア、セミナー出演等」だけを確実に白 */
.person01 .work h3.workh3{
  color:#fff !important;
}
/* ===== 強調見出し（赤・大きく） ===== */
.highlight-title{
  width: min(980px, calc(100% - 32px));
  margin: 0 auto 12px;
  font-size: 44px;
  font-weight: 900;
  color: #DA1725 !important;
  line-height: 1.25;
  text-align: center;
  letter-spacing: .02em;
}

/* 文章ブロック（大きく・読みやすく・カード化） */
.lead-box{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  padding: 22px 22px;
}

.lead-text{
  font-size: 20px;
  line-height: 1.9;
  margin: 0;
  text-align: left;
}

/* チェックリスト（✔を装飾してカード内で目立たせる） */
.check-list{
  margin: 14px auto 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
}

.check-list li{
  background: #fff7f7;
  border: 1px solid rgba(218,23,37,.18);
  border-radius: 14px;
  padding: 12px 12px 12px 44px;
  position: relative;
  font-weight: 800;
  line-height: 1.4;
}

.check-list li::before{
  content: "✔";
  position: absolute;
  left: 14px;
  top: 10px;
  color: #DA1725;
  font-weight: 900;
}

/* 箇条書き（・の代わりに装飾つき） */
.bullet-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
}

.bullet-list li{
  background: #f6f7fb;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 12px 12px 12px 40px;
  position: relative;
  font-weight: 800;
  line-height: 1.4;
}

.bullet-list li::before{
  content: "●";
  position: absolute;
  left: 16px;
  top: 10px;
  color: #DA1725;
  font-size: 14px;
}

/* SP調整 */
@media (max-width:765px){
  .highlight-title{
    font-size: 26px;
    margin-bottom: 10px;
  }
  .lead-text{
    font-size: 16px;
    line-height: 1.9;
  }
  .check-list,
  .bullet-list{
    grid-template-columns: 1fr;
  }
  .lead-box{
    padding: 16px 14px;
    border-radius: 16px;
  }
}
/* 強調：赤・太字・少し大きく */
.emphasis-red{
  display:inline-block;
  font-size: 26px;
  font-weight: 900;
  color: #DA1725;
  margin: 8px 0;
  letter-spacing: 0.03em;
}

/* 強調：さらに大きくインパクト */
.emphasis-large{
  display:inline-block;
  font-size: 32px;
  font-weight: 900;
  color: #DA1725;
  padding: 6px 12px;
  border-bottom: 4px solid #DA1725;
  margin: 6px 0;
  letter-spacing: 0.05em;
}

/* SP調整 */
@media (max-width:765px){
  .emphasis-red{
    font-size: 18px;
  }
  .emphasis-large{
    font-size: 20px;
  }
}
/* SNSアイコンの横並び修正 */
.snsbtniti{
  display:flex;
  justify-content:center;   /* 中央揃え */
  align-items:center;
  gap:12px;                 /* アイコン間の距離 */
  padding:0;
  margin-top:16px;
}

.snsbtniti li{
  padding-right:0 !important;  /* 既存のpaddingを無効化 */
  margin:0;
}

.flowbtn{
  width:56px;
  height:56px;
  line-height:56px;
  font-size:22px;
  display:flex;
  align-items:center;
  justify-content:center;
}
/* SNSアイコン完全修正 */
ul.snsbtniti{
  display:flex !important;
  justify-content:center !important;  /* 中央寄せ */
  align-items:center !important;
  gap:8px !important;                 /* アイコン間隔 */
  width:100% !important;
  padding:0 !important;
  margin:20px auto !important;
}

ul.snsbtniti li{
  padding:0 !important;
  margin:0 !important;
  flex:none !important;               /* 幅固定 */
}

.flowbtn{
  width:56px !important;
  height:56px !important;
  line-height:56px !important;
  font-size:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
/* ===== SHARE（twitter/facebook/LINE）ボタンの間隔を整える ===== */
section.content2.padding50 ul.padding40.overflow{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;          /* ここで間隔調整 */
  padding:24px 0 !important;
}

/* float & 幅指定を無効化して、均等に並べる */
section.content2.padding50 ul.padding40.overflow > li{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding-left:0 !important;    /* paddingleft23 を潰す */
}

/* 画像の見た目（必要なら） */
section.content2.padding50 ul.padding40.overflow > li img{
  width:auto;
  max-width:220px;              /* 大きさ調整 */
  height:auto;
  display:block;
}

/* SPは縦に並べる（好みで横のままでもOK） */
@media (max-width:765px){
  section.content2.padding50 ul.padding40.overflow{
    flex-direction:column !important;
    gap:10px !important;
  }
  section.content2.padding50 ul.padding40.overflow > li img{
    max-width:280px;
    width:100%;
  }
}

/* フッターのリンクのアンダーラインを消す */
footer a{
  text-decoration: none !important;
}

footer a:hover{
  text-decoration: none !important;
}
footer a:hover{
  color:#ffb454 !important;
}
/* フッター（プライバシーポリシー）の下線を完全に消す */
footer a,
footer a:link,
footer a:visited,
footer a:hover,
footer a:active{
  text-decoration: none !important;
  border-bottom: none !important;      /* 下線がborderの場合 */
  background-image: none !important;   /* 下線が背景の場合 */
  box-shadow: none !important;         /* 下線っぽい影の場合 */
}

/* もし <u> タグで下線が付いている場合の保険 */
footer u{
  text-decoration: none !important;
}
/* プレゼンター・ナビゲーター見出しを中央揃え */
.person01 h3{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.person01 > h3{
  text-align: center !important;
  width: 100% !important;
}
/* プレゼンター見出し中央固定 */
.person01 h3.bgwhite{
  display: block !important;
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
/* 日時強調 */
.date-highlight{
  display:inline-block;
  font-size: 32px;
  font-weight: 900;
  color: #DA1725;
  background: #fff;
  padding: 12px 18px;
  border-radius: 14px;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
  margin-top: 10px;
  line-height: 1.4;
}

/* 無料強調 */
.price-highlight{
  display:inline-block;
  font-size: 40px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #DA1725 0%, #ff4d4d 100%);
  padding: 10px 28px;
  border-radius: 999px;
  box-shadow: 0 12px 24px rgba(218,23,37,.35);
  letter-spacing: 0.05em;
}

/* SP調整 */
@media (max-width:765px){
  .date-highlight{
    font-size: 20px;
    padding: 8px 14px;
  }
  .price-highlight{
    font-size: 26px;
    padding: 8px 20px;
  }
}
/* ===== イベント概要：日時（1つ目のdd）を強調 ===== */
.bggrey01 .hyou dl dd:nth-of-type(1){
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #DA1725 !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 14px 18px !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.08) !important;
  display: inline-block !important;  /* 中央寄せしやすく */
  margin: 10px auto 0 !important;
}

/* dd が中央に来るように親も調整 */
.bggrey01 .hyou dl{
  text-align: center !important;
}

/* ===== イベント概要：二重カードを防ぐ（ddは透明、spanだけカード化） ===== */
.bggrey01 .hyou.content2 dl{
  text-align: center;
}

.bggrey01 .hyou.content2 dl > dd{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;     /* ddの箱を消す */
  margin: 10px 0 0 !important;
}

/* 日時カード（span） */
.bggrey01 .hyou.content2 .date-highlight{
  display: inline-block !important;
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.10) !important;
  padding: 14px 18px !important;

  font-size: 32px !important;
  font-weight: 900 !important;
  color: #DA1725 !important;
  line-height: 1.35 !important;
}

/* 無料バッジ（span） */
.bggrey01 .hyou.content2 .price-highlight{
  display: inline-block !important;
  border: none !important;

  font-size: 40px !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #DA1725 0%, #ff4d4d 100%) !important;
  padding: 10px 28px !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 24px rgba(218,23,37,.35) !important;
  letter-spacing: .05em !important;
}

@media (max-width:765px){
  .bggrey01 .hyou.content2 .date-highlight{
    font-size: 20px !important;
    padding: 10px 14px !important;
  }
  .bggrey01 .hyou.content2 .price-highlight{
    font-size: 26px !important;
    padding: 8px 20px !important;
  }
}
/* FAQのQ行を確実に太字にする */
.faq-q{
  font-weight: 900 !important;
}
/* ===== FAQ 行間ゆったり修正 ===== */

.faq-item{
  padding: 22px 24px !important;   /* 全体余白を広げる */
}

.faq-q{
  font-weight: 900 !important;
  margin-bottom: 14px !important;  /* ★ QとAの間を広げる */
  line-height: 1.8 !important;
}

.faq-a{
  margin-top: 6px !important;
  line-height: 2.0 !important;     /* Aの行間をゆったり */
}
/* ===== FAQ 行間を強制復活 ===== */

.faq-item p{
  line-height: 1.9 !important;
  margin: 0 !important;
}

.faq-q{
  font-weight: 900 !important;
  margin-bottom: 18px !important;   /* QとAの間を確実に空ける */
}

.faq-a{
  margin-top: 10px !important;
}
/* ===== FAQ 行間 強制修正（style.cssのline-height:0を上書き） ===== */
.faq-box, .faq-item, .faq-item *{
  line-height: 1.9 !important;
}

.faq-item{
  padding: 22px 24px !important;
}

.faq-q{
  display:block !important;
  font-weight: 900 !important;
  margin: 0 0 18px 0 !important;   /* ★QとAの間を空ける */
  line-height: 1.8 !important;
}

.faq-a{
  display:block !important;
  margin: 0 !important;
  padding-top: 8px !important;      /* ★さらに間を作る（marginが潰れても効く） */
  line-height: 2.0 !important;
}


/* ===== ヘッダー レイアウト ===== */
.head_nav01{
  height:70px;
  display:flex;
  align-items:center;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}

.header-inner{
  width:min(1100px, calc(100% - 32px));
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.header-logo{
  font-size:18px;
  font-weight:900;
  color:#0b2a4a;
  letter-spacing:.02em;
  line-height:1.3;
}

/* SP調整 */
@media (max-width:765px){
  .head_nav01{ height:60px; }

  .header-logo{
    font-size:14px;
  }
}
/* ===== ヘッダー崩れ修正（既存CSSのfloat等を強制上書き） ===== */
.head_nav01{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 24 !important;

  height: 70px !important;
  display: flex !important;
  align-items: center !important;

  padding: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.06) !important;
}

/* ヘッダー内の横並びを固定 */
.head_nav01 .header-inner{
  width: min(1100px, calc(100% - 24px)) !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

/* 左側：タイトル */
.head_nav01 .header-left{
  flex: 1 1 auto !important;
  min-width: 0 !important; /* 長文で崩れないため必須 */
}

.head_nav01 .header-logo{
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #0b2a4a !important;
  line-height: 1.25 !important;

  /* 長いので折り返し許可（1行にこだわると崩れやすい） */
  white-space: normal !important;
  overflow: hidden !important;
}

/* 右側：ボタン */
.head_nav01 .header-right{
  flex: 0 0 auto !important;
}

/* SP調整 */
@media (max-width:765px){
  .head_nav01{
    height: 60px !important;
  }

  .head_nav01 .header-logo{
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  /* ボタンがはみ出す場合は少し詰める */
  .head_nav01 .btn-primary-header{
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
}
/* ===== SPではヘッダー完全非表示 ===== */
@media (max-width:765px){
  .head_nav01{
    display: none !important;
  }

  /* ヘッダー分の余白も削除 */
  .pad_rwd{
    padding-top: 0 !important;
  }
}
/* ===== SP専用 固定CTA ===== */
.sp-fixed-cta{
  display:none;
}

@media (max-width:765px){

  .sp-fixed-cta{
    display:block !important;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background:#fff;
    padding:10px 12px;
    box-shadow:0 -6px 18px rgba(0,0,0,.15);
    z-index:9999;
  }

  .sp-fixed-cta a{
    display:block;
    text-align:center;
    padding:14px 10px;
    font-size:18px;
    font-weight:900;
    color:#111 !important;
    border-radius:999px;
    background:linear-gradient(135deg,#f39a1f 0%,#ffb454 100%);
    text-decoration:none !important;
    box-shadow:0 10px 20px rgba(243,154,31,.25);
  }

  .sp-fixed-cta a:active{
    transform:translateY(1px);
  }

  /* CTAに隠れないように下余白を追加 */
  body{
    padding-bottom:80px;
  }
}
/* ===== SP：メディアブロックをプロフィール本文の下へ移動 ===== */
@media (max-width:765px){

  /* 左カラム内を縦並びにし、workを最後へ */
  .person01 .left{
    display: flex !important;
    flex-direction: column !important;
  }

  /* 画像は上 */
  .person01 .left > p{
    order: 1 !important;
  }

  /* メディア枠は最後 */
  .person01 .left > .work{
    order: 3 !important;
    margin-top: 16px !important;
  }

  /* 右カラム（プロフィール本文）を画像の直後に来るようにする */
  .person01 .overflow.content2{
    display: flex !important;
    flex-direction: column !important;
  }

  .person01 .w448.right{
    order: 2 !important;
    margin-top: 16px !important;
  }

  .person01 .left{
    order: 1 !important;
  }
}
/* ===== SPで「メディア、セミナー出演等」を本文の下へ（最終版） ===== */
@media (max-width:765px){

  /* 親を強制flex化（orderが効く条件を作る） */
  .person01.bgnavy01 .overflow.content2{
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow: visible !important; /* overflow:hidden が邪魔するケース対策 */
  }

  /* 左・右のfloat/幅を解除して縦並びに */
  .person01.bgnavy01 .overflow.content2 > .left,
  .person01.bgnavy01 .overflow.content2 > .w448.right{
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 並び順：画像（left）→本文（w448） */
  .person01.bgnavy01 .overflow.content2 > .left{ order: 1 !important; }
  .person01.bgnavy01 .overflow.content2 > .w448.right{ order: 2 !important; margin-top: 16px !important; }

  /* leftの中もflex化して、workを最後へ */
  .person01.bgnavy01 .overflow.content2 > .left{
    display: flex !important;
    flex-direction: column !important;
  }

  /* 画像 */
  .person01.bgnavy01 .overflow.content2 > .left > p:first-child{
    order: 1 !important;
    margin: 0 !important;
  }



  /* そして、本文（w448）の直下に“複製表示”する（CSSだけで順序入替の最終手段） */
  .person01.bgnavy01 .overflow.content2 > .w448.right::after{
    content: "";
    display: block;
    margin-top: 16px;
  }

  /* 元のworkを表示位置だけ移すのはCSSでは不可なので、HTMLを1行だけ足すのが最も確実です */
}
/* ===== SP FV直下CTA ===== */
.fv-sp-cta{
  display:none;
}

@media (max-width:765px){

  .fv-sp-cta{
    display:block !important;
    text-align:center;
    margin:20px auto 30px;
  }

  .fv-sp-button{
    display:inline-block;
    width:90%;
    padding:16px 14px;
    font-size:18px;
    font-weight:900;
    color:#111 !important;
    text-align:center;
    border-radius:999px;
    background:linear-gradient(135deg,#f39a1f 0%,#ffb454 100%);
    box-shadow:0 12px 24px rgba(243,154,31,.25);
    text-decoration:none !important;
  }

  .fv-sp-button:active{
    transform:translateY(1px);
  }
}
/* ===== プレゼンター見出し 幅修正 ===== */
.person01 > h3.bgwhite{
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;

  padding: 12px 28px !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: #0b2a4a !important;

  margin-left: auto !important;
  margin-right: auto !important;
}
/* ===== プレゼンター見出し 完全中央固定 ===== */
.person01 > h3.bgwhite{
  display: inline-block !important;
  text-align: center !important;

  margin: 0 auto 30px auto !important;   /* ★中央固定 */
  padding: 12px 28px !important;

  border-radius: 999px !important;
  background: #ffffff !important;
  color: #0b2a4a !important;

  float: none !important;                /* ★float解除 */
}

/* プレゼンター見出しだけ中央 */
.person01 > h3.bgwhite{
  display:inline-block !important;
  margin:0 auto 30px auto !important;
  text-align:center !important;
  float:none !important;
}
/* ==============================
   PC：プレゼンターを2カラムに戻す（強制）
============================== */
@media (min-width: 766px){

  /* 2カラム強制（あなたの修正版HTMLの .presenter-wrap を前提） */
  .person01 .presenter-wrap{
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }

  .person01 .presenter-left,
  .person01 .presenter-right{
    width: 48% !important;
    max-width: 48% !important;
  }

  /* 右側の本文・メディアを左寄せに戻す */
  .person01 .presenter-right,
  .person01 .presenter-right *{
    text-align: left !important;
  }

  /* メディア枠も左寄せ */
  .person01 .presenter-right .work,
  .person01 .presenter-right .work p{
    text-align: left !important;
  }
}

/* ==============================
   見出し「プレゼンター・ナビゲーター」を確実に中央（親依存なし）
============================== */
.person01 .person-title{
  display: table !important;          /* 親のtext-alignに依存せず中央寄せ可能 */
  margin: 0 auto 30px auto !important;
  text-align: center !important;

  width: auto !important;
  max-width: 100% !important;
}

/* 見出しの見た目（横いっぱい防止） */
.person01 .person-title.bgwhite{
  padding: 12px 28px !important;
  border-radius: 999px !important;
}
/* ===== 見出し「プレゼンター・ナビゲーター」を確実に中央 ===== */
.person01 h3.person-title{
  display: table !important;            /* 親のtext-alignに依存しない */
  margin: 0 auto 30px auto !important;  /* これで中央 */
  text-align: center !important;

  width: auto !important;
  max-width: 100% !important;

  float: none !important;               /* floatが残っていても無効化 */
}

/* 角丸の見た目（横いっぱい防止） */
.person01 h3.person-title.bgwhite{
  padding: 12px 28px !important;
  border-radius: 999px !important;
}
.person01{
  text-align: left !important; /* 本文は左でOK */
}
.person01 h3.person-title{
  text-align: center !important; /* 見出しだけ中央 */
}
/* ===== 見出しを強制的にど真ん中へ（最終手段） ===== */
.person01 h3.person-title{
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  display: inline-block !important;
  width: max-content !important;   /* 内容幅にする */
  max-width: calc(100% - 24px) !important;

  text-align: center !important;
  float: none !important;
  margin: 0 0 30px 0 !important;
}

.person01 h3.person-title.bgwhite{
  padding: 12px 28px !important;
  border-radius: 999px !important;
}
/* イベント概要：特典説明を小さく */
.bonus-note{
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-top: 8px;
  color: #555;
}
@media (max-width:765px){
  .bonus-note{
    font-size: 12px !important;
  }
}
/* ===== 参加特典ラベル風デザイン ===== */

.bonus-box{
  margin-top: 14px;
  padding: 14px 18px;
  background: #fffaf2;
  border: 1px solid rgba(243,154,31,.25);
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,.05);
  display: inline-block;
  text-align: left;
}

.bonus-label{
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg,#f39a1f 0%,#ffb454 100%);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 6px;
}

.bonus-note{
  font-size: 14px;
  line-height: 1.6;
  margin: 6px 0 0 0;
  color: #444;
}

/* SP調整 */
@media (max-width:765px){
  .bonus-box{
    width: 100%;
  }
  .bonus-note{
    font-size: 12px;
  }
}
/* 価格表示の強調 */

.price-before{
  font-size: 13px;
  color: #777;
  text-decoration: line-through;
  margin-right: 6px;
}

.price-arrow{
  font-weight: 800;
  margin: 0 6px;
  color: #444;
}

.price-free{
  font-size: 20px;
  font-weight: 900;
  color: #DA1725;
}

/* 価格表示 全体を太字 */
.price-before,
.price-arrow,
.price-free{
  font-weight: 900 !important;
}
/* ===== オンライン画像（PCのみ表示） ===== */

.online-images{
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 30px auto 0;
}

.online-images img{
  width: 30%;
  max-width: 280px;
  border-radius: 16px;
  box-shadow: 0 12px 24px rgba(0,0,0,.08);
}

/* SPでは非表示 */
@media (max-width:765px){
  .online-images{
    display: none !important;
  }
}
/* ===== パネラーSNSボタン ===== */

.panel-sns{
  margin-top: 18px;
}

.sns-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  transition: .3s;
  color: #fff !important;
}

/* YouTube */
.sns-btn.youtube{
  background: #ff0000;
}

.sns-btn.youtube:hover{
  background: #cc0000;
  transform: translateY(-2px);
}

/* Instagram */
.sns-btn.instagram{
  background: linear-gradient(135deg,#427eff 0%,#f13f79 70%);
}

.sns-btn.instagram:hover{
  transform: translateY(-2px);
}

/* ===== パネラーSNS（確実に表示する） ===== */
.panel-sns{
  margin-top: 14px !important;
}

.panel-sns .sns-btn{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  color: #fff !important;
  line-height: 1.2 !important;
}

/* YouTube */
.panel-sns .sns-btn.youtube{
  background: #ff0000 !important;
}

/* Instagram */
.panel-sns .sns-btn.instagram{
  background: linear-gradient(135deg,#427eff 0%,#f13f79 70%) !important;
}

/* hover */
.panel-sns .sns-btn:hover{
  transform: translateY(-1px);
  opacity: .95;
}
.panel-sns .sns-btn i{
  font-size: 24px !important;
}
.panel-sns .sns-btn{
  padding: 12px 18px !important;
}
@media (max-width:765px){
  .panel-sns .sns-btn i{
    font-size: 22px !important;
  }
}
/* =========================================
   Modern Luxury Overlay (追加CSS)
   テーマ：豊かさ再設計・新時代の資産
========================================= */

:root {
  --main-navy: #0f2027; /* 深い知性 */
  --main-navy-grad: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
  --rich-gold: #c5a059; /* 上品な金 */
  --rich-gold-grad: linear-gradient(135deg, #d4af37 0%, #edc967 50%, #d4af37 100%);
  --accent-red: #d93d3d; /* ポイントの赤（彩度を少し落として上品に） */
  --bg-offwhite: #f9fbfd;
  --text-dark: #333333;
  --card-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  --font-base: "Noto Sans JP", sans-serif;
}

body {
  font-family: var(--font-base) !important;
  color: var(--text-dark);
  background-color: var(--bg-offwhite);
}

/* --- タイトル・見出し周り --- */
.highlight-title {
  color: var(--main-navy) !important;
  font-weight: 900;
  letter-spacing: 0.1em;
  background: -webkit-linear-gradient(0deg, #b88a44, #e6c86e, #b88a44);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none !important;
  margin-bottom: 25px !important;
}

h2.orange, .text02.orange {
  color: #b88a44 !important; /* ギラギラのオレンジをゴールド系に */
}

/* --- セクション背景の刷新 --- */
/* ネイビー背景をリッチなグラデーションに */
.bgnavy01 {
  background: var(--main-navy-grad) !important;
  position: relative;
  overflow: hidden;
}
/* 背景に幾何学模様などを薄く入れる場合の準備（今回はシンプルにグラデーションのみ） */

/* ベージュ背景をクリアなオフホワイト〜グレーに */
.bgbeige01 {
  background: #fff !important;
}
.bggrey01 {
  background: #f4f6f8 !important;
}

/* --- 文章ボックス（Lead Box） --- */
.lead-box {
  border: none !important;
  box-shadow: var(--card-shadow) !important;
  border-radius: 24px !important;
  padding: 40px !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

/* 箇条書きリストのデザイン */
.check-list li, .bullet-list li {
  background: #fff !important;
  border: 1px solid #eee !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.03);
  color: var(--main-navy);
}
.check-list li::before {
  color: var(--rich-gold) !important;
}

/* --- 登壇者カード（List Box） --- */
.list-box {
  border: none !important;
  border-radius: 20px !important;
  box-shadow: var(--card-shadow) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  margin-top: 40px !important;
}

.list-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
}

/* カード見出し */
.list-box h3.bg03 {
  background: var(--main-navy) !important; /* 画像背景をやめてフラットなネイビーに */
  border-bottom: 4px solid var(--rich-gold);
  padding: 20px !important;
}

/* 写真周り */
.list-box img {
  border-radius: 50%; /* 丸抜きにする */
  border: 4px solid var(--rich-gold);
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  width: 140px !important;
  height: 140px !important;
  object-fit: cover;
  margin: 0 auto 15px !important;
  display: block;
}

/* 名前ラベル */
.bgred02 {
  background: transparent !important;
  color: var(--main-navy) !important;
  font-size: 24px !important;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px !important;
  margin-bottom: 15px !important;
}

/* ジャンルラベル */
.label {
  background: var(--main-navy) !important;
  color: #fff !important;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 6px 16px !important;
}

/* --- プレゼンター（武藤氏）セクション --- */
.presenter-wrap {
  align-items: center !important;
}
.presenter-photo {
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.1);
}
.presenter-right h4 {
  background: transparent !important;
  color: var(--rich-gold) !important;
  font-size: 32px !important;
  border-left: 5px solid var(--rich-gold);
  padding-left: 20px !important;
  margin-bottom: 25px !important;
}
.presenter-bio {
  line-height: 2.0 !important;
  opacity: 0.9;
}

/* --- スケジュール表 --- */
table.table01 {
  border: none !important;
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: var(--card-shadow) !important;
}
table.table01 thead th {
  background: var(--main-navy) !important;
  border: none !important;
  padding: 20px !important;
}
table.table01 tbody th {
  background: #f9f9f9 !important;
  border-bottom: 1px solid #eee !important;
  color: var(--main-navy);
  font-weight: 700;
}
table.table01 tbody td {
  border-bottom: 1px solid #eee !important;
}

/* --- ボタン (CTA) のリッチ化 --- */
a.btn--orange, .fv-sp-button {
  background: var(--rich-gold-grad) !important;
  color: #fff !important; /* 文字色は白に */
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
  border: none !important;
  box-shadow: 0 10px 20px rgba(197, 160, 89, 0.4) !important;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  z-index: 1;
}

a.btn--orange::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  transition: 0.5s;
  z-index: -1;
}

a.btn--orange:hover::after {
  left: 100%;
}

a.btn--orange:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 15px 30px rgba(197, 160, 89, 0.5) !important;
}

/* ヘッダーの予約ボタン */
.btn-primary-header {
  background: var(--main-navy) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* --- FAQ --- */
.faq-box {
  margin-top: 30px;
}
.faq-item {
  background: #fff;
  border-radius: 12px;
  margin-bottom: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  border: 1px solid #eee;
}
.faq-q {
  color: var(--main-navy) !important;
  border-bottom: 1px dashed #ddd;
  padding-bottom: 10px;
  margin-bottom: 10px !important;
}
.faq-q::before {
  content: "Q.";
  color: var(--rich-gold);
  font-size: 1.2em;
  margin-right: 8px;
}
.faq-a::before {
  content: "A.";
  color: var(--accent-red);
  font-weight: bold;
  margin-right: 8px;
}

/* --- その他微調整 --- */
.emphasis-red {
  background: linear-gradient(transparent 70%, #ffdfdf 70%); /* マーカー風 */
  color: var(--text-dark) !important;
}

.price-free {
  color: var(--accent-red) !important;
  font-size: 3rem !important; /* 無料を巨大に */
}

/* SP調整 */
@media (max-width: 765px) {
  .list-box img {
    width: 100px !important;
    height: 100px !important;
  }
  .highlight-title {
    font-size: 24px !important;
  }
  .lead-box {
    padding: 24px !important;
  }
  .presenter-right h4 {
    font-size: 22px !important;
    border-left: 3px solid var(--rich-gold);
  }
  .price-free {
    font-size: 2rem !important;
  }
}
/* 登壇するのは、を強調 */
.speaker-intro{
  font-size: 28px !important;
  font-weight: 900 !important;
  color: #DA1725 !important;
  text-align: center !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.05em;
}
@media (max-width:765px){
  .speaker-intro{
    font-size: 20px !important;
  }
}
/* 登壇者キャッチコピー中央寄せ */
.speaker-catch{
  text-align: center !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  margin: 20px auto !important;
  letter-spacing: 0.04em;
}
@media (max-width:765px){
  .speaker-catch{
    font-size: 18px !important;
  }
}
/* 登壇者キャッチコピー（金色に戻す） */
.speaker-catch{
  text-align: center !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  margin: 20px auto !important;
  letter-spacing: 0.04em;

  /* ゴールドグラデーション */
  background: linear-gradient(135deg, #d4af37 0%, #f6e27a 40%, #b8860b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width:765px){
  .speaker-catch{
    font-size: 18px !important;
  }
}
/* ===== 登壇者キャッチを確実に金色にする ===== */

.speaker-catch{
  text-align: center !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  margin: 20px auto !important;
  letter-spacing: 0.04em !important;

  background: linear-gradient(
    135deg,
    #d4af37 0%,
    #f6e27a 30%,
    #ffffff 45%,
    #f6e27a 60%,
    #b8860b 100%
  ) !important;

  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
}
/* ===== 視認性重視・濃いゴールド ===== */
.speaker-catch{
  text-align: center !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  margin: 20px auto !important;
  letter-spacing: 0.04em !important;

  background: linear-gradient(
    135deg,
    #b8860b 0%,
    #d4af37 40%,
    #c49b1f 70%,
    #a67c00 100%
  ) !important;

  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;

  text-shadow: 0 1px 2px rgba(0,0,0,.15);
}

