@charset "utf-8";
/*------------------------------------------

 サイト全体共通のcss

------------------------------------------ */
/* reset */
/* html5doctor.com Reset Stylesheet v1.6
Last Updated: 2010-08-18
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark */
html, body, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figure, figcaption,
footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {	margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:middle; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html { font-size: 62.5%; overflow-y: scroll; }
ul, li { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,q:before, q:after { content:''; content:none; }
img { border: none; vertical-align: bottom; }

body.lock { position: fixed; overflow: hidden; }

a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
a { text-decoration:none; color:#000; }
a:hover, a:active { color:#0078a3; }
.pc { display:  none; }
.sp { display: block; }

/* 変数 */
:root{
	--header_height: 70px;
	--primary: #a71527;
	--color_area0: #ccc;
	--color_area1: #0db385;
	--color_area2: #ef9116;
	--color_area3: #f3c611;
	--color_area4: #ec1745;
	--color_area5: #009add;
	--color_area6: #6a469d;
	--color_area7: #000; /* #0b0bb2 */
	--color_area8: #ff91f5; /* #2ba017 */
	--block_hover: #ccc;/* #a71527*/
	--block_hover_text: #000;/* #fff*/
	--type1: #F2CFEE; /* label color*/
	--type2: #009334;
	--type3: #930000;
	--type4: #934900;
	
	
}
@media screen and (min-width: 767px) { /* PC style 768px以上 */
	:root{
		--header_height: 145px;
	}
	.pc { display: block; }
	.sp { display:  none; }
}
html {
	scroll-snap-type: y proximity;
	scroll-padding-top: var(--header_height);
 	scroll-behavior: smooth;
}

/*============================
 basic layout
============================*/
@font-face {
font-family: 'Local Noto Sans JP';
src: 
  local('Noto Sans JP'), /* Windows用 */
  local('Noto Sans CJK JP Regular') /* Android用 */;
}
body { font-family: "Local Noto Sans JP", "Noto Sans JP", sans-serif; }

#header {}
#main { margin-top: var(--header_height); width: 100%; overflow: hidden; }
#main #content { background: #ddd; padding: 20px; }
#main #content .inner { background: #fff; padding: 20px; box-shadow: 0 0 5px rgba(0,0,0,0.25); }



#footer {}

.inner { position: relative; max-width: 100%; margin: 0 auto; }

main h1 { font-size: 3.2rem; line-height: 1.8; margin: 0.5em 0 1em; font-weight: bold; text-align: center; }
main h2 { font-size: 3.0rem; line-height: 1.8; margin: 1em 0; font-weight: bold; text-align: center; }
main h3 { font-size: 2.5rem; margin-top: 3em; font-weight: bold; max-width: 300px; line-height: 32px; border: 1px solid var(--primary); text-align: center; position: relative; box-sizing: border-box; }
main h3:after { position: absolute; inset: 0;  display: block; width: calc(100% - 20px); height: calc(100% + 10px); margin: auto; background: #fff; content: ""; transition: .3s; }
main h3 span { position: relative; display: block; z-index: 2; }
main h4 { font-size: 1.6rem; line-height: 1.8; margin-top: 1em; font-weight: bold; }
main p,
main li,
main dt,
main dd  { font-size: 1.6rem; line-height: 1.5; margin: 1em 0 0; }
.mt2 { margin-top: 2em !important; }

section.bg-white { background-color: #fff; margin: 60px -20px ; padding: 10px 20px 60px; }
.button input,
.button a { position: relative; display: block; width: 302px; line-height: 64px; margin: 1em auto; border: none; border-radius: 50px; font-size: 2.4rem; text-align: center; transition: .3s; background: var(--primary); color: #fff; cursor: pointer; }
.button a span{ display: block; font-size: 1.5rem; margin-top: -1.8em; }
.button a:after { position: absolute; top: calc(50% - 5px); right: 20px; display: block; width: 10px; height: 10px; border: 1px solid #fff; border-left: none; border-bottom: none; transform: rotate(45deg); content: ""; transition: .3s; }
.button input:hover,
.button a:hover { background-color: #333; color: #FFF; }

.button.pdf a { background-color: #fff; color: #000; border: 1px solid var(--primary); }
.button.pdf a:after { border: 1px solid #000; border-left: none; border-bottom: none; }
.button.pdf a:before { position: absolute; top: 0; bottom: 0; left: 20px; display: block; width: 24px; height: 30px; margin: auto; background:  url(../img/icon-pdf.png) no-repeat 0 0 / 100% auto; content: ""; }
.button.pdf a:hover { background-color: var(--primary); color: #fff; }
.button.pdf a:hover:after { border: 1px solid #fff; border-left: none; border-bottom: none; }

.list-normal {}
.list-normal li { list-style: initial; }


.linklist-normal {}
.linklist-normal li { list-style: outside; margin-left: 1em; }
a.pdf { display: inline-block; padding-left: 1.5em; background: url(../img/icon-pdf.png) no-repeat 0 0 / auto 1.4em; text-decoration: underline;  }
a.blank { padding-right: 2em; background: url(../img/icon-blank.png) no-repeat right 0.3em top / auto 1.6em; text-decoration: underline; word-break: break-all; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	.inner { width: 100%; max-width: 1200px; box-sizing: border-box; }
	.flex { display: flex; }
	main h2 { margin: 1em 0; }
	#main #content { padding: 75px 0; }
	#exhibition #main #content,
	#aas #main #content { padding: 75px 0 0; }
	#exhibition #main #content > .inner { margin-bottom: 60px; }

	section.bg-white { margin: 0 ; padding: 60px 0 0; }
	#aas .introduction + .bg-white { margin: 60px 0 0; }

	.horizon_buttons { display: flex; justify-content: space-evenly; }
}

/*============================
#header
============================*/
#header { position: fixed; top: 0; width: 100%; background: #fff; z-index: 50; height: var(--header_height); }
#header img { width: auto; height: 100%; }
#header.inner {}
#header .logo { width: 186px; transition: .3s; }
#header .logo a {}
#header .logo a img {}

#header .toggle { position: fixed; top: 20px; right: 20px; z-index: 100; width: 30px; padding-top: 25px; cursor: pointer; }
#header .toggle span{ position: absolute; z-index: 100; display: block; width: 30px; height: 2px; background: #000; transition: .3s; }
#header .toggle span:nth-child(1) { top: 0; }
#header .toggle span:nth-child(2) { top: 10px; }
#header .toggle span:nth-child(3) { top: 20px; }
#header .toggle.open span:nth-child(1) { top:10px; transform: rotate(405deg); }
#header .toggle.open span:nth-child(2) { transform: scale(4) translateY(9px); opacity: 0; }
#header .toggle.open span:nth-child(3) { top: 10px; transform: rotate(-405deg); }

#header .menu { position: fixed; right: -100vw;transition: .3s; width: 100%; height: calc(100vh - 63px); }
#header .open + .menu { right: 0; background: rgb(158, 158, 159, 1); }/* ↑クローズ　　↓オープン */
#header .menu nav {}
#header .menu nav ul.global {}
#header .menu nav ul.global li { width: 100%; }
#header .menu nav ul.global li a { display: block; padding: 10px 20px; color: #fff; font-size: 1.8rem; transition: .3s; }

#header .menu nav .entry {}
#header .menu nav .entry a { display: block; margin: 0.5em 20px; text-align: center; padding: 10px 20px; border: 2px solid #fff; background: #01509b; color: #fff; font-size: 1.8rem; transition: .3s; border-radius: 8px; transition: .3s; font-weight: bold; }


#header .menu ul.sns { display: flex; width: 100px; margin: 20px auto 30px; }
#header .menu ul.sns li { width: 40px; margin-right: 20px; }
#header .menu ul.sns li a {}
#header .menu ul.sns li a img { width: 100%; height: auto; }
#header .menu .jst { text-align: center; width: 220px; margin: auto; }
#header .menu .jst a {}
#header .menu .jst a img { width: 100%; height: auto; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#header { height: var(--header_height); }
	#header .inner { position: relative; }
	#header .logo { width: 186px; line-height: 100px; }
	#header .logo a { padding: 10px 20px; }
	#header .logo a img { width: 100%; height: auto; vertical-align: middle; }
	#header a img { transition: .3s; }
	#header a:hover img { opacity: 0.6; }
	#header .toggle { display: none; }
	#header .menu { position: static; height: auto; border-bottom: 5px solid #a71527; background: none; }
	#header .menu nav { display: block; }
	#header .menu nav ul.global { display: flex; width: 100%; justify-content: space-around; }
	#header .menu nav ul.global li { width: auto; }
	#header .menu nav ul.global li a { display: block; width: 100%; line-height: 45px; text-align: center; padding: 0 0.5em; font-size: 1.6rem; color: #000; }

	#header .menu nav .entry { position: absolute; top: -73px; right: 400px; }
	#header .menu nav .entry a { margin: 0; }
	#header .menu nav .entry a:hover { border: 2px solid #01509b; background: #fff; color: #01509b; }

	#home       #header .menu nav ul.global li.home a,
	#outline    #header .menu nav ul.global li.outline a,
	#exhibitor  #header .menu nav ul.global li.exhibitor a,
	#exhibition #header .menu nav ul.global li.exhibition a,
	#seminar    #header .menu nav ul.global li.seminar a,
	#aas        #header .menu nav ul.global li.aas a,
	#download   #header .menu nav ul.global li.download a,
	#faq        #header .menu nav ul.global li.faq a,
	#header .menu nav ul.global li a:hover { background: #a71527; color: #fff; }

	#header .menu ul.sns { position: absolute; top: -70px; right: 240px; width: 120px; margin: 0; }
	#header .menu ul.sns li {}
	#header .menu ul.sns li a {}
	#header .menu ul.sns li a img {}
	#header .menu .jst { position: absolute; top: -70px; right: 20px; width: 217px; }
	#header .menu .jst a {}
	#header .menu .jst a img {}
}

@media screen and (min-width: 1160px) {
	#header .menu nav ul.global li a { font-size: 1.8rem; }
}

/*============================
#mainvisual
============================*/
#mainvisual { box-sizing: border-box; position:relative; width: 100%; max-width: 1080px; margin: auto;
	padding: 20px 20px 30vw; background: url(../img/bg-mv.png) no-repeat right 20px bottom 30px / 70% auto; }
#mainvisual .pic  { width: 80%; margin: auto; background: rgba(255,255,255,0.9); }
#mainvisual img { width: 100%; height: auto; }
#mainvisual .data { width: 80%; text-align: center; margin: auto; background: rgba(255,255,255,0.9); padding: 20px; }
#mainvisual .data p { margin: 1em auto 0; }
#mainvisual .data .date { width: 100%; }
#mainvisual .data .time { position: relative; width: 100%; }
#mainvisual .data .time span { position: relative; background: #fff; display: inline-block; width: 110px; padding: 0 10px; vertical-align: initial; }
#mainvisual .data .time:before { position: absolute; top: 1.1em; margin: auto; display: block; width: 100%; height: 1px; background: #a71527; content:""; }
#mainvisual .data .copy { width: 100%; }
#mainvisual .badge { position: absolute; bottom: -95px; right: 0; z-index: 2; width: 160px; }
#mainvisual .badge a img{ transition: .3s; }
#mainvisual .badge a:hover img { transform: translateY(4px) scale(0.95); opacity: 0.8; }

@keyframes move-v {  0% , 100%{ transform: translateY(0); }  50% { transform: translateY(10px); } }
@media screen and (min-width: 767px) {
	#mainvisual { padding: 60px 20px; background: url(../img/bg-mv.png) no-repeat right center / auto calc(100% - 40px); }
	#mainvisual .pic  { width: 416px; margin: initial;  }
	#mainvisual .data { width: 416px; margin: 0; }
	#mainvisual .date { width: 352px; }
	#mainvisual .time { width: 412px; }
	#mainvisual .copy { width: 397px; }
	#mainvisual .badge { width: 209px; animation: move-v 2.8s linear infinite; }
}
/*
@media screen and (min-width: 1000px) {
	#mainvisual .data { width: 416px; }
	#mainvisual .data .date { width: 352px; }
	#mainvisual .data .time { width: 412px; }
	#mainvisual .data .time span { width: 110px; }
	#mainvisual .data .copy { width: 397px; }
	#mainvisual .badge { width: 209px; }
}
*/
/*============================
#recommend
============================*/
#recommend { position: relative; background: #ddd; padding: 60px 0; }
#recommend h2 { margin-bottom: 2em; }
#recommend ul li { background: #fff; }

#recommend ul.slider-container { position: relative; height: 210px; overflow: hidden; }
#recommend ul.slider-container li.slide { position: absolute; top: 0; opacity: 0; transition: opacity 0.6s ease; }
#recommend ul.slider-container li.slide.active { opacity: 1; z-index: 1; }

#recommend ul.slider-container li { width: 100%; margin: 0; background-color: #fff;  }
#recommend ul.slider-container li a { display: block; padding-left: 60px; height: 210px; }
#recommend ul.slider-container li a:hover { color: #000; }
#recommend ul.slider-container li a .title { margin: 0; padding-top: 1em;font-size: 1.8rem; font-weight: bold; }
#recommend ul.slider-container li a .number { margin: 0; font-size: 1.6rem; font-weight: bold; }
#recommend ul.slider-container li a .number span { vertical-align: baseline; margin-top: 10px; line-height: 2; }
#recommend ul.slider-container li a .lead { margin: 0.5em 10px 0 -50px; }
#recommend ul.slider-container li a .link { position: absolute; right: 46px; bottom: 16px; font-size: 1.6rem; transition: .3s; }
	
/* 矢印 */
#recommend ul.slider-container li a:before { display: block; content:""; position: absolute; bottom: 20px; right: 13px; width: 30px; height: 1px; border-bottom: 1px solid var(--primary); transition: .3s; }
#recommend ul.slider-container li a:after  { display: block; content:""; position: absolute; bottom: 22px; right: 10px; width:  8px; height: 1px; border-bottom: 1px solid var(--primary); transition: .3s; transform: rotate(45deg); }
#recommend ul.slider-container li a:hover:before { right:  8px; width: 150px; height: 2px; }
#recommend ul.slider-container li a:hover:after  { right:  0px; width:  40px; height: 2px; }

/* 分野アイコン */
#recommend ul.slider-container li.area0 { background: url(../img/icon-area-00.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area1 { background: url(../img/icon-area-01.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area2 { background: url(../img/icon-area-02.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area3 { background: url(../img/icon-area-03.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area4 { background: url(../img/icon-area-04.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area5 { background: url(../img/icon-area-05.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area6 { background: url(../img/icon-area-06.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area7 { background: url(../img/icon-area-07.png) no-repeat left 10px top 15px / 40px auto #fff; }
#recommend ul.slider-container li.area8 { background: url(../img/icon-area-08.png) no-repeat left 10px top 15px / 40px auto #fff; }
/* 右上三角 */
#recommend ul.slider-container li:after { position: absolute; top: -20px; right: -20px; display: block; width:0; height: 0; content: ""; border: 20px solid transparent; transform: rotate(45deg); }
#recommend ul.slider-container li.area0:after { border-bottom-color: var(--color_area0); }
#recommend ul.slider-container li.area1:after { border-bottom-color: var(--color_area1); }
#recommend ul.slider-container li.area2:after { border-bottom-color: var(--color_area2); }
#recommend ul.slider-container li.area3:after { border-bottom-color: var(--color_area3); }
#recommend ul.slider-container li.area4:after { border-bottom-color: var(--color_area4); }
#recommend ul.slider-container li.area5:after { border-bottom-color: var(--color_area5); }
#recommend ul.slider-container li.area6:after { border-bottom-color: var(--color_area6); }
#recommend ul.slider-container li.area7:after { border-bottom-color: var(--color_area7); }
#recommend ul.slider-container li.area8:after { border-bottom-color: var(--color_area8); }

/* セレクタ */
#recommend ul.selector { display: flex; margin: auto; width: 160px; }
#recommend ul.selector li { width: 10px; height: 10px; margin: 20px 5px; overflow: hidden; border-radius: 50px; text-indent: -9999px; }
#recommend ul.selector li.active { background: #555; }

/* 左右コントロールボタン */
.slider-control { position: absolute; bottom: -5px; z-index: 10; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: rgba(0, 0, 0, 0.5); color: white; border: none; border-radius: 50%; font-size: 1.5rem; cursor: pointer; transform: translateY(-50%); transition: 0.3s; }
.slider-control:hover { background: rgba(255, 107, 107, 0.9); transform: translateY(-50%) scale(1.1); }
.slider-control.prev {  left: 40px; }
.slider-control.next { right: 40px; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#recommend ul.slider-container { height: 150px; }
	#recommend ul.slider-container li.area0 { background-size:105px auto; }
	#recommend ul.slider-container li.area1 { background-size:105px auto; }
	#recommend ul.slider-container li.area2 { background-size:105px auto; }
	#recommend ul.slider-container li.area3 { background-size:105px auto; }
	#recommend ul.slider-container li.area4 { background-size:105px auto; }
	#recommend ul.slider-container li.area5 { background-size:105px auto; }
	#recommend ul.slider-container li.area6 { background-size:105px auto; }
	#recommend ul.slider-container li.area7 { background-size:105px auto; }
	#recommend ul.slider-container li.area8 { background-size:105px auto; }
	#recommend ul.slider-container li:after { top: -40px; right: -40px; border: 40px solid transparent; transform: rotate(45deg); }

	#recommend ul.slider-container li a { padding-left: 150px; height: 150px; }
	#recommend ul.slider-container li a .title { padding-top: 1em; font-size: 3rem; }
	#recommend ul.slider-container li a .number { position: absolute; top: 20px; right: 40px; font-size: 3rem; font-weight: bold; }
	#recommend ul.slider-container li a .number span { font-size: 5rem; line-height: 1.5; }
	#recommend ul.slider-container li a .lead { margin: 2em 0 0; }
	#recommend ul.slider-container li a .link { right: 166px; bottom: 10px; font-size: 2rem; border: 1px solid #fff; border-radius: 50px; padding: 5px 10px; }
	#recommend ul.slider-container li a:hover .link { border-color : #333; background: #555; color: #fff; }

	/* 矢印 */
	#recommend ul.slider-container li a:before { bottom: 20px; right: 13px; width: 150px; height: 1px; }
	#recommend ul.slider-container li a:after  { bottom: 34px; right:  5px; width:  40px; height: 1px; }
	#recommend ul.slider-container li a:hover:before { right:  8px; width: 150px; height: 2px; }
	#recommend ul.slider-container li a:hover:after  { right:  0px; width:  40px; height: 2px; }

	/* セレクタ */
	#recommend ul.selector { width: 100%; margin-top: 24px; border: 1px solid #a71527; }
	#recommend ul.selector li:not(:first-child) { border-left: 1px solid #a71527; }
	#recommend ul.selector li { overflow: visible; width: calc(100% / 8); height: 80px; margin: 0; font-size: 1.4rem; text-indent: 0; border-radius: 0; }
	#recommend ul.selector li div { position: relative; display: flex; align-items: center; height: 100%; padding-left: 5px; position: relative; box-sizing: border-box; border: 5px solid transparent; transition: .3s; cursor: pointer; }
	#recommend ul.selector li div:hover { text-decoration: underline; font-weight: bold; }
	#recommend ul.selector li        div:after{ position: absolute; top: -5px; left: -5px; display: block; content: ""; width: calc(100% + 10px); height:10px; }
	#recommend ul.selector li.area0 div:after{ background: var(--color_area0); }
	#recommend ul.selector li.area1 div:after{ background: var(--color_area1); }
	#recommend ul.selector li.area2 div:after{ background: var(--color_area2); }
	#recommend ul.selector li.area3 div:after{ background: var(--color_area3); }
	#recommend ul.selector li.area4 div:after{ background: var(--color_area4); }
	#recommend ul.selector li.area5 div:after{ background: var(--color_area5); }
	#recommend ul.selector li.area6 div:after{ background: var(--color_area6); }
	#recommend ul.selector li.area7 div:after{ background: var(--color_area7); }
	#recommend ul.selector li.area8 div:after{ background: var(--color_area8); }

	#recommend ul.selector li.active { background: #fff; }
	#recommend ul.selector li.area0.active div { border: 5px solid var(--color_area0); }
	#recommend ul.selector li.area1.active div { border: 5px solid var(--color_area1); }
	#recommend ul.selector li.area2.active div { border: 5px solid var(--color_area2); }
	#recommend ul.selector li.area3.active div { border: 5px solid var(--color_area3); }
	#recommend ul.selector li.area4.active div { border: 5px solid var(--color_area4); }
	#recommend ul.selector li.area5.active div { border: 5px solid var(--color_area5); }
	#recommend ul.selector li.area6.active div { border: 5px solid var(--color_area6); }
	#recommend ul.selector li.area7.active div { border: 5px solid var(--color_area7); }
	#recommend ul.selector li.area8.active div { border: 5px solid var(--color_area8); }

	/* 左右コントロールボタン */
	.slider-control { top: 80px; bottom: initial; width: 50px; height: 50px; font-size: 1.5rem; transform: translateY(-50%); }
	.slider-control:hover { background: rgba(255, 107, 107, 0.9); transform: translateY(-50%) scale(1.1); }
	.slider-control.prev {  left: -80px; }
	.slider-control.next { right: -80px; }
}


/*============================
#search
============================*/
#search {}
#search h2 {}
#search form {  padding: 20px; }
#exhibitor #search form { margin: -20px; box-shadow: none; }
#home      #search form { margin: 0 20px; box-shadow: 0 0 3px rgba(0,0,0,0.6); }

#search form p.keyword { font-size: 2rem; font-weight: bold; text-align: center; }
#search form p.keyword input { width: 100%; line-height: 1.8em; border-radius: 30px; border-width: 1px; margin-top: 1em; padding: 0.5em; box-sizing: border-box; }
#search form .flex {}
#search form .flex .flex-child {}
#search form p.title { font-size: 1.8rem; line-height: 1.8; margin-top: 1.5em; font-weight: bold; text-align: center; }
#search form .flex .flex-child ul {}
#search form .flex .flex-child ul li { position: relative; }
#search form .flex .flex-child ul li input { position: absolute; top: 0.85em; left: 0.5em; z-index: 2; }
#search form .flex .flex-child ul li label { box-sizing: border-box; display: inline-block; width: 100%; line-height: 38px; margin: auto; border: 1px solid #ccc; padding-left: 2em; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#search {}
	#search h2 {}
	#search form {}
	#search form p.keyword { margin: 0 20px; text-align: left; }
	#search form p.keyword input { width: calc(100% - 9.7em); margin-left: 1em; margin-top: 0; }
	#search form .flex {}
	#search form .flex .flex-child { width: calc(100% / 3); margin: 0 15px; }
	#search form .flex .flex-child p.title {}
	#search form .flex .flex-child ul {}
	#search form .flex .flex-child ul li {}
}

/*============================
#area 分野
============================*/
#search form .flex .flex-child ul li input {}
#search form .flex .flex-child ul li label { position: relative; border: 1px solid #999; transition: .3s; cursor: pointer; }
#search form .flex .flex-child ul li #area1 + label { background: url(../img/icon-area-01.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li #area2 + label { background: url(../img/icon-area-02.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li #area3 + label { background: url(../img/icon-area-03.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li #area4 + label { background: url(../img/icon-area-04.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li #area5 + label { background: url(../img/icon-area-05.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li #area6 + label { background: url(../img/icon-area-06.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li #area7 + label { background: url(../img/icon-area-07.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li #area8 + label { background: url(../img/icon-area-08.png) no-repeat right 10px center / auto 32px; padding-right: 40px; }
#search form .flex .flex-child ul li           label:after { position: absolute; top: 0; left: 0; display: block; width: 5px; height: 100%; content: ""; }
#search form .flex .flex-child ul li #area1 + label:after { background: var(--color_area1); }
#search form .flex .flex-child ul li #area2 + label:after { background: var(--color_area2); }
#search form .flex .flex-child ul li #area3 + label:after { background: var(--color_area3); }
#search form .flex .flex-child ul li #area4 + label:after { background: var(--color_area4); }
#search form .flex .flex-child ul li #area5 + label:after { background: var(--color_area5); }
#search form .flex .flex-child ul li #area6 + label:after { background: var(--color_area6); }
#search form .flex .flex-child ul li #area7 + label:after { background: var(--color_area7); }
#search form .flex .flex-child ul li #area8 + label:after { background: var(--color_area8); }

#search form .flex .flex-child ul li input#stat1 {}
#search form .flex .flex-child ul li input#stat2 {}
#search form .flex .flex-child ul li input#stat3 {}
#search form .flex .flex-child ul li input#stat4 {}
#search form .flex .flex-child ul li input#stat5 {}
#search form .flex .flex-child ul li input#stat6 {}

#search form .flex .flex-child ul li input#relat1 {}
#search form .flex .flex-child ul li input#relat2 {}

#search form .flex .flex-child ul li input#startup1 {}
#search form .flex .flex-child ul li input#startup2 {}
#search form .flex .flex-child ul li input#startup3 {}
#search form .flex .flex-child ul li input#startup4 {}

#search form .flex .flex-child ul li label:hover { border-color: #0060df; background-color: #ccc !important; box-shadow: 0 0 3px #0060df; }
#search form .flex .flex-child ul li input:checked + label { border-color: #0060df; background-color: #555 !important; color: #fff; }

#search form p.button.reset { width: 160px; margin: auto; }
#search form p.button.reset input { width: 100%; line-height: 40px; border: 1px solid #000; font-size: 1.8rem; background: #eee; color: #000; }
#search form p.button.reset input:hover { background-color: #333; color: #FFF; }

#search dl.hint { background: url(../img/icon-hint.png) no-repeat 8px 8px / 20px auto; border: 1px dashed #075097; margin-top: 24px; padding: 8px; border-radius: 8px; font-size: 1.4rem; }
#search dl.hint dt { font-size: 1.4rem; font-weight: bold; margin: 5px 0 0 35px; color: #075097; }
#search dl.hint dd { font-size: 1.4rem; margin-top: 0.5em; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#search form .flex .flex-child ul li label {}
	#search form .flex .flex-child ul li input#area1 {}
	#search form .flex .flex-child ul li input#area2 {}
	#search form .flex .flex-child ul li input#area3 {}
	#search form .flex .flex-child ul li input#area4 {}
	#search form .flex .flex-child ul li input#area5 {}
	#search form .flex .flex-child ul li input#area6 {}
	#search form .flex .flex-child ul li input#area7 {}
	#search form .flex .flex-child ul li input#area8 {}

	#search form .flex .flex-child ul li input#stat1 {}
	#search form .flex .flex-child ul li input#stat2 {}
	#search form .flex .flex-child ul li input#stat3 {}
	#search form .flex .flex-child ul li input#stat4 {}
	#search form .flex .flex-child ul li input#stat5 {}
	#search form .flex .flex-child ul li input#stat6 {}

	#search form .flex .flex-child ul li input#relat1 {}
	#search form .flex .flex-child ul li input#relat2 {}

	#search form .flex .flex-child ul li input#startup1 {}
	#search form .flex .flex-child ul li input#startup2 {}
	#search form .flex .flex-child ul li input#startup3 {}
	#search form .flex .flex-child ul li input#startup4 {}

	#search form p.button.reset { position: absolute; right: 0; bottom: 33px; left: 0; transform: translateX(183%); }
}


/*============================
#top-seminar
============================*/
#top-seminar { padding: 60px 0; }
#top-seminar h2 {}
.list-seminars {}
.list-seminars > ul { display: flex; flex-wrap: wrap; justify-content: space-evenly; }
.list-seminars > ul > li { display: flex; width: calc(50% - 20px); margin: 20px 10px; }
.list-seminars > ul > li a { position: relative; display: block; background: #fff; color: #000; width: 100%; padding: 10px 10px 20px; border: 1px solid var(--primary); border-radius: 0 0 0 20px; transition: 0.3s; }
.list-seminars > ul > li a:before { display: block; content:""; position: absolute; bottom: 10px; right: 13px; width:  60%; height: 1px; border-bottom: 1px solid var(--primary); transition: .3s; }
.list-seminars > ul > li a:after  { display: block; content:""; position: absolute; bottom: 15px; right: 10px; width: 16px; height: 1px; border-bottom: 1px solid var(--primary); transition: .3s; transform: rotate(45deg); }
.list-seminars > ul > li figure { overflow: hidden; text-align: center; }
.list-seminars > ul > li figure img { max-width: 100%; height: auto; transition: .3s; mix-blend-mode: multiply; }
.list-seminars > ul > li p.label { color: #fff; }
.list-seminars > ul > li p.label span { padding: 0 0.5em; border-radius: 4px; }
.list-seminars > ul > li p.label .type1 { background: var(--type1); color: #000; }
.list-seminars > ul > li p.label .type2 { background: var(--type2); }
.list-seminars > ul > li p.label .type3 { background: var(--type3); }
.list-seminars > ul > li p.label .type4 { background: var(--type4); }
.list-seminars > ul > li p.title { font-weight: bold; }
.list-seminars > ul > li p.subtitle {}
.list-seminars > ul > li p.place { border-top: 1px dashed #f00; padding-top: 1em; transition: .3s; }
.list-seminars > ul > li p.place span { display: block; }

.list-seminars > ul > li a:hover { background: var(--block_hover); color: var(--block_hover_text); }
.list-seminars > ul > li a:hover img { transform: scale(1.05);  }
.list-seminars > ul > li a:hover p.place { border-top: 1px dashed #fff; }
.list-seminars > ul > li a:hover:before { right: 7px; width:  60%; height: 1px; /* border-bottom-color: #fff; */ }
.list-seminars > ul > li a:hover:after  { right: 4px; width: 16px; height: 1px; /* border-bottom-color: #fff; */ }


@media screen and (min-width: 479px) {
	.list-seminars > ul > li { width: calc(calc(100% / 2) - 20px); margin: 20px 0; }
}

/* pager */
.pager { text-align: center; }
.pager a, .pager span { display: inline-block; width: 45px; margin: 10px 5px; line-height: 45px; border: 1px solid #333; border-radius: 50%; vertical-align: baseline; font-size: 1.4rem; text-align: center; transition: .3s; }
.pager span.current { color: #fff; background: #000; }
.pager a:hover { background: #777; color: #fff; }
.pager a.prev { margin-right: 0.5em; }
.pager a.next { margin-left:  0.5em; }


@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#top-seminar {}
	#top-seminar h2 {}
	.list-seminars {}
	.list-seminars ul {}
	.list-seminars > ul > li { width: calc(calc(100% / 4) - 10px); margin-left: 10px; }
	.list-seminars > ul > li:nth-child(4n+1) { margin-left: 0; }
	.list-seminars > ul > li a {}
	.list-seminars > ul > li figure {}
	.list-seminars > ul > li figure img {}
	.list-seminars > ul > li p.label {}
	.list-seminars > ul > li p.title {}
	.list-seminars > ul > li p.subtitle {}
	.list-seminars > ul > li p.place {}
	.list-seminars > ul > li p.place span {}
	.list-seminars > ul > li a:hover {}
	.list-seminars > ul > li a:hover img{}
}


/*============================
#news
============================*/
#news { padding: 20px; background: #f2ccd3; }
#news h2 {}
#news .inner { background: #fff; padding: 20px; }
#news .list-news {}
#news .list-news dl {}
#news .list-news dl dt {}
#news .list-news dl dd { margin: 0.5em 0 1.5em; }
#news .list-news a { text-decoration: underline; }
#news .list-news a:hover { text-decoration: none; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#news { padding: 30px 0 90px; }
	#news h2 {}
	#news .inner { padding: 60px}
	#news .list-news {}
	#news .list-news dl { position: relative; }
	#news .list-news dl dt { position: absolute; }
	#news .list-news dl dt:first-child { margin: 0; }
	#news .list-news dl dd { margin: 1em 0 0 10em; }
	#news .list-news dl dt:first-child + dd { margin-top: 0; }
}


/*============================
#overview
============================*/
#overview { position: relative; }
#overview h2 {}
#overview .inner { position: static; padding: 20px; }
.list-overview { padding: 20px; box-sizing: border-box; background: #fff; box-shadow: 0 0 3px rgba(0,0,0,0.3); }
.list-overview dl {}
.list-overview dl dt { position: relative; font-weight: bold; padding-left: 1.5em; }
.list-overview dl dt:after {  position: absolute; top: 0.2em; left: 0; content: ""; display: block; width: 1.2em; height: 1.2em; border-radius: 100%; background: #f7b52c;  }

.list-overview dl dd { position: relative; padding-left: 1.8em; margin: 0.5em 0 1.5em; }
.list-overview dl dd:before {}

.list-overview:not(:has(dt)) { display: none;}

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#overview { margin-bottom: 60px; }
	#overview h2 {}
	#overview .list-overview { position: relative; z-index: 2; width: 900px; margin: auto; padding: 60px;  }
	#home #overview:before { position: absolute; display: block; width: 293px; height: 753px; background: url(../img/overview_bg-l.png) no-repeat 0 0 / cover; content:""; inset: 10px 0 0; margin: auto; transform: translateX(-560px); }
	#home #overview:after  { position: absolute; display: block; width: 296px; height: 732px; background: url(../img/overview_bg-r.png) no-repeat 0 0 / cover; content:""; inset: 10px 0 0; margin: auto; transform: translateX(560px); }
	.list-overview dl { position: relative; }
	.list-overview dl dt { position: absolute; width: 8em; text-align: right; padding-left: 0; }
	.list-overview dl dt:first-child,
	.list-overview dl dt:first-child + dd { margin-top: 0; }
	.list-overview dl dt:after { right: -2em; left: initial; }
	.list-overview dl dd { margin: 1em 0 0 9em; }
	#overview p.button {}
	#overview p.button button {}
}

.map { position: relative; height: 280px; overflow: hidden; }
.map iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
@media screen and (min-width: 767px) { /* PC style 768px以上 */
	.map { height: 450px; }
}
/*============================

下層ページ

============================*/
#topicpath { margin: 0 20px; }
#topicpath ul{ width: 100%; max-width: 1200px; box-sizing: border-box; display: flex; margin: auto; }
#topicpath ul li:not(:first-child) { margin-left: 1em; }
#topicpath ul li:not(:first-child) a { position:relative; padding-left: 1em; }
#topicpath ul li:not(:first-child) a:before { position: absolute; left: 0; content:">"; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */

}

/*============================
#exhibitor 出展一覧
============================*/
#exhibitor {}
#exhibitor .list-seminars > ul:after { display: block; content:""; width: calc(calc(100% / 2) - 10px); margin-left: 10px; }
#exhibitor .list-seminars > ul > li { width: 100%; margin-bottom: 0; }
#exhibitor .list-seminars > ul > li a { display: block; width: 100%; box-sizing: border-box; }
#exhibitor .list-seminars > ul > li a p.area { margin-top: 0; padding-left: 30px; }
#exhibitor .list-seminars > ul > li a p.booth { text-align: right; }
#exhibitor .list-seminars > ul > li a p.area0  { background: url(../img/icon-area-00.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area1  { background: url(../img/icon-area-01.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area2  { background: url(../img/icon-area-02.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area3  { background: url(../img/icon-area-03.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area4  { background: url(../img/icon-area-04.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area5  { background: url(../img/icon-area-05.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area6  { background: url(../img/icon-area-06.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area7  { background: url(../img/icon-area-07.png) no-repeat 0 0 / auto 24px; }
#exhibitor .list-seminars > ul > li a p.area8  { background: url(../img/icon-area-08.png) no-repeat 0 0 / auto 24px; }

#exhibitor .list-seminars > ul > li:has(.area0) p.area, #exhibitor .list-seminars > ul > li:has(.area0) p.booth { color: var(--color_area0); }
#exhibitor .list-seminars > ul > li:has(.area1) p.area, #exhibitor .list-seminars > ul > li:has(.area1) p.booth { color: var(--color_area1); }
#exhibitor .list-seminars > ul > li:has(.area2) p.area, #exhibitor .list-seminars > ul > li:has(.area2) p.booth { color: var(--color_area2); }
#exhibitor .list-seminars > ul > li:has(.area3) p.area, #exhibitor .list-seminars > ul > li:has(.area3) p.booth { color: var(--color_area3); }
#exhibitor .list-seminars > ul > li:has(.area4) p.area, #exhibitor .list-seminars > ul > li:has(.area4) p.booth { color: var(--color_area4); }
#exhibitor .list-seminars > ul > li:has(.area5) p.area, #exhibitor .list-seminars > ul > li:has(.area5) p.booth { color: var(--color_area5); }
#exhibitor .list-seminars > ul > li:has(.area6) p.area, #exhibitor .list-seminars > ul > li:has(.area6) p.booth { color: var(--color_area6); }
#exhibitor .list-seminars > ul > li:has(.area7) p.area, #exhibitor .list-seminars > ul > li:has(.area7) p.booth { color: var(--color_area7); }
#exhibitor .list-seminars > ul > li:has(.area8) p.area, #exhibitor .list-seminars > ul > li:has(.area8) p.booth { color: var(--color_area8); }

/*
#exhibitor .list-seminars > ul > li a:hover p.area,
#exhibitor .list-seminars > ul > li a:hover p.booth { color: #fff !important; }
*/

#exhibitor .list-seminars > ul > li a p.title { font-size: 2.5rem; border-bottom: 2px dotted #aaa; padding-bottom: 0.5em; margin: 0.5em 0 -0.5em; }
#exhibitor .list-seminars > ul > li a p.univ {}
#exhibitor .list-seminars > ul > li a p.name {}
#exhibitor .list-seminars > ul > li a p.name span {}
#exhibitor .list-seminars > ul > li a ul.labels { display: flex; flex-wrap: wrap; }
#exhibitor .list-seminars > ul > li a ul.labels li { padding: 1px 8px 2px; border-radius: 50px; background: #000; color: #fff; font-size: 1.4rem; white-space: nowrap; max-width: calc(100% - 40px); text-overflow: ellipsis; overflow: hidden; }
#exhibitor .list-seminars > ul > li a ul.labels li:not(:first-child) { margin-left: 4px; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#exhibitor .list-seminars > ul > li { width: calc(calc(100% / 2) - 10px); margin-left: 10px; }
	#exhibitor .list-seminars > ul > li a p.booth { position: absolute; top: 10px; right: 10px; }
	#exhibitor .list-seminars > ul > li a ul.labels li { max-width: 92%; }
}


#exhibitor #results { padding-bottom: 40px; }

#content > .alart { color: var(--primary); font-weight: bold; font-size: 2.2rem; text-align: center; }
#content > .alart.head { margin: 0 0 1em; }
#content > .alart.border { padding: 2px 4px; border: 1px solid var(--primary); background: #fff; }
#content > .alart + .alart { margin-bottom: 1em; font-size: 1.6rem; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#content > .alart + .alart { margin: -20px auto 30px; }
}

#content .content-head { width: 100%; max-width: 1200px; margin: auto; box-sizing: border-box; }
#content .content-head .button { margin: 0; }
#content .content-head .button a { width: 180px; line-height: 38px; font-size: 1.6rem; margin: 1em 0; }
#content .content-head .button:first-child a:after { right: initial; left: 20px; transform: rotate(225deg); }
#content .content-head .button.pdf a { width: 100%; line-height: 2.1em; font-size: 1.8rem; }
#content .content-head .button.pdf a:hover { background-color: var(--primary); }
#content .content-head .button + .button a { width: 100%; line-height: 2.1em; font-size: 1.8rem; background: #fff; color: #000; border: 1px solid var(--primary); }
#content .content-head .button + .button a:after { border-color: #000; }
#content .content-head .button + .button a:hover:after { border-color: #fff; }
#content .content-head .button + .button a:hover { background-color: var(--primary); color: #fff; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#content > .alart.head { margin: -2em 0 1em; }
	#content > .alart.border { margin: 2em auto; width: 18em; }
	#content .content-head { display: flex; justify-content: space-between; }
	#content .content-head .button a { margin: 1em auto; }
	#content .content-head .button.pdf a { width: 400px; line-height: 58px; font-size: 2.4rem; }
	#content .content-head .button + .button a { width: 400px; line-height: 58px; font-size: 2.4rem; }

}


#content .detail { position: relative; }
#content .detail + .detail { margin-top: 40px; }

#content .detail a { text-decoration: underline; }


#content .detail .area { margin: 0; padding-left: 50px; line-height: 40px; font-size: 2rem; }
/* 分野アイコン */
#content .inner.area0 .area { background: url(../img/icon-area-01.png) no-repeat 0 0 / 40px auto; }
#content .inner.area1 .area { background: url(../img/icon-area-01.png) no-repeat 0 0 / 40px auto; }
#content .inner.area2 .area { background: url(../img/icon-area-02.png) no-repeat 0 0 / 40px auto; }
#content .inner.area3 .area { background: url(../img/icon-area-03.png) no-repeat 0 0 / 40px auto; }
#content .inner.area4 .area { background: url(../img/icon-area-04.png) no-repeat 0 0 / 40px auto; }
#content .inner.area5 .area { background: url(../img/icon-area-05.png) no-repeat 0 0 / 40px auto; }
#content .inner.area6 .area { background: url(../img/icon-area-06.png) no-repeat 0 0 / 40px auto; }
#content .inner.area7 .area { background: url(../img/icon-area-07.png) no-repeat 0 0 / 40px auto; }
#content .inner.area8 .area { background: url(../img/icon-area-08.png) no-repeat 0 0 / 40px auto; }
/* 右上三角 */
#content .inner:after { position: absolute; top: -20px; right: -20px; display: block; width:0; height: 0; content: ""; border: 20px solid transparent; transform: rotate(45deg); }
#content .inner.area0:after { border-bottom-color: var(--color_area0); }
#content .inner.area1:after { border-bottom-color: var(--color_area1); }
#content .inner.area2:after { border-bottom-color: var(--color_area2); }
#content .inner.area3:after { border-bottom-color: var(--color_area3); }
#content .inner.area4:after { border-bottom-color: var(--color_area4); }
#content .inner.area5:after { border-bottom-color: var(--color_area5); }
#content .inner.area6:after { border-bottom-color: var(--color_area6); }
#content .inner.area7:after { border-bottom-color: var(--color_area7); }
#content .inner.area8:after { border-bottom-color: var(--color_area8); }

#content .detail .detail_title { margin-top: 2em; }
#content .detail .detail_title h2 { margin-top: 0; }
#content .detail .detail_title figure { text-align: center; }
#content .detail .detail_title figure  img { max-width: 100%; min-width: 210px; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#content .detail .detail_title { display: flex; align-items: center; }
	#content .detail .detail_title figure { width: 260px; margin-right: 20px; }
	#content .detail .area { display: inline-block; }
	#content .inner:after { top: -40px; right: -40px; border: 40px solid transparent; transform: rotate(45deg); }
}

#content .inner.detail .booth { display: inline-block; }
#content .inner .booth .booth_number { background: #fff; vertical-align: baseline; padding: 0 6px; margin-left: 6px; }
#content .inner.area0 .booth { border: 1px solid var(--color_area0); background:  var(--color_area0); }
#content .inner.area1 .booth { border: 1px solid var(--color_area1); background:  var(--color_area1); }
#content .inner.area2 .booth { border: 1px solid var(--color_area2); background:  var(--color_area2); }
#content .inner.area3 .booth { border: 1px solid var(--color_area3); background:  var(--color_area3); }
#content .inner.area4 .booth { border: 1px solid var(--color_area4); background:  var(--color_area4); }
#content .inner.area5 .booth { border: 1px solid var(--color_area5); background:  var(--color_area5); }
#content .inner.area6 .booth { border: 1px solid var(--color_area6); background:  var(--color_area6); color: #fff; }
#content .inner.area6 .booth span { color: #000; }
#content .inner.area7 .booth { border: 1px solid var(--color_area7); background:  var(--color_area7); }
#content .inner.area8 .booth { border: 1px solid var(--color_area8); background:  var(--color_area8); }

#content .inner .category { display: flex; flex-wrap: wrap; }
#content .inner .category li         { background: #000; color: #fff; width: auto; padding: 0 0.5em; border-radius: 100px; font-size: 1.2rem; line-height: 25px; text-align: center; font-size: 1.3rem; }
#content .inner .category li:not(:last-child) { margin-right: 8px; }
#content .inner .category li.startup { background: #fff; color: #000; border: 1px solid #000; }
@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#content .inner .booth { margin: 0; padding-left: 6px; }
	#content .inner .area + .booth { margin-left: 1em; }
/*	#content .inner .category { position: absolute; top: 20px; right: 40px; } */
	#content .inner .category li         { font-size: 1.4rem; }
}

#content .inner .annotation { font-size: 1.3rem; margin-top: 0.5em; color: #333; text-indent: -3em; margin-left: 3em; }

#content .inner h2 { font-size: 2.3rem; text-align: left; border-bottom: 1px solid #ccc; margin: 1em 0 0.2em; }
#content .inner .title_en { margin-top: 0; }
#content .inner .subtheme + h2 { margin-top: 0.5em; }
#content .inner .subtheme span { font-weight: bold; margin-right: 0.5em; vertical-align: baseline; }
#content .inner .box-g { background: #ddd; padding: 4px 8px; margin-top: 1em; }
#content .inner .box-g p { margin-top: 0; white-space: nowrap; }
#content .inner .box-g li { margin-top: 0; }
#content .inner .keyword_lists { font-size: 1.4rem; }
#content .inner .keyword_lists ul { display: flex; margin: 0; flex-wrap: wrap; }
#content .inner .keyword_lists ul li {margin-top: 0; }
#content .inner .keyword_lists ul li:not(:last-child) { margin-right: 1em; }

#content .inner .term { color: #fff; background: var(--primary); padding: 4px 8px; display: inline-block; }
#content .inner .alart { color: var(--primary); margin-top: 0.5em; }

#content .inner .univ { margin-top: 1.5em; }
#content .inner .name { font-weight: bold; margin-top: 0; }
#content .inner .name span { font-size: 2.3rem; vertical-align: baseline; margin-left: 1em; }

#content .inner .company { font-weight: bold; font-size: 2.3rem; }
#content .inner .company.en { font-weight: normal; margin-top: 0; font-size: 1.6rem; }

#content .inner .industry {}
#content .inner .year     { margin-top: 0; }
#content .inner .stage    { margin-top: 0; }
#content .inner .target   {}
#content .inner .univ     {}
#content .inner .core     { margin-top: 0; }

#content .inner .industry span,
#content .inner .year span,
#content .inner .stage span,
#content .inner .target span,
#content .inner .univ span,
#content .inner .core span { font-weight: bold; vertical-align: baseline; }


@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#content .inner .keyword_lists { display: flex; font-size: 1.4rem; }
	#content .inner .keyword_lists ul {}
}

.list-pictures { display: flex; flex-wrap: wrap; justify-content: space-evenly; }
.list-pictures figure { width: 100%; margin-top: 1.5em; }
.list-pictures figure:not(:nth-child(3n+1)) { margin-left: 20px; }
.list-pictures a img { transition: .3s; border: 2px solid #fff; box-shadow: 0 0 5px rgba(0,0,0,0.3); box-sizing: border-box; width: 100%; height: auto; }
.list-pictures a:hover img { opacity: 0.6; }
.list-pictures figure img{ width: 100%; height: auto; }
.list-pictures a.bigger:hover img{ position: relative; z-index: 10; transform: scale(1.8); border-width: 10px; box-shadow: 0 0 10px 10px rgba(0,0,0,0.3); opacity: 1; }
.list-pictures figure figcaption { font-weight: bold; font-size: 1.4rem; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	.list-pictures figure { width: auto; max-width: calc(calc(100% / 3) - 20px); margin-top: 1.5em; }
	.list-pictures { justify-content: start; }
	.list-pictures figure figcaption { white-space: nowrap; }
}

#content .inner .list-overview { box-shadow: none; border: 1px solid #ccc; margin-top: 2em; }
@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#content .inner .list-overview dl dt { width: 12em; }
	#content .inner .list-overview dl dd { margin-left: 13em; }
}

/*============================
#outline
============================*/
.horizont-box a { position: relative; display: block; color: #000; }
.horizont-box a h3{ margin-top: 0; }
.horizont-box + .horizont-box { margin-top: 3em; }
.horizont-box a .more { color: var(--primary); font-size: 2.1rem; text-align: right; padding-right: 130px; }
.horizont-box a:before { display: block; content:""; position: absolute; bottom:  5px; right: 13px; width: 110px; height: 1px; border-bottom: 1px solid var(--primary); transition: .3s; }
.horizont-box a:after  { display: block; content:""; position: absolute; bottom: 11px; right: 10px; width:  16px; height: 1px; border-bottom: 1px solid var(--primary); transition: .3s; transform: rotate(45deg); }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#outline .bg-white { margin: 60px 0; padding: 60px 0 ; }
	.horizont-box + .horizont-box { margin-top: 2em; }
	.horizont-box a { display: flex; align-items: center; transition: .3s; margin: -20px; padding: 20px; }
	.horizont-box a:before { bottom: 25px; right: 13px; width: 170px; }
	.horizont-box a:after  { bottom: 31px; right:  9px; width:  16px; }
	.horizont-box a h3 { width: 300px; height: 1.5em; margin-right: 20px; margin-top: -1.5em; }
	.horizont-box a .overview { width: calc(100% - 360px) }
	.horizont-box a:hover { background: var(--block_hover); /* color: #fff; */ }
	.horizont-box a:hover h3:after { background: var(--block_hover); }
/*
	.horizont-box a:hover h3 { color: #fff; border-color: #fff; }
	.horizont-box a:hover h3:after { display: none; }
	.horizont-box a:hover .more { color: #fff; }
	.horizont-box a:hover:before,
	.horizont-box a:hover:after  { border-bottom-color: #fff; }
*/
}


#access { padding-bottom: 60px; }
#access .train { font-size: 2.5rem; margin-bottom: 1em; padding-left: 2.5em; font-weight: bold; line-height: 52px; background: url(../img/icon-train.png) no-repeat 0 0 / auto 100%; }
#access .flex { justify-content: space-evenly; }
#access .flex > div { width: calc(100% - 40px); margin: 20px; box-shadow: 0 0 5px rgba(0,0,0,0.25); padding: 20px; box-sizing: border-box; }
#access .flex > div p:first-child { margin: 0; font-weight: bold; }
#access .flex > div img { width: 100%; height: auto; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#access .flex > div { width: calc(50% - 40px); margin: 0; }
}

/*============================
#exhibition
============================*/
#exhibition {}
/*
.exhibition-box + .exhibition-box  { margin-top: -60px; }
*/
.exhibition-box:last-child { margin-bottom: 60px; }
.section-title { font-weight: bold; font-size: 2.5rem; margin: 0 auto 1em; position: relative; box-sizing: border-box; width: 100%; max-width: 1200px; }
.exhibition-box .section-title img { display: block; margin: auto; }
.exhibition-box .section-title a { position: relative; display: inline-block; margin-left: 0.5em; font-size: 1.4rem; border: 2px solid #ccc; border-radius: 8px; padding: 4px 16px 4px 8px; vertical-align: bottom; }
.exhibition-box .section-title a:after { position: absolute; top: calc(50% - 3px); right: 6px; display: block; width: 6px; height: 6px; border: 1px solid #000; border-left: none; border-bottom: none; transform: rotate(45deg); content: ""; transition: .3s; }



.exhibition-box .button a { background: #fff; color: #000; border: 1px solid var(--primary); }
.exhibition-box .button a:after { border-color: #000; }
.exhibition-box .button a:hover { background: var(--block_hover); border-color: #fff; }

#exhibition .linklist-banners ul { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 920px; margin: auto; }
#exhibition .linklist-banners ul:before{ content:""; display: block; width:210px; order:1; }
#exhibition .linklist-banners ul:after { content:""; display: block; width:210px; }
#exhibition .linklist-banners ul li { width: calc(50% - 10px); }
#exhibition .linklist-banners ul li a { display: block; box-shadow: 0 0 3px rgba(0,0,0,0.6); overflow: hidden; }
#exhibition .linklist-banners ul li a img { width: 100%; height: auto; transition: .3s; }
#exhibition .linklist-banners ul li a:hover { box-shadow: 1px 1px 1px rgba(0,0,0,0.6), -1px -1px 1px rgba(0,0,0,0.6) }
#exhibition .linklist-banners ul li a:hover img { transform: scale(1.1); opacity: .6; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	.section-title { font-weight: bold; font-size: 2.5rem; margin: 0 auto 1em; position: relative; box-sizing: border-box; width: 100%; max-width: 1200px; padding: 1em 0 1em 220px; }
	.exhibition-box .section-title img {  position: absolute; left: 0; top: 0; }
	#exhibition .linklist-banners ul li { width: 210px; }
	.exhibition-box .button { position: absolute; bottom: 0; right: 30px; }

}

/*============================
#seminar
============================*/
#seminar {}
#seminar h2 {}
#seminar #main #content .inner { padding-top: 40px; }
#seminar #main #content .inner + .inner { margin-top: 60px; }
#seminar .inner .seminar-header figure { text-align: center; }
#seminar .inner figure img {}
#seminar .inner .seminar-header p.title    { font-size: 2.5rem; font-weight: bold; margin-top: 0.3em; }
#seminar .inner .seminar-header p.subtitle { font-size: 1.8rem; font-weight: bold; }

#seminar .inner p.label { position: absolute; top: 10px; right: 20px; margin: 0; }
#seminar .inner p.label span { background: #000; color: #fff; width: 150px; margin-left: 8px; padding: 1px 8px 2px; border-radius: 100px; font-size: 1.4rem; line-height: 25px; text-align: center; }
#seminar .inner p.label span.type1 { background: var(--type1); color: #000; }
#seminar .inner p.label span.type2 { background: var(--type2); }
#seminar .inner p.label span.type3 { background: var(--type3); }
#seminar .inner p.label span.type4 { background: var(--type4); }

#seminar .inner {}
#seminar .inner h3 {}
#seminar .inner p {}
#seminar .inner section {}
#seminar .inner h4 {}
#seminar .inner p {}

#seminar .inner dl.seminar-programs dt { font-weight: bold; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#seminar .inner dl.seminar-programs { margin-left: 30px; }
	#seminar .inner dl.seminar-programs dd { margin-left: 30px; }
}

#seminar .inner .seminar-details .title { font-weight: bold; }
#seminar .inner .seminar-details .flex { align-items: center; margin: 1em 0 3em; }
#seminar .inner .seminar-details .flex figure { text-align: center; }
#seminar .inner .seminar-details .flex figure img { width: 100%; max-width: 140px; }  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■ */
#seminar .inner .seminar-details .flex .text { text-align: center; }
#seminar .inner .seminar-details .flex .text p:first-child { margin-top: 0; }
#seminar .inner .seminar-details .flex .text p.button.pdf {}
#seminar .inner .seminar-details .flex .text p.button.pdf a {}



@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#seminar .inner .seminar-header p.title    { margin-left: 270px; }
	#seminar .inner .seminar-header p.subtitle { margin-left: 270px; }
	#seminar .inner .seminar-header figure { position: absolute; }
	#seminar .inner h3 ~ * { margin-left: 60px; }
	#seminar .inner h3 ~ .annotation { margin-left: calc(60px + 3em); }
	.seminar_box .program { flex-wrap: wrap; justify-content: space-between; }
	.seminar_box .program .seminar-details { width: calc(50% - 10px); }
	#seminar .inner .seminar-details .flex figure { margin: 0 20px; }
	#seminar .inner .seminar-details .flex .text { text-align: left; }
}

.Seminar_wrap { width:100%; max-width: 1200px; margin:0 auto 40px; }
.Seminar_timetables { display:flex; flex-direction:column; gap:32px; }
.Seminar_date { font-size:24px; font-weight:400; margin:0; line-height:1; color:var(--primary); }

.head_date { font-size: 2rem; font-weight: bold; text-align: center; margin: 1.5em 0 1em; }
.Timetable_body { display: none; }
.Timetable_row { display: none; }
.Timetable_cell { display:flex; align-items:center; justify-content:center; background-color:#fff; border:1px solid #D9D8D4; padding:0 12px; }
.Timetable_cell.time { font-size:13px; font-weight:600; justify-content:center; color:#333231; grid-row: span 2; }
.Timetable_cell.time:empty { display: none; }
.Timetable_cell.head { color:#fff; font-weight:bold; font-size: 1.6rem; justify-content:center; background-color:#525150; padding:8px 12px; }

.Timetable_cards { display: block; }
.TimetableCard { padding:4px 8px; }
.TimetableCard_frame { 
    position: relative; box-shadow:-3px 3px 6px 0 #D9D8D4, 3px -3px 6px #faf9f580; 
    border-radius:12px; text-decoration:none; background-color:#fff; padding:14px; 
    display:flex; flex-direction:column; gap:8px; 
    height:100%; border:1px solid #D9D8D4; 
    font-size:14px; transition: .3s; }
.TimetableCard_frame img { mix-blend-mode: multiply; }
.TimetableCard_frame:hover { background: var(--block_hover); color: #fff; }
.TimetableCard_frame .time { font-weight:bold; color:var(--primary); font-size:1.4rem; margin: 0; }
.TimetableCard_frame .title { font-weight:bold; margin: 0 130px 0 0; line-height:1.3; }
.TimetableCard_frame .label { position: absolute; top: 4px; right: 20px;  font-size:13px; margin:4px 0; }

.TimetableCard_frame .label [class^="type"]{ border-radius: 4px; padding: 1px 2px; }
.TimetableCard_frame .label .type1 { color: #000; background: var(--type1); }
.TimetableCard_frame .label .type2 { color: #fff; background: var(--type2); }
.TimetableCard_frame .label .type3 { color: #fff; background: var(--type3); }
.TimetableCard_frame .label .type4 { color: #fff; background: var(--type4); }
.TimetableCard_frame .label .type5 { color: #fff; background: #0056b1; }



.TimetableCard_frame .subtitle { font-size: 1.3rem; color:#555; margin: 0 130px 0 0; }
.TimetableCard_frame figure.logo { position: absolute; bottom: 10px; right: 20px; margin: 0; width: 120px; }
.TimetableCard_frame figure.logo img { width: 100%; height: auto; transition: .6s; }

@media screen and (min-width: 767px) {
	.Seminar_wrap { padding:0 16px; display:flex; flex-direction:column; gap:32px; }
	.Timetable_table { display: grid; grid-template-columns: auto 5fr 5fr; grid-template-rows: auto repeat(28, 24px); gap:2px; }
	.Timetable_row { display:contents; }
	.Timetable_cards { display: contents; }
	.Timetable_body { grid-area:2/1/span 32/span 3; display:grid; grid-template-columns:subgrid; }
}

#seminar .stages { width: 100%; max-width: 1200px; margin: 0 auto 60px; }
#seminar .stages .title { color: #fff; font-weight: bold; font-size: 1.6rem; text-align: center;  background-color: #525150; padding: 8px 12px; }
#seminar .stages ul li { background: #fff; margin-top: 4px; padding: 8px; }
#seminar .stages ul li a { position: relative; box-shadow: -3px 3px 6px 0 #D9D8D4, 3px -3px 6px #faf9f580; border-radius: 12px; text-decoration: none; background-color: #fff; padding: 14px; display: flex; flex-direction: column; gap: 8px; height: 100%; border: 1px solid #D9D8D4; font-size: 1.4rem; transition: .3s; background-position: right 20px center; background-size: 1.5em auto; }
#seminar .stages ul li a:hover { background-color: var(--block_hover); color: #fff; }

@media screen and (min-width: 767px) {
	#seminar .stages ul { width: calc(50% - 4px); }
}
/*============================
#aas
============================*/
#aas {}
#aas .introduction {}
#aas .introduction .text { margin-top: 40px; }
#aas .introduction .flex { align-items: center; }
#aas .introduction figure { text-align: center; }
#aas .introduction figure figcaption { display: block; border: 1px solid #555; margin: 1em auto 0; border-radius: 50px; font-size: 1.4rem; line-height: 2em; width: 8em; }
#aas .introduction .text {}
#aas .introduction .text p:first-child { margin-top: 0; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#aas .introduction .text { margin-left: 40px; margin-top: 1em; }
	#aas .introduction figure figcaption { width: auto; margin: 1em 50px 0; }
}

.aas-box .inner + .inner { margin-top: 40px; }
.aas-box { margin-bottom: 60px !important; }
.aas-box:nth-of-type(1) h2 { margin-top: 0; }
.aas-box h2 span { font-size: 1.6rem; position: absolute; margin-top: 1.2em; }
.aas-box p.title { margin-top: 0; font-size: 2.5rem; font-weight: bold; }
.aas-box .flex.aas_head { display: flex; flex-wrap: wrap; }
.aas-box .flex.aas_head { align-items: center; margin: 20px 0; padding: 20px 0; border: 1px solid #ccc; border-left: none; border-right: none; }
.aas-box .flex.aas_head figure { width: 100%; max-width: 100%; }
.aas-box .flex.aas_head figure img { width: 100%; height: auto; }
/*
.aas-box .flex.aas_head figure:not(:first-child) img { width: auto; height: 200px; }
*/
.aas-box .flex.aas_head .text { width: 100%; }
.aas-box .flex.aas_head .text .person{ font-weight: bold; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	.aas-box .flex.aas_head figure { margin-right: 20px; max-width: 262px; }
	.aas-box .flex.aas_head .text { position: relative; width: auto; height: 200px; margin-right: 20px; }
	.aas-box .flex.aas_head .text .person{ position: absolute; bottom: 0; white-space: nowrap; }
}

.aas-box .flex.text_pic {}
.aas-box .flex.text_pic .text {}
.aas-box .flex.text_pic .pic { max-width: 300px; margin-top: 20px; }
.aas-box .flex.text_pic .pic img { width: 100%; height: auto; }
.aas-box .flex.text_pic .pic figure figcaption { margin-top: 0.5em; font-size: 1.3rem; text-align: center; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	.aas-box .flex.text_pic { margin-top: 75px; align-items: center; }
	.aas-box .flex.text_pic .text { margin-right: 20px; }
	.aas-box .flex.text_pic .text section:nth-of-type(1) h3 { margin-top: 0; }
	.aas-box .flex.text_pic .pic { margin-top: 0; }
}
h2 + .aas_title { margin-top: 2em;}
.aas_title { text-align: center; color: #000; border: none; max-width: initial; margin: 3em 0 2em; position: relative; font-size: 2.4rem; font-weight: 600; }
.aas_title span { display: inline-block; background: #fff; padding: 0 10px; position: relative; }
.aas_title:after { display: none;}
.aas_title:before { display: block; position: absolute; inset: 0; width: 640px; height: 2px; background: var(--primary); content:""; margin: auto; }


/*============================
#download
============================*/
#download {}
#download #content .inner { text-align: center; }
#download #content .inner img { width: 80%; height: auto; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#download #content .inner img { width: auto; height: 360px; }
}

/*============================
#faq
============================*/
#faq .inr {max-width:1200px; margin:0 auto; }
#faq dl {padding:2em; background:white; border-radius:0 0 0 20px; margin-bottom:40px; }
#faq dt {font-weight:bold; border-bottom:1px solid #eee; padding-bottom:10px; margin-left:40px; position:relative; }
#faq dt:before {content:"Q"; background:url(../img/icon-maru.png) no-repeat left center; width: 35px; height: 35px; position:absolute; top:-8px; left:-40px; background-size: contain; font-size: 2.5rem; text-align: center; margin-right: 5px; }
#faq dd:before {content:"A"; font-size:2.5rem; font-weight:bold; position:absolute; top:-8px; left:-40px; }
#faq dd {margin-left:50px; position:relative; }


/*============================
#link
============================*/
#link { background: #666; padding: 1px 0 60px; }
#link h2 { color: #fff; }
#link .list-links { box-sizing: border-box; padding: 0 20px; }
#link .list-links ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
#link .list-links ul li { width: calc(50% - 10px); }
#link .list-links ul li img { max-width: 100%; height: auto; }

#link .list-links ul li a { display: block; box-shadow: 0 0 3px rgba(0,0,0,0.6); overflow: hidden; background: #fff; transition: .3s; text-align: center; }
#link .list-links ul li a img { transition: .3s; }
#link .list-links ul li a:hover { box-shadow: 0 0 3px #0060df; }
#link .list-links ul li a:hover img { transform: scale(1.1); opacity: .6; box-shadow: 0 0 3px rgba(255,255,255,0.6); }


@media screen and (min-width: 767px) { /* PC style 768px以上 */
	#link {}
	#link h2 {}
	#link .list-links {}
	#link .list-links ul {}
	#link .list-links ul li { width: 240px; margin: 15px; }
}
/*============================
footer
============================*/
footer { position: relative; background: var(--primary); }
footer .flex { justify-content: space-between; }

#pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  
  /* ボタンのデザイン（例） */
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #333;
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  
  /* ふわっと出すための設定 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* スクロールした時に付与するクラス */
#pagetop.is-show {
  opacity: 1;
  visibility: visible;
}




footer section#contact { background: #eee; padding-bottom: 30px; }
footer section#contact h2 { font-size: 2.4rem; line-height: 1.8; padding-top: 1em; font-weight: bold; text-align: center; }
footer section#contact p { font-size: 1.8rem; margin: 1em 0; font-weight: bold; text-align: center; }
footer section#contact .flex { width: 37em; margin: auto; }
footer section#contact .flex p { position: relative; font-size: 2.6rem; font-weight: bold; color: #000; margin: 0; text-align: left; }
footer section#contact .flex .tel  { padding: 0 0 30px 70px; background: url(../img/icon-tel.png) no-repeat  left top / 60px auto; }
footer section#contact .flex .mail { padding: 0 0 0 70px;    background: url(../img/icon-mail.png) no-repeat left center / 60px auto;  height: 60px; font-size: 2.5rem; }
footer section#contact .flex .tel span { font-size: 1.4rem; font-weight: normal; display: block; margin: -0.3em 1em 0 -1em; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	footer {}
	footer section#contact {}
	footer section#contact h2 {}
	footer section#contact .flex { width: 100%; max-width: 800px; }
	footer section#contact .flex p { font-size: 3.5rem; }
	footer section#contact .flex p span {  white-space: nowrap; }
	footer section#contact .flex .mail { font-size: 2.8rem; }
}

footer .bottom { font-size: 1.6rem; padding: 1em 0; }
footer .bottom ul { margin: 20px; display: flex; }
footer .bottom ul li:not(:first-child) { margin-left: 2em; }
footer .bottom ul li a { padding-left: 1em; background:  url(../img/arrow-r.svg) no-repeat left center / 8px auto; color: #fff; }
footer .bottom p { color: #fff; font-size: 1.2rem; text-align: center; margin-top: 1em; }

@media screen and (min-width: 767px) { /* PC style 768px以上 */
	footer .bottom { font-size: 1.6rem; padding: 1em 0; }
	footer .bottom ul { margin: 0; }
	footer .bottom ul li:not(:first-child) { margin-left: 2em; }
	footer .bottom ul li a { padding-left: 1em; background:  url(../img/arrow-r.svg) no-repeat left center / 8px auto; color: #fff; }
	footer .bottom ul li a:hover { text-decoration: underline; }
	footer .bottom p { font-size: 1.4rem; margin-top: 0; }
}
