@charset "UTF-8";

/* ===================================
	File Name   : common.css
	Description : Base Layout CSS
	Editor      : Bface Hayakawa
	Last Editor : Bface Chiba
	
	Update Description :
	[2023/08/28] 新規作成

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

/*========== Style Contents ==========

	1. Global Redefinition
	2. Font Redefinition
	3. Box Setting
	4. Common Items Setting
		- Basic Link
	 	- Header Items
		- Global Navigation
	 	- Footer Items
		- Footer Navigation
		- Breadcrumbs
		- Page Top Button
		- Title Items
		- Sub Column
		- Inner Anchor
		- Exhibitor Banner

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


/*===== ■1. Global Redefinition =====*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700);

body {
	color: #333333;
	line-height: 1.5;
  margin: 0px auto;
}

img { max-width: 100%;}

sup {
  vertical-align: super;
  font-size: smaller;
}


/*===== ■2. CSS Custom Property =====*/
:root {
	--dominant: #00125e;
	--dominant02: #ee7800;
	--dominant-light01: #bec3d8;
	--dominant-light02: rgba(0, 18, 94, .15);
	--dominant-light03: #919ac0;
	--dominant-alpha01: rgba(211, 213, 222, .5);
	--dominant-alpha02: rgba(0, 18, 94, .9);
	--dominant-alpha03: rgba(83, 97, 155, 0.5);
	--dominant02-light: #f8d9ba;
}


/*===== ■2. Font Redefinition =====*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

html { font-size: 62.5%;}

body {
	font-size: 1.4em;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragio Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Meiryo, "M+ 1p", sans-serif;
}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?e20oli');
  src:  url('fonts/icomoon.eot?e20oli#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?e20oli') format('truetype'),
    url('fonts/icomoon.woff?e20oli') format('woff'),
    url('fonts/icomoon.svg?e20oli#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon_"], [class*=" icon_"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon_blank:before {
  content: "\e900";
  color: var(--dominant);
	margin-left: 4px;
}

a:hover .icon_blank:before { color: var(--dominant-light01);}
a.soon:hover .icon_blank:before { color: var(--dominant);}

#global_navi a:hover .icon_blank:before { color: #fff;}

a.box .icon_blank:before { transition: all .5s;}
a.box:hover .icon_blank:before { transition: all .7s;}

a.txt:hover .icon_blank:before { color: var(--dominant-light01);}

footer .icon_blank:before { color: var(--dominant-light01);}

footer .soon .icon_blank:before { color: #999;}

#sub_cont a .icon_blank:before { color: var(--dominant-light01);}
#sub_cont a:hover .icon_blank:before { color: var(--dominant)}

#footer_contact a .icon_blank:before { color: var(--dominant);}
#footer_contact a:hover .icon_blank:before { opacity: .6;}

.icon_key:before {
  content: "\e901";
  color: #fff;
  margin-left: 2px;
}

a:hover .icon_key:before { color: #fff;}

#global_navi .icon_key:before {
  color: var(--dominant);
}

a.box i.icon_key:before {
  color: var(--dominant);
	transition: all .5s;
}
a.box:hover i.icon_key:before {
  color: #fff;
}

#global_navi a:hover .icon_key:before { color: #fff;}

aside#visit_links .icon_key:before {
	color: var(--dominant);
}

aside#visit_links a:hover .icon_key:before {
	color: #fff;
}

#sub_cont .icon_key:before {
  color: var(--dominant-light01);
}
#sub_cont a:hover .icon_key:before {
  color: var(--dominant);
}


i.icon_pdf {
	display: inline-block;
	position: relative;
	top: -2px;
	width: 20px;
	margin-left: 5px;
	vertical-align: middle;
}
i.icon_pdf_s {
	display: inline-block;
	position: relative;
	top: -2px;
	width: 14px;
	margin-left: 5px;
	vertical-align: middle;
	line-height: 0;
}


@media screen and (max-width:640px) {
	body {
		font-size: 1.3em;
	}
	
	i.icon_pdf {
		display: inline-block;
		position: relative;
		top: 0;
		width: 15px;
		margin-left: 5px;
		vertical-align: middle;
	}
}


/*===== ■3. Box Setting =====*/
#entirety {
	overflow: hidden;
	position: relative;
	width: 100%;
}

#entirety:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 320px;
	margin: 90px -10% 0;
	background: var(--dominant);
	transform-origin: left center;
	transform: rotate(2deg);
	z-index: -1;
}

#entirety:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 320px;
	margin: 90px -10% 0;
	background: var(--dominant02);
	transform-origin: right center;
	transform: rotate(-2deg);
	z-index: -2;
}

main {
	display: block;
	max-width: 1200px;
	margin: 0px auto;
}

article {
	position: relative;
	max-width: 1200px;
	margin: 0px auto;
}

section {
	position: relative;
	width: 100%;
	margin: 0px auto 35px;
}
section:last-of-type { margin-bottom: 20px;}


section .inner { margin: 0 10px;}

header {
	display: flex;
	max-width: 1200px;
	margin: 10px auto 15px;
	color: var(--dominant);
	font-family: 'Open Sans', 'Noto Sans Japanese';
  align-items: flex-start;
}

article .wrapper {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto 40px;
}

article .wrapper #main_cont {
	width: 870px;
	min-height: 300px;
	margin: 0 10px;
	padding: 15px;
	box-shadow: 0 2px 10px rgba(0,0,0,.3);
	background: #fff;
}

