@charset "UTF-8";

body {
	font-size: 16px;
}

/*----------------------------------------------- hover */
.view_more {
	background-size: 200% 100%;
	background-position: -100%;
	padding: 5px 0 0;
	position: relative;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transition: all 0.3s ease-in-out;
}
.view_more:before {
	content: '';
	display: block;
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	transition: all 0.3s ease-in-out;
}
.shop_list .view_more {
	background-image: linear-gradient(to right,#b84e4b,#b84e4b 50%,#333 50%);
}
.shop_list .view_more:before {
	background: #b84e4b;
}

.food .view_more {
	background-image: linear-gradient(to right,#DC5449,#DC5449 50%,#333 50%);
}
.food .view_more:before {
	background: #DC5449;
}
.fashion .view_more {
	background-image: linear-gradient(to right,#9B6CAC,#9B6CAC 50%,#333 50%);
}
.fashion .view_more:before {
	background: #9B6CAC;
}
.beauty .view_more {
	background-image: linear-gradient(to right,#EC7080,#EC7080 50%,#333 50%);
}
.beauty .view_more:before {
	background: #EC7080;
}
.interior .view_more {
	background-image: linear-gradient(to right,#3980C3,#3980C3 50%,#333 50%);
}
.interior .view_more:before {
	background: #3980C3;
}
.shop a:first-of-type {
	overflow:hidden;
}

@media (hover: hover) and (pointer: fine) {
	.shop a:nth-of-type(2):hover .view_more {
		background-position: 0;
	}
	.shop a:nth-of-type(2):hover .view_more::before {
		width: 100%;
	}
	.shop a:nth-of-type(2):hover {
		opacity: 1;
	}
	footer .contact a:hover,
	.address a:hover,
	.contact a:hover,
	.lead_tb_con a:hover {
		color: #b84e4b;
		transition: all 0.3s ease 0s;
		opacity: 1;
	}
		.lb-data .lb-caption a:hover {
		color: #b84e4b !important;
		transition: all 0.3s ease 0s;
		opacity: 1;
	}
	.btn a:hover {
		opacity: 1;
		transform: translate(0, 5px);
		box-shadow: none;
		transition: all 0.3s ease 0s;
	}
	.nav:hover a {
		opacity: 1;
		color: #dc5449;
		transition: all 0.3s ease 0s;
	}
	.nav.food:hover span {
		border-bottom-color: #DC5449;
		transition: all 0.3s ease 0s;
	}
	.nav.fashion:hover span {
		border-bottom-color: #9B6CAC;
		transition: all 0.3s ease 0s;
	}
	.nav.beauty:hover span {
		border-bottom-color: #EC7080;
		transition: all 0.3s ease 0s;
	}
	.nav.interior:hover span {
		border-bottom-color: #3980C3;
		transition: all 0.3s ease 0s;
	}
	.shop a:first-of-type:hover {
		opacity: 1;
	}
	.shop a:first-of-type img:hover{
		transform:scale(1.1);
		transition:0.3s;
		opacity: 1;
	}
}


/*----------------------------------------------- 共通 */
.section_inner, .footer_inner {
	width: 700px;
}
.ribbon {
	width: 600px;
	height: 60px;
	font-size: 28px;
	line-height: 60px;
}
.ribbon:before, .ribbon:after {
	width: 40px;
	height: 40px;
}
.ribbon:before {
	left: -20px;
}
.ribbon:after {
	right: -20px;
}
h2.ribbon {
	font-size: 28px;
}
.btn {
	margin: 35px auto 50px;
}
.btn a {
	width: 500px;
	font-size: 23px;
}
.btn.katakata {
	margin-top: 20px;
}
.balloon1 {
	width: 600px;
	text-align: center;
	padding: 10px;
	margin: 35px auto 25px;
}
.br_pc {
	display: block;
}
.frame_top {
	height: 130px;
}
footer::after {
	height: 90px;
}
.frame_top {
	top: -25px;
}
.frame_left {
	width: 100px;
}
.frame_right {
	width: 100px;
}
.scroll {
	margin: 20px auto;
}
.reflection {
	width: 30px;
	left: -10%;
}


/*----------------------------------------------- header */
.header_inner {
	margin-bottom: 50px;
}
.header_logo_area {
	padding-top: 120px;
}
.header_inner .catch_w p {
	text-align: center;
	font-size: 20px;
}
.header_inner .tiile {
	width: 600px;
}
.tit_icon.festa {
	width: 200px;
	right: auto;
	bottom: auto;
	left: -60px;
	top: -50px;
}
.tit_icon.festa p {
	padding-left: 2em;
	margin-left: 0;
	font-size: 14px;
}
.top_icon {
	right: 163px;
	top: -23px;
}
.tit_icon {
	width: 180px;
	top: -10px;
}
.scroll {
	font-size: 18px;
}
.scroll a::after {
	width: 30px;
	height: 15px;
	margin: 0 auto 10px;
}
h2 {
	margin: 45px auto 35px;
}
.stars {
	height: 100%;
}
.kira_s.kira_1.star_1 {
	right: 110px;
	bottom: 225px;
}
.kira_b.kira_2.star_2 {
	left: -30px;
	top: 205px;
}
.kira_b.kira_3.star_3 {
	right: 30px;
	top: 280px;
}
.kira_s.kira_4.star_4 {
	bottom: 90px;
}
.kira_b.kira_5.star_5 {
	bottom: 4vw;
}
.stars .kira_b {
	width: 55px
}
.stars .kira_s {
	width: 40px;
}
.header_inner .catch_w {
	margin: 30px auto;
}
.nav a {
	font-size: 1.2em;
}
nav ul {
	margin: 30px auto;
}

/*----------------------------------------------- .lead */
.lead {
	padding: 70px 0;
}
.lead_tit p {
	font-size: 20px;
	line-height: 1.5;
	margin: 0 auto 15px;
}
.lead_tit p br:nth-of-type(2) {
	display: none;
}
.lead_table_tit {
	margin: 50px auto 45px;
}
.lead_tb_w {
	width: 80%;
	max-width: 700px;
	margin: 15px auto;
	padding-bottom: 15px;
}
.lead_tb_con .br_sp {
	display: none;
}
.lead_tb_th {
	padding-left: 30px;
}
.flyer_dl.btn a {
	width: 300px;
	font-size: 16px;
}
.flyer_dl.btn {
	margin: 35px auto 15px;
}
.kirakira {
	height: 205px;
	width: 400px;
	top: 0;
}
.kira_s.kira_1 {
	left: auto;
	right: -10px;
	top: 65px;
}
.kira_b.kira_2 {
	left: -5px;
	top: 55px;
}
.kira_b.kira_3 {
	right: 10px;
	top: 42px;
}
.kira_s.kira_4 {
	left: 10px;
	bottom: -35px;
}
.kira_b.kira_5 {
	right: -3px;
	bottom: -35px;
}

.lead .item_wrap.date .item_cont .time {
	margin-top: 0;
}
.lead .item_wrap.date .item_cont {
	font-size: 22px;
}
.lead .item_wrap.date .item_cont {
	line-height: 1.5;
}

/*----------------------------------------------- 表 .item_wrap */
.item_cont {
	padding: 15px 20px;
	line-height: 1.85;
}
.item_wrap {
	margin-bottom: 10px;
}
.item_cont ul li {
	margin-bottom: 2px;
}

/*----------------------------------------------- 出展者一覧 .shops */
.shops {
	padding: 30px 0 60px;
}
.shops h2.ribbon {
	width: 300px;
	margin: 30px auto 80px;
}
.shop {
	width: 28%;
	flex-direction: column;
	align-self: flex-start;
	border-bottom: none;
	margin-bottom: 60px;
	padding-bottom: 0;
}
.shop:last-of-type {
	margin-bottom: 60px;
}
.shops h3 {
	font-size: 25px;
	margin-bottom: 40px;
}
.shops .shop_list {
	padding: 40px 40px 0;
}
.shops .cat ul,
.shops .shop_list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.shops .cat ul::before,
.shops .cat ul::after,
.shops .shop_list ul::before,
.shops .shop_list ul::after{
	content: '';
	width: 28%;
	height: 0;
	display: block;
	margin: 0;
}
.shops .cat ul::before,
.shops .shop_list ul::before {
	order: 2;
}
.shops .cat {
	padding: 40px 30px 0;
}
.shop a:first-of-type,
.shop a:last-of-type {
	width: 100%;
}
.s_name::before {
	width: 100px;
}
.s_name {
	margin: 10px auto;
}
.notice {
	margin-bottom: 30px;
	margin-top: 50px;
}
.shop a:last-of-type {
	height: 180px;
}


/*----------------------------------------------- footer */
footer {
	padding: 50px 0 100px;
}
.ft_logo {
	width: 200px;
	margin-right: 30px;
}
.ft_logo img {
	margin: auto;
}
footer .organizer {
	margin-bottom: 20px;
}
footer .contact {
	margin: 0;
	padding: 20px 0 20px 20px;
}
.footer_w {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	align-items: center;
}
footer .organizer >p:first-of-type,
footer .contact >p:first-of-type {
	margin-top: 0;
	width: 100px;
}
footer .organizer >p:first-of-type {
	margin-right: 15px;
}
footer .organizer {
	padding-left: 20px;
}
.contact_link {
	margin-top: 15px;
}
.copy {
	margin: 50px auto 20px;
}

.pagetop {
	height: 50px;
	width: 50px;
	position: fixed;
	right: 50px;
	bottom: 50px;
}
@media (hover: hover) and (pointer: fine) {
	.pagetop:hover, .pagetop:hover .pagetop_arrow {
		border-color: #9B6CAB;
		transition: all 0.3s ease 0s;
		cursor: pointer;
	}
}

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

.tb {
	display: inline;
}

.sp {
	display: none;
}


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  Top「終了しました」追加
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*.header_inner .catch_w p.finish {
	margin: 25px auto;
	font-size: 30px;
}*/


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  会場マップ・チラシ　追加
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.venue_img {
	width: 48%;
	margin-bottom: 0;
}
.venue_img_w {
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 40px;
}
.venue .btn {
	margin: 0 auto;
}
.flyer {
	margin-top: 80px;
}
.flyer .venue_img_w {
	width: 100%;
}
.shops h2.ribbon {
	margin-bottom: 50px;
}
.booth {
	text-align: center;
	margin-bottom: 50px;
	padding-bottom: 30px;
	border-bottom: solid 1px #e3e3e3;
}
.shops .shop_list {
	padding-bottom: 40px;
}
.shops {
	margin-bottom: 0;
}
.notice {
	border-top: solid 1px #e3e3e3;
	padding-top: 50px;
	margin-top: 0;
}
.footer_w {
	justify-content: center;
}
.ft_logo {
	margin: auto;
}




