@charset "UTF-8";
/*----------------------------------------*/
/*less　変数設定                       
/*----------------------------------------*/
/*clearfix*/
/*透過*/
/*インラインボックス*/
@import "reset.css";
.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
/*シャドウ*/
/*角丸処理*/
/*アニメーション*/
/*-------------------------------------------------*/
/*Flexbox*/
.flexbox {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
/*-------------------------------------------------*/
/*-------------------*/
/*マージン*/
/*-------------------*/
/*トップ*/
.marginT5 {
  clear: both;
  margin-top: 5px;
}
.marginT10 {
  clear: both;
  margin-top: 10px;
}
.marginT15 {
  clear: both;
  margin-top: 20px;
}
.marginT20 {
  clear: both;
  margin-top: 20px;
}
.marginT30 {
  clear: both;
  margin-top: 30px;
}
.marginT40 {
  clear: both;
  margin-top: 40px;
}
.marginT50 {
  clear: both;
  margin-top: 50px;
}
.marginT60 {
  clear: both;
  margin-top: 60px;
}
/*ボトム*/
.marginB5 {
  clear: both;
  margin-bottom: 5px;
}
.marginB10 {
  clear: both;
  margin-bottom: 10px;
}
.marginB15 {
  clear: both;
  margin-bottom: 15px;
}
.marginB20 {
  clear: both;
  margin-bottom: 20px;
}
.marginB30 {
  clear: both;
  margin-bottom: 30px;
}
.marginB40 {
  clear: both;
  margin-bottom: 40px;
}
.marginB50 {
  clear: both;
  margin-bottom: 50px;
}
.marginB60 {
  clear: both;
  margin-bottom: 60px;
}
/*レフト*/
.marginL5 {
  clear: both;
  margin-left: 5px;
}
.marginL10 {
  clear: both;
  margin-left: 10px;
}
.marginL15 {
  clear: both;
  margin-left: 20px;
}
.marginL20 {
  clear: both;
  margin-left: 20px;
}
.marginL30 {
  clear: both;
  margin-left: 30px;
}
.marginL40 {
  clear: both;
  margin-left: 40px;
}
.marginL50 {
  clear: both;
  margin-left: 50px;
}
/*ライト*/
.marginR5 {
  clear: both;
  margin-right: 5px;
}
.marginR10 {
  clear: both;
  margin-right: 10px;
}
.marginR15 {
  clear: both;
  margin-right: 15px;
}
.marginR20 {
  clear: both;
  margin-right: 20px;
}
.marginR30 {
  clear: both;
  margin-right: 30px;
}
.marginR40 {
  clear: both;
  margin-right: 40px;
}
.marginR50 {
  clear: both;
  margin-right: 50px;
}
.marginR60 {
  clear: both;
  margin-right: 60px;
}
/*トップ&ボトム*/
.marginTB5 {
  clear: both;
  margin: 5px 0px;
}
.marginTB10 {
  clear: both;
  margin: 10px 0px;
}
.marginTB15 {
  clear: both;
  margin: 15px 0px;
}
.marginTB20 {
  clear: both;
  margin: 20px 0px;
}
.marginTB30 {
  clear: both;
  margin: 30px 0px;
}
.marginTB40 {
  clear: both;
  margin: 40px 0px;
}
.marginTB50 {
  clear: both;
  margin: 50px 0px;
}
.marginTB60 {
  clear: both;
  margin: 60px 0px;
}
/*レフト&ライト*/
.marginLR5 {
  clear: both;
  margin: 0px 5px;
}
.marginLR10 {
  clear: both;
  margin: 0px 10px;
}
.marginLR15 {
  clear: both;
  margin: 0px 15px;
}
.marginLR20 {
  clear: both;
  margin: 0px 20px;
}
.marginLR30 {
  clear: both;
  margin: 0px 30px;
}
.marginLR40 {
  clear: both;
  margin: 0px 40px;
}
.marginLR50 {
  clear: both;
  margin: 0px 50px;
}
.marginLR60 {
  clear: both;
  margin: 0px 60px;
}
/*-------------------*/
/*パディング*/
/*-------------------*/
/*トップ*/
.paddingT5 {
  clear: both;
  padding-top: 5px;
}
.paddingT10 {
  clear: both;
  padding-top: 10px;
}
.paddingT15 {
  clear: both;
  padding-top: 20px;
}
.paddingT20 {
  clear: both;
  padding-top: 20px;
}
.paddingT30 {
  clear: both;
  padding-top: 30px;
}
.paddingT40 {
  clear: both;
  padding-top: 40px;
}
.paddingT50 {
  clear: both;
  padding-top: 50px;
}
.paddingT60 {
  clear: both;
  padding-top: 60px;
}
/*ボトム*/
.paddingB5 {
  clear: both;
  padding-bottom: 5px;
}
.paddingB10 {
  clear: both;
  padding-bottom: 10px;
}
.paddingB15 {
  clear: both;
  padding-bottom: 15px;
}
.paddingB20 {
  clear: both;
  padding-bottom: 20px;
}
.paddingB30 {
  clear: both;
  padding-bottom: 30px;
}
.paddingB40 {
  clear: both;
  padding-bottom: 40px;
}
.paddingB50 {
  clear: both;
  padding-bottom: 50px;
}
.paddingB60 {
  clear: both;
  padding-bottom: 60px;
}
/*レフト*/
.paddingL5 {
  clear: both;
  padding-left: 5px;
}
.paddingL10 {
  clear: both;
  padding-left: 10px;
}
.paddingL15 {
  clear: both;
  padding-left: 20px;
}
.paddingL20 {
  clear: both;
  padding-left: 20px;
}
.paddingL30 {
  clear: both;
  padding-left: 30px;
}
.paddingL40 {
  clear: both;
  padding-left: 40px;
}
.paddingL50 {
  clear: both;
  padding-left: 50px;
}
/*ライト*/
.paddingR5 {
  clear: both;
  padding-right: 5px;
}
.paddingR10 {
  clear: both;
  padding-right: 10px;
}
.paddingR15 {
  clear: both;
  padding-right: 15px;
}
.paddingR20 {
  clear: both;
  padding-right: 20px;
}
.paddingR30 {
  clear: both;
  padding-right: 30px;
}
.paddingR40 {
  clear: both;
  padding-right: 40px;
}
.paddingR50 {
  clear: both;
  padding-right: 50px;
}
.paddingR60 {
  clear: both;
  padding-right: 60px;
}
/*トップ&ボトム*/
.paddingTB5 {
  clear: both;
  padding: 5px 0px;
}
.paddingTB10 {
  clear: both;
  padding: 10px 0px;
}
.paddingTB15 {
  clear: both;
  padding: 15px 0px;
}
.paddingTB20 {
  clear: both;
  padding: 20px 0px;
}
.paddingTB30 {
  clear: both;
  padding: 30px 0px;
}
.paddingTB40 {
  clear: both;
  padding: 40px 0px;
}
.paddingTB50 {
  clear: both;
  padding: 50px 0px;
}
.paddingTB60 {
  clear: both;
  padding: 60px 0px;
}
/*レフト&ライト*/
.paddingLR5 {
  clear: both;
  padding: 0px 5px;
}
.paddingLR10 {
  clear: both;
  padding: 0px 10px;
}
.paddingLR15 {
  clear: both;
  padding: 0px 15px;
}
.paddingLR20 {
  clear: both;
  padding: 0px 20px;
}
.paddingLR30 {
  clear: both;
  padding: 0px 30px;
}
.paddingLR40 {
  clear: both;
  padding: 0px 40px;
}
.paddingLR50 {
  clear: both;
  padding: 0px 50px;
}
.paddingLR60 {
  clear: both;
  padding: 0px 60px;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: bold;
  font-weight: 700;
  src: local("Noto Sans CJK JP Bold"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}
/********************/
/**** ページ基礎 ****/
/********************/
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.5;
  font-size: 14px;
  color: #333333;
  background: white;
  /* font-feature-settings: "palt"; */
}
a {
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  color: #3b5fac;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
.wrapper {
  margin: 0 auto;
  max-width: 980px;
  min-width: 980px;
  overflow: hidden;
  zoom: 1;
}
/* PC表示 */
.smp {
  display: none;
}
.pc {
  display: block;
}
/* ページトップへ */
#page-top {
  position: fixed;
  bottom: 4%;
  right: 2%;
  z-index: 1000 !important;
}
#page-top a {
  display: block;
  color: white;
  font-size: 30px;
  text-align: center;
  line-height: 60px;
  width: 60px;
  height: 60px;
  background: #a40b5d;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
#page-top a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
/* #page-top */
#bnrarea {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000 !important;
  background: rgba(0, 0, 0, 0.7);
  transition: 0.5s;
  padding: 30px;
}
#bnrarea ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
}
#bnrarea ul li {
  padding-left: 1%;
  width: 200px;
}
#bnrarea ul li img {
  width: 100%;
  height: auto;
}
#bnrarea ul li a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
#bnrarea ul li:nth-child(1) {
  padding-left: 0;
}
#bnrarea.en ul li {
  width: 23%;
  padding-top: 0;
}
/******************/
/**** ヘッダー ****/
/******************/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 980px;
  z-index: 999;
  height: 130px;
  padding: 10px 25px;
  background: url("../img/common/headerbg.png");
  background-size: cover;
  background-position: 50% 50%;
  border-bottom: 5px solid #a40b5d;
  transition: 0.3s;
  overflow: hidden;
  zoom: 1;
}
header h1 {
  float: left;
  margin-top: 13px;
  width: 450px;
}
header h1 img {
  width: 100%;
  height: auto;
}
header nav {
  float: right;
}
header nav li {
  margin-left: 1em;
  text-shadow: 0 0 6px #000000;
}
header nav li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
}
header nav li a.none:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}
header nav li:last-child {
  margin-left: 0.5em;
}
header nav li.lang a {
  font-size: 10px;
  background: #a40b5d;
  color: white;
  padding: 1px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
header nav li.lang.mail a {
  background: #a40b5d;
}
header nav .subNavi,
header nav .globalNavi,
header nav .btnNavi {
  margin-top: 0;
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  -o-justify-content: flex-end;
  justify-content: flex-end;
}
header nav .subNavi a,
header nav .globalNavi a,
header nav .btnNavi a {
  font-size: 11px;
}
header nav .btnNavi {
  clear: both;
  margin-top: 16px;
}
header nav .btnNavi li {
  margin-left: 0.75em;
}
header nav .btnNavi li a {
  font-size: 16px;
}
header nav .btnNavi li:nth-child(1) {
  margin-left: 0;
}
header nav .btnNavi li.form,
header nav .btnNavi li.regist,
header nav .btnNavi li.login,
header nav .btnNavi li.mail {
  margin-left: 1.5em;
}
header nav .btnNavi li.form a,
header nav .btnNavi li.regist a,
header nav .btnNavi li.login a,
header nav .btnNavi li.mail a {
  background: #3b5fac;
  color: white;
  padding: 6px 15px;
  font-size: 15px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
header nav .btnNavi li.form a i,
header nav .btnNavi li.regist a i,
header nav .btnNavi li.login a i,
header nav .btnNavi li.mail a i {
  margin-right: 5px;
}
header nav .btnNavi li.login {
  margin-left: 1em !important;
}
header nav .btnNavi li.login a {
  background: #a19600;
}
header nav .btnNavi li.mail {
  margin-left: 1em !important;
}
header nav .btnNavi li.mail a {
  font-size: 11px;
  padding: 8px 15px;
  background: #5b448f;
}
header nav .globalNavi {
  clear: both;
  margin-top: 17px;
}
header nav .globalNavi li {
  margin-left: 1.25em;
}
header nav .globalNavi li a {
  font-size: 16px;
}
header nav .globalNavi li:nth-child(1) {
  margin-left: 0;
}
header nav .globalNavi.ch {
  margin-top: 20px;
}
/*header*/
/****************/
/**** メイン ****/
/****************/
main {
  display: block;
  padding-top: 130px;
  /************************/
  /**** 共通コンテンツ ****/
  /************************/
  /* article.cnts */
}
main article {
  /* ページ内ヘッダー */
  /* ページ内メニュー */
  /* コンテンツ共通 */
  /* section.cnt */
}
main article section#head {
  width: 100%;
  height: 90px;
  background: black;
}
main article section#head h1 {
  font-size: 36px;
  line-height: 90px;
  color: white;
  text-shadow: rgba(0, 0, 0, 0.9) 0px 0px 5px;
}
main article section#head h1 .small {
  font-size: 0.75em;
}
main article section#menu {
  background: white;
}
main article section#menu .wrapper {
  padding: 20px 0;
}
main article section#menu ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
main article section#menu ul li {
  font-weight: bold;
  font-size: 16px;
  margin-left: 2em;
}
main article section#menu ul li:nth-child(1) {
  margin-left: 0;
}
main article section#menu ul li a {
  text-decoration: none;
  color: #333333;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