article .wrapper #sub_cont {
	position: relative;
	width: 250px;
	margin: 0 10px;
  background: var(--dominant);
}

article .wrapper #sub_cont:before {
	position: absolute;
	top: 0;
	content: url(../img/common/bg-subcont-top.png);
}

article .wrapper #sub_cont:after {
	position: absolute;
	bottom: -6px;
	content: url(../img/common/bg-subcont-bottom.png);
}

.pc_none{ display: none;}


@media screen and (max-width:1200px) {
	article .wrapper #main_cont {
		width: calc(100% - 20px);
	}

	article .wrapper #sub_cont { display: none;}
}

@media screen and (max-width:1080px) {
    #entirety:before {
    height: 330px;
	}
	#entirety:after {
    height: 330px;
	}
}

@media screen and (max-width:640px) {
	#entirety:before {
		height: 220px;
		margin: 47.5vw -10% 0;
		transform: rotate(3deg);
	}
	#entirety:after {
		height: 220px;
		margin: 47.5vw -10% 0;
		transform: rotate(-3deg);
	}

section { margin-bottom: 30px;}
	section:last-of-type { margin-bottom: 15px;}
	
	header {
		display: block;
		margin: 10px 15px 0;
	}
	
	section .inner { margin: 0;}

	article .wrapper {
		display: block;
		margin: 0 auto 15px;
	}
	
	article .wrapper #main_cont {
		margin: 0 10px;
		padding: 10px;
		box-sizing: border-box;
	}
  
  .sp_none{ display: none;}
  .pc_none{ display: block;}
}
main:after {
	display: block;
	clear: both;
	content: '';
}




/*===== ■4. Common Items Setting =====*/
/* Basic Link */
a {
	outline: hidden;
	font-weight: bold;
	text-decoration: underline;
}

a:link {
	color: var(--dominant);
	text-decoration: underline;
}

a:visited {
	color: var(--dominant);
	text-decoration: underline;
}

a:hover {
	color: var(--dominant-light01);
	text-decoration: none;
}

a:hover img { opacity: 0.6;}

a.txt {
	display: inline-block;
	position: relative;
	padding-left: 10px;
}
a.txt:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 5px solid var(--dominant);
	transform: translateY(-50%);
	content: '';
}

a.box:not(.soon) {
	display: block;
	overflow: hidden;
	outline: none;
	position: relative;
	padding: 22px 10px;
	color: var(--dominant);
	font-size: 1.6rem;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: all .5s;
}
a.box:before,
a.box:after {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	transition: all .5s;
}
a.box:before {
	top: 0;
	left: 0;
	border-top: 1px solid var(--dominant);
	border-left: 1px solid var(--dominant);
}

a.box:after {
    right: 0;
	bottom: 0;
	border-right: 1px solid var(--dominant);
	border-bottom: 1px solid var(--dominant);
}

a.box:not(.soon):after {
	right: 0;
	bottom: 0;
	border-right: 1px solid var(--dominant);
	border-bottom: 1px solid var(--dominant);
}
a.box:not(.soon):hover {
	background-color: var(--dominant);
	color: #fff;
	transition: all .7s;
}
a.box:not(.soon):hover:before,
a.box:not(.soon):hover:after {
	width: 0;
	height: 0;
	opacity: 0;
	transition: all .7s;
}

a.box i.icon_arrow {
	position: absolute;
	top: 50%;
	left: 0;
	border: 8px solid transparent;
	border-left: 8px solid var(--dominant);
	transform: translateY(-50%);
	content: '';
}

a.box.soon_btn {
	opacity: 0.6;
	pointer-events: none;
}

a.pdf:after {
	display: inline-block;
	position: relative;
	top: 2px;
	margin-left: 5px;
	width: 16px;
	height: 16px;
	content: '';
}
a.pdf:after { background: url(../img/common/mark-pdf.png) no-repeat right top / 100%;}


@media screen and (max-width:640px) {
	a.box:not(.soon) {
		padding: 10px 15px;
		box-sizing: border-box;
		font-size: 1.4rem;
	}
}


/* Header Items */
header h1,
header strong {
	display: block;
	width: 16%;
	margin: 0 1.5% 0 0;
}

header #h_info { margin: 0 auto 0 10px;}

header #h_info li:first-child { margin-bottom: 3px;}

header #h_info dl {
	display: flex;
	align-items: flex-start;
}

header #h_info dt {
	line-height: 1;
	min-width: 60px;
	margin-right: 5px;
	padding: 4px 5px;
	border-radius: 5px;
	background: var(--dominant);
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-align: center;
}

header #h_info li:first-child dd {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1;
}

header #h_info li:first-child dd b {
	font-weight: bold;
	font-size: 2.6rem;
}

header #h_info li:first-child dd span:first-child {
	display: inline-block;
	position: relative;
}
header #h_info li:first-child dd span:first-child:after {
	float: right;
	margin: 5px 8px 0px 5px;
	width: 15px;
	content: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2017%2017%22%20style%3D%22enable-background%3Anew%200%200%2017%2017%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%2300125E%3B%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97_869%22%20class%3D%22st0%22%20d%3D%22M9%2C0L7%2C2l5%2C5H0v3h12l-5%2C5l2%2C2l8-8V8L9%2C0z%22%2F%3E%3C%2Fsvg%3E');
}

