html {
  scroll-behavior: smooth;
}

/* ----------- ルート変数（オレンジ系カラーに統一） ----------- */
:root {
  --main-orange: #ff9900;
  --accent-orange: #e66a00;
  --bg-light: #fff8f2;
  --text-dark: #222;
  --text-light: #fff;
}

/* ----------- ベース & 汎用 ----------- */
body {
  font-family: 'Roboto', Arial, sans-serif;
  margin: 0;
  color: var(--text-dark);
  background: var(--bg-light);
  min-height: 100vh;
}
.container {
  max-width: 900px;
  margin: 0 auto;
  padding: 48px 24px;
}
@media (max-width: 767px) {
  .container { padding: 18px 4vw; }
}

/* ----------- 共通フォントスタイル ----------- */
.font-heading,
.numbered-block-title-under,
.numbered-block-date-under,
.schedule-date,
.schedule-title,
.present-campaign-title,
.present-campaign-block-title,
.summary-title,
.numbered-block-title {
  font-family: 'Montserrat', 'Roboto', sans-serif;
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* --- アンカーリンク --- */
.anchor-links-bar {
  background: var(--main-orange);
  padding: 16px 0;
  margin: 24px 0 36px 0;
  width: 100vw;
  min-width: 100%;
  position: relative;
  left: 50%;
  right: 50%;
  transform: translateX(-50%);
  border-radius: 0;
  box-shadow: 0 2px 12px rgba(255,153,0,0.12);
  z-index: 1;
}
.anchor-links-bar ul {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 40px;
  justify-content: center;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}
.anchor-links-bar li {
  margin: 0;
  padding: 0;
}
.anchor-links-bar a,
.anchor-links-bar p {
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2.5px solid #fff;
  padding: 3px 0 2px 0;
  transition: border-color 0.18s, color 0.18s;
  position: relative;
  letter-spacing: 0.03em;
}
.anchor-links-bar a .anchor-caret {
  font-size: 1.1em;
  margin-left: 3px;
  color: #fff;
  transition: color 0.18s, transform 0.18s;
}
.anchor-links-bar a:hover,
.anchor-links-bar a:focus {
  border-bottom: 2.5px solid #ffe9cc;
  color: #ffe9cc;
  outline: none;
}
.anchor-links-bar a:hover .anchor-caret,
.anchor-links-bar a:focus .anchor-caret {
  color: #ffe9cc;
  transform: translateY(2px) scale(1.08);
}
@media (max-width: 767px) {
  .anchor-links-bar { 
    padding: 10px 0;
    width: 100%;
  }
  .anchor-links-bar ul { gap: 8px 15px; max-width: 98vw; }
  .anchor-links-bar a, .anchor-links-bar p { font-size: 1.27rem; padding: 2px 0 1.5px 0; }
}

/* --- セクション背景 オレンジ系 --- */
.pre_section,
.schedule-section {
  background: linear-gradient(135deg, #fff4e5 60%, #ffe0c2 100%);
}
.tokuten_section_content_title.animated,
.gift_text {
  color: var(--accent-orange) !important;
}
.e-ticket {
  color: #ff6767 !important;
}
@media (max-width: 767px) {
  .schedule-section { 
    margin-left: -15px;
    margin-right: -15px;
  }
}

/* ----------- numbered-blocks-under ----------- */
.numbered-blocks-under {
  margin: 40px 0;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 22px 10px;
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,0.7);
}
.numbered-blocks-under > * { position: relative; z-index: 1; }
.numbered-block-title-under {
  display: flex;
  align-items: center;
  font-size: clamp(2rem, 3.3vw, 3.0rem);
  color: var(--main-orange);
  margin-bottom: 14px;
  font-weight: 800;
}
.numbered-block-under {
  padding: 0 0 22px 0;
  margin-bottom: 22px;
  border-bottom: 2px solid var(--main-orange);
  background: none;
}
.numbered-block-under:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.numbered-block-content-under {
  font-size: clamp(1.4rem, 3.3vw, 1.8rem);
  color: var(--text-dark);
  line-height: 1.8;
  display: inline-block;
  padding: 4px 10px;
  box-decoration-break: clone;
  background: linear-gradient(90deg, #ffe5b3 70%, transparent 100%);
}
.numbered-block-date-under {
  margin-top: 10px;
  font-size: clamp(1.6rem, 3.3vw, 2.4rem);
  color: var(--accent-orange);
  font-weight: 700;
}

/* ----------- numbered-blocks ----------- */
.numbered-blocks {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 40px 0;
}
.numbered-block {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 18px rgba(255,153,0,0.09);
  padding: 28px 22px;
  max-width: 767px;
  margin: 0 auto;
}
.numbered-block-title {
  font-size: 1.18rem;
  color: var(--main-orange);
  margin-bottom: 14px;
  letter-spacing: 0.02em;
  font-weight: 700;
}
.numbered-block-content {
  font-size: 1rem;
  color: var(--text-dark);
  line-height: 1.8;
}

@media (max-width: 767px) {
  .numbered-blocks-under { padding: 20px 10px 10px; }
  .responsive-svg { width: 32px; height: 32px; }
}

/* ----------- SVGレスポンシブ ----------- */
.responsive-svg { width: 50px; height: 50px; padding-right: 10px; }

/* ----------- ガイダンス通知 ----------- */
.guidance-location-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--main-orange);
  color: var(--text-light);
  font-weight: 700;
  font-size: clamp(1.8rem, 3.3vw, 2.4rem);
  margin-top: 20px;
  padding: 14px 0;
  text-align: center;
  margin-bottom: 32px;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 12px rgba(255,153,0,0.10);
}
.guidance-location-notice a { color: var(--text-light); text-decoration: underline; }
.guidance-location-notice strong { text-decoration: underline; font-weight: 900; letter-spacing: 0.02em; }