main article section#menu ul li a span {
  font-size: 0.7em;
  position: relative;
  top: -1px;
}
main article section.cnt,
main article section.cnt_2 {
  background: #EDEDF4;
  /* h1 */
}
main article section.cnt .wrapper,
main article section.cnt_2 .wrapper {
  padding: 40px 0;
}
main article section.cnt h1,
main article section.cnt_2 h1 {
  color: white;
  text-indent: 15px;
  font-size: 24px;
  line-height: 48px;
  width: 100%;
  margin-bottom: 15px;
  background-image: url("../img/common/cnt_h1.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
main article section.cnt h2,
main article section.cnt_2 h2 {
  font-size: 24px;
  color: #5b448f;
  margin: 30px 0 10px 0;
}
main article section.cnt h2 span.small,
main article section.cnt_2 h2 span.small {
  font-size: 0.7em;
  vertical-align: middle;
}
main article section.cnt h3,
main article section.cnt_2 h3 {
  font-size: 18px;
  margin: 30px 0 5px 0;
}
main article section.cnt i,
main article section.cnt_2 i {
  font-size: 1.2em;
  margin-right: 5px;
  vertical-align: middle;
}
main article section.cnt .what,
main article section.cnt_2 .what {
  color: red !important;
  font-weight: bold !important;
}
main article section.cnt .underconsutruction,
main article section.cnt_2 .underconsutruction {
  background: rgba(255, 255, 255, 0.5);
  padding: 12em 0;
  text-align: center;
}
main article section.cnt .underconsutruction p,
main article section.cnt_2 .underconsutruction p {
  font-size: 32px;
  color: #ccc;
}
main article section.cnt_2 {
  background: white;
}
/* main */
/******************/
/**** フッター ****/
/******************/
footer {
  background: #E2E2F1;
}
footer ul.bnr {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
footer ul.bnr li {
  width: 22%;
}
footer ul.bnr li img {
  width: 100%;
  height: auto;
}
footer .wrapper {
  padding: 50px 0;
}
footer h1 {
  font-size: 24px;
}
footer address {
  text-align: center;
  background: url("../img/common/headerbg.png");
  background-size: cover;
  background-position: 50% 50%;
  padding: 50px;
  color: rgba(255, 255, 255, 0.5);
}
/*footer*/
/****************************/
/**** 各ページの読み込み ****/
/****************************/
/* 総合ップページ */
/* LESS Document */
/********************/
/**** 総合トップ ****/
/********************/
html#general {
  overflow: hidden;
}
html#general body main {
  background-color: #EDEDF4;
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
html#general body main section#main {
  position: absolute;
  top: 48%;
  left: 50%;
  width: 550px;
  height: auto;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}
html#general body main section#main img {
  width: 100%;
  height: auto;
}
html#general body main section#main ul {
  width: 100%;
  margin: 4% auto 4%;
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  -ms-justify-content: space-around;
  -o-justify-content: space-around;
  justify-content: space-around;
}
html#general body main section#main ul li {
  text-align: center;
  width: 30%;
}
html#general body main section#main ul li a,
html#general body main section#main ul li span {
  display: inline-block;
  font-weight: bold;
  font-size: 16px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 5px 0;
  width: 100%;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