header #h_info li:first-child dd span em { font-size: 1.4rem;}

header #h_info li:first-child+li dd {
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1;
}

header #h_info li:first-child+li dd a {
	display: inline-block;
	position: relative;
	width: 110px;
	margin-left: 10px;
	padding: 3px 3px 3px 5px;
	box-sizing: border-box;
	border: 1px solid var(--dominant);
	background: #fff;
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	vertical-align: top;
}

header #h_info li:first-child+li dd a:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 4px solid var(--dominant);
	transform: translateY(-50%);
	content: '';
}

header #h_info li:first-child+li dd a:hover {
	background: var(--dominant);
	color: #fff;
}

header #h_info li:first-child+li dd a:hover .icon_blank:before { color: #fff;}

header #h_info li:first-child dd span:nth-child(2) { margin-right: 10px;}
header #h_info li:first-child dd span:nth-child(3) { white-space: nowrap;}

header #h_info li:last-child { 
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

header #h_info + a {
  height: auto;
  margin-left: 10px;
  padding: 5px 10px;
  box-sizing: border-box;
  background: #c00;
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;;
  align-items: flex-start;
  line-height: 1.4;
  min-width: 110px;
}

header #h_info + a:hover{
  opacity: 0.7;
}

header #h_regi { 
	margin: 0 5px;
}

header #h_regi li:last-child{
	margin-top: 5px;
}
header #h_regi li a { 
	display: inline-block;
	position: relative;
	width: 140px;
	height: 22px;
	padding: 3px 3px 4px 5px;
	box-sizing: border-box;
	border: 1px solid #fff;
	background: #ea592a;
	color: #fff !important;
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none !important;
	vertical-align: top;
}

header #h_regi li:last-child a .icon_blank:before {color: #fff;}


header #h_regi li:first-child a { 
	margin-left: 0;
    background: #c00;
}

header #h_regi li a:hover { 
    opacity: 0.8;
}

header #h_regi li a:before {
	position: absolute;
	top: 50%;
	left: 1px;
	border: 4px solid transparent;
	border-left: 4px solid #fff;
	transform: translateY(-50%);
	content: '';
}


header > div {
	flex: 0 0 auto;
	width: 170px;
	margin-left: 10px;
}

header div dl {
	position: relative;
	margin-bottom: 5px;
	font-size: 1.3rem;
}

header div dt {
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
	border: 1px solid var(--dominant);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

header div dl.soon dt{
  opacity: 0.6;
} 
  
header div dt:hover,
header div dt.on {
	background: var(--dominant);
	color: #fff;
}

header div dl.soon dt:hover{
  background: #fff;
	color: var(--dominant);
}

header div dd {
	display: none;
	position: absolute;
	z-index: 3;
	width: 100%;
	background: var(--dominant);
	color: #fff;
}

header div dd a {
	display: block;
	position: relative;
	padding: 7px 5px 7px 10px;
	border-bottom: 1px solid #fff;
	color: #fff !important;
	font-weight: normal;
	text-decoration: none !important;
}
header div dd a:last-child { border: none;}

header div dd a:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 4px solid #fff;
	transform: translateY(-50%);
	content: '';
}
header div dd a:hover { background: var(--dominant);}

header div dd a.soon {
	opacity: 0.6;
	cursor: default;
}

header div ul {
	display: flex;
	justify-content: space-between;
}

header button { display: none;}


@media screen and (max-width:1100px) {
	header #h_info dt {
		min-width: 50px;
		letter-spacing: 0;
		font-size: 1.2rem;
	}

	header #h_info li:first-child dd {
		font-size: 1.6rem;
		letter-spacing: 0;
	}

	header #h_info li:first-child dd b {
		font-size: 2.2rem;
	}
	
	header #h_info li:first-child dd span em { font-size: 1.2rem;}

	header #h_info li:first-child+li dd {
		font-size: 1.8rem;
		letter-spacing: 0;
	}

}