/* ----------- CTAデザイン ----------- */
.scoring_cta_wrap { display: flex; flex-direction: column; align-items: center; gap: 0 !important; margin-top: 0px; }
.cta_button { background-color: var(--main-orange) !important; padding: 2.4rem 14rem !important; }
.cta-btn, .present-campaign-btn {
  display: inline-block;
  padding: 16px 48px;
  background: linear-gradient(90deg, var(--main-orange) 70%, var(--accent-orange) 100%);
  color: var(--text-light);
  font-size: 1.15rem;
  font-family: 'Montserrat', 'Roboto', sans-serif;
  font-weight: 700;
  border-radius: 32px;
  border: none;
  letter-spacing: 0.06em;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(255,153,0, 0.19);
  transition: background 0.25s, transform 0.15s;
  z-index: 1;
  position: relative;
  text-decoration: none;
}
.cta-btn:hover, .present-campaign-btn:hover {
  background: linear-gradient(90deg, var(--accent-orange) 80%, var(--main-orange) 100%);
  transform: translateY(-3px) scale(1.04);
}
@media (max-width: 767px) {
  .cta_button { padding: 2rem 5rem !important; }
}

/* ----------- CTAアテンションデザイン ----------- */
.catchphrase {
  font-size: 0.9em;
  font-weight: bold;
  letter-spacing: 0.08em;
  min-height: 2em;
  display: flex;
  gap: 0.2em;
}
.char {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  background: var(--accent-orange);
  color: #fff;
  font-weight: bold;
  border-radius: 0.3em;
  box-shadow: 0 2px 6px rgba(0,0,0,0.07);
  margin: 0 0.05em;
  transition: transform 0.2s;
  font-size: 1.1em;
  user-select: none;
}
.char.bounce {
  animation: bounce 0.7s cubic-bezier(.17,.67,.83,.67);
}
@keyframes bounce {
  0%   { transform: translateY(0); }
  30%  { transform: translateY(-16px); }
  60%  { transform: translateY(2px); }
  100% { transform: translateY(0); }
}

