.pgTitleArea .specialLabel { text-align: center; margin: 0 0 24px; }
.pgTitleArea .specialLabel span { display: inline-block; font-size: 2.2rem; line-height: 1.4; padding: 0.3em 1.8em; border-radius: 999px; }
@media screen and (max-width: 767px) {
  .pgTitleArea .specialLabel span { font-size: 1.6rem; }
}
.deptSchedule { font-weight: 700; }
.deptSchedule span { margin-right: 0.9em; }
.deptSchedule .dsQa { display: inline-block; margin-right: 0; padding: 0 0.7em; font-size: 0.85em; line-height: 1.7; border: 1px solid var(--color-main); border-radius: 999px; }
.contentsWrap .program24hArea01 > .inner01 .programList { justify-content: center; column-gap: 2%; }
@media screen and (min-width: 768px) {
  .contentsWrap .program24hArea01 > .inner01 .programList li,
  .contentsWrap .program24hArea01 > .inner01 .programList li:nth-child(4n + 4) { margin-right: 0; }
}
@media screen and (max-width: 767px) {
  .contentsWrap .program24hArea01 > .inner01 .programList { column-gap: 4%; }
}

.subtitleNote { color: #e60012; }
:root {
  --color-main: #FF0000;
  --color-sub: #4AE563;
}
.textMain { color: var(--color-main); }
.textSub { color: var(--color-sub); }
.bgMain { background-color: var(--color-main); color: #ffffff; }
.bgSub { background-color: var(--color-sub); color: #000000; }
.bgMainTextSub { background-color: var(--color-main); color: var(--color-sub); }
.bgSubTextMain { background-color: var(--color-sub); color: var(--color-main); }
.heading01 { color: var(--color-sub); }
.heading02 { color: var(--color-sub); }
.text01.type02 { color: var(--color-sub); }
.newsArea .hdg { color: var(--color-sub); }
.contentsWrap .contents02 .leadArea > .inner01 .scheduleWrap .schedule .btn02 a { background-color: var(--color-main); color: #ffffff; border: 1px solid var(--color-main); }
.btn02 > a { border: 1px solid var(--color-sub); }
#header01 { background: var(--color-main); }
#footer01 { background: var(--color-main); }
.text01 span { background: linear-gradient(transparent 60%, var(--color-main) 60%); }
@media screen and (max-width: 767px) {
  #globalNav01 { background-color: var(--color-main); }
}
/* 2026-09-22追加: JP版generate.pyと同じ理由で、ヘッダー/フッターの上に乗るナビ文字
   (.nav01/.languageNav/#nav0)・モバイルのアイコン行(.spIcon p)・ハンバーガーアイコンの
   3本線(.headButton01 > span)は、common.cssで色が固定されており背景色に連動しない。
   上のメインカラー文字色(#ffffff、厳格に白固定)と揃える。 */
#header01 .nav01 li a, #footer01 .nav01 li a { color: #ffffff; }
#header01 .languageNav li a, #footer01 .languageNav li a { color: #ffffff; }
#globalNav01 #nav0 p, #globalNav01 #nav0 p a { color: #ffffff; }
.nav01 li.current a::before, .languageNav li.current a::before { background: #ffffff; }
@media screen and (max-width: 767px) {
  #header01 > .inner01 .titleArea .spIcon p { color: #ffffff; }
  .headButton01 > span { background-color: #ffffff; }
}
#header01 .titleArea .logo img { filter: brightness(0) invert(1); }
#footer01 .snsList li { filter: brightness(0) invert(1); }
#footer01 .copyright01, #footer01 .copyright01 small { color: #ffffff; }
.heading01.type03 { background: var(--color-main); color: #ffffff; }
.txResult { background: var(--color-main); color: #ffffff; }
.scheduleWrap .schedule .detailWrap .icon { background: var(--color-main); color: #ffffff; }
.c_OE { background: var(--color-main) !important; color: #ffffff !important; }
.contentsWrap .contents02 .leadArea > .inner01 .scheduleWrap .schedule .btn02 a:hover { background-color: transparent; color: #000000; border: 1px solid var(--color-main); }
@media screen and (min-width: 768px) {
  .btn01.type02 a:hover { background-color: var(--color-sub); color: #000000; border: 1px solid var(--color-sub); }
  .btn01.type03 a:hover { border: 1px solid var(--color-sub); background-color: var(--color-sub); color: #000000; }
}
.btn02 > a:hover { color: #000000; background-color: var(--color-sub); }
.heading01:first-child { background: var(--color-sub); color: #000000; }
.text01.type02 span { background: var(--color-sub); color: #000000; }
.dlWrap04 dl dt { background: var(--color-sub); color: #000000; }
.table01 thead tr th, .table01 thead tr td { background: var(--color-sub); color: #000000; }
.contentsWrap .program24hArea01 { background: #fff; }
.program24hArea01 .heading01 { color: #000000; }
.contentsWrap .program24hArea01 > .inner01 { padding-top: 0; }
.contentsWrap .program24hArea01 > .inner01 .heading01 { margin-bottom: 24px; }
@media screen and (max-width: 767px) { .contentsWrap .program24hArea01 > .inner01 .heading01 { margin-bottom: 16px; } }
.contentsWrap .contents02 .leadArea { background: var(--color-sub); }
.contentsWrap .contents02 .leadArea > .inner01 { color: #000000; }
.contentsWrap .contents02 .leadArea > .inner01 a { color: #000000; }
.leadArea .heading01 { color: #000000; }
.contentsWrap .contents02 .leadArea > .inner01 .tx04 { color: #000000; }
#footer01 .snsList li.youtube { filter: none; background-image: url("/en/2026/img/logo_youtube_white.svg"); }
.contentsWrap .contents02 .pgTitleArea .heading01 { font-size: 6.4rem; line-height: 1.3; }
.contentsWrap .contents02 .pgTitleArea .heading01 span { font-size: 4.0rem; }
@media screen and (max-width: 767px) {
  .contentsWrap .contents02 .pgTitleArea .heading01 { font-size: 4.0rem; }
  .contentsWrap .contents02 .pgTitleArea .heading01 span { font-size: 2.4rem; }
}
@media screen and (min-width: 768px) {
  .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList { display: grid; grid-template-columns: repeat(var(--sponsor-cols, 5), 1fr); gap: 30px 2.75%; align-items: center; justify-items: center; }
  .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList li { width: auto; margin: 0 !important; }
}

/* 2026-10-16追加: フッターのメニュー(ヘッダーと同じ項目)と一般問い合わせ先 */
#footer01 > .inner01 { padding-top: 64px; }
#footer01 > .inner01 .footNav01 .nav01 { margin-top: 0; }
#footer01 .contactArea01 { margin-top: 48px; color: #fff; }
#footer01 .contactArea01 .hdg { font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 1.6rem; }
#footer01 > .inner01 .contactArea01 .tx01 { margin-top: 10px; font-family: 'Noto Sans JP', sans-serif; font-weight: 400; line-height: 1.9; color: #fff; }
#footer01 > .inner01 .contactArea01 .tx01 a { color: #fff; text-decoration: underline; }
#footer01 .contactArea01 .btn01 { margin-top: 20px; }
#footer01 .contactArea01 .btn01.type02 a { color: #fff; border: 1px solid #fff; }
#footer01 > .inner01 .snsList { margin-top: 48px; }
@media screen and (min-width: 768px) {
  #footer01 .nav01 li a:hover::before { background: #fff; }
  #footer01 .contactArea01 .btn01.type02 a:hover { background-color: #fff; color: var(--color-main); border: 1px solid #fff; }
}
@media screen and (max-width: 767px) {
  #footer01 > .inner01 { padding-top: 40px; }
  #footer01 > .inner01 .nav01 { display: block; margin: 0 auto; max-width: 480px; border-top: 1px solid rgba(255, 255, 255, 0.4); }
  #footer01 > .inner01 .nav01 li { border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
  #footer01 > .inner01 .nav01 li a { display: block; padding: 14px 10px; color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 1.5rem; text-decoration: none; }
  #footer01 > .inner01 .nav01 li a .en { font-family: 'Lato', sans-serif; }
  #footer01 > .inner01 .contactArea01 .tx01 { font-size: 1.3rem; }
  #footer01 > .inner01 .snsList { margin-top: 40px; }
}
