@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* reset & base
 ----------------------------------------------------------------- */
	html, body, div, 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,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, figcaption, figure, 
	footer, header, hgroup, menu, nav, section, summary,
	time, mark, audio, video {
		margin: 0;
		padding: 0;
		vertical-align: baseline;
		border: 0;
		outline: 0;
		background: transparent;
	}
	article, aside, details, figcaption, figure,
	footer, header, hgroup, menu, nav, section {
		display: block;
	}
	nav ul {
		list-style:none;
	}
	blockquote, q {
		quotes:none;
	}
	blockquote::before, blockquote::after,
	q::before, q::after {
		content: '';
		content: none;
	}
	a {
		margin: 0;
		padding: 0;
		vertical-align: baseline;
		background: transparent;
	}
	
	ins {
		text-decoration: none;
		color: #333;
		background-color: #ff9;
	}
	
	mark {
		font-weight: bold;
		font-style: italic;
		color: #333;
		background-color: #ff9;
	}
	del {
		text-decoration: line-through;
	}
	abbr[title], dfn[title] {
		cursor: help;
		border-bottom: 1px dotted;
	}
	table {
		border-spacing: 0;
		border-collapse: collapse;
	}
	
	hr {
		display: block;
		height: 1px;
		margin: 1em 0;
		padding: 0;
		border: 0;
		border-top: 1px solid #ccc;
	}
	input, select {
		vertical-align: middle;
	}

	html {
		font-size: 62.5%;
	}
	body {
		font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic' , sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1.75;
		height: 100%;
		letter-spacing: .05em;
		color: #333;
		overflow-y: scroll;
	}
	@media screen and (max-width:599px) {
		body {
			font-size: 1.4rem;
		}
	}
	img {
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	a {
		display: block;
		text-decoration: none;
		color: #333;
	}
	a:hover {
		text-decoration: underline;
	}
	a.hover:hover {
		transition: opacity .3s ease;
		opacity: .8;
	}
	*,
	*::before,
	*::after {
		box-sizing: content-box;
	}
	.clearfix::after {
		display: block;
		clear: both;
		content: '';
	}
	.sp_tab-only,
	.sp-only {
		display: none!important;
	}
	.pc-only {
		display: block!important;
	}
	@media screen and (max-width:1024px) {
		.sp_tab-only {
			display: block!important;
		}
		.pc-only {
			display: none!important;
		}
	}
	@media screen and (max-width:599px) {
		.sp-only {
			display: block!important;
		}
	}

/* layout
 ----------------------------------------------------------------- */
	.wrapper-full {
		display: flex;
		overflow-x: hidden;
		width: 100%;
	}
	.header {
		position: relative;
		z-index: 10;
		width: 196px;
		background: #fff;
		box-shadow: 0 3px 10px -5px rgb(0 0 0 / 50%);

		flex: 0 0 196px;
	}
	.wrapper-r {
		width: calc(100% - 196px);

		flex: 1 1 auto;
	}
	.inner {
		overflow: hidden;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
		padding-right: 30px;
		padding-left: 30px;
	}
	.inner-s {
		overflow: hidden;
		max-width: 830px;
		margin-left: auto;
		margin-right: auto;
		padding-right: 30px;
		padding-left: 30px;
	}

/* page共通 section共通
 ----------------------------------------------------------------- */
.page-ttl {
	position: relative;
	width: 100%;
	height: 300px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 300px;
}
@media screen and (min-width:1920px) {
	.page-ttl {
		background-size: cover;
	}
}
.page-ttl img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 481px;
	transform: translate(-50%, -50%);
}
.sec-cont {
	padding: 76px 0;
}
.sec-title {
	font-family: nitalago-ruika, sans-serif;
	font-size: 4.0rem;
	font-weight: 100;
	font-style: normal;
	position: relative;
	margin-bottom: 64px;
	text-align: center;
	line-height: 1.125;
}
.sec-title::after {
	position: absolute;
	left: 50%;
	display: block;
	width: 60px;
	height: 4px;
	content: '';
	transform: translateX(-50%);
	background: #0b8c5d;
	bottom: -16px;
}
.sec-lead {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
}
.-inBlock {
	display: inline-block;
}
a.txt-link {
	display: inline-block;
	text-decoration: none;
	color: #009360;
}
a.txt-link:hover {
	text-decoration: underline;
}