@media screen and (max-width:640px) {	
	header h1,
	header strong {
		width: 50%;
		margin: 0 auto 5px;
	}
	
	header #h_info {
		margin: 0 0 10px;
    	padding-bottom: 10px;
	}
	
	header #h_info li:first-child { margin-bottom: 5px;}

	header #h_info dt {
		min-width: 50px;
		padding: 3px 5px;
		font-size: 3.125vw;
		letter-spacing: 0;
	}

	header #h_info li:first-child dd {
		font-size: 3.4375vw;
		letter-spacing: 0;
	}

	header #h_info li:first-child dd b {
		font-size: 4.6875vw;
	}

	header #h_info li:first-child dd span:first-child { margin-right: 18px;}

	header #h_info li:first-child dd span:first-child:after {
	position: absolute;
	top: 50%;
	right: -14px;
	float: none;
	width: 10px;
	height: 10px;
	margin: 0;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2017%2017%22%20style%3D%22enable-background%3Anew%200%200%2017%2017%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%2300125E%3B%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97_869%22%20class%3D%22st0%22%20d%3D%22M9%2C0L7%2C2l5%2C5H0v3h12l-5%2C5l2%2C2l8-8V8L9%2C0z%22%2F%3E%3C%2Fsvg%3E') no-repeat left top / 100%;
	transform: translateY(-45%);
	content: '';
}

	header #h_info li:first-child+li dd {
		font-size: 4.0625vw;
		text-shadow: 0 0px 2px #FFF;
		vertical-align: middle;
	}

	header #h_info li:first-child+li dd a {
		display: inline-block;
		width: auto;
		margin: 4px 0 0 0;
		padding: 2px 3px 2px 5px;
		font-size: 3.75vw;
		vertical-align: middle;
	}
	
	header #h_info li:first-child dd span:nth-child(2) { margin-right: 10px; white-space: nowrap;}
	header #h_info li:first-child dd span:nth-child(3) { margin-top:3px;}
	
  header #h_info + a { display: none;}
  
	header #h_regi{
		display: none;
	}
	
	header > div > a { 
		display: none;
	}
	
	header > div { display: none;}
	
	header button {
		display: block;
		position: absolute;
		top: 5px;
		right: 5px;
		z-index: 999;
		max-width: 70px;
		width: 14%;
		padding: 0;
		border: none;
		background: none;
		transition: transform .5s;
	}
	header button.fixed {
		position: fixed;
		top: 0;
	}

	header button span {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 40%;
		height: 2px;
		margin-top: -2px;
		background: var(--dominant);
		transform: translate(-50%);
	}
	
	header button span:before,
	header button span:after {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background: var(--dominant);
		content: '';
		transition: all .5s;
	}
	header button span:before { margin-top: -6px;}
	header button span:after { margin-top: 6px;}
	
	header button.active { transform: rotate(90deg);}
	
	header button.active span {
		background: none;
	}
	header button.active span:before {
		margin: 0;
		transform: rotate(45deg);
	}
	header button.active span:after {
		margin: 0;
		transform: rotate(-45deg);
	}
}


/* Global Navigation */
#global_navi .sp { display: none;}

#global_navi {
	display: block;
  position: relative;
	max-width: 1200px;
	margin: 0 auto 30px;
	padding: 1px;
	box-sizing: border-box;
	box-shadow: 0 0 10px rgba(0,0,0,.1);
	background: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0.8));
	font-family: 'Open Sans', 'Noto Sans Japanese';
}

#global_navi.fixed {
	position: fixed;
	top: 0;
	z-index: 99;
	width: 100%;
	max-width: none;
	background: linear-gradient(to bottom, rgba(255,255,255,0.9), rgba(255,255,255,1));
	transition: top .5s;
}

#global_navi.fixed > ul {
	max-width: 1200px;
	margin: 0 auto;
}

#global_navi > ul {
	display: flex;
	flex-flow: row;
	justify-content: space-between;
}

#global_navi > ul > li {
	display: flex;
	z-index: 3;
	align-items: center;
	width: 25%;
	box-sizing: border-box;
	padding: 0 4px 0 3px;
}
#global_navi > ul > li:nth-child(2) { padding-left: 0;}
#global_navi > ul > li:nth-last-child(2) { padding-right: 0;}

#global_navi > ul > li > a {
  position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 20px 0;
	box-sizing: border-box;
	color: var(--dominant);
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}

#global_navi > ul > li > a:after {
	position: absolute;
	right: -4px;
	top: 50%;
	width: 1px;
	height: 20px;
	margin-top: -10px;
	background: #999;
	content: '';
}
#global_navi > ul > li:nth-last-child(-n+2) > a:after { display: none;}

#global_navi > ul > li > a.soon {opacity: 0.5; pointer-events: none;}

#global_navi > ul > li > a:not(.soon):hover,
#global_navi > ul > li > a.active {
	background: var(--dominant-light03);
	color: #fff;
}

#global_navi > ul > li > a[href^='javascript'] { cursor: default;}

#global_navi > ul > li > a.soon:hover { color: var(--dominant);}

#global_navi > ul > li.active > a:before {
	position: absolute;
	left: 50%;
	bottom: 0px;
	border: 10px solid transparent;
	border-bottom: 10px solid rgba(229,232,235,1);
	transform: translateX(-50%);
	content:'';
}

#global_navi > ul > li.highlight > a{
  background: #ffeb3b;
  transition: background 0.3s;
}

#global_navi > ul > li.highlight > a:hover {
  background: #ffff00;
  color: var(--dominant);
}

#global_navi ul ul {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 10px 5px;
	background: rgba(229,232,235,0.95);
  z-index: 99;
}

#global_navi ul ul li {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 1px;
}

#global_navi ul ul li:last-child {
	margin: 0;
	padding: 0;
	border: 0;
}

#global_navi ul li:not(:last-child) ul a {
	display: block;
  position: relative;
}

#global_navi ul ul li a {
  text-decoration: none !important;
  line-height: 1.3;
  margin: 5px 0;
  padding: 30px 35px;
  border: 1px solid var(--dominant);
  background: #fff;
  color: var(--dominant);
}

#global_navi ul ul a:not(.soon):before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 6px solid transparent;
	border-left: 6px solid var(--dominant);
	transform: translateY(-50%);
	content: '';
}

#global_navi ul ul a:not(.soon):hover {
	background: var(--dominant);
	color: #fff;
}

#global_navi ul ul a.soon { opacity: 0.5; pointer-events: none;}

#global_navi ul ul a:hover .icon_blank:before {color: #fff;	}


