#header {
  box-sizing: border-box;
  border-bottom: 2px solid #8a8a89;
}

#header .header_top {
  padding: 20px 0 10px 0;
}

#header .header_top .container {
  margin: 0 auto;
  width: 1170px;
}

#header .header_top h1 {
	display: flex;
	align-items: center;
  float: left;
  margin: 10px 5px;
  width: 597px;
}

#header .header_top h1 span.txt {
	font-size: 1.1rem;
	color: #27409F;
	margin-left: 2rem;
}

#header .header_top .navbar-right {
  position: relative;
  float: right;
  width: 428px;
  height: 90px;
}

#header .header_top .navbar-right p {
  position: absolute;
  top: 50px;
  right: 0;
}

/* ボタンの並び。右端を基準に、中身の幅に応じて左へ伸びる。
   幅を等分していないので、ボタンを増減しても指定を直す必要がない。 */
#header .header_top .navbar-right ul {
  position: absolute;
  top: 10px;
  right: 0;
  width: auto;
  display: flex;
  justify-content: flex-end;
  padding: 0;
  list-style: none;
}

#header .header_top .navbar-right li {
  font-size: 12px;
  margin: 0 0 0 4px;
}

#header .header_top .navbar-right li:first-child {
  margin-left: 0;
}

#header .header_top .navbar-right li a {
  display: block;
  padding: 3px 12px 3px 10px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #8a8a89;
  border-radius: 3px;
  text-decoration: none;
}

#header .header_top .navbar-right li a span {
  padding: 0 0 0 27.5px;
}

#header .header_top .navbar-right li a:hover {
  background: #555;
}

#header .header_top .navbar-right li.home span {
  background: url(../images/common/home.webp) no-repeat 0 50%;
}

#header .header_top .navbar-right li.download span {
  background: url(../images/common/icon_dl.webp) no-repeat 1% 50%;
}

#header .header_top .navbar-right li.access span {
  background: url(../images/common/icon_map.webp) no-repeat 5% 50%;
}

#header .header_top .navbar-right li.global span {
  background: url(../images/common/global.webp) no-repeat 0 50%;
}

/* 和英切り替えボタン。他のボタンと同じ形で色だけ変える。
   アイコンが無いので、共通指定の左パディング(27.5px)を打ち消して中央に置く。 */
#header .header_top .navbar-right li.english a {
  background: #7344a1;
  color: #fff;
}

#header .header_top .navbar-right li.english a:hover {
  background: #5c3581;
}

#header .header_top .navbar-right li.english a span {
  padding: 0;
}

#header .navbar-default {
  padding-bottom: 15px;
}

#header .navbar-default .container {
  margin: 0 auto;
  width: 1170px;
}

#header .navbar-default .navbar-nav {
  width: 100%;
	display: flex;
	align-items: center;
}

#header .navbar-default .navbar-nav li {
  list-style: none;
}

#header .navbar-default .navbar-nav li a {
	display: table;
  text-decoration: none;
}

#header .navbar-default .navbar-nav li a.nolink {
  color: #aaa;
	pointer-events: none;
}

#header .navbar-default .navbar-nav .dropdown:hover a.nolink {
	background: none;
}

#header .navbar-default .navbar-nav .dropdown {
  /*float: left;*/
  position: relative;
  width: 16.666%;
  background: url(../images/header/bar.webp) 100% 50% no-repeat;
}

#header .navbar-default .navbar-nav .dropdown:last-child {
  background: none;
}

#header .navbar-default .navbar-nav .dropdown li {
	position: relative;
}

#header .navbar-default .navbar-nav .dropdown li ul {
	display: none;
	position: absolute;
	width: 12em;
	top: 0;
	left: 100%;
	margin-top: 0px;
	border-left: 1px solid #ccc;
}

#header .navbar-default .navbar-nav .dropdown li:hover ul {
	display: block;
}

#header .navbar-default .navbar-nav .dropdown > a {
  padding: 15px 22px;
  color: #4b4848;
  font-size: 15px;
  font-weight: bold;
  line-height: 20px;
  text-align: center;
  display: block;
}

#header .navbar-default .navbar-nav .dropdown > a .caret {
  border-top: 4px dashed #000;
  margin-left: 10px;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  display: inline-block;
  vertical-align: middle;
}