/* header
 ----------------------------------------------------------------- */
	.header-inner {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		overflow-x: hidden;
		overflow-y: auto;
		width: 196px;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.header-inner::-webkit-scrollbar {
		display:none;
	}
	.header-logo {
		padding: 18px 10px;
	}
	.header-menu {
		font-size: 1.4rem;
		font-weight: 700;
		margin: 13px 0 0;
	}
	@media screen and (min-width:1025px) {
		.header-menu {
			display: block!important;
		}
	}
	.header-menu a:hover {
		text-decoration: none;
	}
	.header-item {
		height: 40px;
		border-bottom: 1px solid #e5e5e5;
	}
	.header-menu-wrap .header-item:nth-of-type(2) {
		border-top: 1px solid #e5e5e5;
	}
	.header-lnk {
		display: flex;
		height: 100%;
		padding-left: 15px;
		cursor: pointer;

		align-items: center;
		position: relative;
	}
	.header-icon {
		width: 22px;
		height: 22px;
		margin-right: 8px;
	}
	#menber-aco-cont,
	.js-aco-cont {
		display: none;
	}
	.menber-item {
		height: 40px;
		border-bottom: 1px solid #fff;
	}
	.menber-item:last-child {
		border-bottom: none;
	}
	.menber-lnk {
		display: flex;
		height: 100%;
		color: #fff;

		align-items: center;
		justify-content: center;
		position: relative;
	}
	.header-lnk::before,
	.menber-lnk::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		transition: background .3s;
	}
	.header-lnk:hover::before,
	.menber-lnk:hover::before {
		background: rgba(0,0,0,.05);
	}
	.header-item-arrow .header-lnk {
		position: relative;
	}
	.header-item-arrow .header-lnk::after {
		position: absolute;
		right: 15px;
		width: 8px;
		height: 8px;
		content: '';
		transition: transform .5s;
		transform: rotate(135deg);
		border-top: 1px solid #333;
		border-right: 1px solid #333;
	}
	.header-item-arrow.menber-open .header-lnk::after,
	.header-item-arrow.js-open .header-lnk::after {
		transform: rotate(-45deg);
	}
	#menber-aco-cont.menber-open,
	.js-aco-cont.js-open {
		display: block;
	}
	.present-color {
		background-color: #f7931d;
	}
	@media screen and (min-width:1025px) {
		.menber-item.booth-color03 .menber-lnk {
			letter-spacing: -.05em;
		}
	}

/* sponsor
 ----------------------------------------------------------------- */
	.sponsor-ttl {
		font-size: 1.2rem;
		font-weight: 700;
		line-height: 25px;
		padding-left: 15px;
		letter-spacing: .2em;
		background: #e8f7ee;
		border-bottom: 1px solid #e5e5e5;
	}
	.sponsor-img a {
		padding: 12px 30px;
		position: relative;
		transition: background .3s;
	}
	.sponsor-img a::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		transition: background .3s;
	}
	.sponsor-img a:hover::after {
		background: rgba(0,0,0,.05);
	}
	.sponsor-img + .sponsor-img {
		margin-top: -10px;
	}
	.sponsor-img + .sponsor-ttl,
	.sponsor-img + .header-menu {
		border-top: 1px solid #e5e5e5;
	}
	.sponsor-img + .header-menu {
		margin-top: 0;
	}

/* footer
 ----------------------------------------------------------------- */
	#page_top {
		z-index: 4;
		position: fixed;
		width: 72px;
		height: 72px;
		background: url('../img/common/icn_backtop.svg') no-repeat;
		background-size: contain;
		bottom: 50px;
		right: -73px;
		opacity: 0;
		transition: opacity 1s, right .5s;
		border-radius: 50%;
	}
	#page_top::after {
		position: absolute;
		content: "";
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		background: url('../img/common/icn_backtop_hov.svg') no-repeat;
		background-size: contain;
		opacity: 0;
		transition: opacity .3s;
		border-radius: 50%;
	}
	#page_top.show {
		opacity: 1;
		right: 25px;
	}
	#page_top:hover::after {
		opacity: 1;
	}
	.footer {
		background: #191919;
	}
	.footer-logo {
		max-width: 680px;
		margin: 0 auto;
		padding: 57px 30px 37px;
	}
	.footer-menu {
		font-size: 1.4rem;
		display: flex;
		margin-bottom: 20px;
		flex-wrap: wrap;
		justify-content: center;
	}
	.footer-lnk {
		margin: 0 12px 30px;
	}
	.footer-lnk a {
		text-decoration: underline;
		color: #fff;
	}
	.footer-lnk a:hover {
		text-decoration: none;
	}
	.copyright {
		font-size: 1.2rem;
		padding: 5px 0;
		text-align: center;
		color: #fff;
		background: #009360;
	}