html#general body main section#main ul li span {
  background: #ccc;
}
html#general body main section#sponsor {
  position: absolute;
  bottom: 2%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  text-align: center;
}
/* サイトップページ・ダウンロード・アクセス・お問合せ */
/* LESS Document */
/**********************/
/**** サイトトップ ****/
/**********************/
body#top {
  /* 出展者みどころ情報 */
  /* ページ内ヘッダー */
  /* 来場事前登録 */
  /* 来場のご案内 */
  /* youtube */
  /*  英語  */
  /* 併催イベント */
  /* 来場するには */
  /* ご挨拶 */
  /* 開催概要 */
  /* セミナー告知 */
  /*  英語  */
  /************************************/
  /**** サイトトップ（来場時使用） ****/
  /************************************/
  /* #headをスライダーに（未使用） */
}
body#top #early {
  background: #a40b5d;
}
body#top #early .wrapper {
  padding: 10px 0;
  overflow: hidden;
  zoom: 1;
}
body#top #early h1 {
  font-size: 24px;
  color: white;
}
body#top #early p {
  font-weight: bold;
  color: white;
}
body#top #early .btn {
  float: right;
  margin-top: 15px;
}
body#top #early .btn a {
  color: #333333;
  font-size: 16px;
  font-weight: bold;
  background: #5b448f;
  padding: 10px 20px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#top #early .btn a i {
  font-size: 1.2em;
  margin-right: 5px;
}
body#top #head {
  width: 100%;
  height: 350px;
  background: url("../img/top/bg_back.png");
  background-size: cover;
  background-position: 50% 50%;
  min-width: 980px;
}
body#top #head h1 {
  width: auto;
  padding: 0;
  margin-bottom: 0;
  background: none;
  text-align: center;
  margin-top: 15px;
}
body#top #head .sametime {
  text-align: center;
}
body#top #head .sametime a {
  display: inline-block;
  background: #b60005;
  color: white;
  font-weight: bold;
  font-size: 1.2em;
  padding: 10px 20px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#top #head .sametime a span {
  font-size: 0.7em;
  color: #b60005;
  background: white;
  padding: 3px 5px;
  margin-right: 0.75em;
}
body#top #vrg {
  background: #a40b5d;
}
body#top #vrg .wrapper {
  padding: 30px 0 10px;
}
body#top #vrg h1 {
  color: white;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}
body#top #vrg .btn {
  text-align: center;
}
body#top #vrg .btn a,
body#top #vrg .btn span {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  color: white;
  text-decoration: none;
  background: #a19600;
  padding: 10px 30px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
}
body#top #vrg .btn a.floor,
body#top #vrg .btn span.floor {
  background: #3b5fac;
}
body#top #vrg .btn span {
  background: #ccc;
}
body#top #vrg .txt {
  text-align: center;
  color: white;
  margin-top: 20px;
}
body#top #vrg .txt a {
  text-decoration: underline;
  color: white;
}
body#top #visinfo {
  background: #a19600;
}
body#top #visinfo .wrapper {
  padding: 30px 0;
}
body#top #visinfo h1 {
  color: white;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}
body#top #visinfo ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
body#top #visinfo ul li {
  width: 32%;
  background: white;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
}
body#top #visinfo ul li a {
  display: inline-block;
  padding: 15px;
}
body#top #visinfo ul li a p {
  text-align: center;
  font-weight: bold;
  font-size: 1.3em;
  margin-top: 10px;
}
body#top #visinfo ul li a img {
  width: 100%;
  height: auto;
  border: 1px solid #ccc;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
body#top #visinfo .btn {
  text-align: center;
  margin-top: 30px;
}
body#top #visinfo .btn a,
body#top #visinfo .btn span {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 10px 30px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.3);
}
body#top #visinfo .btn span {
  background: #ccc;
}
body#top #youtube {
  animation: blinkEffect 2s ease infinite;
}
@keyframes blinkEffect {
  0% {
    background: white;
  }
  50% {
    background: #5b448f;
  }
  100% {
    background: white;
  }
}
body#top #youtube .wrapper {
  padding: 10px 0;
}
body#top #youtube .wrapper .link {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
}
body#top #youtube .wrapper .link a {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
}
body#top #youtube .wrapper .link a .image {
  width: 80px;
  margin-right: 0.5em;
  margin-bottom: -10px;
}
body#top #youtube .wrapper .link a .image img {
  width: 100%;
  height: auto;
}
body#top #youtube .wrapper .link a h1 {
  font-size: 24px;
  color: #333333;
  line-height: 1.2;
}
body#top #youtube .wrapper .link a h1 span {
  font-size: 16px;
  line-height: 1;
}
body#top #youtube .wrapper .link a:nth-child(1) {
  margin-right: 2em;
}
body#top #youtube .wrapper p {
  text-align: center;
  font-weight: bold;
  margin-top: 15px;
}
body#top #assist {
  background: #a40b5d;
}
body#top #assist .wrapper {
  padding: 40px 0;
  overflow: hidden;
  zoom: 1;
}
body#top #assist h1 {
  color: white;
  font-size: 24px;
  margin-bottom: 10px;
}
body#top #assist ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center;
}
body#top #assist ul li {
  width: 32%;
}
body#top #assist ul li img {
  width: 100%;
  height: auto;
}
body#top #assist ul li p {
  color: white;
  background: #a40b5d;
  font-weight: bold;
  font-size: 18px;
  padding: 5px 0;
}
body#top #assist ul li:nth-child(1) p {
  background: #a19600;
}
body#top #assist ul li:nth-child(2) p {
  background: #3372a8;
}
body#top #assist ul li:nth-child(3) p {
  background: #0f9a8a;
}
body#top #assist_en {
  background: #a40b5d;
}
body#top #assist_en .wrapper {
  padding: 30px 0;
}
body#top #assist_en ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: stretch;
  -moz-flex-direction: stretch;
  -ms-align-items: stretch;
  -o-flex-wrap: stretch;
  align-items: stretch;
}
body#top #assist_en ul li {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  width: 32%;
  background: gray;
  color: white;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.2;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-align: center;
}
body#top #assist_en ul li span {
  font-size: 14px;
}
body#top #assist_en ul li i {
  font-size: 1.2em;
  margin-right: 0.3em;
}
body#top #assist_en ul li a {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  width: 100%;
  height: 100px;
  color: white;
}
body#top #assist_en ul li:nth-child(1) a {
  background: #5b448f;
}
body#top #assist_en ul li:nth-child(1) a span {
  margin-left: 2.75em;
}
body#top #assist_en ul li:nth-child(2) a {
  background: #3372a8;
}
body#top #assist_en ul li:nth-child(3) a {
  background: #0f9a8a;
}
body#top #events {
  background: #a19600;
}
body#top #events .wrapper {
  padding: 40px 0;
  overflow: hidden;
  zoom: 1;
}
body#top #events h1 {
  color: white;
  font-size: 24px;
  margin-bottom: 10px;
}
body#top #events ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#top #events ul li {
  width: 15%;
  text-align: center;
}
body#top #events ul li img {
  height: 120px;
  width: auto;
}
body#top #events ul li p {
  color: white;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.4;
  margin-top: 10px;
}
body#top #events ul li p.one {
  margin-top: 20px;
}
body#top #visitors {
  background: #a40b5d;
  color: white;
}
body#top #visitors .wrapper {
  padding: 40px 0;
  overflow: hidden;
  zoom: 1;
}
body#top #visitors h2 {
  font-size: 20px;
  margin-bottom: 5px;
  color: white;
}
body#top #visitors .register {
  margin: 10px 0 0;
}
body#top #visitors .register img {
  width: 100%;
  height: auto;
  margin-bottom: 5px;
}
body#top #visitors .register p {
  font-weight: bold;
}
body#top .greeting p {
  font-size: 1.2em;
  line-height: 1.6;
}
body#top .greeting h2 {
  color: #a40b5d;
}
body#top .greeting h2.sic {
  color: #b60005;
}
body#top .greeting h2.sic a {
  color: #b60005;
}
body#top .greeting h2.sic span {
  font-size: 0.7em;
  color: white;
  background: #b60005;
  padding: 3px 5px;
  margin-right: 0.5em;
}
body#top .greeting h2.sic span.ex {
  background: none;
  color: black;
}
body#top .outline {
  background: white;
}
body#top .outline table {
  width: 100%;
}
body#top .outline table td,
body#top .outline table th {
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  padding: 15px;
  vertical-align: middle;
}
body#top .outline table td .german,
body#top .outline table th .german {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
body#top .outline table td .german img,
body#top .outline table th .german img {
  width: 200px;
  height: auto;
}
body#top .outline table th {
  width: 20%;
  text-align: center;
  background: #EDEDF4;
}
body#top .seminarLink {
  background: #E2E2F1;
}
body#top .seminarLink .wrapper {
  padding: 40px 0;
}
body#top .seminarLink p {
  font-size: 1.2em;
  line-height: 1.6;
}
body#top .seminarLink .image {
  margin-top: 10px;
  overflow: hidden;
  zoom: 1;
}
body#top .seminarLink .image a {
  display: inline-block;
  width: 100%;
  padding: 20px;
  background: url("../img/top/sicganseminar.png") 82% 50% no-repeat #ad0003;
  color: white;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}