@media screen and (max-width:640px) {
	#global_navi .sp { display: block;}
  #global_navi .pc { display: none;}
	
	#global_navi {
		opacity: 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100vw;
		height: 100%;
		max-width: none;
		padding: 0;
		box-shadow: 0;
		background: rgba(255,255,255,0.8) !important;
		margin: 0;
		transition: all .3s;
	}
	#global_navi.open {
		display: block;
		opacity: 1;
		z-index: 99;
	}

	#global_navi.fixed {
		position: static;
		background: rgba(255,255,255,0.8) !important;
		transition: none;
	}

	#global_navi > ul {
		display: block;
		position: relative;
		left: 100vw;
		background: var(--dominant-alpha02);
		transition: left .7s, height .7s;
	}
	#global_navi.open > ul { left: 0;}
	
	#global_navi > ul > li {
		display: block;
		width: auto;
		margin-bottom: 2px;
		padding: 0 0 2px;
		border-bottom: 1px dotted #fff;
	}

	#global_navi > ul > li:last-child {
		margin: 0;
		padding: 0;
		border: none;
	}
	
	#global_navi > ul > li:after { display: none;}
	
	#global_navi > ul > li > a {
		display: block;
		position: relative;
		width: 100%;
		box-sizing: border-box;
		padding: 20px 15px;
		color: #fff;
		font-size: 1.4rem;
		line-height: 1.2;
		text-align: left;
	}
  
  #global_navi > ul > li a:after {
    margin-top: 0;
    background: none;
  }
  
	#global_navi > ul > li > a.soon {opacity: 0.5;}

	#global_navi > ul > li > a:not(.soon):hover,
	#global_navi > ul > li > a.active {
		background: inherit;
	}
  
	#global_navi > ul > li > a.soon:hover { color: #fff;}

	#global_navi > ul > li.active > a:before { display: none;}
	
	#global_navi > ul > li > a[href]:after {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 12px;
		height: 12px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		transform: translateY(-50%) rotate(45deg);
		content:'';
	}
	
	#global_navi > ul > li > a[href^='javascript']:before {
		position: absolute;
		top: 50%;
		right: 23px;
		width: 3px;
		height: 25px;
		background: #fff;
		transform: translateY(-50%);
		content:'';
	}
	#global_navi > ul > li > a[href^='javascript']:after {
		display: block !important;
		position: absolute;
		top: 50%;
		right: 12px;
		width: 25px;
		height: 3px;
		margin: 0;
		border: none;
		background: #fff;
		transform: translateY(-50%);
		content:'';
	}

	#global_navi > ul > li > a b { margin-left: 5px;}
  
	#global_navi ul ul {
		display: none;
		position: static;
		width: calc(100% - 15px);
		margin-left: 15px;
		padding: 0;
		border-radius: 0;
		background: none;
	}
  
  #global_navi > ul > li:nth-last-child(3)  ul{
    text-align: left;
  }
  
  #global_navi > ul > li.highlight > a {
    background: #ffeb3b;
    color: #b84c97;
  }
  #global_navi ul ul li {
		width: calc(100% - 15px);
	}
	
	#global_navi ul ul li:not(:last-child) {
		margin-bottom: 1px;
		padding-bottom: 1px;
		border-bottom: 1px dotted rgba(127,194,194,0.5);
	}
  
  #global_navi ul li ul li a{
    background: none;
    padding: 20px 15px;
  }
  
  #global_navi ul li ul li a{
    border: none;
  }

	#global_navi ul li:not(:last-child) ul a {
    width: 100%;
		padding: 20px 15px;
		box-sizing: border-box;
		color: #fff;
	}
  
	#global_navi ul li:not(:last-child) ul a:before {
		position: absolute;
		top: 50%;
		left: 0;
		border-left: 6px solid #fff;
		content:'';
	}
	
	#global_navi ul ul a:not(.soon):before {
		position: absolute;
		top: 50%;
		left: 0;
		border: 6px solid transparent;
		border-left: 6px solid var(--dominant);
		transform: translateY(-50%);
		content: '';
	}
	#global_navi ul ul a.soon { opacity: 0.5;}
	#global_navi ul ul a:hover { color: #fff !important;}
	
	#global_navi li.sp > a i.icon_key:before,
	#global_navi li.sp > a:hover .icon_key:before { color: #fff;}
	
	#global_navi ul li:last-child ul {
		display: flex;
		justify-content: space-around;
		width: auto;
		margin-left: 0;
		padding: 30px 0;
	}
	#global_navi ul li:last-child ul li {
    width: auto;
		margin: 0 10px;
		border: none;
	}
	
	#global_navi ul li:last-child ul li a { color: #fff;}
	
  #global_navi ul li:last-child ul a:not(.soon):before { display: none;}
  #global_navi .icon_blank:before{color: #fff;}

}


/* Footer Items */
aside#bnr_simultaneous {
	padding: 30px 0;
	background: url(../img/common/bg-dotted-light.png);
}

aside#bnr_simultaneous h3 {
	margin-bottom: 30px;
	color: var(--dominant);
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.3;
	text-align: center;
	text-shadow: 0 1px 0 #fff;
	font-family: 'Noto Sans Japanese';
}

aside#bnr_simultaneous ul {
	display: flex;
	justify-content: space-around;
	max-width: 1200px;
	margin: 0 auto;
}

aside#bnr_simultaneous li {
	width: 100%;
	max-width: 360px;
}

aside#bnr_simultaneous li { margin: 0 10px;}

footer .wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 0 10px;
}

footer #footer_sitemap + .wrapper {
	display: block;
	padding: 0;
}

footer #footer_sitemap .icon_key:before {
	color: currentColor;
}