/* ----------- サマリーデザイン ----------- */
.summary-box {
  background: #fff url('https://www.shikaku.co.jp/sitemanager/wp-content/uploads/2025/08/2s_kaito/schedule-bg1.jpg') center/320% no-repeat;
  border-radius: 18px;
  box-shadow: 0 6px 32px 0 rgba(255,153,0,0.08), 0 1.5px 8px 0 rgba(255,153,0,0.06);
  padding: 48px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.summary-box::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.75);
  z-index: 0;
  pointer-events: none;
}
.summary-box > * { position: relative; z-index: 1; }
.summary-title {
  font-size: clamp(2.0rem, 3.3vw, 3.0rem);
  color: var(--main-orange);
  margin-bottom: 24px;
  letter-spacing: 0.05em;
  z-index: 1;
  position: relative;
  padding-bottom: 12px;
  text-align: center;
}
.summary-title::after,
.schedule-title::after,
.present-campaign-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin: 18px auto 0;
  background: linear-gradient(90deg, var(--main-orange), var(--accent-orange));
  border-radius: 2px;
  opacity: 0.85;
}
.summary-text {
  font-size: clamp(1.6rem, 3.3vw, 1.8rem);
  line-height: 2;
  margin-bottom: 36px;
  z-index: 1;
  position: relative;
}
@media (max-width: 767px) {
  .summary-box {
    background: #fff url('https://www.shikaku.co.jp/sitemanager/wp-content/uploads/2025/08/2s_kaito/schedule-bg1.jpg') center/340% no-repeat;
    padding: 22px 8px;
  }
  .summary-title { padding-bottom: 10px; }
}

/* ----------- セクションデザイン ----------- */
.schedule-title {
  text-align: center;
  font-size: clamp(2.0rem, 3.3vw, 3.0rem);
  margin-bottom: 36px;
  color: var(--main-orange);
  letter-spacing: 0.05em;
  position: relative;
  padding-top: 48px;
  padding-bottom: 14px;
}
.schedule-blocks {
  display: flex;
  gap: 32px;
  justify-content: center;
  flex-wrap: wrap;
}
.schedule-block {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 18px rgba(255,153,0,0.11);
  padding: 32px 16px 24px;
  flex: 1 1 260px;
  max-width: 320px;
  min-width: 220px;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 24px;
  border-top: 6px solid var(--main-orange);
  transition: transform 0.18s;
}

.schedule-date {
  font-size: clamp(1.8rem, 3.3vw, 2.4rem);
  color: var(--accent-orange);
  font-weight: 700;
  margin-bottom: 14px;
}
.schedule-content strong {
  font-size: clamp(2.0rem, 3.3vw, 2.4rem);
  color: var(--main-orange);
  margin-bottom: 6px;
  padding-top: 5px;
  display: block;
  line-height: 1.2;
}
.schedule-content p {
  font-size: 1.6rem;
  color: #000;
  margin: 0;
  margin-top: 10px;
  margin-bottom: 20px;
  line-height: 1.7;
}
.schedule-icon { margin-bottom: 10px; }
@media (max-width: 750px) {
  .schedule-blocks { flex-direction: column; gap: 0px; align-items: center; }
  .schedule-block { max-width: 100%; min-width: unset; width: 95%; }
  .schedule-block:first-child { margin-bottom: 0; }
  .schedule-section { padding: 0 12px; }
  .schedule-content p {
    margin-bottom: 20px;
  }
}

/* ----------- プレゼント・キャンペーン ----------- */
.present-campaign-section {
  padding: 64px 0 64px 0;
}
.present-campaign-title {
  text-align: center;
  color: var(--main-orange);
  font-size: clamp(2.0rem, 3.3vw, 3.0rem);
  margin-bottom: 40px;
  letter-spacing: 0.05em;
  position: relative;
  padding-bottom: 14px;
}
.present-campaign-blocks {
  display: flex;
  flex-direction: column;
  gap: 36px;
  align-items: center;
}
.present-campaign-block {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 18px rgba(255,153,0,0.09);
  max-width: 500px;
  width: 95%;
  padding: 32px 24px 24px;
  margin-bottom: 12px;
  text-align: center;
  position: relative;
}
.present-campaign-block-title {
  font-size: 1.25rem;
  color: var(--main-orange);
  margin-bottom: 18px;
  letter-spacing: 0.02em;
}
.present-campaign-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 20px;
}
.present-campaign-desc {
  flex: 1;
  text-align: left;
  font-size: 1.05rem;
  color: #333;
  line-height: 1.6;
}
.present-campaign-img {
  width: 84px;
  height: 84px;
  flex-shrink: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff3e3;
  display: flex;
  align-items: center;
  justify-content: center;
}
.present-campaign-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .present-campaign-content { flex-direction: column; gap: 10px; align-items: stretch; text-align: center; }
  .present-campaign-desc { text-align: center; }
  .present-campaign-block { padding: 22px 8px 18px; }
  .add_text { line-height: 1; }
}