body#top .seminarLink .image h1 {
  font-size: 36px;
  float: left;
}
body#top .seminarLink .image h2 {
  font-size: 24px;
  float: left;
}
body#top .seminarLink .image .arrow {
  float: right;
  display: inline-block;
  background: #5b448f;
  color: black;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  padding-top: 20px;
  width: 100px;
  height: 100px;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
}
body#top .corona_en ul {
  margin-left: 1.5em;
  margin-top: 0.5em;
}
body#top .corona_en ul li {
  list-style-type: disc;
}
body#top #image {
  background: black;
}
body#top #image .wrapper {
  position: relative;
}
body#top #image ul.bxslider {
  text-align: center;
  height: 551px;
}
body#top #image ul.bxslider li {
  text-align: center;
  width: 100%;
}
body#top #image ul.bxslider li iframe {
  width: 980px;
  height: 551px;
}
body#top #image ul.custom-thumb {
  position: absolute;
  left: 0;
  top: 115px;
  width: 122px;
}
body#top #image ul.custom-thumb li {
  width: 100%;
}
body#top #image ul.custom-thumb li img {
  width: 100%;
  height: auto;
}
body#top #number {
  background: #a40b5d;
}
body#top #number h1 {
  color: white;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}
body#top #number .wrapper {
  padding: 30px 0 0;
}
body#top #number table {
  width: 100%;
  margin-bottom: 5px;
}
body#top #number table td,
body#top #number table th {
  border: 1px solid #333333;
  background: white;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
}
body#top #number table th {
  background: #a19600;
  color: white;
}
body#top #number .check {
  color: white;
}
body#top #reportPDF {
  background: #a40b5d;
}
body#top #reportPDF .wrapper {
  padding: 0 0 30px;
}
body#top #reportPDF h2 {
  color: white;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}
body#top #reportPDF .btn {
  margin: 1em 0 0 0;
  text-align: center;
}
body#top #reportPDF .btn a {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 10px 0;
  width: 250px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#top #reportPDF .btn a i {
  font-size: 1.1em;
  margin-right: 0.5em;
  vertical-align: middle;
}
body#top #movie {
  background: #5b448f;
}
body#top #movie .wrapper {
  padding: 20px 0;
  position: relative;
  overflow: visible;
}
body#top #movie h1 {
  color: white;
  font-size: 26px;
  margin-bottom: 5px;
}
body#top #movie .name {
  color: white;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: right;
  width: 81%;
}
body#top #movie .name a {
  color: white;
  text-decoration: underline;
}
body#top #movie .image {
  position: absolute;
  right: -40px;
  bottom: 0;
}
body#top #movie ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 81%;
}
body#top #movie ul li {
  width: 18%;
  position: relative;
}
body#top #movie ul li a img {
  width: 100%;
  height: 100px;
  object-fit: cover;
}
body#top #movie ul li a i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  color: red;
  font-size: 3em;
}
/* サイトトップ */
/**********************/
/**** ダウンロード ****/
/**********************/
body#download {
  /* プレスリリース */
  /* ロゴ・バナー */
}
body#download .press ul {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #ccc;
  padding: 30px;
}
body#download .press ul li {
  border-top: 2px dotted #ccc;
  padding-top: 20px;
  margin-top: 20px;
}
body#download .press ul li dl {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: 1.1em;
}
body#download .press ul li dl dt {
  width: 18%;
  font-weight: bold;
}
body#download .press ul li:first-child {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}
body#download .logo .list {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
body#download .logo .list li {
  width: 48%;
  text-align: center;
}
body#download .logo .list li div {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #ccc;
  width: 100%;
  height: 200px;
  position: relative;
}
body#download .logo .list li div img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}
body#download .logo .list li .detail {
  text-align: center;
  margin-top: 5px;
  font-weight: bold;
  font-size: 1.2em;
}
body#download .logo .list li a {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 10px 0;
  margin: 20px 0 5px;
  width: 200px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#download .logo .check {
  font-size: 1.1em;
  margin-top: 40px;
  text-align: center;
}
/* ダウンロード */
/******************/
/**** アクセス ****/
/******************/
body#access {
  /* アクセス */
  /* ホテル */
}
body#access .traffic .box {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #ccc;
  width: 100%;
  height: 600px;
  position: relative;
}
body#access .traffic .box img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}
body#access .traffic ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
body#access .traffic ul li {
  width: 48%;
}
body#access .traffic ul li .box {
  height: 250px;
}
body#access .traffic ul li .txt {
  margin-left: 1.2em;
  text-indent: -1.2em;
}
body#access .traffic ul li i {
  color: #a40b5d;
}
body#access .hotel {
  display: none;
}
/* アクセス */
/******************/
/**** お問合せ ****/
/******************/
body#inquiry h2 {
  font-size: 16px;
  margin-bottom: 0 !important;
}
body#inquiry h3 {
  margin-top: 0 !important;
}
/* お問合せ */
/****************************/
/**** 海外展示会レポート ****/
/****************************/
body#overseas .top ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#overseas .top ul li {
  width: 30%;
  margin-bottom: 30px;
}
body#overseas .top ul li a h2 {
  color: #333333;
  font-weight: normal;
  line-height: 1.2;
  margin-top: 20px;
}
body#overseas .top ul li a p {
  color: #333333;
}
body#overseas .top ul li a img {
  width: 100%;
  height: auto;
}
body#overseas .pages .pagehead {
  width: 100%;
  background: red;
}
body#overseas .pages .pagehead .wrapper {
  background: #a40b5d;
  max-width: 100%;
  width: 100%;
  height: 350px;
  position: relative;
}
body#overseas .pages .pagehead .wrapper img {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: -100px;
}
body#overseas .pages .pagehead .wrapper.semi img {
  top: 50%;
  transform: translateX(0) translateY(-50%) scaleX(100%) scaleY(100%) rotate(0);
  -webkit-transform: translateX(0) translateY(-50%) scaleX(100%) scaleY(100%) rotate(0);
  -moz-transform: translateX(0) translateY(-50%) scaleX(100%) scaleY(100%) rotate(0);
  -ms-transform: translateX(0) translateY(-50%) scaleX(100%) scaleY(100%) rotate(0);
}
body#overseas .pages p {
  font-size: 16px;
  line-height: 1.8;
}
body#overseas .pages p sup {
  font-size: 60%;
  vertical-align: 50%;
}
body#overseas .pages .images {
  width: 40%;
}
body#overseas .pages .images p {
  font-size: 13px;
  margin-top: 5px;
}
body#overseas .pages .images img {
  width: 100%;
  height: auto;
}
body#overseas .pages .images.right {
  float: right;
  margin: 0 0 1em 2em;
}
body#overseas .pages .images.right p {
  text-align: right;
}
body#overseas .pages .images.right.semi {
  width: 45%;
}
body#overseas .pages .images.left {
  float: left;
  margin: 0 2em 1em 0;
}
body#overseas .pages .images.left p {
  text-align: left;
}
body#overseas .pages .images.left.semi {
  width: 30%;
}
body#overseas .pages .images.vertical {
  width: 35%;
}
body#overseas .pages .images .top {
  margin-bottom: 2em;
}
/* 海外展示会レポート */
/****************************/
/**** 助成金に関する情報 ****/
/****************************/
body#subsidy .support .txt {
  font-size: 1.1em;
}
body#subsidy .support ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
}
body#subsidy .support ul li {
  width: 24%;
  margin: 15px 13px 0 0;
}
body#subsidy .support ul li img {
  width: 100%;
  height: auto;
  border: 1px solid #ccc;
}
body#subsidy .support ul li:nth-of-type(4n) {
  margin-right: 0;
}
/* 助成金に関する情報 */
/* 出展のご案内 */
/* LESS Document */
/**********************/
/**** 出展のご案内 ****/
/**********************/
body#exhibit {
  /* メニューselected */
  /* 中国 */
  /************************/
  /**** 出展・来場対象 ****/
  /************************/
  /******************/
  /**** 出展要項 ****/
  /******************/
  /**********************/
  /**** スケジュール ****/
  /**********************/
  /**************************************/
  /**** 製品・技術発表会／バナー広告 ****/
  /**************************************/
  /**********************/
  /**** 前回レポート ****/
  /**********************/
  /******************/
  /**** 出展規約 ****/
  /******************/
  /**************************/
  /**** お申込・お問合せ ****/
  /**************************/
}
body#exhibit .conduct #menu li:nth-child(1) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .guideline #menu li:nth-child(2) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .schedule #menu li:nth-child(3) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .option #menu li:nth-child(4) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .report #menu li:nth-child(5) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .agreement #menu li:nth-child(6) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .application #menu li:nth-child(7) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .schedule #menu.ch li:nth-child(2) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .schedule #menu.ch li:nth-child(3) a {
  color: #333333;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