#header .navbar-default .navbar-nav .dropdown:hover > a,
#header .navbar-default .navbar-nav .dropdown.active > a {
  background-color: rgba(0, 0, 0, 0.1);
}

#header .navbar-default .navbar-nav .dropdown:hover .dropdown-menu {
  display: block;
}

#header .navbar-default .navbar-nav .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  width: 110%;
  min-width: 160px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

#header .navbar-default .navbar-nav .dropdown-menu li {
  border-bottom: 1px solid #ddd;
}

#header .navbar-default .navbar-nav .dropdown-menu li a {
  background-color: rgba(0, 0, 0, 0.8);
}

#header .navbar-default .navbar-nav .dropdown-menu li a:hover {
  background-color: #868686;
}

#header .navbar-default .navbar-nav .dropdown-menu li .nolink:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

#header .navbar-default .navbar-nav .dropdown-menu a {
  display: block;
  white-space: inherit;
  font-size: 12px;
  font-weight: normal;
  color: #fff;
  border: none;
  text-align: center;
  padding: 8px 5px;
}

#header .navbar-default .navbar-nav .dropdown-menu li a span.next {
	color: #FCC400;
}

#header .navbar-fixed-top {
  position: fixed;
  top: 0;
  width: 100%;
  box-shadow: 0px 5px 5px rgba(30, 30, 30, 0.1);
  background: #fff;
  border: none;
  z-index: 1000;
}


/* ヘッダー日程用の太いゴシック。
   Google Fonts の Noto Sans JP Black(900) から、この表示で使う文字だけを
   抜き出したサブセット（5.9KB）を自前でホストしている。
   外部への追加リクエストが無く、日本語フォント一式を読ませずに済む。
   文字を増やすとき（会期の変更など）は _gen_headerfont.sh を実行して作り直すこと。 */
/* 数字は「1」に足（下の横棒）が付かない字形にしたいので、
   日本語フォントとは別にラテン用を重ねている。
   font-family でこちらを先に書けば、数字と記号だけがこの書体になり、
   かな・漢字は下の SurtechHeadline に落ちる。 */
@font-face {
  font-family: 'SurtechDigit';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/Roboto-Black-digits.woff2) format('woff2');
}

@font-face {
  font-family: 'SurtechHeadline';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/NotoSansJP-Black-subset.woff2) format('woff2');
}

/* =====================================================================
 * ヘッダー右上の日程表示（旧 images/header/date.webp のテキスト版）
 * ---------------------------------------------------------------------
 * 元画像は 444x36px / 色 #585757 / 太字。実測値に合わせている:
 *   「12.16」「18」  数字の高さ 33px
 *   「2026」          数字の高さ 23px
 *   「（水）（金）～」 高さ 17px
 *   「東京ビッグサイト」高さ 14px ／「10:00-17:00」高さ 9px
 * 数字の下端を揃えたいので baseline 揃えにしている。
 * ===================================================================== */
#header .header_top .navbar-right p.header-date {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  margin: 0;
  color: #585757;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  /* 本文の 'ヒラギノ角ゴ Pro W3' は W3＝細い書体を名指ししているため
     bold を指定しても太くならない。専用のサブセットフォントを使う。 */
  font-family: 'SurtechDigit', 'SurtechHeadline', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
  font-weight: 900;
}

.header-date__year {
  font-size: 27px;
  margin-right: .14em;
}

.header-date__day {
  font-size: 40px;
  letter-spacing: -.02em;
}

.header-date__dow {
  font-size: 16px;
  /* 全角括弧は字面の左右に大きなアキを持つ。前後の数字とくっつけたいので
     letter-spacing で内側を詰め、負のマージンで外側のアキも削る。 */
  letter-spacing: -.12em;
  margin-left: -.34em;
  margin-right: -.2em;
}

.header-date__wave {
  font-size: 21px;
  margin: 0 -.06em;
}

/* 会場名と時間は2段組み。数字とは別に、全体の高さの中央に置く。 */
.header-date__venue {
  display: inline-flex;
  flex-direction: column;
  align-self: center;
  margin-left: .5em;
}

.header-date__place {
  font-size: 15px;
}

.header-date__time {
  font-size: 13px;
  margin-top: .55em;
}