/* テキストグラデーションアニメーション（オレンジ系） */
.gradient-text {
  font-size: clamp(2rem, 3.3vw, 2.4rem);
  font-weight: bold;
  background: linear-gradient(270deg, #b45309, #ea580c, #fb923c, #f59e42, #b45309);
  background-size: 600% 600%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  animation: gradientMove 3s ease-in-out infinite;
}
@keyframes gradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ----------- 詳細タイトル背景 ----------- */
.detail_title_bg {
  background-color: var(--main-orange);
  color: #fff;
  margin-top: 40px;
  padding: 10px 30px;
  font-size: clamp(1.8rem, 3.3vw, 3.4rem);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .detail_title_bg { 
    background-color: var(--main-orange);
    color: #fff;
    padding: 10px 15px;
  }
}

/* オレンジ系リストデザイン */
ol li {
  position: relative;
  padding: 0.5em;
  line-height: 1.5em;
  background: #fff6ec;
  border-left: solid 35px var(--main-orange);
  margin-bottom: 8px;
  transition: box-shadow 0.15s;
  cursor: pointer;
}
ol li:hover {
  box-shadow: 0 2px 12px rgba(255,153,0,0.13);
  background: #ffe8ca;
}
/* ol li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  color: #fff;
  background: var(--accent-orange);
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight: bold;
  font-size: 16px;
  top: 50%;
  transform: translateY(-50%);
  left: -35px;
  width: 35px;
  height: 35px;
  line-height: 35px;
  border-radius: 50%;
  text-align: center;
  box-shadow: 0 2px 8px rgba(255,153,0,0.09);
} */

/* 全体をクリック可能にするためのスタイル */
.add_list_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 18px 18px 58px;
  margin-bottom: 24px;
  cursor: pointer;
  border-radius: 12px;
  background: #fff6ec;
  border-left: solid 35px var(--main-orange);
  transition: background 0.14s, box-shadow 0.16s;
  position: relative;
  z-index: 1;
}
.add_list_link {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
  position: absolute;
  inset: 0;
  z-index: 2;
}
.add_list_item a,
.add_list_item_text {
  font-size: clamp(1.6rem, 3.3vw, 2.4rem);
  color: var(--main-orange);
  font-weight: bold;
  text-decoration: none;
  z-index: 3;
  transition: color 0.15s;
}
.add_list_item a:hover,
.add_list_item_text:hover {
  color: var(--accent-orange);
}
.add_list_item svg {
  color: var(--accent-orange);
  margin-left: 5px;
  transition: color 0.14s;
}
.add_list_item:hover svg {
  color: var(--main-orange);
}
.status {
  display: flex;
  align-items: center;
  font-size: clamp(1.6rem, 3.3vw, 2.4rem);
  font-weight: 700;
  color: var(--accent-orange);
  background: transparent;
  padding: 0 0 0 18px;
  border-radius: 0;
  letter-spacing: 1px;
  box-shadow: none;
  border-left: 3px solid var(--main-orange);
  min-width: 120px;
  height: 36px;
}
.add_list_wrap {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  z-index: 3;
}
.add_list_item_paragraph {
  font-size: 1.2rem;
  color: #b36100;
}
.indent { text-indent: 1em; }
/* クリック時の明示（アクセシビリティ） */
ol li:active { background: #ffd59b; }
.add_list_link:focus {
  outline: 2px solid var(--main-orange);
  outline-offset: 2px;
}
.add_list_item .icon-in-bar {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  background: transparent;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .add_list_item { padding: 10px 8px 10px 38px; border-radius: 8px; }
  .add_list_item .icon-in-bar { width: 28px; height: 28px; }
  .add_list_item_paragraph { font-size: 1.07rem; }
  .add_list_wrap { flex-direction: column; gap: 4px; align-items: flex-start; }
  .status { min-width: 70px; height: 26px; padding-left: 8px; font-size: 0.97rem; }
}

.pdf-links {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  margin: 2rem 0;
  flex-wrap: wrap;
}
.pdf-link {
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, #FF9800 0%, #FFA726 100%);
  color: #fff;
  border-radius: 1.2rem;
  padding: 1.2rem 2rem;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(255,152,0,0.12);
  transition: transform 0.12s, box-shadow 0.16s;
  min-width: 200px;
  flex: 1 0 220px;
  max-width: 320px;
}
.pdf-link:hover, .pdf-link:focus {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 4px 16px rgba(255,152,0,0.19);
}
.pdf-icon {
  margin-right: 1.1rem;
  display: flex;
  align-items: center;
}
.pdf-title {
  font-size: 1.18rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.04em;
  display: block;
}
.pdf-info {
  font-size: 0.95rem;
  opacity: 0.8;
  margin-top: 0.24em;
  display: block;
}

/* スマホ対応 */
@media (max-width: 767px) {
  .pdf-links {
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .pdf-link {
    padding: 1rem 1.2rem;
    min-width: 140px;
    font-size: 0.98rem;
  }
  .pdf-title { font-size: 1.03rem; }
}

/* -----------
youtube埋め込みコンテンツ
----------- */
.cms_movie_detail {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 20px auto;
  border: 4px solid #FF9800; /* オレンジ系で目立たせる */
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0,0,0,0.12), 0 1.5px 6px rgba(255,152,0,0.14);
  background: #fffdfa;
  transition: box-shadow 0.3s;
}
.cms_movie_detail:hover {
  box-shadow: 0 12px 36px rgba(255,152,0,0.22), 0 3px 12px rgba(0,0,0,0.18);
}
.movie_label {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  background: #FF1744;
  color: #fff;
  font-weight: bold;
  padding: 6px 16px;
  border-radius: 10px;
  font-size: 1.1em;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  letter-spacing: .1em;
}
.cms_movie_detail {
  position: relative;
}
.cms_movie_caption .highlight {
  background: linear-gradient(90deg, #ffe082 60%, transparent 100%);
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: bold;
  color: #333;
}
@keyframes blink {
  0%, 100% { opacity: 1; }
  60% { opacity: 0.4; }
}
.movie_label {
  animation: blink 1.2s infinite;
}
.cms_movie_detail {
  aspect-ratio: 16/9;
  width: 100%;
  max-width: 600px;
  margin: 0 auto 20px auto;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
.cms_movie_detail iframe {
  width: 100%;
  height: 100%;
  display: block;
}
.cms_movie_caption {
  text-align: center;
  font-size: 2em;              /* 文字を大きく */
  font-weight: bold;
  color: #FF1744;              /* 目立つ赤系 */
  margin: 24px 0 0 0;
  animation: blink 1s infinite; /* 点滅アニメ */
  letter-spacing: 0.05em;
}

/* 点滅アニメーション */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.2; }
}


/* -----------
youtube埋め込みコンテンツ - 事前告知用
----------- */
.cms_movie_detail.embed-mode {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  border: 4px solid #FF9800;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.12);
}

.caption-over-img {
  margin: 12px 0;
  text-align: center;
}
.caption-main {
  display: inline-block;
  text-align: center;
  color: #FF9800;
  font-size: clamp(1.8rem, 3.3vw, 2.4rem);
  font-weight: bold;
  padding: 8px 32px;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.iframe-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
}

.iframe-wrap iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.scheduled-label {
  position: absolute;
  bottom: 16px;
  right: 28px;
  background: #FF9800;
  color: #fff;
  font-weight: bold;
  font-size: 1.1em;
  padding: 8px 20px;
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.11);
  letter-spacing: 0.07em;
  animation: blink 1.2s infinite;
  z-index: 4;
}

@keyframes blink {
  0%,100% { opacity: 1; }
  60%    { opacity: 0.5; }
}
@media (max-width: 767px) {
  .caption-main {
    padding: 8px 10px;
  }
}

/* -----------
解答番号掲示・総評コンテンツ
----------- */

.schedule-flex {
  display: flex;
  justify-content: center;
  align-items: center; /* 縦中央揃え */
  gap: 8px; /* アイコンとテキストの間隔 */
}
.pdf-link-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #fff;
  min-width: 220px;
  max-width: 340px;
  flex: 1 0 220px;
  padding: 22px 20px 16px 20px;
  transition: transform 0.12s, box-shadow 0.16s;
  border: none;
  position: relative;
}
.pdf-link-block:hover,
.pdf-link-block:focus-visible {
  transform: translateY(-3px) scale(1.025);
  text-decoration: none;
}
.dummy-btn {
  padding: 10px 20px;
  background-color: #a5a4a3;
  border-radius: 30px;
  color: #fff;
}

.schedule-content {
  display: flex;
  flex-direction: column;
  height: 100%; /* 必要に応じて高さ指定 */
}

.dummy-btn {
  margin-top: auto;
}