body#exhibit .report #menu.ch li:nth-child(3) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#exhibit .conduct .image {
  float: right;
  margin: 30px 0 0 30px;
}
body#exhibit .conduct ul.products {
  list-style: none;
  margin: 0;
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#exhibit .conduct ul.products li {
  width: 11em;
}
body#exhibit .conduct ul.products li:before {
  content: "● ";
  color: #5b448f;
}
body#exhibit .conduct ul.same {
  list-style: none;
  padding: 0 0 10px;
  margin: 0;
  border-top: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
}
body#exhibit .conduct ul.same li {
  padding-left: 1em;
  text-indent: -0.7em;
  border-top: 1px solid #ccc;
  padding-top: 10px;
  margin: 10px 10px 0 10px;
}
body#exhibit .conduct ul.same li:before {
  content: "● ";
  color: #5b448f;
}
body#exhibit .conduct ul.same li:first-child {
  border-top: none;
}
body#exhibit .conduct .sic .title {
  width: 100%;
  background: #b60005;
  font-size: 1.7em;
  font-weight: bold;
  color: white;
  padding: 5px 10px;
}
body#exhibit .conduct .sic .title span {
  font-size: 0.8em;
  background: white;
  color: #b60005;
  padding: 2px 5px;
}
body#exhibit .conduct .sic h2 {
  color: #b60005;
  margin-top: 15px;
}
body#exhibit .conduct .sic h3 {
  margin-top: 10px;
}
body#exhibit .guideline .image {
  float: right;
  margin: 30px 0 0 30px;
}
body#exhibit .guideline .image p {
  clear: both;
  width: 385px;
  margin-top: 15px;
}
body#exhibit .guideline h2 .txt {
  color: #333333;
}
body#exhibit .guideline table.fee {
  width: 55%;
  margin: 0 0 5px 0;
  font-weight: bold;
  font-size: 1.2em;
}
body#exhibit .guideline table.fee td,
body#exhibit .guideline table.fee th {
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  padding: 15px;
  vertical-align: middle;
  text-align: center;
}
body#exhibit .guideline table.fee td .price,
body#exhibit .guideline table.fee th .price {
  color: #a40b5d;
}
body#exhibit .guideline table.fee th {
  width: 45%;
  background: #E2E2F1;
}
body#exhibit .guideline table.fee.open {
  width: 100%;
}
body#exhibit .guideline h3 span {
  font-size: 0.8em;
  background: #a19600;
  color: white;
  padding: 3px 6px;
  margin-right: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#exhibit .guideline .dis {
  font-size: 1.2em;
  font-weight: bold;
}
body#exhibit .guideline .dis .price {
  font-size: 1.2em;
  color: #a40b5d;
}
body#exhibit .guideline .box {
  text-align: center;
  width: 55%;
  background: #E2E2F1;
  padding: 15px 0;
  margin-top: 10px;
}
body#exhibit .guideline .box.en {
  text-align: left;
  padding-left: 1em;
}
body#exhibit .guideline table.form {
  width: 100%;
}
body#exhibit .guideline table.form td,
body#exhibit .guideline table.form th {
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  padding: 15px;
  vertical-align: middle;
}
body#exhibit .guideline table.form th {
  width: 25%;
  background: #E2E2F1;
  text-align: center;
}
body#exhibit .guideline .w_box {
  text-align: center;
  width: 100%;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #ccc;
  padding: 30px 0;
  margin-top: 10px;
}
body#exhibit .guideline .package {
  background: white;
}
body#exhibit .guideline .package table.fee {
  width: 62%;
  margin: 10px 0 5px;
}
body#exhibit .guideline .package table.fee td,
body#exhibit .guideline .package table.fee th {
  background: rgba(255, 255, 255, 0.75);
}
body#exhibit .guideline .package table.fee td .small,
body#exhibit .guideline .package table.fee th .small {
  font-weight: normal;
  font-size: 0.8em;
}
body#exhibit .guideline .package table.fee th {
  width: 45%;
  background: #E2E2F1;
}
body#exhibit .guideline .package .caution {
  text-indent: -0.5em;
  margin-left: 0.5em;
}
body#exhibit .guideline .deadline {
  background: #a40b5d;
}
body#exhibit .guideline .deadline h2 {
  margin-top: 0;
  color: white;
  text-align: center;
}
body#exhibit .guideline .deadline h2 span {
  border: 1px solid white;
  font-size: 0.8em;
  padding: 3px 6px;
}
body#exhibit .schedule table {
  width: 100%;
}
body#exhibit .schedule table td,
body#exhibit .schedule table th {
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  padding: 15px 20px;
  vertical-align: middle;
}
body#exhibit .schedule table td .title,
body#exhibit .schedule table th .title {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 5px;
  color: #5b448f;
}
body#exhibit .schedule table th {
  width: 33%;
  background: #E2E2F1;
  font-size: 1.1em;
}
body#exhibit .schedule table th.year {
  width: 15%;
  text-align: center;
  background: #5b448f;
  color: white;
  font-size: 24px;
}
body#exhibit .option table {
  width: 100%;
  margin-bottom: 5px;
}
body#exhibit .option table td,
body#exhibit .option table th {
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  padding: 15px 20px;
  vertical-align: middle;
}
body#exhibit .option table th {
  width: 20%;
  background: #E2E2F1;
  text-align: center;
}
body#exhibit .report h2 span {
  font-size: 0.6em;
  font-weight: normal;
  color: #333333;
}
body#exhibit .report table {
  width: 100%;
}
body#exhibit .report table td,
body#exhibit .report table th {
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  padding: 15px 20px;
  vertical-align: middle;
}
body#exhibit .report table th {
  width: 20%;
  background: #E2E2F1;
  text-align: center;
}
body#exhibit .report sup {
  font-size: 0.5em;
  vertical-align: text-top;
}
body#exhibit .report .link {
  margin: 20px 0;
}
body#exhibit .report .link ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  margin-bottom: 10px;
}
body#exhibit .report .link ul a {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 10px 70px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#exhibit .report .link p {
  text-align: right;
}
body#exhibit .report .data {
  margin-bottom: 5px;
}
body#exhibit .report .data td,
body#exhibit .report .data th {
  text-align: center;
}
body#exhibit .report .data tbody th {
  background: #E2E2F1;
}
body#exhibit .report .data .total {
  color: #5b448f;
  font-weight: bold;
  font-size: 1.2em;
}
body#exhibit .report .data .small {
  font-weight: normal;
  font-size: 12px;
}
body#exhibit .report .exhibitor h2 {
  margin-top: 0;
}
body#exhibit .report .exhibitor ul {
  float: left;
}
body#exhibit .report .exhibitor ul li {
  border-bottom: 2px dotted #ccc;
  padding-bottom: 5px;
  margin-bottom: 5px;
  margin-left: 2em;
  width: 450px;
}
body#exhibit .report .exhibitor ul li span {
  font-weight: bold;
  color: white;
  background: #5b448f;
  line-height: 1;
  padding: 2px 4px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  margin-left: -2em;
  margin-right: 0.5em;
}
body#exhibit .report .exhibitor ul.right {
  float: right;
}
body#exhibit .report .abrasive h2 {
  margin-top: 0;
}
body#exhibit .report .abrasive ul.list {
  border-bottom: 1px solid #ccc;
}
body#exhibit .report .abrasive ul.list li {
  border-top: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.9);
}
body#exhibit .report .abrasive ul.list li .name {
  background: #E2E2F1;
  padding: 5px 10px;
  border-bottom: 1px dotted #ccc;
  font-weight: bold;
}
body#exhibit .report .abrasive ul.list li .txt {
  padding: 5px 10px;
}
body#exhibit .report .graf h2 {
  margin-top: 0;
}
body#exhibit .report .graf p img {
  width: 100%;
  height: auto;
}
body#exhibit .report .dl {
  background: white;
}
body#exhibit .report .dl dl {
  overflow: hidden;
  zoom: 1;
}
body#exhibit .report .dl dl dt {
  float: left;
}
body#exhibit .report .dl dl dd {
  float: right;
}
body#exhibit .report .dl dl dd a {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 10px 0;
  width: 200px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#exhibit .report .dl h2 {
  color: #333333;
  margin: 0;
}
body#exhibit .report .dl h2 span {
  font-size: 0.8em;
}
body#exhibit .agreement .rules h3 {
  margin-top: 20px;
}
body#exhibit .agreement .rules ul li {
  list-style-type: decimal;
  margin-left: 1.5em;
}
body#exhibit .agreement .rules ul li table {
  margin: 5px 0;
}
body#exhibit .agreement .rules ul li table td,
body#exhibit .agreement .rules ul li table th {
  border: 1px solid #ccc;
  padding: 3px 9px;
  text-align: center;
  width: 50%;
  background: white;
}
body#exhibit .agreement .rules ul li table th {
  text-align: left;
  font-weight: normal;
}
body#exhibit .agreement .rules ul li table thead td {
  background: #333333;
  font-weight: normal;
  color: white;
}
body#exhibit .agreement .rules ol li {
  list-style-type: none;
  text-indent: -1em;
  margin-left: 1em;
}
body#exhibit .agreement .rules .last {
  text-align: right;
}
body#exhibit .application .box {
  padding: 30px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#exhibit .application .box .title {
  background: #a40b5d;
  font-weight: bold;
  text-align: center;
  font-size: 1.3em;
  color: white;
  padding: 8px 0;
}
body#exhibit .application .box .contents {
  border: 2px solid #a40b5d;
  background: rgba(255, 255, 255, 0.5);
  padding: 25px;
}
body#exhibit .application .box .contents .form {
  font-size: 1.3em;
  margin: 1.5em 0 2.5em;
  text-align: center;
}
body#exhibit .application .box .contents #link {
  text-align: center;
}
body#exhibit .application .box .contents #link a,
body#exhibit .application .box .contents #link span {
  background: #3b5fac;
  color: white;
  font-size: 1.4em;
  font-weight: bold;
  padding: 10px 25px;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
}
body#exhibit .application .box .contents #link a i,
body#exhibit .application .box .contents #link span i {
  margin-bottom: 0.2em;
}
body#exhibit .application .box .contents #link span {
  background: #ccc;
}
body#exhibit .application .box .contents .wrap {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  margin: 3em 0;
}
body#exhibit .application .box .contents .wrap .btn a {
  font-size: 1.2em;
}
body#exhibit .application .box .contents .wrap .btn a i {
  margin-bottom: 0.2em;
}
body#exhibit .application .box .contents .wrap .btn:nth-child(1 of .btn) {
  margin-right: 2em;
}
body#exhibit .application .box .contents .dead {
  font-weight: bold;
  font-size: 1.3em;
  margin: 10px 0;
}
body#exhibit .application .box .contents .dead span {
  font-size: 0.7em;
  padding: 3px 6px;
  background: #a40b5d;
  color: white;
  margin-right: 10px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#exhibit .application .box h2 {
  color: #333333;
  margin: 0;
}
body#exhibit .application .box h2 span {
  font-size: 0.8em;
}
/* body#exhibit */
/* 来場のご案内 */
/* LESS Document */
/**********************/
/**** 来場のご案内 ****/
/**********************/
body#visit {
  /********************************/
  /**** 来場のご案内（出展時） ****/
  /********************************/
  /* メニューselected */
  /* 開催概要 */
  /*************************/
  /********** 共通 *********/
  /*************************/
  /**********************/
  /**** 併催イベント ****/
  /**********************/
  /****************************/
  /**** 研削コンシェルジュ ****/
  /****************************/
  /***********************************/
  /**** 砥粒加工学会 展示コーナー ****/
  /***********************************/
  /******************************/
  /********* 出展社情報 *********/
  /******************************/
  /**************************/
  /********* 会場図 *********/
  /**************************/
  /************************/
  /**** 出展申込み企業 ****/
  /************************/
  /* 英語 */
  /*******************************************************************/
  /**** 基調講演・セミナー、砥粒加工学会　ATF2025講演会（未使用） ****/
  /*******************************************************************/
  /************************************/
  /**** 製品・技術発表会（未使用） ****/
  /************************************/
}
body#visit .vis #menu li:nth-child(1) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .outline table {
  width: 100%;
}
body#visit .outline table td,
body#visit .outline table th {
  border: 1px solid #ccc;
  background: white;
  padding: 15px;
  vertical-align: middle;
}
body#visit .outline table td .german,
body#visit .outline table th .german {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
body#visit .outline table td .german img,
body#visit .outline table th .german img {
  width: 200px;
  height: auto;
}
body#visit .outline table th {
  width: 20%;
  text-align: center;
  background: #EDEDF4;
}
body#visit h1 {
  position: relative;
}
body#visit h1 span.advance {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-block;
  line-height: 1;
  text-indent: 0;
  font-size: 15px;
  background: #5b448f;
  color: #333333;
  padding: 6px 10px 6px 15px;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
}
body#visit h1 span.free,
body#visit h1 span.charge {
  display: inline-block;
  font-size: 15px;
  line-height: 1;
  text-indent: 0;
  color: white;
  background: #a19600;
  padding: 6px 10px;
  text-align: center;
  margin-left: 10px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  position: relative;
  top: -3px;
}
body#visit h1 span.charge {
  background: #008EE5;
}
body#visit h2 {
  font-size: 36px;
  color: #333333;
  font-feature-settings: "palt";
  margin-bottom: 3px;
  margin-top: 10px;
  position: relative;
}
body#visit h2 .ms {
  font-size: 0.6em;
}
body#visit h2.nomt {
  margin-top: 0;
}
body#visit h2 span.right {
  font-size: 0.5em;
  position: absolute;
  right: 0;
  top: 16px;
}
body#visit .common p.title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}
body#visit .common dl {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 5px;
}
body#visit .common dl dt {
  font-size: 14px;
  background: black;
  color: white;
  padding: 2px 8px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  margin: 0 10px 0 0;
}
body#visit .common dl dd {
  margin-right: 30px;
}
body#visit .common .txt {
  margin: 10px 0 20px;
}
body#visit .appli {
  text-align: center;
}
body#visit .appli a,
body#visit .appli span {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 10px 30px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
}
body#visit .appli span {
  background: #ccc;
}
body#visit .caution {
  font-size: 13px;
  text-align: center;
}
body#visit .events {
  /* メニューselected */
}
body#visit .events #menu li:nth-child(1) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .events #menu li:nth-child(1) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .events .event.middle {
  background: #E2E2F1;
}
body#visit .events .event table.day td,
body#visit .events .event table.day th {
  border: 2px solid #ccc;
}
body#visit .events .event table.day thead td,
body#visit .events .event table.day thead th {
  padding: 12px 0;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  background: black;
  color: white;
}
body#visit .events .event table.day tbody th {
  width: 10%;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  background: #E2E2F1;
  vertical-align: middle;
}
body#visit .events .event table.day tbody td {
  width: 45%;
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
}
body#visit .events .event table.day tbody td .end {
  font-weight: bold;
  font-size: 1.2em;
  color: red;
  margin-bottom: 15px;
}
body#visit .events .event table.day tbody td .theme {
  color: white;
  background: #a40b5d;
  font-size: 20px;
  line-height: 1.4;
  font-weight: bold;
  padding: 7px 0 7px 10px;
  margin-bottom: 15px;
  position: relative;
}
body#visit .events .event table.day tbody td .theme.sic {
  background: #00a291;
}
body#visit .events .event table.day tbody td .theme.atf {
  background: #00348c;
}
body#visit .events .event table.day tbody td .theme.pre {
  background: #a40b5d;
}
body#visit .events .event table.day tbody td .theme span.free,
body#visit .events .event table.day tbody td .theme span.charge {
  display: inline-block;
  position: absolute;
  right: 8px;
  top: 8px;
  background: #5b448f;
  color: black;
  font-size: 0.8em;
  line-height: 1;
  padding: 5px;
}
body#visit .events .event table.day tbody td .theme span.charge {
  background: #a19600;
  color: white;
}
body#visit .events .event table.day tbody td .time {
  font-feature-settings: "palt";
  font-weight: bold;
  margin: 0 0 3px;
}
body#visit .events .event table.day tbody td .time span {
  display: inline-block;
  margin-right: 10px;
  background: black;
  padding: 2px 0;
  text-align: center;
  width: 60px;
  color: white;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