footer #footer_contact {
	display: flex;
	margin: 15px 0 5px;
	justify-content: space-between;
	border-bottom: 1px dotted #999;
	font-family: 'Noto Sans Japanese';
}

footer #footer_contact dl { width: 48%;}

footer #footer_contact dt em {
	display: block;
	margin-bottom: 10px;
	padding: 5px 10px;
	background: var(--dominant-light02);
	font-weight: bold;
	line-height: 1.3;
}

footer #footer_contact dt b {
	display: block;
	margin: 0 10px 10px;
	padding: 0 0 5px;
	border-bottom: 1px dotted #ccc;
	font-weight: bold;
}

footer #footer_contact dd { margin: 0 10px 10px;}

footer #footer_contact dd strong {
	display: block;
	font-weight: bold;
}

footer #footer_contact dd li {
	position: relative;
	margin-bottom: 3px;
	padding-left: 10px;
}

footer #footer_contact dd li:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 2px;
	background: #ccc;
	transform: translateY(-50%);
	content:'';
}


footer #footer_contact dd > a { font-weight: normal;}

footer #footer_logo {
	margin: 10px 0;
	text-align: right;
}

footer #footer_logo p {
	font-size: 1.2rem;
	font-family: 'Open Sans';
}



@media screen and (max-width:640px) {
	aside#bnr_simultaneous {
		padding: 15px 0;
	}

	aside#bnr_simultaneous h3 {
		margin-bottom: 15px;
		font-weight: bold;
		font-size: 1.6rem;
	}
	
	aside#bnr_simultaneous li {
		max-width:  none;
	}

	footer .wrapper {
		display: block;
		padding: 10px 0;
	}
	
	footer #footer_sitemap + .wrapper { padding: 15px 5px 5px;}

	footer #footer_contact {
		flex-direction: column;
		width: auto;
		margin: 0 5px 5px;
	}
	
	footer #footer_contact dl { width: 100%;}

	footer #footer_contact dt em {
		margin-bottom: 10px;
		font-weight: bold;
		font-size: 1.2rem;
	}

	footer #footer_contact dd {
		margin: 0 10px 15px;
		font-size: 1.2rem;
	}
	
	footer #footer_contact dd > a { display: inline-block;}
	
	footer #footer_contact dd li { margin: 0;}
	footer #footer_contact dd li a {
		display: inline-block;
		padding: 5px 0;
	}

	footer #footer_logo {
		display: block;
		margin: 10px 0 5px;
	}

	footer #footer_logo p {
		font-size: 1.0rem;
		text-align: center;
	}	
}


/* Footer Sitemap */
#footer_sitemap { background: url(../img/common/bg-dotted-dark.png) repeat left top, url(../img/common/bg-sitemap.jpg) no-repeat center top / cover;}

#footer_sitemap dl {
	width: calc(25% - 5px);
	margin-bottom: 20px;
	font-family: 'Open Sans', 'Noto Sans Japanese';
}
#footer_sitemap dl:first-of-type { max-width: 100%;}

#footer_sitemap dt {
	margin-bottom: 15px;
	color: var(--dominant-light01);
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1;
}

#footer_sitemap dd {
	min-height: calc(100% - 50px);
	padding: 10px 10px 10px 0;
	background: rgba(0,0,0,.3);
}
#footer_sitemap dl:first-of-type dd { min-height: inherit;}

#footer_sitemap li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 20px;
}

#footer_sitemap li:last-child { margin: 0;}

#footer_sitemap li a {
	color: var(--dominant-light01);
	font-weight: normal;
	line-height: 1.3;
}

#footer_sitemap li a:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 3px;
	background: var(--dominant-light02);
	transform: translateY(-50%);
	content: '';
}

#footer_sitemap li a:hover { opacity: .6;}

#footer_sitemap li a.soon {
	pointer-events: none;
	color: #666;
	text-decoration: none;
  display: inline-block;
}
#footer_sitemap li a.soon i.icon_pdf_s { opacity: .6;}

#footer_sitemap li a.soon:before { background: #666;}

#footer_sitemap li a.soon:hover { opacity: 1;}

#footer_sitemap dl:first-of-type { width: 100%;}

#footer_sitemap dl:first-of-type ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#footer_sitemap dl:first-of-type li {
	width: 28.5%;
	margin: 0 10px 5px 0;
}
#footer_sitemap a.pdf.soon:after {
	opacity: 0.6;
}



@media screen and (max-width:640px) {
	#footer_sitemap { background: url(../img/common/bg-dotted-dark.png) repeat left top, url(../img/common/bg-sitemap.jpg) no-repeat center top / 300% auto;}
	
	#footer_sitemap dl,
	#footer_sitemap dl:first-of-type {
		width: calc(100% - 20px);
		margin: 0 10px 5px;
	}
	
	#footer_sitemap dl:last-of-type { margin-bottom: 0;}
	
	#footer_sitemap dt {
		position: relative;
		margin: 0;
		padding: 15px 10px;
		background: rgba(0,0,0,.3);
		font-size: 1.4rem;
	}
	
	#footer_sitemap dt:before {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 2px;
		height: 20px;
		background: var(--dominant-light01);
		transform: translateY(-50%);
		content:'';
	}
	#footer_sitemap dt:after {
		position: absolute;
		top: 50%;
		right: 11px;
		width: 20px;
		height: 2px;
		background: var(--dominant-light01);
		transform: translateY(-50%);
		content:'';
	}
	#footer_sitemap dt.active:before { display: none;}
	
	#footer_sitemap dd { min-height: inherit;}
	
	#footer_sitemap dl:first-of-type ul { display: block;}

	#footer_sitemap dl:first-of-type li {
		width: 100%;
		margin: 0 0 5px;
	}
	#footer_sitemap dl:first-of-type li:last-child { margin: 0;}
	
	#footer_sitemap li a {
		display: inline-block;
		padding: 5px 0;
		font-size: 1.4rem;
	}
}


