@charset "UTF-8";

/* =========================
   Hero Notice Panel
========================= */
.hero-notice{
  max-width: 1080px;
  margin: 36px auto 26px;
  padding: 2px 22px 2px;
  text-align: center;
  background:
    radial-gradient(1200px 280px at 50% -80px, rgba(248,211,75,.16), transparent 60%),
    linear-gradient(180deg, var(--panel), rgba(255,255,255,.03));
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.06);
}

/* ─ バッジ列 */
.hero-badges{
  display:flex; flex-wrap:wrap;
  justify-content:center; align-items:center;
  gap:12px; margin-bottom:14px;
}
.badge{
  display:inline-flex; align-items:center; gap:.5ch;
  padding:8px 12px;
  border-radius:10px;
  font-weight:800; font-size:14px; letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.14);
  white-space:nowrap;
}
.badge-hot{
  color:#fff;
  background: linear-gradient(180deg, #f87171, #dc2626);
  box-shadow: 0 8px 22px rgba(239,68,68,.38);
  position:relative;
}
.badge-hot::before{
  content:""; width:8px;height:8px;border-radius:50%;
  background:#fff; display:inline-block;
  box-shadow:0 0 0 0 rgba(255,255,255,.85);
  animation: ping 1.6s cubic-bezier(0,0,.2,1) infinite;
}
.badge-info{
  color:#e5e7eb;
  background: linear-gradient(180deg, rgba(17,24,39,.96), rgba(17,24,39,.88));
  box-shadow: 0 8px 22px rgba(0,0,0,.35);
}

/* ─ 見出し */
.hero-title{
  margin:4px 0 6px;
  line-height:1.15;
  font-weight:900;
  font-size: clamp(43px, 4.8vw, 54px);
  letter-spacing:.02em;
  /* 黄グラデを文字で切り抜き＋柔らかい光彩 */
  background: linear-gradient(180deg, #fff8c8 0%, var(--accent) 60%, #d1a300 100%);
  -webkit-background-clip:text; background-clip:text; color:#434b5e;
  text-shadow: 0 2px 0 rgba(0,0,0,.30), 0 18px 48px rgba(255,222,89,.22);
}
.hero-title .kakko{ letter-spacing:.05em; }
.hero-title .title-sub{ display:inline-block; margin-top:4px; }

/* ─ リード文 */
.hero-lead{
  margin: 6px 0 0;
  color: var(--muted);
  font-size: clamp(14px, 2.6vw, 16px);
}

/* =========================
   Countdown 強調フレーム
========================= */
.countdown-box{
  position: relative;
  isolation: isolate;           /* 枠の下に回転レイヤーを閉じ込める */
  max-width: 720px;
  margin: 20px auto 28px;
  padding: 22px 16px 18px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow: 0 4px 12px rgba(0,0,0,.20);
}

/* 外周：回転するグラデーション枠 */
/*.countdown-box::before{
  content:"";
  position:absolute;
  inset:-2px;                   /* 外側に2px広げて太めに見せる */
  border-radius: inherit;
  background: conic-gradient(
    from 0deg,
    #f8d34b, #ef4444, #f59e0b, #f8d34b
  );
  /* 枠だけ見せる（中をくり抜く） */
  -webkit-mask: 
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  padding: 2px;
  z-index: -1;
  animation: spin 12s linear infinite;
}*/

/* 内側：うっすら線（情報の箱を締める） */
.countdown-box::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  pointer-events:none;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset;
}

/* 見出し「締切まで」ピル */
.countdown-box > h4{
  position:absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  margin:0;
  padding: 6px 14px;
  font-weight: 800;
  font-size: 1.3em;
  letter-spacing: .08em;
  color: #0f1720;
  background: #fde68a;          /* 目立つ薄い黄 */
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(248,211,75,.35);
}

.cd-text-1{
	 font-size: 1.8em;
	font-weight: bold;
}