body#visit .events .event table.day tbody td .title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}
body#visit .events .event table.day tbody td .title span.gtj,
body#visit .events .event table.day tbody td .title span.sic {
  display: inline-block;
  font-size: 0.8em;
  line-height: 1;
  background: #a40b5d;
  color: white;
  padding: 3px 5px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  position: relative;
  top: -1px;
  left: 5px;
}
body#visit .events .event table.day tbody td .title span.sic {
  background: #00a291;
}
body#visit .events .event table.day tbody td .title.s {
  font-size: 16px;
  margin-bottom: 1px;
}
body#visit .events .event table.day tbody td dl {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-top: -8px;
  margin-bottom: 13px;
}
body#visit .events .event table.day tbody td dl dt {
  font-weight: bold;
  margin-right: 1em;
}
body#visit .events .event table.day tbody td ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#visit .events .event table.day tbody td ul li {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  position: relative;
  border-bottom: 1px dashed #ccc;
}
body#visit .events .event table.day tbody td ul li:nth-last-child(1) {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}
body#visit .events .event table.day tbody td ul li .image {
  float: right;
  padding-left: 10px;
}
body#visit .events .event table.day tbody td ul li .category {
  display: inline-block;
  font-size: 12px;
  line-height: 1.4;
  font-weight: bold;
  background: #999;
  color: white;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  width: 60px;
  text-align: center;
  padding: 2px 0;
  margin-bottom: 5px;
}
body#visit .events .event table.day tbody td ul li .name {
  font-feature-settings: "palt";
  font-size: 13px;
  line-height: 1.4;
}
body#visit .events .event table.day tbody td ul li .name strong {
  font-size: 1.2em;
  font-weight: normal;
}
body#visit .events .event table.day tbody td ul li .txt {
  line-height: 1.5;
  font-size: 12px;
  margin-bottom: 5px;
}
body#visit .events .appli {
  margin: 30px 0 15px;
}
body#visit .events .inner {
  margin-top: 15px;
  padding: 15px;
  background: #EDEDF4;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#visit .events .inner .appli {
  margin: 5px 0 0;
}
body#visit .events .inner .check {
  margin-top: 15px;
}
body#visit .events .inner .check .important {
  margin-top: 5px;
  font-weight: bold;
  background: #E2E2F1;
  padding: 10px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
