@charset "UTF-8";

body {
	width: 100vw;
	margin: 0;
	padding: 0;
	font-family: 'Noto Serif JP', 'Noto Sans JP',"Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 3.75vw;
	font-weight: 400;
	line-height: 2;
	color: #585858;
	background: #fff;
	overflow-x: hidden;
}
div.inner {
	width: 100vw;
	height: auto;
	overflow: hidden;
	position: relative;
}
main, section, footer {
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
}
div {
	margin: 0;
	padding: 0;
}
a:hover {
	opacity: 0.85;
}
a,a:link,a:hover,a:visited{
text-decoration:none;
}
ol,
ul {
	list-style: none;
	padding-inline-start: 0;
	margin: 0;
	margin-block-start: 0;
	margin-block-end: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
}
.section_inner {
	width: 90%;
	margin: 0 auto;
}
.footer_inner {
	width: 80%;
	margin: 0 auto;
}
p {
	text-align: justify;
}
html {
	scroll-behavior: smooth;
}


/*----------------------------------------------- 共通 */
/*CSSアニメーション*/

@keyframes blink{
	0% {opacity:0;}
	100% {opacity:1;}
}
.blinking{
	animation:blink 1s ease-in-out infinite alternate;
}
@keyframes blinkyura{
	0% {
		opacity:0;
		transform: rotate(10deg)
	}
	50%{
		transform: rotate(-10deg);
	}
	100% {opacity:1;
			transform: rotate(10deg)}
}
.blinking_yura{
	animation:blink 1s ease-in-out infinite alternate;
}
@keyframes blinkslow{
	0% {opacity:0;
		transform: rotate(10deg)
	}
	20%{opacity:1;
	}
	50%{
		transform: rotate(-10deg);
	}
	100% {opacity:1;
		transform: rotate(10deg)
	}
}
.blinking_slow{
	animation:blinkslow 2s ease-in-out infinite alternate;
}


@keyframes yurayura {
	0% , 100%{
	transform: rotate(5deg);
}
	50%{
	transform: rotate(-5deg);
	}
}
.yurayura{
	transform-origin: center bottom;
	animation: yurayura 3s linear infinite;
}

@keyframes katakata {
	0% {transform:translate(0, 0) rotate(0deg);}
	21% {transform:translate(0, 0) rotate(0deg);}

	22% {transform:translate(0, 0) rotate(-3deg);}
	23% {transform:translate(0, -1px) rotate(0deg);}
	24% {transform:translate(0, -1px) rotate(3deg);}

	25% {transform:translate(1px, 0) rotate(-2deg);}
	26% {transform:translate(0, 1px) rotate(0deg);}
	27% {transform:translate(0, 0) rotate(3deg);}

	28% {transform:translate(0, 0) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(0deg);}
}
.katakata {
	animation:katakata 4s infinite ease-in-out alternate;
}