/* Breadcrumbs */
#breadcrumbs {
	margin: 0 10px;
	padding: 15px 20px 20px;
	border-top: 1px dotted var(--dominant-light01);
	color: var(--dominant-light01);
	font-weight: 500;
	letter-spacing: 0.05em;
	font-family: 'Noto Sans Japanese';
}

#sub_visual + #breadcrumbs {
	padding-top: 5px;
	border-top: 0;
}

#breadcrumbs span {
	position: relative;
	margin-right: 10px;
	padding-right: 20px;
}

#breadcrumbs span:after {
	position: absolute;
	top: 50%;
	right: 3px;
	width: 6px;
	height: 6px;
	margin-top: 1px;
	border-top: 2px solid var(--dominant-light01);
	border-right: 2px solid var(--dominant-light01);
	transform: translateY(-50%) rotate(45deg);
	content:'';
}

#breadcrumbs a {
	color: var(--dominant-light01);
	font-weight: 500;
	text-decoration: none;
}

#breadcrumbs a:hover {
	color: var(--dominant-light01);
	opacity: 0.6;
}


@media screen and (max-width:640px) {
	#breadcrumbs {
		margin: 0 5px;
		padding: 10px 5px;
		border-top: 1px dotted var(--dominant-light01);
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	#breadcrumbs span {
		position: relative;
		margin-right: 5px;
		padding-right: 15px;
	}
	
}


/* Page Top Button */
#pagetop {
	width: 100px;
	height: 80px;
	float: right;
}

#sub_cont #pagetop {
	flot: none;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
}

#pagetop a { text-decoration: none;}
.st0{fill:var(--dominant);}
.st1{fill:#FFFFFF;}
.st2{font-family: 'Open Sans';}
.st3{font-size: 1.3rem;}

#pagetop a .st0:hover { opacity: 0.6;}

.inner_top {
	margin: 0 10px 15px;
	line-height: 1;
	text-align: right;
}
.inner_top a {
	position: relative;
	padding-left: 14px;
	color: var(--dominant);
	text-decoration: none;
}
.inner_top a:before {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -2px;
	border: 5px solid transparent;
	border-bottom: 7px solid var(--dominant);
	transform: translateY(-50%);
	content: '';
}

.inner_top a:hover { color: var(--dominant-light01);}
.inner_top a:hover:before {	border-bottom: 7px solid var(--dominant-light01);}

#sp_pagetop { display: none;}


@media screen and (max-width:640px) {
	#pagetop,
	.inner_top { display: none;}
	
	#sp_pagetop {
		display: block;
		position: relative;
		margin: 20px 5% 15px;
		padding: 10px 0px;
		border: 1px solid var(--dominant);
		font-size: 1.4rem;
		letter-spacing: 0.1em;
		text-align: center;
		text-decoration: none;
	}

	#sp_pagetop:after {
		position: absolute;
		top: 50%;
		right: 10px;
		margin: -5px 0 0;
		border: 8px solid transparent;
		border-bottom: 12px solid var(--dominant);
		transform: translateY(-50%);
		content:'';
	}
}


/* Title Items */
article h1 {
	margin: 0 10px;
	padding: 40px 0px 70px;
	color: #fff;
	font-weight: bold;
	font-size: 4.0rem;
	line-height: 1.3;
	font-family: 'Noto Sans Japanese';
	letter-spacing: 0.05em;
}

article h1 b {
	margin-left: 40px;
	font-size: 3.0rem;
}

article h1#sub_visual {
	margin: -15px 6px 0;
	padding: 0;
}

article h2 {
	display: flex;
	margin-bottom: 20px;
	border: 2px solid var(--dominant);
	border-radius: 8px;
}

article h2 span:first-of-type {
	margin: 0 25px 0 15px;
	padding: 20px 0;
	color: var(--dominant);
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.2;
	font-family: 'Noto Sans Japanese';
}

article h2 span:last-of-type {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: flex-end;
	width: 140px;
	margin-left: auto;
	padding: 0 20px;
	background: var(--dominant);
}

article h2 span:last-of-type:before {
	position: absolute;
	top: 0;
	left: -25px;
	width: 50px;
	height: 100%;
	background: var(--dominant);
	transform: skewX(-25deg);
	content: '';
}

article h2 b {
	position: relative;
	z-index: 2;
	color: #fff;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.2;
	font-family: 'Open Sans';
	word-break: break-all;
	text-align: right;
}

article section h3 {
	margin-bottom: 15px;
	padding: 0 10px 17px;
	background: url(../img/common/bg-line-ttl.png) no-repeat left bottom;
	color: var(--dominant);
	font-weight: bold;
	font-size: 1.8rem;
	font-family: 'Open Sans', 'Noto Sans Japanese';
	line-height: 1.2;
}