/* booth-color
 ----------------------------------------------------------------- */
	.booth-color01, .booth-bgcolor01 .company-item-cate, .booth-bgcolor01 .company-item-link a {background-color: #f7931e;}
	.booth-color02, .booth-bgcolor02 .company-item-cate, .booth-bgcolor02 .company-item-link a {background-color: #717071;}
	.booth-color03, .booth-bgcolor03 .company-item-cate, .booth-bgcolor03 .company-item-link a {background-color: #00baab;}
	.booth-color04, .booth-bgcolor04 .company-item-cate, .booth-bgcolor04 .company-item-link a {background-color: #b82c8b;}
	.booth-color05, .booth-bgcolor05 .company-item-cate, .booth-bgcolor05 .company-item-link a {background-color: #317a49;}
	.booth-color06, .booth-bgcolor06 .company-item-cate, .booth-bgcolor06 .company-item-link a {background-color: #ed518d;}
	.booth-color07, .booth-bgcolor07 .company-item-cate, .booth-bgcolor07 .company-item-link a {background-color: #0b308e;}
	.booth-color08, .booth-bgcolor08 .company-item-cate, .booth-bgcolor08 .company-item-link a {background-color: #c79f62;}

	.booth-bgcolor01 .company-item-link a, .booth-bgcolor01 .company-item-link a:hover::after, .anchor-list a.booth-color01 {border-color: #f7931e;}
	.booth-bgcolor02 .company-item-link a, .booth-bgcolor02 .company-item-link a:hover::after, .anchor-list a.booth-color02 {border-color: #717071;}
	.booth-bgcolor03 .company-item-link a, .booth-bgcolor03 .company-item-link a:hover::after, .anchor-list a.booth-color03 {border-color: #00baab;}
	.booth-bgcolor04 .company-item-link a, .booth-bgcolor04 .company-item-link a:hover::after, .anchor-list a.booth-color04 {border-color: #b82c8b;}
	.booth-bgcolor05 .company-item-link a, .booth-bgcolor05 .company-item-link a:hover::after, .anchor-list a.booth-color05 {border-color: #317a49;}
	.booth-bgcolor06 .company-item-link a, .booth-bgcolor06 .company-item-link a:hover::after, .anchor-list a.booth-color06 {border-color: #ed518d;}
	.booth-bgcolor07 .company-item-link a, .booth-bgcolor07 .company-item-link a:hover::after, .anchor-list a.booth-color07 {border-color: #0b308e;}
	.booth-bgcolor08 .company-item-link a, .booth-bgcolor08 .company-item-link a:hover::after, .anchor-list a.booth-color08 {border-color: #c79f62;}

	.booth-bgcolor01, .anchor-list a.booth-color01:hover {background-color: #fdead6;}
	.booth-bgcolor02, .anchor-list a.booth-color02:hover {background-color: #e3e2e3;}
	.booth-bgcolor03, .anchor-list a.booth-color03:hover {background-color: #d7f1ee;}
	.booth-bgcolor04, .anchor-list a.booth-color04:hover {background-color: #f3d7e8;}
	.booth-bgcolor05, .anchor-list a.booth-color05:hover {background-color: #d8e5db;}
	.booth-bgcolor06, .anchor-list a.booth-color06:hover {background-color: #fddde8;}
	.booth-bgcolor07, .anchor-list a.booth-color07:hover {background-color: #cfd7e9;}
	.booth-bgcolor08, .anchor-list a.booth-color08:hover {background-color: #f6efe6;}
	.booth-bgcolor-able, .anchor-list a.booth-color08:hover {background-color: #009b69;}


/* for tablet */
@media screen and (max-width:1024px) {
/* layout
 ----------------------------------------------------------------- */
	.wrapper-full {
		display: block;
	}
	.header {
		width: 100%;
		box-shadow: none;
		border-bottom: 1px solid #e5e5e5;
	}
	.wrapper-r {
		width: 100%;
	}

/* header
 ----------------------------------------------------------------- */
	.header-inner {
		position: relative;
		width: 100%;
		overflow: hidden;
	}
	.header-logo {
		display: flex;
		width: 303px;
		height: 65px;
		padding: 0 10px 0 10px;

		align-items: center;
	}
	.header-map {
		position: absolute;
		top: 0;
		right: 56px;
		width: 62px;
		height: 65px;
		text-align: center;
	}
	.header-map img {
		width: 50px;
		padding: 12px 0;
	}
	.header-menu {
		font-size: 1.6rem;
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		display: none;
		overflow-y: auto;
		max-height: 100%;
		margin: 0;
		background: #fff;
		height: 100vh;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.header-menu::-webkit-scrollbar {
		display:none;
	}
	.header-item,
	.menber-item {
		height: 52px;
	}
	.header-icon {
		width: 28px;
		height: 28px;
		margin-right: 12px;
	}
	.header-item-arrow .header-lnk::after {
		width: 10px;
		height: 10px;
	}
	.menber-lnk {
		padding-left: 55px;

		justify-content: flex-start;
	}
	.memu-btn {
		position: fixed;
		z-index: 20;
		top: 0;
		right: 0;
		width: 56px;
		height: 65px;
		cursor: pointer;
	}
	.memu-btn-menu,
	.memu-btn-close {
		line-height: 8px;
		position: absolute;
		bottom: 12px;
		left: 50%;
		width: 32px;
		margin-left: -16px;
		transition: opacity .4s;
	}
	.memu-btn-close {
		opacity: 0;
	}
	.memu-btn-line,
	.memu-btn-line::after,
	.memu-btn-line::before {
		position: absolute;
		left: 50%;
		display: block;
		width: 32px;
		height: 2px;
		margin-left: -16px;
		background: #0b8c43;
	}
	.memu-btn-line {
		top: 26px;
		transition: background .2s;
	}
	.memu-btn-line::before {
		top: -11px;
		content: '';
		transition: transform .4s;
	}
	.memu-btn-line::after {
		top: 11px;
		content: '';
		transition: transform .4s;
	}
	.memu-btn.nav-open .memu-btn-menu {
		opacity: 0;
	}
	.memu-btn.nav-open .memu-btn-close {
		opacity: 1;
	}
	.memu-btn.nav-open .memu-btn-line {
		background: none;
	}
	.memu-btn.nav-open .memu-btn-line::before {
		transform: translateY(11px) rotate(45deg);
	}
	.memu-btn.nav-open .memu-btn-line::after {
		transform: translateY(-11px) rotate(-45deg);
	}

/* footer
 ----------------------------------------------------------------- */
	#page_top {
		width: 40px;
		height: 40px;
		right: -41px;
	}
	#page_top.show {
		right: 10px;
	}
	.footer-menu {
		max-width: 675px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 18px;
		padding-right: 50px;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}


/* for sp */
@media screen and (max-width:599px) {
/* layout
 ----------------------------------------------------------------- */
	.inner,
	.inner-s {
		padding: 0 12px;
		padding: 0 3.2vw;
	}
	.inner-s {
		
	}

/* page共通 section共通
 ----------------------------------------------------------------- */
	.page-ttl {
		height: 150px;
		height: 40vw;
		background-size: cover;
	}
	.page-ttl img {
		width: 260px;
		width: 69.33vw;
	}
	.sec-cont {
		padding: 35px 0;
		padding: 9.33vw 0;
	}
	.sec-title {
		font-size: 2.0rem;
		font-size: 5.33vw;
		margin-bottom: 40px;
		margin-bottom: 10.67vw;
	}
	.sec-title::after {
		width: 30px;
		width: 8vw;
		height: 2px;
		bottom: -9px;
		bottom: -2.4vw;
	}
	.sec-lead {
		font-size: 1.4rem;
		font-size: 3.73vw;
	}

/* header
 ----------------------------------------------------------------- */
	.header-logo {
		width: 68.53vw;
		max-width: 260px;
		height: 55px;
	}
	.header-map {
		right: 50px;
		width: 13.33vw;
		max-width: 50px;
		height: 55px;
	}
	.header-map img {
		width: 42px;
		padding: 10px 0;
	}
	.header-menu {
		font-size: 1.5rem;
	}
	.header-item,
	.menber-item {
		height: 45px;
	}
	.header-icon {
		width: 25px;
		height: 25px;
		margin-right: 10px;
	}
	.header-lnk {
		padding-left: 12px;
	}
	.header-item-arrow .header-lnk::after {
		width: 10px;
		height: 10px;
	}
	.menber-lnk {
		padding-left: 47px;
	}
	.memu-btn {
		width: 13.33vw;
		max-width: 50px;
		height: 55px;
	}
	.memu-btn-menu,
	.memu-btn-close {
		line-height: 8px;
		bottom: 8px;
		width: 28px;
		margin-left: -14px;
	}
	.memu-btn-line,
	.memu-btn-line::after,
	.memu-btn-line::before {
		width: 28px;
		margin-left: -14px;
	}
	.memu-btn-line {
		top: 22px;
	}
	.memu-btn-line::before {
		top: -10px;
	}
	.memu-btn-line::after {
		top: 10px;
	}
	.memu-btn.nav-open .memu-btn-line::before {
		transform: translateY(10px) rotate(45deg);
	}
	.memu-btn.nav-open .memu-btn-line::after {
		transform: translateY(-10px) rotate(-45deg);
	}

/* footer
 ----------------------------------------------------------------- */
	#page_top {
		bottom: 40px;
	}
	.footer-logo {
		padding: 30px 15px 6px;
		padding-right: 4vw;
		padding-left: 4vw;
	}
	.footer-menu {
		font-size: 1.2rem;
		margin: 0 50px 5px 7px;
		margin-left: 1.87vw;
		padding: 0;
	}
	.footer-lnk {
		margin: 5px 10px;
		margin: 5px 2.67vw;
	}
	.copyright {
		font-size: 1.1rem;
	}

}