@charset "utf-8";
/*------------------------------------*\
 * ブレークポイント一覧（モバイルファースト）
 * max-width: 30em ･･･ スマホ調整用
 * min-width: 42.5em ･･･ タブレット以上
 * min-width: 72.5em ･･･ PC・大型タブレット
\*------------------------------------*/


/*============================================================================*\
    $Foundation
\*============================================================================*/
html { font-size: 62.5%; }
body {
	background: #fff;
	color: rgba(0,0,0,.87);
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.4em;
	line-height: 1.625;
	letter-spacing: .05em;
}

a { color: #74256e; }
.no-link {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}
a:focus,
a:hover { text-decoration: none; }
a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 .25em -.125em;
	background: url(../img/icon-blank.svg) no-repeat 0 0/4em 1em;
}
a[target="_blank"].no-icon::after { content: none; }

a img { transition: opacity .2s; }
a:focus img,
a:hover img { opacity: .87; }
a.no-link-action:focus img,
a.no-link-action:hover img { opacity: 1; }

@media (min-width:42.5em) {
	body { font-size: 1.6em; }
}




/*============================================================================*\
    $Layout
\*============================================================================*/

.wrapper {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding-right: 1.6rem;
	padding-left: 1.6rem;
}
.section-1,
.section-2 { margin-bottom: 2.4rem; }
.section-3,
.section-4,
.section-5,
.section-6 { margin-bottom: 1.6rem; }
.section-7 { margin-bottom: 1.4rem; }
.section-fill-1,
.section-fill-2 {
	padding-top: 2.4rem;
	padding-bottom: 2.4rem;
}
.section-fill-3 {
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.section-fill-3,
.section-fill-4,
.section-fill-5,
.section-fill-6 {
	padding-top: 1.6rem;
	padding-bottom: 1.6rem;
}
.section-fill-7 {
	padding-top: 1.4rem;
	padding-bottom: 1.4rem;
}

@media (min-width:42.5em) {
	.wrapper {
		padding-right: 8rem;
		padding-left: 8rem;
	}
	.section-1 { margin-bottom: 8rem; }
	.section-2 { margin-bottom: 5.6rem; }
	.section-3 { margin-bottom: 4.8rem; }
	.section-4 { margin-bottom: 4rem; }
	.section-5 { margin-bottom: 3.2rem; }
	.section-6 { margin-bottom: 4.8rem; }
	.section-7 { margin-bottom: 1.6rem; }
	.section-fill-1 {
		padding-top: 8rem;
		padding-bottom: 8rem;
	}
	.section-fill-2 {
		padding-top: 5.6rem;
		padding-bottom: 5.6rem;
	}
	.section-fill-3 {
		padding-top: 4.8rem;
		padding-bottom: 4.8rem;
	}
	.section-fill-4 {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.section-fill-5 {
		padding-top: 3.2rem;
		padding-bottom: 3.2rem;
	}
	.section-fill-6 {
		padding-top: 2.4rem;
		padding-bottom: 2.4rem;
	}
	.section-fill-7 {
		padding-top: 1.6rem;
		padding-bottom: 1.6rem;
	}
}

@media (min-width:72.5em) {
	.wrapper--lg { max-width: 116rem; }
	.wrapper--md { max-width: 68rem; }
}


/*------------------------------------*\
    Header
\*------------------------------------*/
.header { background-color: #2e2e2e; }
.header,
.header a { color: #fff; }
.header-inner {
	display: block;
	position: relative;
}
.js .header-inner { padding-right: 8rem; }
.header--simple .header-inner { padding-right: 1.6rem; }

/* Logo */
.header-logo {
	overflow: hidden;
	text-align: center;
}
.header-logo-row {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: -.4rem -.5rem;
	vertical-align: middle;
}
.header-logo-col {
	padding: .4rem .5rem;
}
.header-logo-main,
.header-logo-sub { display: block; }
.header-logo-main { max-width: 20rem; }
.header-logo-sub {
	max-width: 9.6rem;
	border: .1rem solid;
	padding: .4rem .5rem;
}
.header-logo-main img,
.header-logo-sub img {
	width: 200px;
  height: auto;
	display: block;
}

/* Detail */
.header-detail { display: none; }

/* Global navigation button */
.header-gnav-btn {
	display: none;
	position: absolute;
	top: 0;
	right: 1.6rem;
	bottom: 0;
	width: 4.8rem;
	height: 4.8rem;
	border: none;
	margin: auto;
	background: none;
	color: #fff;
	cursor: pointer;
}
.js .header-gnav-btn { display: block; } /* JS trigger */
.header-gnav-btn__inner,
.header-gnav-btn::before,
.header-gnav-btn::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 2.4rem;
	height: .2rem;
	margin: auto;
	background-color: #fff;
	transition: transform .2s;
}
.header-gnav-btn__inner {
	overflow: hidden;
	padding-top: .2rem;
}
.header-gnav-btn::before,
.header-gnav-btn::after { content: ""; }
.header-gnav-btn::before { transform: translateY(-.8rem); }
.header-gnav-btn::after { transform: translateY(.8rem); }
button.header-gnav-btn:focus::before,
button.header-gnav-btn:hover::before { transform: translateY(-1rem); }
button.header-gnav-btn:focus::after,
button.header-gnav-btn:hover::after { transform: translateY(1rem); }
button.header-gnav-btn.is-active .header-gnav-btn__inner { transform: scaleX(0); }
button.header-gnav-btn.is-active::before { transform: rotate(45deg); }
button.header-gnav-btn.is-active::after { transform: rotate(-45deg); }

/* Global navigation */
.header-gnav {
	position: relative;
	z-index: 2;
	padding-top: 0;
	background-color: #212121; /* rgba(0,0,0,.87) */
	transition: transform .2s;
	transform-origin: top center;
}
.is-scroll .header-gnav {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1;
}
.header-gnav-list {
	margin-right: -1.6rem;
	margin-left: -1.6rem
}
.header-gnav-list li { border-bottom: .1rem solid rgba(255,255,255,.18); }
.header-gnav-item {
	display: block;
	padding: 1em 1.6rem;
	opacity: .6;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.3;
	letter-spacing: .1em;
	text-decoration: none;
	transition: .2s;
}
a.header-gnav-item:focus,
a.header-gnav-item:hover,
.header-gnav-item.is-current { opacity: 1; }

@media (min-width:42.5em) {
	.js .header-inner {
		padding-right: 15.2rem;
		padding-left: 15.2rem
	}
	.header--simple .header-inner{
		padding-right: 8rem;
		padding-left: 8rem;
	}

	/* Global navigation button */
	.header-gnav-btn { right: 8rem; }

	/* Global navigation */
	.header-gnav-list {
		margin-right: -8rem;
		margin-left: -8rem;
	}
	.header-gnav-item { padding: 1.8rem 8rem; }
}

@media (min-width:72.5em) {
	.header-inner,
	.js .header-inner {
		padding-right: 22.4rem;
		padding-left: 22.4rem;
	}
	.header--simple .header-inner{
		padding-right: 8rem;
		padding-left: 8rem;
	}

	/* Detail */
	.header-detail {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		height: 7.8rem;
		margin-bottom: 0;
	}

	/* Global navigation button */
	.js .header-gnav-btn { display: none; }

	/* Global navigation */
	.header-gnav { padding-bottom: 0; }
	.header-gnav-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-right: 0;
		margin-bottom: 0;
		margin-left: 0;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	.header-gnav-list li { border-bottom: none; }
	.header-gnav-item {
		padding: .8rem .9375em;
		text-indent: .1em;
	}
}


/*------------------------------------*\
    Breadcrumbs
\*------------------------------------*/
.breadcrumbs { background-color: #e8e8e8; }
.breadcrumbs-list {
	list-style: none;
	margin: 0;
	padding: 1.6rem 0;
	font-size: .875em;
	color: rgba(0,0,0,.6);
}
.breadcrumbs-list li {
	display: inline-block;
}
.breadcrumbs-list li + li::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 .2rem -.1428571428571429em;
	background: url(../img/icon-arrow.svg) no-repeat -2em 0/4em 1em;
	opacity: .6;
}
.breadcrumbs-list a { text-decoration: none; }
.breadcrumbs-list a:focus,
.breadcrumbs-list a:hover { text-decoration: underline; }


/*------------------------------------*\
    Contents
\*------------------------------------*/
/* Heading */
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-size: inherit;
}

/* @note: line-heightをremで指定するとIEで崩れる */
.h1 { background-color: #66310d; }
.h1--exhibition { background-color: #00b76b; }
.h1--lecture { background-color: #00b7ff; }
.h1--seminar { background-color: #ff9842; }
.h1--technical { background-color: #c058c3; }
.h1--cafe { background-color: #e20012; }
.h1,
.h1 a { color: #fff; }
.h1-main {
	font-size: 2rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.4;
	letter-spacing: .1em;
}
.h1-main--center {
	text-align: center;
	text-indent: .1em;
}
.h1-lede {
	margin: 0 -1.6rem 0;
	padding: 1.6rem;
	background-color: rgba(255,255,255,.5);
	color: rgba(0,0,0,.87);
	font-size: .875em;
}
.h1-lede__inner,
.h1-lede__inner > :last-child { margin-bottom: 0; }
.h1-nav { background-color: rgba(255,255,255,.1); }
.h1-nav-wrapper {
	overflow-x: scroll;
	padding-right: 0;
	padding-left: 0;
}
.h1-nav-list { display: flex; }
.h1-nav-item {
	display: block;
	position: relative;
	padding: 1em 1.042857142857143em;
	opacity: .6;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.3;
	letter-spacing: .1em;
	white-space: nowrap;
	text-align: center;
	text-indent: .1em;
	text-decoration: none;
	transition: .2s;
}
.h1-nav-item-arrow--right,
.h1-nav-item-arrow--right-bottom { padding-right: 1.9em; }
.h1-nav-item-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 1em;
	height: 1em;
	margin-top: -.5em;
	background: url(../img/icon-arrow.svg) no-repeat -1em 0/4em 1em;
	transition: transform .2s;
}
.h1-nav-item-arrow--right::before,
.h1-nav-item-arrow--right-bottom::before { right: 0; }
.h1-nav-item-arrow--right-bottom::before { transform: rotate(90deg); }
a.h1-nav-item:focus,
a.h1-nav-item:hover { opacity: 1; }
a.h1-nav-item-arrow--right:hover::before,
a.h1-nav-item-arrow--right:focus::before { transform: translateX(.2rem); }
a.h1-nav-item-arrow--right:active::before { transform: translateX(.4rem); }
a.h1-nav-item-arrow--right-bottom:hover::before,
a.h1-nav-item-arrow--right-bottom:focus::before { transform: translateY(.2rem) rotate(90deg); }
a.h1-nav-item-arrow--right-bottom:active::before { transform: translateY(.4rem) rotate(90deg); }
.h2 {
	margin-bottom: 1.8rem;
	font-size: 2rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.4;
	letter-spacing: .1em;
	text-align: center;
	text-indent: .1em;
}
.h2::after {
	content: "";
	display: block;
	width: 4rem;
	height: .4rem;
	margin: .8rem auto 0;
}
.h2--primary::after {
  background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);
}
.h2--platinum::after { background-color: #caac7d; }
.h2__sub {
	display: block;
	font-size: .6666666666666667em;
}
.h3 {
	margin-bottom: 1.6rem;
	padding: .8rem 1.6rem;
	font-size: 1.8rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.5;
	letter-spacing: .1em;
}
.h3,
.h3 a { color: #fff; }
.h3 a[target="_blank"]::after { background-position: -1em 0; }
.h3--primary {
	background-color: #74256e;
	/* background-image: linear-gradient(135deg,#ff9b80 0%,#74256e 80%,#f24114 100%); */
}
.h3--platinum { background-color: #caac7d; }
.h3__sub {
	display: block;
	font-size: .9em;
	font-weight: 400;
}
.h4 {
	margin-bottom: 1.6rem;
	font-size: 1.8rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.5;
	letter-spacing: .1em;
}
.h4--border { padding: 0 .4rem; }
.h4--border::after {
	content: "";
	display: block;
	height: .4rem;
	margin: .8rem -.4rem 0;
}
.h4--primary.h4--border::after {
	background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);
}
.h4--platinum.h4--border::after { background-color: #caac7d; }
.h4__sub {
	display: block;
	font-size: .9em;
	font-weight: 400;
}
.h5 {
	margin-bottom: 1.4rem;
	font-size: 1.6rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.6;
	letter-spacing: .1em;
}
.h6 {
	margin-bottom: 1.4rem;
	font-size: 1.4rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.625;
	letter-spacing: .1em;
}

@media (min-width:42.5em) {
	/* Heading */
	.h1-main,
	.h1-lede {
		display: flex;
		align-items: center;
		padding-right: 5.6rem;
	}
	.h1-main { font-size: 3rem; }
	.h1-main--center {
		justify-content: center;
		padding-right: 0;
	}
	.h1-lede {
		margin-right: 0;
		margin-left: 0;
		padding-top: 5.6rem;
		padding-bottom: 5.6rem;
		padding-left: 5.6rem;
	}
	.h1-nav-wrapper {
		overflow-x: visible;
		padding-right: 8rem;
		padding-left: 8rem;
	}
	.h1-nav-list {
		flex-wrap: wrap;
		justify-content: center;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	.h1-nav-item {
		padding: .8rem 1.9em;
		white-space: normal;
	}
	.h1-nav-item-arrow--right,
	.h1-nav-item-arrow--right-bottom { padding-right: 2.9em; }
	.h1-nav-item-arrow--right::before,
	.h1-nav-item-arrow--right-bottom::before { right: 1em; }
	.h2 {
		margin-bottom: 4.8rem;
		font-size: 3rem;
	}
	.h2::after {
		width: 5.6rem;
		margin-top: 1.6rem;
	}
	.h3 {
		margin-bottom: 4rem;
		padding: 2rem;
		font-size: 2rem;
	}
	.h4 {
		margin-bottom: 3.2rem;
		font-size: 2rem;
	}
	.h4--border:after { margin-top: 1rem; }
	.h5 {
		margin-bottom: 2.4rem;
		font-size: 1.8rem;
	}
	.h6 {
		margin-bottom: 1.6rem;
		font-size: 1.6rem;
	}
}


/*------------------------------------*\
    Footer
\*------------------------------------*/
.footer { background-color: #e8e8e8; }
.footer-row__col--main { margin-bottom: 1.6rem; }

/* Logo */
.footer-logo { width: 20rem; }

/* Mail */
.footer-mail a { color: rgba(0,0,0,.87); }

/* SNS list */
.footer-sns-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: -1.6rem -.8rem 0;
	padding-left: 0;
}
.footer-sns-list li { padding: 1.6rem .8rem 0; }
.footer-sns-img {
	width: 4.8rem;
	min-width: 32px;
}

/* Back to top */
.footer-back-to-top {
	position: absolute;
	right: 1.6rem;
	bottom: 0;
	margin-bottom: 0;
	transform: translateY(50%);
}
.footer-back-to-top__btn {
	display: block;
	overflow: hidden;
	position: relative;
	width: 4.8rem;
	height: 4.8rem;
	padding-top: 4.8rem;
	border-radius: 50%;
  background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);
	transition: transform .2s;
}
.footer-back-to-top__btn::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 1em;
	height: 1em;
	margin: auto;
	background: url(../img/icon-arrow.svg) no-repeat -1em 0/4em 1em;
	transform: rotate(-90deg);
	transition: transform .2s;
}
a.footer-back-to-top__btn:focus,
a.footer-back-to-top__btn:hover { transform: translateY(-.2rem); }
a.footer-back-to-top__btn:active { transform: translateY(-.4rem); }
a.footer-back-to-top__btn:hover::before,
a.footer-back-to-top__btn:focus::before { transform: translateY(-.2rem) rotate(-90deg); }
a.footer-back-to-top__btn:active::before { transform: translateY(-.4rem) rotate(-90deg); }

/* Copyright */
.footer-copyright {
	margin-bottom: 0;
	border-top: .1rem solid rgba(0,0,0,.1);
	padding: 1.6rem 0;
	text-align: center;
	text-indent: .05em;
	color: rgba(0,0,0,.6);
}
.footer-copyright__small {
	display: block;
	font-size: .875em;
}

@media (min-width:42.5em) {
	.footer-row {
		display: flex;
		margin: 0 -2rem;
	}
	.footer-row__col { padding: 0 2rem; }
	.footer-row__col--main {
		flex: 1;
		margin-bottom: 0;
	}
	.footer-row__col--sub { max-width: 15.2rem; }

	/* Logo */
	.footer-logo { width: 32.4rem; }

	/* Back to top */
	.footer-back-to-top { right: 8rem; }
	.footer-back-to-top__btn {
		width: 5.6rem;
		height: 5.6rem;
		padding-top: 5.6rem;
	}
}




/*============================================================================*\
    $Object -- Component
\*============================================================================*/

/*------------------------------------*\
    Tables
\*------------------------------------*/
.table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1em;
}
.table th,
.table td {
	padding: .8rem 1.6rem;
	border-bottom: .1rem solid #e8e8e8;
}
.table thead th {
	border-bottom: .2rem solid #e8e8e8;
	color: rgba(0,0,0,.6);
}

/* Caption */
.table caption { font-size: .875em; }
.table caption[data-position="top"] {
	caption-side: top;
	margin-bottom: 1em;
}
.table caption[data-position="bottom"] {
	caption-side: bottom;
	margin-top: 1em;
}

/* Bordered */
.table--bordered th,
.table--bordered td { border: .1rem solid #e8e8e8 !important; }
.table--bordered thead th {
	background-color: rgba(0,0,0,.6);
	color: #fff;
}

/* No border */
.table--no-border tr,
.table--no-border th,
.table--no-border td {
	padding: .4rem .8rem;
	border: none!important;
	background: none;
}

/* Block */
.table--d-block colgroup,
.table--d-block thead { display: none; }
.table--d-block tbody,
.table--d-block tr,
.table--d-block th,
.table--d-block td {
	display: block;
	padding-top: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.table--d-block th { margin-bottom: .4rem; }
.table--d-block tr {
	padding: .8rem 0;
	border-bottom: .1rem solid #e8e8e8;
}
.table--d-block.table--no-border tr {
	padding-top: .4rem;
	padding-bottom: .4rem;
}

/* Scroll */
.table-scroll {
	display: block;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	margin-bottom: 1em;
}
.table-scroll table { margin-bottom: 0; }
.table-scroll td,
.table-scroll th { white-space: nowrap; }
.table-scroll::-webkit-scrollbar { height: .8rem; }
.table-scroll::-webkit-scrollbar-track {
	box-shadow: none;
	background-color: #e8e8e8;
}
.table-scroll::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,.6); }

@media (min-width:42.5em) {
	/* Block解除 */
	.table--d-table-md colgroup { display: table-column-group; }
	.table--d-table-md thead { display: table-header-group; }
	.table--d-table-md tbody { display: table-row-group; }
	.table--d-table-md tr {
		display: table-row;
		border-bottom: none;
	}
	.table--d-table-md th,
	.table--d-table-md td {
		display: table-cell;
		padding: .8rem 1.6rem;
		border-bottom: .1rem solid #e8e8e8;
	}
	.table--d-table-md.table--no-border th,
	.table--d-table-md.table--no-border td { padding: .4rem .8rem; }
}

/* Box */
.box .table tr,
.box .table th,
.box .table td { border-color: #d0d0d0!important; }


/*------------------------------------*\
    Buttons
\*------------------------------------*/
.btn {
	display: inline-block;
	overflow: visible;
	position: relative;
	max-width: 100%;
	margin: 0;
	padding: 1em .9em;
	border: none;
	border-radius: .4rem;
	font-size: 1.6rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.3;
	letter-spacing: .1em;
	vertical-align: middle;
	text-align: center;
	text-indent: .1em;
	text-decoration: none !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: .2s;
}
.btn:not(:disabled) { cursor: pointer; }
a.btn:focus,
a.btn:hover,
button.btn:focus,
button.btn:hover { transform: translateY(.2rem); }
a.btn:active,
button.btn:active { transform: translateY(.4rem); }
a.btn[target="_blank"]::after { margin-right: 0; }

/* Theme */
.btn--primary {
  background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);
}
.btn--secondary {
	background-color: #74256e29;
	color: #74256e;
}
.btn--tertiary {
	background-color: #333;
	background-image: linear-gradient(135deg,#595757 0%,#333 80%,#000 100%);
}
.btn--exhibition,
.btn--spatialchat-sponsor,
.btn--technical-c,
.btn--cafe-floor4 { background-color: #00b76b; }
.btn--lecture,
.btn--seminar-east-building,
.btn--technical-b,
.btn--cafe-floor2 { background-color: #00b7ff; }
.btn--seminar,
.btn--technical-d,
.btn--cafe-floor5 { background-color: #ff9842; }
.btn--technical { background-color: #c058c3; }
.btn--cafe,
.btn--seminar-hall,
.btn--technical-a,
.btn--exhibition3 { background-color: #e20012; }
.btn--platinum { background-color: #caac7d; }
.btn--spatialchat-theme { background-color: #3f63df; }
.btn--af-old,
.btn--exhibition2 { background-color: #47b4a8; /* No theme */ }
.btn--exhibition-bnr,
.btn--cafe-floor3 { background-color: #fece00; }
.btn--cafe-floor1 { background-color: #ff2f2f; }
.btn--cafe-floor6 { background-color: #9d7059; }
.btn--exhibition-report { background-color: #01d25d; }
.btn--primary,
.btn--tertiary,
.btn--exhibition,
.btn--lecture,
.btn--seminar,
.btn--technical,
.btn--cafe,
.btn--platinum,
.btn--spatialchat-sponsor,
.btn--spatialchat-theme,
.btn--seminar-hall,
.btn--seminar-east-building,
.btn--technical-a,
.btn--technical-b,
.btn--technical-c,
.btn--technical-d,
.btn--af-old,
.btn--exhibition2,
.btn--exhibition3,
.btn--cafe-floor1,
.btn--cafe-floor2,
.btn--cafe-floor4,
.btn--cafe-floor5,
.btn--cafe-floor6,
.btn--exhibition-report { color: #fff; }
.btn--cafe-floor3 { color: rgba(0,0,0,.6); }
.btn--exhibition-bnr { color: #2a3478;  /* No theme */ }
.btn:disabled,
.btn--disabled {
	opacity: .38;
	pointer-events: none;
}
a.btn--primary[target="_blank"]::after,
a.btn--tertiary[target="_blank"]::after,
a.btn--exhibition[target="_blank"]::after,
a.btn--lecture[target="_blank"]::after,
a.btn--seminar[target="_blank"]::after,
a.btn--technical[target="_blank"]::after,
a.btn--cafe[target="_blank"]::after,
a.btn--platinum[target="_blank"]::after,
a.btn--spatialchat-sponsor[target="_blank"]::after,
a.btn--spatialchat-theme[target="_blank"]::after,
a.btn--seminar-hall[target="_blank"]::after,
a.btn--seminar-east-building[target="_blank"]::after,
a.btn--technical-a[target="_blank"]::after,
a.btn--technical-b[target="_blank"]::after,
a.btn--technical-c[target="_blank"]::after,
a.btn--technical-d[target="_blank"]::after,
a.btn--af-old[target="_blank"]::after,
a.btn--exhibition2[target="_blank"]::after,
a.btn--exhibition3[target="_blank"]::after,
a.btn--cafe-floor1[target="_blank"]::after,
a.btn--cafe-floor2[target="_blank"]::after,
a.btn--cafe-floor4[target="_blank"]::after,
a.btn--cafe-floor5[target="_blank"]::after,
a.btn--cafe-floor6[target="_blank"]::after,
a.btn--exhibition-btn[target="_blank"]::after { background-position: -1em 0; }
a.btn--cafe-floor3[target="_blank"]::after {
	background-position: -2em 0;
	opacity: .6;
}
a.btn--exhibition-bnr[target="_blank"]::after { background-position: -3em 0; }

/* Arrow */
.btn-arrow--right,
.btn-arrow--right-bottom { padding-right: 1.9em; }
.btn-arrow--left { padding-left: 1.9em; }
.btn-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 1em;
	height: 1em;
	margin-top: -.5em;
	background: url(../img/icon-arrow.svg) no-repeat -1em 0/4em 1em;
	transition: transform .2s;
}
.btn-arrow--right::before,
.btn-arrow--right-bottom::before { right: .5em; }
.btn-arrow--right-bottom::before { transform: rotate(90deg); }
.btn-arrow--left::before {
	left: .5em;
	transform: rotate(180deg);
}
.btn--secondary.btn-arrow::before { background-position: 0 0; }
.btn--cafe-floor3.btn-arrow::before {
	background-position: -2em 0;
	opacity: .6;
}
.btn--exhibition-bnr.btn-arrow::before { background-position: -3em 0; }
a.btn-arrow--right:hover::before,
a.btn-arrow--right:focus::before,
button.btn-arrow--right:hover::before,
button.btn-arrow--right:focus::before { transform: translateX(.2rem); }
a.btn-arrow--right:active::before,
button.btn-arrow--right:active::before { transform: translateX(.4rem); }
a.btn-arrow--left:hover::before,
a.btn-arrow--left:focus::before,
button.btn-arrow--left:hover::before,
button.btn-arrow--left:focus::before { transform: translateX(-.2rem) rotate(180deg); }
a.btn-arrow--left:active::before,
button.btn-arrow--left:active::before { transform: translateX(-.4rem) rotate(180deg); }
a.btn-arrow--right-bottom:hover::before,
a.btn-arrow--right-bottom:focus::before,
button.btn-arrow--right-bottom:hover::before,
button.btn-arrow--right-bottom:focus::before { transform: translateY(.2rem) rotate(90deg); }
a.btn-arrow--right-bottom:active::before,
button.btn-arrow--right-bottom:active::before { transform: translateY(.4rem) rotate(90deg); }

/* Width */
.btn-w-full-wrapper {
	display: block;
}
.btn-w-full-wrapper--primary {
	background-color: #74256e;
	background-image: linear-gradient(135deg,#ff9b80 0%,#74256e 80%,#f24114 100%);
}
.btn-w-full-wrapper--secondary {
	background-color: #74256e29;
	color: #74256e;
}
.btn-w-full-wrapper--tertiary {
	background-color: #333;
	background-image: linear-gradient(135deg,#595757 0%,#333 80%,#000 100%);
}
a.btn-w-full-wrapper[target="_blank"]::after { content: none; }
a.btn-w-full-wrapper:hover .btn-arrow--right::before,
a.btn-w-full-wrapper:focus .btn-arrow--right::before,
button.btn-w-full-wrapper:hover .btn-arrow--right::before,
button.btn-w-full-wrapper:focus .btn-arrow--right::before { transform: translateX(.2rem); }
a.btn-w-full-wrapper:active .btn-arrow--right::before,
button.btn-w-full-wrapper:active .btn-arrow--right::before { transform: translateX(.4rem); }
a.btn-w-full-wrapper:hover .btn-arrow--left::before,
a.btn-w-full-wrapper:focus .btn-arrow--left::before,
button.btn-w-full-wrapper:hover .btn-arrow--left::before,
button.btn-w-full-wrapper:focus .btn-arrow--left::before { transform: translateX(-.2rem) rotate(180deg); }
a.btn-w-full-wrapper:active .btn-arrow--left::before,
button.btn-w-full-wrapper:active .btn-arrow--left::before { transform: translateX(-.4rem) rotate(180deg); }
a.btn-w-full-wrapper:hover .btn-arrow--right-bottom::before,
a.btn-w-full-wrapper:focus .btn-arrow--right-bottom::before,
button.btn-w-full-wrapper:hover .btn-arrow--right-bottom::before,
button.btn-w-full-wrapper:focus .btn-arrow--right-bottom::before { transform: translateY(.2rem) rotate(90deg); }
a.btn-w-full-wrapper:active .btn-arrow--right-bottom::before,
button.btn-w-full-wrapper:active .btn-arrow--right-bottom::before { transform: translateY(.4rem) rotate(90deg); }
.btn-w-full {
	padding-right: 0;
	padding-left: 0;
	width: 100%;
	border-radius: 0;
	background: none;
}
.btn-w-full.btn-arrow--right,
.btn-w-full.btn-arrow--right-bottom { padding-right: 1.4em; }
.btn-w-full.btn-arrow--left { padding-left: 1.4em; }
a.btn-w-full-wrapper[target="_blank"] .btn-w-full::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 0 -.125em .25em;
	background: url(../img/icon-blank.svg) no-repeat 0 0/4em 1em;
}
a.btn-w-full-wrapper[target="_blank"] .btn-w-full.btn--primary::after,
a.btn-w-full-wrapper[target="_blank"] .btn-w-full.btn--tertiary::after { background-position: -1em 0; }
a.btn-w-full-wrapper[target="_blank"] .btn-w-full.no-icon::after { content: none; }
a.btn-w-full:focus,
a.btn-w-full:hover,
a.btn-w-full:active,
button.btn-w-full:focus,
button.btn-w-full:hover,
button.btn-w-full:active { transform: none; }
.btn-w-full.btn-arrow--right::before,
.btn-w-full.btn-arrow--right-bottom::before { right: 0; }
.btn-w-full.btn-arrow--left::before { left: 0; }

/* Main footer */
.btn--main-footer { letter-spacing: .5em; }

/* Box */
.box-btn__btn {
	display: block;
	max-width: none;
	margin: -1.6rem -1.6rem 1.6rem;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
a .box-btn__btn.btn-arrow--right:hover::before,
a .box-btn__btn.btn-arrow--right:focus::before { transform: translateX(.2rem); }
a .box-btn__btn.btn-arrow--right:active::before { transform: translateX(.4rem); }
a .box-btn__btn.btn-arrow--left:hover::before,
a .box-btn__btn.btn-arrow--left:focus::before { transform: translateX(-.2rem) rotate(180deg); }
a .box-btn__btn.btn-arrow--left:active::before { transform: translateX(-.4rem) rotate(180deg); }
a .box-btn__btn.btn-arrow--right-bottom:hover::before,
a .box-btn__btn.btn-arrow--right-bottom:focus::before { transform: translateY(.2rem) rotate(90deg); }
a .box-btn__btn.btn-arrow--right-bottom:active::before { transform: translateY(.4rem) rotate(90deg); }

/* Building */
.btn-building { margin-top: 1.2rem; }
a.btn-building:focus,
a.btn-building:hover { transform: translateY(.2rem) scale(1.025); }
.btn-building__inner {
	border-radius: inherit;
	background-color: inherit;
}
.btn-building__inner::before,
.btn-building__inner::after {
	content: "";
	position: absolute;
	top: -1.2rem;
	right: 0;
	left: 0;
	height: 1.2rem;
	border-radius: inherit;
	transform: perspective(.6em) rotateX(5deg);
	transform-origin: bottom;
	transition: transform .2s;
}
.btn-building__inner::before { background-color: inherit; }
.btn-building__inner::after { background-color: rgba(0,0,0,.1); }
a.btn-building:focus .btn-building__inner::before,
a.btn-building:hover .btn-building__inner::before,
a.btn-building:focus .btn-building__inner::after,
a.btn-building:hover .btn-building__inner::after { transform: scaleY(.5) perspective(.6em) rotateX(5deg); }

@media (min-width:42.5em) {
	.btn {
		padding-right: 1.9em;
		padding-left: 1.9em;
		font-size: 1.8rem;
	}

	/* Arrow */
	.btn-arrow--right,
	.btn-arrow--right-bottom { padding-right: 2.9em; }
	.btn-arrow--left { padding-left: 2.9em; }
	.btn-arrow--right::before,
	.btn-arrow--right-bottom::before { right: 1em; }
	.btn-arrow--left::before { left: 1em; }


	/* Width */
	.btn-w-full {
		padding-right: 0;
		padding-left: 0;
	}
	.btn-w-full.btn-arrow--right,
	.btn-w-full.btn-arrow--right-bottom { padding-right: 1.9em; }
	.btn-w-full.btn-arrow--left { padding-left: 1.9em; }

	/* Header */
	.btn--header-detail {
		display: flex;
		align-items: center;
		height: 100%;
		border-radius: 0;
	}
	a.btn--header-detail:focus,
	a.btn--header-detail:hover,
	a.btn--header-detail:active { transform: none; }

	/* Main footer */
	.btn--main-footer { font-size: 2rem; }

	/* Box */
	.box--1 .box-btn__btn { margin: -5.6rem -5.6rem 5.6rem; }
	.box--2 .box-btn__btn { margin: -3.2rem -3.2rem 3.2rem; }
}


/*------------------------------------*\
    Boxs
\*------------------------------------*/
.box {
	display: block;
	position: relative;
	height: 100%;
	padding: 1.6rem;
	color: rgba(0,0,0,.87);
	text-decoration: none;
	transition: transform .2s;
}
a.box[target="_blank"]::after { content: none; }
a.box:focus,
a.box:hover { transform: translateY(.2rem); }
a.box:active { transform: translateY(.4rem); }
.box > :last-child { margin-bottom: 0; }

/* Scroll */
.box--scroll {
	overflow-y: scroll;
	height: 32rem;
}
/* BUG: IE FF padding-bottomが消える */
.box--scroll { padding-bottom: 0; }
.box--scroll::after {
	content: "";
	display: block;
	height: 1.6rem;
}

/* Theme */
.box--primary {
  background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);	color: #fff;
}
.box--secondary {
	background-color: #74256e29;
	color: #74256e;
}
.box--platinum {
	background-color: #caac7d;
	color: #fff;
}
.box--exhibition { background-color: rgba(0,183,107,.4); }
.box--technical { background-color: rgba(192,88,195,.35); }
.box--shadow { box-shadow: 0 2.5rem 2rem -2rem rgba(77,36,25,.2); }

/* Arrow */
.box--arrow { padding-right: 4.8rem; }
.box--arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.6rem;
	width: 1.6rem;
	height: 1.6rem;
	margin-top: -.8rem;
	background: url(../img/icon-arrow.svg) no-repeat 0 0/6.4rem 1.6rem;
	transition: transform .2s;
}
.box--arrow.box--primary::before,
.box--arrow.box--platinum::before { background-position: -1.6rem 0; }
.box--arrow.box--exhibition::before,
.box--arrow.box--technical::before {
	background-position: -3.2rem 0;
	opacity: .87;
}
a.box--arrow:hover::before,
a.box--arrow:focus::before { transform: translateX(.2rem); }
a.box--arrow:active::before { transform: translateX(.4rem); }

/* Side border */
.box--side-border {
	padding-right: 2.8rem;
	padding-left: 2.8rem;
}
.box--side-border::before,
.box--side-border::after {
	content: "";
	position: absolute;
	top: .8rem;
	bottom: .8rem;
	width: .4rem;
  background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);
}
.box--side-border::before { left: .8rem; }
.box--side-border::after { right: .8rem; }

/* Button */
.box-btn { border-radius: .4rem; }

/* Heading */
.box-heading { margin-bottom: 1.4rem; }

@media (min-width:42.5em) {
	.box--1 { padding: 5.6rem; }
	.box--1.box--side-border {
		padding-right: 6.8rem;
		padding-left: 6.8rem;
	}
	.box--2 { padding: 3.2rem; }
	.box--2.box--side-border {
		padding-right: 4.4rem;
		padding-left: 4.4rem;
	}
	/*
	Scroll
	BUG: IE FF padding-bottomが消える
	*/
	.box--1.box--scroll,
	.box--2.box--scroll { padding-bottom:0; }
	.box--1.box--scroll::after { height: 5.6rem; }
	.box--2.box--scroll::after { height: 3.2rem; }

	/* Arrow */
	.box--arrow.box--1 { padding-right: 13rem; }
	.box--arrow.box--2 { padding-right: 8.2rem; }
	.box--arrow::before {
		width: 1.8rem;
		height: 1.8rem;
		margin-top: -.9rem;
		background-size: 7.2rem 1.8rem;
		transition: transform .2s;
	}
	.box--arrow.box--primary::before,
	.box--arrow.box--platinum::before { background-position: -1.8rem 0; }
	.box--arrow.box--exhibition::before,
	.box--arrow.box--technical::before { background-position: -3.6rem 0; }
	.box--arrow.box--1::before { right: 5.6rem; }
	.box--arrow.box--2::before { right: 3.2rem; }

	/* Heading */
	.box-heading { margin-bottom: 1.6rem; }
}


/*------------------------------------*\
    Labels
\*------------------------------------*/
.label {
	display: inline-block;
	padding: .125em .9em;
	color: #fff;
	text-align: center;
	text-indent: .1em;
	text-decoration: none;
	line-height: 1.2;
	letter-spacing: .1em;
	font-size: 1.4rem;
	font-weight: 400;
	font-feature-settings: "pkna";
}
.label--primary {
  background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);
}
.label--short {
	padding-right: 0;
	padding-left: 0;
	text-indent: 1em;
	letter-spacing: 1em;
}
.label--invert {
	background-color: #fff;
	background-image: none;
	color: rgba(0,0,0,.87);
}
.label--invert.label--primary { color: #74256e; }
.label--optional { background-color: rgba(0,0,0,.6); }
.label--end {
	color: #2a3478;
	background-color: #fece00;
}
.label--small {
	font-size: 1.2rem;
	vertical-align: .0833333333333333em;
}
.labe--top {
	margin-bottom: 1em;
	vertical-align: top;
}

@media (min-width:42.5em) {
	.label { font-size: 1.6rem; }
	.label--small {
		font-size: 1.4rem;
		vertical-align: .0714285714285714em;
	}
}


/*------------------------------------*\
    Caption
\*------------------------------------*/
.caption {
	margin-top: 1em;
	font-size: .875em;
}


/*------------------------------------*\
    Image
\*------------------------------------*/
/* Border */
.img-shadow { position: relative; }
.img-shadow::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	box-shadow: 0 0 0 .1rem rgba(0,0,0,.1) inset;
	pointer-events: none;
}

/* Padding */
.img-padding--1 { padding: 1.4rem; }
.img-padding--2 { padding: 1.6rem; }
.img-padding--3 { padding: 3.2rem; }
.img-padding img { vertical-align: middle; }

/* Float */
.img-float::after {
	content: "";
	display: block;
	clear: both;
	margin-bottom: -1.4rem;
}
.img-float__img,
.img-float__body { padding-bottom: 1.4rem; }
.img-float__img { width: 50%; }
.img-float__img--right {
	float: right;
	padding-left: 1.4rem;
}
.img-float__img--left {
	float: left;
	padding-right: 1.4rem;
}
.img-float__body > :last-child { margin-bottom: 0; }

@media (min-width:42.5em) {
	/* Padding */
	.img-padding--1-md { padding: 1.4rem; }
	.img-padding--2-md { padding: 1.6rem; }
	.img-padding--3-md { padding: 3.2rem; }

	/* Float */
	.img-float::after { margin-bottom: -4rem; }
	.img-float__img,
	.img-float__body { padding-bottom: 4rem; }
	.img-float__img { width: 33.3333%; }
	.img-float__img--right { padding-left: 4rem; }
	.img-float__img--left { padding-right: 4rem; }
}


/*------------------------------------*\
    Video
\*------------------------------------*/
.video {
	overflow: hidden;
	position: relative;
	max-width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}
.video--16-10 { padding-bottom: 62.5%; }
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}


/*------------------------------------*\
    Cards
\*------------------------------------*/
.card {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	height: 100%;
	background-color: #e8e8e8;
}
.card-inner,
.card-img { width: 100%; }
.card-inner {
	order: 2;
	padding: 1.6rem;
}
.card-inner > :last-child { margin-bottom: 0; }

/* Image */
.card-img {
	order: 1;
	background-color: #fff;
}

/* Heading */
.card-heading { margin-bottom: 1.4rem; }

/* Box */
.card-box {
	margin-right: -1.6rem;
	margin-left: -1.6rem;
	padding: 1.4rem 1.6rem;
	background-color: rgba(255,255,255,.5)
}

@media (min-width:42.5em) {
	.card-inner { padding: 3.2rem; }
	.card--horizontal-md .card-img,
	.card--horizontal-md .card-inner { width: 50%; }

	/* Image */
	.card--horizontal-md .card-img {
		display: flex;
		align-items: center;
	}

	/* Heading */
	.card-heading { margin-bottom: 1.6rem; }

	/* Box */
	.card-box {
		margin-right: -3.2rem;
		margin-left: -3.2rem;
		padding: 1.6rem 3.2rem;
	}
}

@media (min-width:72.5em) {
	.card--vertical-lg .card-img,
	.card--vertical-lg .card-inner { width: 100%; }
}


/*------------------------------------*\
    Date
\*------------------------------------*/
.date::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 .5em -.125em 0;
	background: url(../img/icon-calendar.svg) no-repeat 0 0/contain;
	opacity: .6;
}
.h3 + .date {
	margin-top: -.4rem;
	margin-bottom: 1.6rem;
}

@media (min-width:42.5em) {
	.date { font-size: 1.8rem; }
	.h3 + .date {
		margin-top: -2.4rem;
		margin-bottom: 4rem;
	}
}


/*------------------------------------*\
    Link arrow
\*------------------------------------*/
.link-arrow {
	display: inline-block;
	position: relative;
	text-decoration: none;
	transition: transform .2s;
}
.link-arrow--left { padding-left: 1.25em; }
.link-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1em;
	height: 1em;
	margin-top: -.5em;
	background: url(../img/icon-arrow.svg) no-repeat 0 0/4em 1em;
	transition: transform .2s;
}
a.link-arrow--left:focus,
a.link-arrow--left:hover { transform: translateX(.2rem); }
a.link-arrow--left:active { transform: translateX(.4rem); }
a.link-arrow--left:hover::before,
a.link-arrow--left:focus::before { transform: translateX(.2rem); }
a.link-arrow--left:active::before { transform: translateX(.4rem); }


/*------------------------------------*\
    Magnific popup
\*------------------------------------*/
.mfp-container {
	padding-right: 1.6rem;
	padding-left: 1.6rem;
}

@media (min-width:42.5em) {
	.mfp-container {
		padding-right: 8rem;
		padding-left: 8rem;
	}
}




/*============================================================================*\
    $Object -- Project
\*============================================================================*/




/*============================================================================*\
    $Object -- Utilities（原則編集禁止）
\*============================================================================*/

/* Display */
.d-none { display: none; }
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }

@media (min-width:30em) {
	.d-sm-none { display: none!important; }
	.d-sm-block { display: block!important; }
	.d-sm-inline { display: inline!important; }
	.d-sm-inline-block { display: inline-block!important; }
}

@media (min-width:42.5em) {
	.d-md-none { display: none!important; }
	.d-md-block { display: block!important; }
	.d-md-inline { display: inline!important; }
	.d-md-inline-block { display: inline-block !important; }
}

@media (min-width:72.5em) {
	.d-lg-none { display: none!important; }
	.d-lg-block { display: block!important; }
	.d-lg-inline { display: inline!important; }
	.d-lg-inline-block { display: inline-block!important; }
}

@media print {
	.d-print-none { display: none!important; }
	.d-print-block { display: inline!important; }
	.d-print-inline { display: inline!important; }
	.d-print-inline-block { display: inline-block!important; }
}

/* Only for screen readers */
.sr-only { overflow: hidden; position: absolute!important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; }
.sr-only:focus {
	display: block;
	z-index: 100000;
	top: 1.6rem;
	left: 1.6rem;
	clip: auto!important;
	width: auto;
	height: auto;
	padding: 1em 1.9em;
	border-radius: .4rem;
	box-shadow: 0 0 .2rem .2rem rgba(0,0,0,.6);
	background-color: #74256e;
	background-image: linear-gradient(135deg,#ff9b80 0%,#74256e 80%,#f24114 100%);
	font-size: 1.6rem;
	font-weight: 700;
	font-feature-settings: "pkna";
	line-height: 1.3;
	letter-spacing: .1em;
	text-align: center;
	text-indent: .1em;
	text-decoration: none;
}

@media (min-width:42.5em) {
	.sr-only:focus { font-size: 1.8rem; }
}

/* Clearing */
.clr { clear: both; }
.clearfix::after { content: ""; display: block; clear: both; }

/* Float */
.float-left { float: left; }
.float-right { float: right; }
.float-none { float: none; }

@media (min-width:30em) {
	.float-sm-left { float: left; }
	.float-sm-right { float: right; }
	.float-sm-none { float: none; }
}

@media (min-width:42.5em) {
	.float-md-left { float: left; }
	.float-md-right { float: right; }
	.float-md-none { float: none; }
}

@media (min-width:72.5em) {
	.float-lg-left { float: left; }
	.float-lg-right { float: right; }
	.float-lg-none { float: none; }
}

/* Lists */
.list-flat,
.list-inline { list-style: none; padding-left: 0; }
.list-inline > li { display: inline; }
.list-inline > li:not(:last-of-type) { margin-right: .75em; }
.list-flat dt { font-weight: 400; }
.list-flat dd { margin-left: 0; }

/* Widths */
.w-100 { width: 100%; }
.w-90 { width: 90%; }
.w-80 { width: 80%; }
.w-75 { width: 75%; }
.w-70 { width: 70%; }
.w-66 { width: 66%; }
.w-60 { width: 60%; }
.w-50 { width: 50%; }
.w-40 { width: 40%; }
.w-33 { width: 33%; }
.w-30 { width: 30%; }
.w-25 { width: 25%; }
.w-20 { width: 20%; }
.w-10 { width: 10%; }
.w-auto { width: auto; }

/* Margins */
.m-0 { margin: 0!important; }
.mt-0,.my-0 { margin-top: 0!important; }
.mb-0,.my-0 { margin-bottom:0!important; }
.mr-0,.mx-0 { margin-right: 0!important; }
.ml-0,.mx-0 { margin-left: 0!important; }
.m-1 { margin: .5rem!important; }
.mt-1,.my-1 { margin-top: .4rem!important; }
.mr-1,.mx-1 { margin-right: .4rem!important; }
.mb-1,.my-1 { margin-bottom:.4rem!important; }
.ml-1,.mx-1 { margin-left: .4rem!important; }
.m-2 { margin: 1rem!important; }
.mt-2,.my-2 { margin-top: .8rem!important; }
.mr-2,.mx-2 { margin-right: .8rem!important; }
.mb-2,.my-2 { margin-bottom:.8rem!important; }
.ml-2,.mx-2 { margin-left: .8rem!important; }
.m-3 { margin: 1.5rem!important; }
.mt-3,.my-3 { margin-top: 1.6rem!important; }
.mr-3,.mx-3 { margin-right: 1.6rem!important; }
.mb-3,.my-3 { margin-bottom:1.6rem!important; }
.ml-3,.mx-3 { margin-left: 1.6rem!important; }
.m-4 { margin: 3rem!important; }
.mt-4,.my-4 { margin-top: 2.4rem!important; }
.mr-4,.mx-4 { margin-right: 2.4rem!important; }
.mb-4,.my-4 { margin-bottom:2.4rem!important; }
.ml-4,.mx-4 { margin-left: 2.4rem!important; }
.m-5 { margin: 5rem!important; }
.mt-5,.my-5 { margin-top: 3.2rem!important; }
.mr-5,.mx-5 { margin-right: 3.2rem!important; }
.mb-5,.my-5 { margin-bottom:3.2rem!important; }
.ml-5,.mx-5 { margin-left: 3.2rem!important; }
.mr-auto,.mx-auto { margin-right: auto!important; }
.ml-auto,.mx-auto { margin-left: auto!important; }

/* Paddings */
.p-0 { padding-top: 0!important; }
.pt-0,.py-0 { padding-top: 0!important; }
.pb-0,.py-0 { padding-bottom:0!important; }
.pr-0,.px-0 { padding-right: 0!important; }
.pl-0,.px-0 { padding-left: 0!important; }
.p-1 { padding: .5rem!important; }
.pt-1,.py-1 { padding-top: .4rem!important; }
.pr-1,.px-1 { padding-right: .4rem!important; }
.pb-1,.py-1 { padding-bottom:.4rem!important; }
.pl-1,.px-1 { padding-left: .4rem!important; }
.p-2 { padding: 1rem!important; }
.pt-2,.py-2 { padding-top: .8rem!important; }
.pr-2,.px-2 { padding-right: .8rem!important; }
.pb-2,.py-2 { padding-bottom:.8rem!important; }
.pl-2,.px-2 { padding-left: .8rem!important; }
.p-3 { padding: 1.5rem!important; }
.pt-3,.py-3 { padding-top: 1.6rem!important; }
.pr-3,.px-3 { padding-right: 1.6rem!important; }
.pb-3,.py-3 { padding-bottom:1.6rem!important; }
.pl-3,.px-3 { padding-left: 1.6rem!important; }
.p-4 { padding: 3rem!important; }
.pt-4,.py-4 { padding-top: 2.4rem!important; }
.pr-4,.px-4 { padding-right: 2.4rem!important; }
.pb-4,.py-4 { padding-bottom:2.4rem!important; }
.pl-4,.px-4 { padding-left: 2.4rem!important; }
.p-5 { padding: 5rem!important; }
.pt-5,.py-5 { padding-top: 3.2rem!important; }
.pr-5,.px-5 { padding-right: 3.2rem!important; }
.pb-5,.py-5 { padding-bottom:3.2rem!important; }
.pl-5,.px-5 { padding-left: 3.2rem!important; }

/* Borders */
.border { border: .1rem solid; }
.border-bottom { border-bottom: .1rem solid; }
.border-light { border-color: #e3e3e3; }
.border-exhibition { border-color: #00b76b; }
.border-lecture { border-color: #00b7ff; }
.border-seminar { border-color: #ff9842; }
.border-technical { border-color: #c058c3; }
.border-cafe { border-color: #e20012; }
.border-af-old { border-color: #47b4a8; /* No theme */ }

/* Background colors */
.bg-primary { background-color: #74256e; }
.bg-primary-gradation {
  background-color: #74256e;
  background-image: linear-gradient(138deg, #b053a9 0%, #74256e 50%, #52104d 100%);
}
.bg-secondary { background-color: #74256e29; }
.bg-tertiary { background-color: #333; }
.bg-tertiary-gradation {
	background-color: #333;
	background-image: linear-gradient(135deg,#595757 0%,#333 80%,#000 100%);
}
.bg-quaternary { background-color: #e8e8e8; }
.bg-light-gradation {
	background-color: #e3e3e3;
	background-image: linear-gradient(135deg,#fff 10%,#e3e3e3 50%);
}
.bg-white { background-color: #fff; }
.bg-exhibition,
.bg-technical-c { background-color: #00b76b; }
.bg-lecture,
.bg-technical-b { background-color: #00b7ff; }
.bg-seminar { background-color: #ff9842; }
.bg-technical { background-color: #c058c3; }
.bg-outline,
.bg-cafe,
.bg-technical-a { background-color: #e20012; }
.bg-form { background-color: #3f63df; }
.bg-exhibition-report { background-color: #fff9d8; }
.bg-exhibition-bnr { background: #2a3478 url(../img/bg-exhibition-bnr.png)no-repeat center center/cover; /* No theme */ }

/* Color */
.text-body { color: rgba(0,0,0,.87); }
.text-primary { color: #74256e; }
.text-danger { color: #e20012; }
.text-warning { color: #35a; }
.text-white { color: #fff; }

/* Text styles */
.font-bold { font-weight: 700!important; }
.font-normal { font-weight: 400!important; }
.font-thin { font-weight: 300!important; }
.font-italic { font-style: italic; }
.font-size-l {
	font-size: 1.875em;
	line-height: 1.4;
}
.font-size-m { font-size: 1.125em; }
.font-size-s { font-size: .875em; }

/* Line height */
.line-height-1 { line-height: 1; }

/* Vertical alignment */
.align-baseline { vertical-align: baseline !important; }
.align-top { vertical-align: top !important; }
.align-middle { vertical-align: middle !important; }
.align-bottom { vertical-align: bottom !important; }
.align-text-bottom { vertical-align: text-bottom !important; }
.align-text-top { vertical-align: text-top !important; }

/* Text indents */
.text-indent-1,
li.text-indent-1,
ul.text-indent-1 > li { padding-left: 1em; text-indent: -1em; }
.text-indent-2,
li.text-indent-2,
ul.text-indent-2 > li { padding-left: 2em; text-indent: -2em; }
ul.text-indent-1,
ul.text-indent-2 { list-style: none; padding-left: 0; text-indent: 0; }

/* Text wrapping */
.text-nowrap { white-space: nowrap; }

@media (min-width:30em) {
	.text-nowrap-sm { white-space: nowrap; }
}

@media (min-width:42.5em) {
	.text-nowrap-md { white-space: nowrap; }
}

@media (min-width:72.5em) {
	.text-nowrap-lg { white-space: nowrap; }
}

/* Text align & Font style */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

/* Word break */
.text-break { word-break: break-all; }


/* 2024 add  */
/* top */
.bg-quaternary.flex_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (min-width:42.5em) {
  .box--2.border-af-old .box-btn__btn {
    margin-bottom: 2.4rem;
  }
  .box--2.border-af-old {
    padding-bottom: 2.6rem;
}
}