@media screen and (max-width:640px) {
	article h1 {
		margin: 0 5px;
		padding: 55px 0px;
		font-size: 2.2rem;
		line-height: 1.2;
		letter-spacing: 0;
		text-align: center;
	}

	article h1 b {
		display: block;
		margin: 10px 0 0;
		font-size: 1.8rem;
	}
	
	article h1#sub_visual { margin: 0 6px;}
	
	article h2 {
		flex-direction: column;
		margin-bottom: 15px;
		border: none;
		border-radius: 0;
		border-bottom: 1px solid var(--dominant);
	}
	article h2 span:first-of-type {
		display: block;
		margin: 0;
		padding: 10px;
		background: var(--dominant);
		color: #fff;
		font-size: 1.6rem;
	}
	
	article h2 span:last-of-type { display: none;}

	/*
	article h2 span:first-of-type {
		order: 2;
		display: block;
		margin: 0;
		padding: 0 10px 15px;
		font-size: 1.6rem;
	}

	article h2 span:last-of-type {
		display: block;
		order: 1;
		width: auto;
		margin: 0 0 10px;
		padding: 3px 10px 5px;
	}
	*/
	article h2 span:last-of-type:before { display: none;}

	article h2 b { font-size: 1.1rem;}
	
	article section h3 {
		margin-bottom: 10px;
		padding: 0 10px 15px;
		font-size: 1.5rem;
		letter-spacing: 0em;
	}
}


/* Sub Column */
#sub_cont #particles-js {
	height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

#sub_cont nav {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	min-height: 250px;
	padding: 15px 10px;
	box-sizing: border-box;
	background: url(../img/common/bg-subcont-nav.png) no-repeat;
	text-align: center;
	font-family: 'Noto Sans Japanese';
	transition: all .3s;
}

#sub_cont h3 {
	display: inline-block;
	position: relative;
	margin-bottom: 15px;
	padding: 0 30px;
	color: #fff;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.2;
}

#sub_cont h3:before,
#sub_cont h3:after {
	position: absolute;
	top: 50%;
	width: 20px;
	height: 1px;
	background: var(--dominant-light01);
	content: '';
}
#sub_cont h3:before { left: 0;}
#sub_cont h3:after { right: 0;}

#sub_cont ul {
	padding: 2px;
	border: 1px solid var(--dominant-light01);
	text-align: left;
}

#sub_cont li:not(:last-child) {
	margin-bottom: 1px;
	padding-bottom: 1px;
	border-bottom: 1px dotted rgba(255,255,255,.5);
}

#sub_cont ul a {
	display: block;
	position: relative;
	padding: 10px 5px 10px 12px;
	background: var(--dominant-alpha03);
	color: var(--dominant-light01);
	font-weight: 500;
	font-size: 1.3rem;
	text-decoration: none;
	line-height: 1.3;
}
#sub_cont ul a:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 5px solid var(--dominant-light02);
	transform: translateY(-50%);
	content: '';
}

#sub_cont ul a.active,
#sub_cont ul a:hover {
	background: var(--dominant-light01);
	color: var(--dominant);
	font-weight: bold;
}

#sub_cont ul a.active:before,
#sub_cont ul a:hover:before {
	border: 4px solid transparent;
	border-left: 5px solid var(--dominant);
}

#sub_cont ul a.soon {
	pointer-events: none;
	opacity: .6;
}

#sub_cont ul a.soon:hover {
	background: rgba(123,138,155,.5);
	color: var(--dominant-light02);
	font-weight: 500;
}
#sub_cont ul a.soon:hover:before { border-left: 5px solid var(--dominant-light02);}



/* Inner Anchor */
#inner_anchor {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 15px;
	padding-bottom: 5px;
	border-bottom: 1px dotted #999;
}

#inner_anchor li { margin: 0 10px 10px 0;}

#inner_anchor a {
	display: block;
	position: relative;
	padding: 8px 20px 8px 25px;
	border: 1px solid var(--dominant);
	border-radius: 5px;
	color: var(--dominant);
	text-decoration: none;
}

#inner_anchor a:before {
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: 2px;
	border: 5px solid transparent;
	border-top: 6px solid var(--dominant);
	transform: translateY(-50%);
	content: '';
}

#inner_anchor a:hover {
	background: var(--dominant);
	color: #fff;
}
#inner_anchor a:hover::before {
	border-top: 6px solid #fff;
}


@media screen and (max-width:640px) {
	#inner_anchor {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 10px;
		padding-bottom: 5px;
		border-bottom: 1px dotted #999;
	}

	#inner_anchor li {
		width: calc(50% - 5px);
		margin: 0 0 5px;
	}	
	
	#inner_anchor a {
		padding: 8px 10px 8px 15px;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	
	#inner_anchor a:before {
		left: 5px;
		margin-top: 2px;
		border: 4px solid transparent;
		border-top: 5px solid var(--dominant);
	}
	
	#inner_anchor a:hover {
		background: inherit;
		color: var(--dominant);
	}
}


/* Exhibitor Banner */
.exhibitor_banner{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 20px;
  border-top: dotted #333 1px;
}

.exhibitor_banner a{
  display: block;
  width: calc(33.3% - 20px);
  margin: 0 10px;
}

.exhibitor_banner a img{
  width: 100%;
}

@media screen and (max-width:640px) {
  .exhibitor_banner{
    justify-content: space-between;
  }
  .exhibitor_banner a{
    width: calc(50% - 10px);
    margin: 0;
  }
}