/* カードと数字（既存スタイルがある場合は強さを揃える） */
.countdown{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:14px;
}
.cd-card{
  text-align:center;
  background: rgba(0,0,0,.07);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 14px 8px;
}
.cd-num{
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: clamp(28px, 6vw, 42px);
  letter-spacing: .02em;
  line-height: 1;
  text-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.cd-num.sec{ color:#ef4444; }
.cd-lbl{
  margin-top:6px;
  font-size:0.9em;
  color:#333333;
}

/* 枠の回転アニメーション */
@keyframes spin{
  to{ transform: rotate(360deg); }
}

/* 動きを減らしたいユーザー環境では停止 */
@media (prefers-reduced-motion: reduce){
  .countdown-box::before{ animation: none; }
}

/* モバイル微調整 */
@media (max-width: 640px){
  .countdown-box{ padding: 0px 12px 14px;width: 95%; margin: 0 auto;}
  .countdown{ gap:10px; }
  .cd-card{ padding: 12px 6px; }
  .countdown-box > h4{ top:-12px; font-size:13px; padding:6px 12px; }
}




/* 20251022追加 */
/* ===== DRS video block ===== */
			.drs-video{
			  --ink:#222; --sub:#666; --bg:#fff; --line:#eee;
			  --accent:#8A0000; --accent2:#b31212;width: 95%; margin: auto;
			  max-width: 750px; margin: 48px auto; /*padding: 0 16px;*/ color: var(--ink);
			}
			.drs-video__head{ text-align:center; margin-bottom: 16px; width: 95%;margin: auto;max-width: 600px;}
			.drs-video__badge{
			  display:inline-block; font-size:1.5em; color:#fff;
			  background: #0c5480;
			  padding:.28rem .7rem; border-radius:999px; letter-spacing:.02em;width: 600px;
			}

@media screen and (max-width:480px){
			.drs-video__badge{
			  display:inline-block; font-size:1.5em; color:#fff;
			  background: #0c5480;
			  padding:.28rem .7rem; border-radius:999px; letter-spacing:.02em;width: 95%;
			}
}

			.drs-video__title{
			  margin:.6rem 0 .4rem; font-size: clamp(1.3em, 2.6vw, 1.8em);
			  font-weight:800; line-height:2;
			}
			.drs-video__lead{ margin:0 auto 12px; color:var(--sub); max-width: 760px; }

			.drs-video__card{
			  background: var(--bg); border:1px solid var(--line);
			  border-radius:16px; overflow:hidden;
			  box-shadow: 0 10px 28px rgba(0,0,0,.08);
			}
			.drs-video__ratio{
			  position:relative; aspect-ratio: 16/9; background:#000;
			}
			.drs-video__ratio iframe{
			  position:absolute; inset:0; width:100%; height:100%; border:0;
			}
			.drs-video__foot{
			  display:flex; flex-wrap:wrap; gap:12px; align-items:center;
			  justify-content:space-between; padding:14px 16px;
			  border-top:1px solid var(--line);
			}
			.drs-video__meta{ display:flex; gap:16px; color:var(--sub); font-size:.9rem; }
			.drs-video__time::before, .drs-video__cond::before{
			  content:""; display:inline-block; width:12px; height:12px; margin-right:6px;
			  border-radius:2px; background: #ddd;
			}
			.drs-video__time::before{ background:#cfe3ff; }
			.drs-video__cond::before{ background:#ffe1cf; }

			.drs-video__cta{
			  display:inline-block; text-decoration:none; color:#fff; font-weight:800;
			  background: linear-gradient(90deg,var(--accent),var(--accent2));
			  padding:.7rem 1.1rem; border-radius:999px;
			  box-shadow: 0 8px 20px rgba(138,0,0,.18); transition: transform .12s, box-shadow .12s;
			}
			.drs-video__cta:hover{ transform: translateY(-1px); box-shadow:0 12px 26px rgba(138,0,0,.28); }

			/* 小さめ画面 */
			@media (max-width: 640px){
			  .drs-video__foot{ flex-direction:column; align-items:flex-start; }
			  .drs-video__cta{ width:100%; text-align:center; }
			}


			/* 目次 */
.aw-toc ol li{
	list-style-type: none;
}

.aw-toc ol{
	    width: 100%;
}

.aw-toc ol li a{
	    font-size:1em;
}

			/* ページ内スクロールを滑らかに */
			html{scroll-behavior:smooth;}
			[id]{scroll-margin-top:92px;} /* ヘッダー高に合わせて調整 */

			#drs-toc.aw-toc{
			  --accent:#8A0000;       /* AWARENESS赤 */
			  --accent2:#b31212;
			  --ink:#1b1b1b;
			  --sub:#6b6b6b;
			  --card:#fff;
			  --line:#e9e9e9;
			  --r:14px;

			  max-width:720px;
			width:95%;
			  margin:18px auto 26px;
			  /*padding:0 16px;*/
			  font-family:"Noto Sans JP",system-ui,-apple-system,sans-serif;
			}

			/* 見出し行 */
			#drs-toc .aw-toc__head{
			  /*display:flex;*/align-items:center;gap:.6rem;margin:0 0 8px;
			}
			#drs-toc .aw-toc__badge{
			  display:inline-block;color:#fff;font-size:.8rem;
			  padding:.26rem .6rem;border-radius:999px;
			  background:linear-gradient(90deg,var(--accent),var(--accent2));
			}
			#drs-toc .aw-toc__title{
			  margin:0;font-weight:800;color:var(--ink);
			  /*font-size:clamp(1.05rem,2.1vw,1.25rem);*/
			}

			/* リスト本体（カード） */
			#drs-toc .aw-toc__list{
			  counter-reset: toc;
			  list-style:none !important; /* 既存CSSを無効化 */
			  margin:0 !important;
			  padding:14px !important;
			  display:grid;gap:10px;
			  grid-template-columns: repeat(2, minmax(0,1fr));
			  background:rgba(255,255,255,.92);
			  border:1px solid var(--line);
			  border-radius:16px;
			  box-shadow:0 14px 34px rgba(0,0,0,.08);
			  backdrop-filter: blur(2px);
				max-width:1100px;
			}
			@media (max-width: 800px){
			  #drs-toc .aw-toc__list{grid-template-columns:1fr;}
			}

			/* 各行リンク */
			#drs-toc .aw-toc__list > li > a{
			  position:relative;
			  display:flex;align-items:center;gap:.8rem;
			  padding:.9rem 1.1rem;
			  background:var(--card);
			  border:1px solid #f3f3f3;
			  border-radius:12px;
			  color:var(--ink) !important;
			  text-decoration:none !important;
			  line-height:1.35;/*font-weight:700;*/
			  transition:transform .08s ease, box-shadow .15s ease, background .15s ease;
			}

			/* 数字バッジ（CSSカウンタ） */
			#drs-toc .aw-toc__list > li > a::before{
			  counter-increment: toc;
			  content: counter(toc);
			  /*width:26px;height:26px;*/border-radius:8px;
			  display:grid;place-items:center;
			  color:#fff;font-size:1.3em;font-weight:800;
			  background:linear-gradient(90deg,var(--accent),var(--accent2));
			  flex:0 0 26px;
				padding: 0 10px;
			}

			/* 右矢印 */
			#drs-toc .aw-toc__list > li > a::after{
			  content:"";margin-left:auto;width:20px;height:20px;flex:0 0 20px;
			  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 6l6 6-6 6' fill='none' stroke='%238A0000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
			  background: var(--accent);
			  opacity:.95;transition:transform .15s ease;
			}

			/* ホバー（浮き上がり） */
			#drs-toc .aw-toc__list > li > a:hover{
			  transform: translateY(-1px);
			  box-shadow:0 10px 22px rgba(138,0,0,.14);
			  background:#fffafa;
			}
			#drs-toc .aw-toc__list > li > a:hover::after{ transform: translateX(2px); }

			/* CTA（最後の行だけ強調） */
			#drs-toc .aw-toc__list > li.aw-toc__cta > a{
			  color:#fff !important;border-color:transparent;
			  background:linear-gradient(90deg,var(--accent),var(--accent2));
			  box-shadow:0 12px 26px rgba(138,0,0,.20);
			}
			#drs-toc .aw-toc__list > li.aw-toc__cta > a::after{
			  background:#fff; opacity:.98;
			}
			#drs-toc .aw-toc__list > li.aw-toc__cta > a::before{
			  content:"▶"; width:26px;height:26px; border-radius:8px;
			  display:grid;place-items:center;font-weight:900;background:rgba(255,255,255,.25);
			}




/*===============


 見出しタイトル


===============*/



/**印刷

SyntaxHighlighterについて*/
    /* デフォルト：479px以下用（スマートフォン用）の記述 */

@media screen and (max-width:480px){



}


@media screen and (min-width:481px){




}



@media screen and (min-width:767px){




    /* 768px以上用（タブレット用）の記述 */
}



@media screen and (min-width:980px){



    /* 980px以上用（PC用）の記述 */
}

@media screen and (min-width:1023px){




}