body#visit .concierge {
  /* メニューselected */
}
body#visit .concierge #menu li:nth-child(2) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .concierge #menu li:nth-child(2) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .concierge ul.teacher {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#visit .concierge ul.teacher li {
  overflow: hidden;
  zoom: 1;
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  width: 49.5%;
  margin: 0 0 1% 0;
  border: 1px solid #ccc;
}
body#visit .concierge ul.teacher li .image {
  float: right;
  margin-bottom: 10px;
  background: white;
  width: 20%;
}
body#visit .concierge ul.teacher li .image img {
  width: 100%;
  height: auto;
}
body#visit .concierge ul.teacher li .name {
  font-feature-settings: "palt";
  line-height: 1.4;
}
body#visit .concierge ul.teacher li .name strong {
  font-size: 1.2em;
  font-weight: normal;
}
body#visit .concierge ul.teacher li .specialty {
  margin: 5px 0;
  width: 75%;
}
body#visit .concierge ul.teacher li .specialty table {
  width: 100%;
  font-size: 13px;
}
body#visit .concierge ul.teacher li .specialty table th {
  font-weight: bold;
  color: #a40b5d;
  width: 23%;
}
body#visit .concierge ul.teacher li .reserve {
  clear: both;
  background: #EDEDF4;
  padding: 10px;
}
body#visit .concierge ul.teacher li .reserve h5 {
  background: #a40b5d;
  line-height: 1;
  padding: 7px 10px;
  color: white;
}
body#visit .concierge ul.teacher li .reserve table td,
body#visit .concierge ul.teacher li .reserve table th {
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.75);
  padding: 2px 0;
  vertical-align: middle;
  text-align: center;
}
body#visit .concierge ul.teacher li .reserve table thead td,
body#visit .concierge ul.teacher li .reserve table thead th {
  background: black;
  color: white;
  font-weight: bold;
  font-size: 0.8em;
}
body#visit .concierge ul.teacher li .reserve table tbody th {
  background: #e5e5e5;
  font-weight: bold;
  font-size: 1.2em;
}
body#visit .concierge ul.teacher li .reserve table tbody th .week {
  font-size: 0.8em;
}
body#visit .concierge ul.teacher li .reserve table tbody td .num {
  display: inline-block;
  padding: 1px 10px;
  background: black;
  color: white;
  font-weight: bold;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#visit .concierge ul.teacher li .reserve.today h5 {
  background: #008EE5;
}
body#visit .concierge ul.teacher li .noregist {
  font-weight: bold;
  color: #008EE5;
}
body#visit .concierge ul.teacher li .end {
  color: #5b448f;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  margin-top: 5px;
}
body#visit .concierge ul.teacher li.none {
  background: none;
  border: none;
}
body#visit .concierge ul.teacher li.last {
  margin-bottom: 0;
}
body#visit .concierge .appli {
  margin: 40px 0 0;
}
body#visit .panel {
  /* メニューselected */
}
body#visit .panel #menu li:nth-child(3) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .panel #menu li:nth-child(3) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .panel ul.list {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#visit .panel ul.list li {
  border: 1px solid #ccc;
  width: 49.5%;
  background: rgba(255, 255, 255, 0.9);
  margin-bottom: 1%;
}
body#visit .panel ul.list li .name {
  background: #E2E2F1;
  padding: 15px;
  font-weight: bold;
}
body#visit .panel ul.list li .txt {
  padding: 10px;
}
body#visit .search {
  /* メニューselected */
}
body#visit .search #menu li:nth-child(4) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .search #menu li:nth-child(4) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .layout {
  /* メニューselected */
}
body#visit .layout #menu li:nth-child(5) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .layout #menu li:nth-child(5) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .layout p {
  text-align: center;
}
body#visit .layout .btn {
  text-align: center;
}
body#visit .layout .btn a {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
  text-decoration: none;
  background: #3b5fac;
  padding: 10px 0;
  margin: 20px 0 5px;
  width: 200px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