.reflection {
	height: 100%;
	width: 15px;
	position: absolute;
	top: -180px;
	left: 0;
	background-color: #fff;
	opacity :0;
	transform: rotate(45deg);
	animation: reflection 4s ease-in-out infinite;
	-webkit-transform: rotate(45deg);
	-webkit-animation: reflection 4s ease-in-out infinite;
	-moz-transform: rotate(45deg);
	-moz-animation: reflection 4s ease-in-out infinite;
	-ms-transform: rotate(45deg);
	-ms-animation: reflection 4s ease-in-out infinite;
	-o-transform: rotate(45deg);
	-o-animation: reflection 4s ease-in-out infinite;
}
@keyframes reflection {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
	0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
	0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

.fuwayura {
	animation: wobbling_x 1.0s ease-in-out infinite alternate,
	wobbling_y 1.8s ease-in-out infinite alternate;
}
@keyframes wobbling_x {
	0% {
		margin-left: 5px;
	}

	100% {
		margin-left: 0px;
	}
}
@keyframes wobbling_y {
	0% {
		margin-top: 0px;
	}

	100% {
		margin-top: 5px;
	}
}

.poyopoyo_1 {
	animation: poyopoyo 3s ease-out infinite;
	opacity: 1;
}
@keyframes poyopoyo {
	0%, 40%, 60%, 80% {
		transform: scale(1.0);
	}
	50%, 70% {
		transform: scale(0.95);
	}
}
.poyopoyo_2 {
	animation: poyopoyo 3s ease-out infinite;
	animation-delay: 0.5s;
	opacity: 1;
}
.poyopoyo_3 {
	animation: poyopoyo 3s ease-out infinite;
	animation-delay: 1s;
	opacity: 1;
}

.small {
	font-size: 0.8em;
}
.frame_top {
	display: block;
	width: 100vw;
	height: 20vw;
	background-image: url(../img/frame_top.svg);
	background-repeat: no-repeat; 
	background-size: cover;
	background-position: top center;
	position: absolute;
	top: -6vw;
	right: 0;
	left: 0;
	z-index: -1;
	mix-blend-mode: multiply;
	margin: auto;
}
.frame_left {
	display: block;
	width: 7vw;
	height: 100vh;
	background-image: url(../img/frame_left.svg);
	background-repeat: no-repeat; 
	background-size: cover;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
	mix-blend-mode: multiply;
	opacity: 0.7;
}
.frame_right {
	display: block;
	width: 10vw;
	height: 100vh;
	background-image: url(../img/frame_right.svg);
	background-repeat: no-repeat; 
	background-size: cover;
	position: fixed;
	right: 0;
	top: 0;
	z-index: -1;
	mix-blend-mode: multiply;
	opacity: 0.7;
}
.bk_color {
	display: block;
	background-image: repeating-linear-gradient( 90deg, rgb(189 167 109 / 10%) , rgb(189 167 109 / 10%) 1px, transparent 1px, transparent 16px ), repeating-linear-gradient( 0deg, rgb(189 167 109 / 10%) , rgb(189 167 109 / 10%) 1px, #fffdfb 1px, #fffdfb 16px );
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: -2;
}
.btn {
	margin: 5vw auto 10vw;
}
.btn a {
	display: block;
	width: 80%;
	text-align: center;
	line-height: 3;
	font-size: 4vw;
	font-weight: 500;
	color: #fff;
	border-radius: 50px;
	background-color: #eb5415;
	box-shadow: 0 5px rgba(66,66,66,0.25);
	margin: auto;
}
h2 {
	position: relative;
	display: block;
	width: 55%;
	max-width: 300px;
	height: 40px;
	line-height: 40px;
	padding: 0 1rem;
	background-color: #bfaa42;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	margin: 5vw auto 7vw;
}
h2::before,
h2::after {
	position: absolute;
	top: 0;
	width: 0px;
	height: 0px;
	border-color: #bfaa42 transparent;
	border-style: solid;
	content: '';
}
h2::before {
	left: -15px;
	border-width: 20px 0px 20px 15px;
}
.ribbon {
	display: block;
	width: 85%;
	color: #fff;
	position: relative;
	height: 40px;
	line-height: 40px;
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	background: #000;
	box-sizing: border-box;
	margin: 7vw auto;
}
.ribbon:before, .ribbon:after {
	display: block;
	border-radius: 50%;
	background-color: #000;
	position: absolute;
	content: '';
	width: 30px;
	height: 30px;
	z-index: -1;
	margin: auto;
	top: 0;
	bottom: 0;
}
.ribbon:before {
	left: -15px;
}
.ribbon:after {
	right: -15px;
}
h2.ribbon {
	font-family: 'Noto Serif JP';
	font-weight: 600;
	font-size: 5.5vw;
}
.nav i {
	margin-right: 0.5em;
}
.nav.food i {
	color: #DC5449;
}
.nav.fashion i {
	color: #9B6CAC;
}
.nav.beauty i {
	color: #EC7080;
}
.nav.interior i {
	color: #3980C3;
}
.nav a {
	font-size: 0.9em;
	font-weight: 500;
	color: #585858;
}
.nav span {
	border-bottom: dashed 1px #585858;
	padding-bottom: 0.25em;
}
.annai {
	text-align: center;
	margin: 1.5em auto;
	font-weight: 400;
	font-size: 1.15em;
}
nav ul {
	width: 90%;
	max-width: 550px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 5vw auto;
}


/*----------------------------------------------- header */
.header_inner {
	display: block;
	position: relative;
	margin-bottom: 5vw;
}
.header_logo_area {
	padding-top: 17vw;
}
.header_inner .tiile {
	width: 80%;
	margin: auto;
	position: relative;
}
.header_inner .tiile img {
	width: 100%;
}
.header_inner .catch_w {
	width: 80%;
	display: block;
	font-weight: 500;
	margin: 7vw auto;
}
.header_inner .catch_w p {
	text-align: center;
}
.tit_icon.festa {
	display: block;
	width: 27vw;
	position: absolute;
	z-index: 1;
	right: auto;
	bottom: auto;
	left: -5vw;
	top: -8vw;
}
.tit_icon.festa p {
	font-family: 'Noto Sans JP';
	margin-left: -1em;
	font-size: 10px;
}

.yusayusa_1 {
	animation-name: anim_h_2;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}
@keyframes anim_h_2 {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(7deg);
	}
}

.top_icon {
	position: absolute;
	width: 34vw;
	max-width: 250px;
	top: -4vw;;
	right: 17vw;
	margin: auto;
	animation: pikopiko 1s steps(2, start) infinite;
	filter: drop-shadow(5px 5px 7px rgba(0, 0, 0, .2));
}
@keyframes pikopiko {
	0% {
	transform: rotate(14deg);
	}
	to {
	transform: rotate(-7deg);
	}
}
.top_icon img {
	width: 100%;
}
.stars {
	position: absolute;
	width: 85%;
	max-width: 800px;
	height: 100%;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.kira_s.kira_1.star_1 {
	left: auto;
	top: auto;
	right: 7vw;
	bottom: 40vw;
}
.kira_b.kira_2.star_2 {
	left: -5vw;
	top: 35vw;
}
.kira_b.kira_3.star_3 {
	right: 5vw;
	top: 7vw;
}
.kira_s.kira_4.star_4 {
	bottom: 4vw;
}
.kira_b.kira_5.star_5 {
	bottom: 4vw;
}
.scroll {
	display: block;
	width: 10%;
	font-size: 3.5vw;
	text-align: center;
	z-index: 10;
	scroll-behavior: smooth;
	margin: 2vw auto 7vw;
}
.scroll a {
	color: #333;
}
.scroll a::after {
	content: '';
	display: block;
	background-image: url(../img/arrow.svg);
	background-repeat: no-repeat;
	width: 5vw;
	height: 2vw;
	text-align: center;
	margin: 0.5vw auto 1vw;
}
.catch_w span {
	color: #b84e4b;
	font-weight: 600;
	font-size: 1.15em;
}


/*----------------------------------------------- 出店のメリット・説明 .lead */
.lead {
/*	background-color: rgba(255,255,255,0.75);*/
	padding: 10vw 0;
	position: relative;
	z-index: 1;
}
.lead .emp {
	color: #DC5449;
	font-weight: 600;
	font-size: 1.15em;
	font-feature-settings: "palt";
}
.lead .big {
	font-size: 2em;
}
.lead_tit p {
	text-align: center;
	line-height: 1.75;
	margin: 0 auto 3vw;
}
.lead_txt p {
	margin: 2vw auto;
}
.lead_table_tit {
	position: relative;
	padding: 0.25em 1em;
	border-top: solid 2px #727171;
	border-bottom: solid 2px #727171;
	display: block;
	width: 80%;
	max-width: 300px;
	text-align: center;
	font-weight: 500;
	color: #727171;
	font-size: 1.1em;
	margin: 10vw auto;
}
.lead_table_tit:before, .lead_table_tit:after {
	content: '';
	position: absolute;
	top: -7px;
	width: 2px;
	height: -webkit-calc(100% + 14px);
	height: calc(100% + 14px);
	background-color: black;
}
.lead_table_tit:before {
	left: 7px;
}
.lead_table_tit:after {
	right: 7px;
}
.lead_tb_w {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	align-items: center;
	width: 80%;
	margin: 2vw auto;
	padding-bottom: 2vw;
	border-bottom: 1px dashed;
}
.lead_tb_th {
	width: 25%;
	line-height: 1.75;
	font-weight: 500;
}
.lead_tb_con {
	width: 75%;
	line-height: 1.75;
}
.lead_tb_con a {
	display: block;
	line-height: 2;
	text-decoration: underline;
	color: #b84e4b;
}
.lead_tb_con:nth-of-type(2) a:first-of-type i {
	margin-left: 5px;
}
.lead_tb_con:nth-of-type(2) a:nth-of-type(2) i {
	margin-right: 5px;
}
.kirakira {
	position: absolute;
	width: 70%;
	height: 10%;
	top: 4%;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.kira_s {
	width: 20px;
	position: absolute;
}
.kira_b {
	width: 35px;
	position: absolute;
}
.kira_b img,
.kira_s img {
	width: 100%;
}
.kira_s.kira_1 {
	left: -3vw;
	top:5vw;
}
.kira_b.kira_2 {
	left: 2vw;
}
.kira_b.kira_3 {
	right: 0vw;
	top:5vw;
}
.kira_s.kira_4 {
	left: 2vw;
	bottom: -12vw;
}
.kira_b.kira_5 {
	right: 0vw;
	bottom: -16vw;
}

.lead .item_wrap.date .item_cont {
	line-height: 1.25;
}
.lead .item_wrap.date .item_cont .time {
	margin-top: 0.25em;
	display: inline-block;
}
.lead .instruction h3 {
	margin: 7vw auto 3vw;
}
.lead .item_wrap .big {
	font-size: 1.5em;
}
.lead .item_wrap i {
	margin-right: 0.25em;
	color: #c4aa51;
}
.lead .item_wrap.date .item_cont {
	font-size: 4vw;;
}
.lead .item_cont ul li::before {
	color: #c4aa51;
	font-size: 0.9em;
}





/*----------------------------------------------- 表 .item_wrap */
.item_wrap {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	align-items: center;
	line-height: 1.5;
	background-color: #736147;
	border-bottom: solid 1px #e3e3e3;
	margin-bottom: 3vw;
	font-weight: 500;
}
.item_tit {
	width: 25%;
	color: #fff;
	text-align: center;
}
.item_cont {
	width: 75%;
	background-color: #fff;
	padding: 1vw 3vw 3vw;
	line-height: 1.75;
}
.item_cont ul li {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 2vw;
}
.item_cont ul li::before {
	content: '●';
	color: #09adc9;
	font-size: 0.8em;
	line-height: 2;
	margin-right: 0.2em;
}


/*----------------------------------------------- 地図 .map */
.map iframe {
	width: 100%;
	height: 80vw;
	max-height: 450px;
	filter: grayscale(100%);
	transition: all 0.7s ease;
}
.map {
	margin-top: 3em;
}

/*----------------------------------------------- 出展者一覧 .shops */
.shops {
	padding: 10vw 0 0;
}
.shops .section_inner {
	width: 100%;
}
.shops .cat {
	padding: 5vw 5vw 10vw;
	margin-bottom: 0;
}
.shops .shop_list {
	padding: 5vw 5vw 10vw;
	margin-bottom: 0;
}
.shops .shop_list {
	background-color: rgba(255, 255, 255, 0.75);
}
.shops h2.ribbon {
	width: 65%;
	margin: 7vw auto 10vw;
}
.shops h2.ribbon,
.shops h2.ribbon::before,
.shops h2.ribbon::after {
	background-color: #c4aa51;
}
.shop {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 1.75;
	margin-bottom: 7vw;
	padding-bottom: 7vw;
	border-bottom: dashed 1px #585858;
}
/*.shop:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}*/
.shop a:first-of-type {
	width: 45%;
	position: relative;
	align-self: flex-start;
	box-shadow: 0 3px 10px rgb(0 0 0 / 15%);
}
.shop a:first-of-type img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.shop a:first-of-type::after {
	content: '\f00e';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
	font-size: 30px;
	position: absolute;
	bottom: 0;
	right: 5%;
	text-shadow: 1px 2px 5px #808080;;
}
.remodal {
	padding: 0 !important;
}
.remodal img {
	width: 100%;
}
.remodal .remodal-close:before {
	font-size: 45px;
	line-height: 35px;
	top: -40px;
	width: 35px;
	color: #fff;
}
.shop a:last-of-type {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 50%;
	color: #585858;
}
.shop a:last-of-type >div:last-of-type {
	display: flex;
	justify-content: flex-end;
}
.s_name {
	font-size: 1.1em;
	line-height: 1.5;
	font-weight: 800;
	margin-bottom: 2vw;
	text-align: left;
	word-wrap: break-word;
}
.s_catch {
	font-size: 0.9em;
}
.view_more {
	display: inline-block;
	text-align: right;
	font-weight: 500;
	color: #585858;
	border-bottom: solid 1px #585858;
	font-size: 0.8em;
	font-family: 'Noto Sans JP';
}
.view_more:before {
	content: '';
	display: block;
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	transition: all 0.3s ease-in-out;
}

.booth_num {
	display: block;
	background-color: #736147;
	padding: 0 1em;
	text-align: center;
	color: #fff;
	width: -moz-fit-content;
	width: fit-content;
	margin: 1em 0 auto auto;
	font-weight: 500;
	font-family: 'Noto Sans JP';
	line-height: 1.5;
}

.booth_num::before {
	content: "ブース番号";
	margin-right: 0.5em;
	font-size: 0.9em;
}
.notice {
	font-size: 0.8em;
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.75;
	display: block;
	width: 90%;
	margin: 5vw auto;
}

.only_1day {
	font-size: 0.8em;
	font-weight: 700;
	color: #b84e4b;
}
.only_1day::before {
	content: "※";
	margin-right: 0.25em;
}

/*リンクのないもの・画像のないもの暫定*/
a.nolink {
	pointer-events: none;
}
a.nolink .view_more {
	display: none;
}
a.nolink div:last-of-type::after {
	content: '- Coming Soon -';
	font-weight: 500;
	font-size: 0.8em;
	color: #bebebe;
}
.shop a.nolink:first-of-type::after  {
	content: none;
}

.lb-data .lb-caption {
	font-size: 17px !important;
}
.lb-data .lb-caption a {
	color: #c4aa51 !important;
	border-bottom: solid 1px;
}
.lb-dataContainer {
	padding-top: 10px !important;
}


/*----------------------------------------------- footer */
footer {
	line-height: 1.5;
	padding: 7vw 0 0;
	position: relative;
	z-index: 1;
	padding-bottom: 10vw;
}
footer::after {
	content: '';
	display: block;
	width: 100vw;
	height: 10vw;
	background-image: url("../img/frame_bottom.svg");
	background-repeat: no-repeat; 
	background-size: cover;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
	mix-blend-mode: multiply;
}
.ft_logo {
	width: 40%;
	margin: auto;
}
.ft_logo img {
	width: 100%;
	margin-bottom: 5vw;
}
footer .organizer {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 5vw;
}

footer .organizer >p:first-of-type,
footer .contact >p:first-of-type {
	display: block;
	width: 16vw;
	text-align: center;
	color: #fff;
	background-color: #bda76d;
	border-radius: 5px;
	padding: 0.15em 0.75em;
	margin-bottom: 0.35em;
}
footer .contact >p:first-of-type {
	margin-top: 5vw;
	width: 20vw;
}
footer .organizer >p:first-of-type {
	margin-right: 0.5em;
	margin-bottom: 0;
}

.contact_link {
	margin-top: 2vw;
}
.contact_link i {
	margin-right: 10px;
}
.footer_bnr {
	width: 80%;
	margin: 5vw auto;
}
.footer_bnr img {
	width: 100%;
	border: solid 1px #ccc;
	margin: 3vw auto;
}
.accessibility {
	text-align: center;
}
.accessibility a,
footer .contact a,
.address a,
.contact a,
.schedule a,
.item_cont a {
	text-decoration: underline;
	color: #736147;
}
footer .contact i {
	color: #c0aa5e;
}
.contact {
	border-top:dashed 1px #333;
	border-bottom:dashed 1px #333;
	padding-bottom: 5vw;
	margin-bottom: 5vw;
	margin-top: 3vw;
}
.copy {
	display: block;
	line-height: 1;
	text-align: center;
	margin: 10vw 15vw 5vw;
}
.copy small::before {
	content: '\f1f9';
	font-family: "Font Awesome 5 Free";
	font-size: 0.85em;
	font-weight: 400;
	margin-right: 5px;
}
.copy p {
	font-size: 0.65em;
}
.pagetop {
	height: 40px;
	width: 40px;
	position: fixed;
	right: 20px;
	bottom: 30px;
	background: #fff;
	border: solid 2px #736147;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}
.pagetop_arrow {
	height: 10px;
	width: 10px;
	border-top: 3px solid #736147;
	border-right: 3px solid #736147;
	transform: translateY(20%) rotate(-45deg);
}

footer > p {
	text-align: center;
	margin-top: 3em;
}

.copy {
	margin-top: 1.5em !important;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  改行位置調整
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.pc {
	display: none;
}

.tb {
	display: none;
}

.sp {
	display: inline;
}


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  Top「終了しました」追加
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.header_inner p.finish {
	background-color: #000;
	color: #fff;
	margin: 1em auto;
	max-width: 450px;
	line-height: 1.5;
	padding: 0.5em;
	font-size: 4.5vw;
	font-weight: 600;
	position: relative;
}


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  会場マップ・チラシ　追加
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
h2.ribbon::before {
	border-width: 0;
}
.shops h2.ribbon,
.shops h2.ribbon::before,
.shops h2.ribbon::after {
	z-index: 1;
}
.kirakira {
	z-index: -1;
	width: 85%;
	height: 9%;
	top: 0;
}
.booth_num {
	margin-bottom: 0.5em;
}
.shops {
	padding: 0;
	margin-bottom: 15vw;
}
.notice {
	margin-left: 0;
}
.venue_img {
	margin-bottom: 5vw;
}
.venue_img img {
	width: 100%;
}
.venue_img a {
	display: block;
	position: relative;
	box-shadow: 0 3px 10px rgb(0 0 0 / 15%);
}
.venue_img a::after {
	content: '\f00e';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
	font-size: 30px;
	position: absolute;
	bottom: 0;
	right: 5%;
	text-shadow: 1px 2px 5px #808080;
}
.venue_img_w {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.lb-data .lb-caption {
	font-family: 'Noto Sans JP';
	font-weight: 500 !important;
}
.venue .btn {
	margin-top: 2vw;
}
.venue .btn a {
	display: flex;
	justify-content: space-around;
	align-items: center;
	font-family: 'Noto Sans JP';
	font-size: 1em;
	max-width: 300px;
	margin: 0 auto;
	line-height: 3;
	color: #FFF;
	transition: 0.3s ease-in-out;
	font-weight: 500;
	background: #b84e4b;
	filter: drop-shadow(0px 2px 4px #ccc);
	border-radius: 3px;
	border-radius: 50px;
}
.flyer {
	margin-top: 15vw;
}
.flyer .venue_img_w {
	width: 80%;
	margin: auto;
}
.booth {
	margin-bottom: 7vw;
	border-bottom: dashed 1px #585858;
	padding-bottom: 10vw;
}
.booth .booth_num {
	display: inline-block;
	margin: 0;
margin-right: 0.5em;
}
.booth .booth_num::before {
	margin: 0;
}

@media (hover: hover) and (pointer: fine) {
.venue .btn a:hover {
		transform: translateY(-2px);
		box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
	}
	.venue_img a img:hover{
		transform: translateY(3px);
		box-shadow: none;
		transition:0.3s;
		opacity: 1;
	}
	.venue_img a:hover::after  {
		transform: translateY(3px);
		box-shadow: none;
		transition:0.3s;
		opacity: 1;
	}
}