body#visit .early #head h1 span {
  font-size: 0.7em;
  float: right;
}
body#visit .early table {
  width: 100%;
}
body#visit .early table td,
body#visit .early table th {
  border: 1px solid #ccc;
  background: white;
  padding: 10px;
  vertical-align: middle;
}
body#visit .early table th {
  width: 33%;
}
body#visit .early table thead td,
body#visit .early table thead th {
  background: #a40b5d;
  text-align: center;
  color: white;
  font-weight: bold;
}
body#visit .early_en table {
  width: 100%;
}
body#visit .early_en table thead td,
body#visit .early_en table thead th {
  background: #a40b5d;
  text-align: center;
  color: white;
  font-weight: bold;
}
body#visit .early_en table td,
body#visit .early_en table th {
  border: 1px solid #ccc;
  background: white;
  padding: 10px;
  vertical-align: middle;
}
body#visit .early_en table td {
  text-align: center;
}
body#visit .exhibitors ul {
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
body#visit .exhibitors ul li {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●垂直方向の揃え方（親要素に設定）
	flex-start：上揃えです。
	flex-end：下揃えです。
	center：上下中央寄せです。
	baseline：最初のflexアイテムのbaselineに揃います。
	stretch：flexコンテナいっぱいに広がります。
	*/
  -webkit-align-items: center;
  -moz-flex-direction: center;
  -ms-align-items: center;
  -o-flex-wrap: center;
  align-items: center;
  border-right: 1px solid #ccc;
  border-top: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  padding: 10px 0 10px 15px;
}
body#visit .exhibitors ul li span {
  display: none;
  padding: 10px 0;
  width: 100px;
  text-align: center;
  border-left: 1px solid #ccc;
  background: #E2E2F1;
  font-weight: bold;
}
body#visit .seminar {
  /* メニューselected */
}
body#visit .seminar #menu li:nth-child(1) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .seminar #menu li:nth-child(1) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .atf {
  /* メニューselected */
}
body#visit .atf #menu li:nth-child(3) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .atf #menu li:nth-child(3) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .seminar .seminars,
body#visit .atf .seminars {
  position: relative;
}
body#visit .seminar .seminars .theme,
body#visit .atf .seminars .theme {
  color: white;
  background: #a40b5d;
  font-size: 22px;
  font-weight: bold;
  padding: 6px 0 6px 15px;
  margin-bottom: 5px;
}
body#visit .seminar .seminars .theme span.venue,
body#visit .atf .seminars .theme span.venue {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  position: absolute;
  right: 10px;
  top: 10px;
  background: white;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  font-size: 16px;
  color: #333333;
  padding: 1px 0;
  width: 200px;
  text-align: center;
}
body#visit .seminar .seminars ul,
body#visit .atf .seminars ul {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#visit .seminar .seminars ul li,
body#visit .atf .seminars ul li {
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  width: 100%;
  margin: 0 0 5px 0;
  position: relative;
  width: 33%;
  border: 1px solid #ccc;
  /* 満席 */
}
body#visit .seminar .seminars ul li .image,
body#visit .atf .seminars ul li .image {
  float: right;
  padding-left: 10px;
  background: white;
}
body#visit .seminar .seminars ul li .time,
body#visit .atf .seminars ul li .time {
  font-feature-settings: "palt";
  font-weight: bold;
}
body#visit .seminar .seminars ul li .time span,
body#visit .atf .seminars ul li .time span {
  display: inline-block;
  margin-right: 10px;
  background: #a40b5d;
  padding: 2px 0;
  text-align: center;
  width: 50px;
  color: white;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
body#visit .seminar .seminars ul li .title,
body#visit .atf .seminars ul li .title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  margin: 5px 0;
}
body#visit .seminar .seminars ul li .title span,
body#visit .atf .seminars ul li .title span {
  font-size: 0.7em;
}
body#visit .seminar .seminars ul li .title.s,
body#visit .atf .seminars ul li .title.s {
  font-size: 18px;
}
body#visit .seminar .seminars ul li .title.meeting,
body#visit .atf .seminars ul li .title.meeting {
  text-align: center;
  margin-top: 3.5em;
}
body#visit .seminar .seminars ul li .category,
body#visit .atf .seminars ul li .category {
  display: inline-block;
  font-size: 13px;
  line-height: 1.4;
  font-weight: bold;
  background: #999;
  color: white;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  width: 100px;
  text-align: center;
  padding: 1px 0;
  margin-bottom: 5px;
}
body#visit .seminar .seminars ul li .name,
body#visit .atf .seminars ul li .name {
  font-feature-settings: "palt";
  font-size: 13px;
  line-height: 1.4;
}
body#visit .seminar .seminars ul li .name strong,
body#visit .atf .seminars ul li .name strong {
  font-size: 1.2em;
  font-weight: normal;
}
body#visit .seminar .seminars ul li .txt,
body#visit .atf .seminars ul li .txt {
  line-height: 1.4;
  font-size: 12px;
  margin-bottom: 5px;
}
body#visit .seminar .seminars ul li ol,
body#visit .atf .seminars ul li ol {
  -js-display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*
	●水平方向の揃え方
	space-between：初期値。均等に間隔を空ける
	space-around：「space-between」と同じく均等に間隔を空ける。違うのは、左右の端のFlexアイテムにも半分ずつ間隔を空けてるところ。
	flex-start：横配置の場合、「左揃え」、縦配置の場合、「上揃え」になります。
	flex-end：横配置の場合「右揃え」、縦配置の場合「下揃え」になります。
	center：「中央揃え」です。
	*/
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  /*
	●子要素の折り返し設定
	wrap:初期値。折り返しを許可、「複数行」。
	nowrap:折り返しなし、つまり「単一行」。
	wrap-reverse:「wrap」と同じで、ただ、折り返し地点が逆になります。
	*/
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
body#visit .seminar .seminars ul li ol li,
body#visit .atf .seminars ul li ol li {
  overflow: hidden;
  zoom: 1;
  padding: 0;
  width: 31%;
  margin: 10px 0 0 0;
  border: none;
}
body#visit .seminar .seminars ul li.all,
body#visit .atf .seminars ul li.all {
  width: 100%;
}
body#visit .seminar .seminars ul li.none,
body#visit .atf .seminars ul li.none {
  background: none;
}
body#visit .seminar .seminars ul li .end,
body#visit .atf .seminars ul li .end {
  clear: both;
  margin: 15px 0 0 0;
  display: inline-block;
  font-weight: bold;
  color: red;
  background: white;
  border: 2px solid red;
  padding: 5px 10px;
  text-align: center;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
body#visit .seminar .seminars.dis .theme,
body#visit .atf .seminars.dis .theme,
body#visit .seminar .seminars.dis .time span,
body#visit .atf .seminars.dis .time span {
  background: #941a66;
}
body#visit .seminar .seminars.keynote .theme,
body#visit .atf .seminars.keynote .theme,
body#visit .seminar .seminars.keynote .time span,
body#visit .atf .seminars.keynote .time span {
  background: #941a66;
}
body#visit .seminar .seminars.keynote ul li,
body#visit .atf .seminars.keynote ul li {
  padding-bottom: 20px;
}
body#visit .seminar .seminars.atfs .theme,
body#visit .atf .seminars.atfs .theme,
body#visit .seminar .seminars.atfs .time span,
body#visit .atf .seminars.atfs .time span {
  background: #008EE5;
}
body#visit .seminar .seminars.atfs ul li,
body#visit .atf .seminars.atfs ul li {
  padding-bottom: 20px;
}
body#visit .seminar .appli,
body#visit .atf .appli {
  margin: 30px 0 15px;
}
body#visit .presentation {
  /* メニューselected */
}
body#visit .presentation #menu li:nth-child(5) a {
  color: #a40b5d;
  cursor: default;
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .presentation #menu li:nth-child(5) a:hover {
  opacity: 100;
  filter: alpha(opacity=10000);
}
body#visit .presentation table {
  background: rgba(255, 255, 255, 0.9);
}
body#visit .presentation table td,
body#visit .presentation table th {
  vertical-align: middle;
  padding: 7px 15px;
  border: 1px solid #ccc;
}
body#visit .presentation table th {
  text-align: center;
  background: #E2E2F1;
  width: 15%;
}
body#visit .presentation table th.num {
  background: #a40b5d;
  color: white;
}
body#visit .presentation table th .time {
  font-feature-settings: "palt";
  font-weight: bold;
}
body#visit .presentation table th .time span {
  display: inline-block;
  margin-right: 10px;
  background: #5b448f;
  padding: 2px 0;
  text-align: center;
  width: 60px;
  color: white;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
body#visit .presentation table td .title {
  font-size: 18px;
  font-weight: bold;
}
body#visit .presentation .appli {
  margin: 40px 0 0;
}
/* body#vist */
